This commit is contained in:
AMIAY
2026-01-24 12:22:15 +01:00
parent 679f065e24
commit 87b168dd4c
2 changed files with 44 additions and 27 deletions

View File

@@ -155,7 +155,22 @@ async function updateGameFiles(newVersion, progressCallback, gameDir = GAME_DIR,
try {
if (progressCallback) {
progressCallback('Updating game files...', 0, null, null, null);
progressCallback('Backing up user data...', 5, null, null, null);
}
// Backup UserData AVANT de télécharger/installer (critical for same-branch updates)
try {
console.log(`[UpdateGameFiles] Attempting to backup UserData from old branch: ${oldBranch}`);
backupPath = await userDataBackup.backupUserData(installPath, oldBranch, hasVersionConfig);
if (backupPath) {
console.log(`[UpdateGameFiles] ✓ UserData backed up from ${oldBranch}: ${backupPath}`);
}
} catch (backupError) {
console.warn('[UpdateGameFiles] ✗ UserData backup failed:', backupError.message);
}
if (progressCallback) {
progressCallback('Updating game files...', 10, null, null, null);
}
console.log(`Updating game files to version: ${newVersion} (branch: ${branch})`);
@@ -167,32 +182,17 @@ async function updateGameFiles(newVersion, progressCallback, gameDir = GAME_DIR,
fs.mkdirSync(tempUpdateDir, { recursive: true });
if (progressCallback) {
progressCallback('Downloading new game version...', 10, null, null, null);
progressCallback('Downloading new game version...', 20, null, null, null);
}
const pwrFile = await downloadPWR(branch, newVersion, progressCallback, cacheDir);
if (progressCallback) {
progressCallback('Extracting new files...', 50, null, null, null);
progressCallback('Extracting new files...', 60, null, null, null);
}
await applyPWR(pwrFile, progressCallback, tempUpdateDir, toolsDir);
if (progressCallback) {
progressCallback('Backing up user data...', 70, null, null, null);
}
// Backup UserData from OLD branch (before switching)
try {
console.log(`[UpdateGameFiles] Attempting to backup UserData from old branch: ${oldBranch}`);
backupPath = await userDataBackup.backupUserData(installPath, oldBranch, hasVersionConfig);
if (backupPath) {
console.log(`[UpdateGameFiles] ✓ UserData backed up from ${oldBranch}: ${backupPath}`);
}
} catch (backupError) {
console.warn('[UpdateGameFiles] ✗ UserData backup failed:', backupError.message);
}
if (progressCallback) {
progressCallback('Replacing game files...', 80, null, null, null);
}