From 72b4552b018566d701956f69b10badd60e4fa01a Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 7 May 2024 13:36:52 -0400 Subject: [PATCH] Don't update user info on save for optimization --- src/system/game-data.ts | 86 +++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/src/system/game-data.ts b/src/system/game-data.ts index fff09f83f..60fe7ac8e 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -250,58 +250,52 @@ export class GameData { public saveSystem(): Promise { return new Promise(resolve => { this.scene.ui.savingIcon.show(); - updateUserInfo().then(response => { - if (!response[0]) { - this.scene.ui.savingIcon.hide(); - return resolve(false); - } - const data: SystemSaveData = { - trainerId: this.trainerId, - secretId: this.secretId, - gender: this.gender, - dexData: this.dexData, - starterData: this.starterData, - gameStats: this.gameStats, - unlocks: this.unlocks, - achvUnlocks: this.achvUnlocks, - voucherUnlocks: this.voucherUnlocks, - voucherCounts: this.voucherCounts, - eggs: this.eggs.map(e => new EggData(e)), - gameVersion: this.scene.game.config.gameVersion, - timestamp: new Date().getTime() - }; + const data: SystemSaveData = { + trainerId: this.trainerId, + secretId: this.secretId, + gender: this.gender, + dexData: this.dexData, + starterData: this.starterData, + gameStats: this.gameStats, + unlocks: this.unlocks, + achvUnlocks: this.achvUnlocks, + voucherUnlocks: this.voucherUnlocks, + voucherCounts: this.voucherCounts, + eggs: this.eggs.map(e => new EggData(e)), + gameVersion: this.scene.game.config.gameVersion, + timestamp: new Date().getTime() + }; - const maxIntAttrValue = Math.pow(2, 31); - const systemData = JSON.stringify(data, (k: any, v: any) => typeof v === 'bigint' ? v <= maxIntAttrValue ? Number(v) : v.toString() : v); + const maxIntAttrValue = Math.pow(2, 31); + const systemData = JSON.stringify(data, (k: any, v: any) => typeof v === 'bigint' ? v <= maxIntAttrValue ? Number(v) : v.toString() : v); - if (!bypassLogin) { - Utils.apiPost(`savedata/update?datatype=${GameDataType.SYSTEM}`, systemData, undefined, true) - .then(response => response.text()) - .then(error => { - this.scene.ui.savingIcon.hide(); - if (error) { - if (error.startsWith('client version out of date')) { - this.scene.clearPhaseQueue(); - this.scene.unshiftPhase(new OutdatedPhase(this.scene)); - } else if (error.startsWith('session out of date')) { - this.scene.clearPhaseQueue(); - this.scene.unshiftPhase(new ReloadSessionPhase(this.scene)); - } - console.error(error); - return resolve(false); + if (!bypassLogin) { + Utils.apiPost(`savedata/update?datatype=${GameDataType.SYSTEM}`, systemData, undefined, true) + .then(response => response.text()) + .then(error => { + this.scene.ui.savingIcon.hide(); + if (error) { + if (error.startsWith('client version out of date')) { + this.scene.clearPhaseQueue(); + this.scene.unshiftPhase(new OutdatedPhase(this.scene)); + } else if (error.startsWith('session out of date')) { + this.scene.clearPhaseQueue(); + this.scene.unshiftPhase(new ReloadSessionPhase(this.scene)); } - resolve(true); - }); - } else { - localStorage.setItem('data_bak', localStorage.getItem('data')); + console.error(error); + return resolve(false); + } + resolve(true); + }); + } else { + localStorage.setItem('data_bak', localStorage.getItem('data')); - localStorage.setItem('data', btoa(systemData)); + localStorage.setItem('data', btoa(systemData)); - this.scene.ui.savingIcon.hide(); + this.scene.ui.savingIcon.hide(); - resolve(true); - } - }); + resolve(true); + } }); }