From 8c7bb67b8f3650ed35ca1ad24655a7409236c190 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 25 Apr 2023 14:21:32 -0400 Subject: [PATCH] v2.1.0: updating the game now also re-saved badges and journal entries --- .../shatteredpixeldungeon/Badges.java | 8 +++++-- .../journal/Journal.java | 8 +++++-- .../scenes/WelcomeScene.java | 22 +++++++++++-------- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java index b5ba2a7b5..3b68578b7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java @@ -289,8 +289,12 @@ public class Badges { } } - public static void saveGlobal() { - if (saveNeeded) { + public static void saveGlobal(){ + saveGlobal(false); + } + + public static void saveGlobal(boolean force) { + if (saveNeeded || force) { Bundle bundle = new Bundle(); store( bundle, global ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Journal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Journal.java index 0417a1c56..9b188667b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Journal.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Journal.java @@ -54,9 +54,13 @@ public class Journal { //package-private static boolean saveNeeded = false; - + public static void saveGlobal(){ - if (!saveNeeded){ + saveGlobal(false); + } + + public static void saveGlobal(boolean force){ + if (!force && !saveNeeded){ return; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java index 3c7df53c3..6f7c42c6e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java @@ -239,6 +239,17 @@ public class WelcomeScene extends PixelScene { //update rankings, to update any data which may be outdated if (previousVersion < LATEST_UPDATE){ + + Badges.loadGlobal(); + Journal.loadGlobal(); + + //pre-unlock Duelist for those who already have a win + if (previousVersion <= ShatteredPixelDungeon.v2_0_0){ + if (Badges.isUnlocked(Badges.Badge.VICTORY) && !Badges.isUnlocked(Badges.Badge.UNLOCK_DUELIST)){ + Badges.unlock(Badges.Badge.UNLOCK_DUELIST); + } + } + try { Rankings.INSTANCE.load(); for (Rankings.Record rec : Rankings.INSTANCE.records.toArray(new Rankings.Record[0])){ @@ -270,16 +281,9 @@ public class WelcomeScene extends PixelScene { } Dungeon.daily = Dungeon.dailyReplay = false; - } + Badges.saveGlobal(true); + Journal.saveGlobal(true); - //pre-unlock Duelist for those who already have a win - if (previousVersion <= ShatteredPixelDungeon.v2_0_0){ - Badges.loadGlobal(); - if (Badges.isUnlocked(Badges.Badge.VICTORY) && !Badges.isUnlocked(Badges.Badge.UNLOCK_DUELIST)){ - Dungeon.customSeedText = ""; //clear in case rankings updating left this set - Badges.unlock(Badges.Badge.UNLOCK_DUELIST); - Badges.saveGlobal(); - } } SPDSettings.version(ShatteredPixelDungeon.versionCode);