Launcher: extraction natives synchrone (race: grosses .so manquantes au boot)
This commit is contained in:
@@ -754,13 +754,14 @@ class ProcessBuilder {
|
||||
}
|
||||
})
|
||||
|
||||
// Extract the file.
|
||||
// Extract the file (synchrone, voir bloc 1.19+).
|
||||
if(!shouldExclude){
|
||||
fs.writeFile(path.join(tempNativePath, fileName), zipEntries[i].getData(), (err) => {
|
||||
if(err){
|
||||
try {
|
||||
fs.writeFileSync(path.join(tempNativePath, fileName), zipEntries[i].getData())
|
||||
fs.writeFileSync(path.join(tempNativePath, 'java', fileName), zipEntries[i].getData())
|
||||
} catch(err) {
|
||||
logger.error('Error while extracting native library:', err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
@@ -806,14 +807,15 @@ class ProcessBuilder {
|
||||
const extractName = fileName.includes('/') ? fileName.substring(fileName.lastIndexOf('/')) : fileName
|
||||
|
||||
// Extract the file (racine pour compat + sous-dossier java/ exigé par MC récent).
|
||||
// Synchrone : le jeu démarre aussitôt après, l'async faisait rater les grosses .so.
|
||||
if(!shouldExclude){
|
||||
const data = zipEntries[i].getData()
|
||||
for(const dest of [path.join(tempNativePath, extractName), path.join(tempNativePath, 'java', extractName)]){
|
||||
fs.writeFile(dest, data, (err) => {
|
||||
if(err){
|
||||
try {
|
||||
fs.writeFileSync(dest, data)
|
||||
} catch(err) {
|
||||
logger.error('Error while extracting native library:', err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user