v1.3.0: dropped support for saves prior to 0.9.3c

This commit is contained in:
Evan Debenham
2022-05-29 18:44:06 -04:00
parent 34d62f9852
commit 2c15e6b22e
7 changed files with 12 additions and 78 deletions

View File

@@ -108,8 +108,8 @@ public class GamesInProgress {
info.slot = slot;
Dungeon.preview(info, bundle);
//saves from before v0.9.2b are not supported
if (info.version < ShatteredPixelDungeon.v0_9_2b) {
//saves from before v0.9.3c are not supported
if (info.version < ShatteredPixelDungeon.v0_9_3c) {
info = null;
}

View File

@@ -35,8 +35,7 @@ import com.watabou.utils.PlatformSupport;
public class ShatteredPixelDungeon extends Game {
//variable constants for specific older versions of shattered, used for data conversion
//versions older than v0.9.2b are no longer supported, and data from them is ignored
public static final int v0_9_2b = 531;
//versions older than v0.9.3c are no longer supported, and data from them is ignored
public static final int v0_9_3c = 557; //557 on iOS, 554 on other platforms
public static final int v1_0_3 = 574;
@@ -46,7 +45,7 @@ public class ShatteredPixelDungeon extends Game {
public ShatteredPixelDungeon( PlatformSupport platform ) {
super( sceneClass == null ? WelcomeScene.class : sceneClass, platform );
//v1.3.0
//pre-v1.3.0
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.plants.Mageroyal.class,
"com.shatteredpixel.shatteredpixeldungeon.plants.Dreamfoil" );
@@ -61,7 +60,7 @@ public class ShatteredPixelDungeon extends Game {
com.shatteredpixel.shatteredpixeldungeon.items.weapon.curses.Explosive.class,
"com.shatteredpixel.shatteredpixeldungeon.items.weapon.curses.Fragile" );
//v1.2.0
//pre-v1.2.0
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.CleansingDart.class,
"com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.SleepDart" );
@@ -70,7 +69,7 @@ public class ShatteredPixelDungeon extends Game {
com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.CrystalVaultRoom.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.VaultRoom" );
//v1.1.0
//pre-v1.1.0
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfDread.class,
"com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPetrification" );
@@ -90,72 +89,13 @@ public class ShatteredPixelDungeon extends Game {
ScrollOfMetamorphosis.class,
"com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPolymorph" );
//v1.0.0
//pre-v1.0.0
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfFear.class,
"com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAffection" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDeepSleep.class,
"com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDeepenedSleep" );
//v0.9.3
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Tengu.class,
"com.shatteredpixel.shatteredpixeldungeon.actors.mobs.NewTengu" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewPrisonBossLevel" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel.ExitVisual.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewPrisonBossLevel$exitVisual" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel.ExitVisualWalls.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewPrisonBossLevel$exitVisualWalls" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM300.class,
"com.shatteredpixel.shatteredpixeldungeon.actors.mobs.NewDM300" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CavesBossLevel.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCavesBossLevel" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CavesBossLevel.PylonEnergy.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCavesBossLevel$PylonEnergy" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CavesBossLevel.ArenaVisuals.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCavesBossLevel$ArenaVisuals" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CavesBossLevel.CityEntrance.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCavesBossLevel$CityEntrance" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CavesBossLevel.EntranceOverhang.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCavesBossLevel$EntranceOverhang" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CityBossLevel.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCityBossLevel" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CityBossLevel.CustomGroundVisuals.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCityBossLevel$CustomGroundVisuals" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.CityBossLevel.CustomWallVisuals.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewCityBossLevel$CustomWallVisuals" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.HallsBossLevel.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewHallsBossLevel" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.HallsBossLevel.CenterPieceVisuals.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewHallsBossLevel$CenterPieceWalls" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.levels.HallsBossLevel.CenterPieceWalls.class,
"com.shatteredpixel.shatteredpixeldungeon.levels.NewHallsBossLevel$CenterPieceWalls" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.Waterskin.class,
"com.shatteredpixel.shatteredpixeldungeon.items.DewVial" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.TengusMask.class,
"com.shatteredpixel.shatteredpixeldungeon.items.TomeOfMastery" );
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.KingsCrown.class,
"com.shatteredpixel.shatteredpixeldungeon.items.ArmorKit" );
}

View File

@@ -321,9 +321,7 @@ public class Goo extends Mob {
if (state != SLEEPING) BossHealthBar.assignBoss(this);
if ((HP*2 <= HT)) BossHealthBar.bleed(true);
//if check is for pre-0.9.3 saves
healInc = bundle.getInt(HEALINC);
}
}

View File

@@ -569,11 +569,8 @@ public class YogDzewa extends Mob {
fistSummons.clear();
Collections.addAll(fistSummons, bundle.getClassArray(FIST_SUMMONS));
//pre-0.9.3 saves
if (bundle.contains(CHALLENGE_SUMMONS)) {
challengeSummons.clear();
Collections.addAll(challengeSummons, bundle.getClassArray(CHALLENGE_SUMMONS));
}
challengeSummons.clear();
Collections.addAll(challengeSummons, bundle.getClassArray(CHALLENGE_SUMMONS));
regularSummons.clear();
Collections.addAll(regularSummons, bundle.getClassArray(REGULAR_SUMMONS));

View File

@@ -174,7 +174,6 @@ abstract public class ClassArmor extends Armor {
if (action.equals(AC_ABILITY)){
//for pre-0.9.3 saves
if (hero.armorAbility == null){
GameScene.show(new WndChooseAbility(null, this, hero));
} else if (!isEquipped( hero )) {

View File

@@ -319,8 +319,8 @@ public abstract class Level implements Bundlable {
version = bundle.getInt( VERSION );
//saves from before v0.9.2b are not supported
if (version < ShatteredPixelDungeon.v0_9_2b){
//saves from before v0.9.3c are not supported
if (version < ShatteredPixelDungeon.v0_9_3c){
throw new RuntimeException("old save");
}

View File

@@ -47,7 +47,7 @@ public class WndChooseAbility extends Window {
super();
//crown can be null if hero is choosing from armor, pre-0.9.3 saves
//crown can be null if hero is choosing from armor
IconTitle titlebar = new IconTitle();
titlebar.icon( new ItemSprite( crown == null ? armor.image() : crown.image(), null ) );
titlebar.label( Messages.titleCase(crown == null ? armor.name() : crown.name()) );