From 80f90dec52988e13f99f8ee88ef92b8ffd298511 Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Sat, 24 Feb 2024 16:36:16 -0800 Subject: [PATCH 1/6] Remove spurious semicolon. --- achievement.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/achievement.cpp b/achievement.cpp index 242db3ea..f83f6a07 100644 --- a/achievement.cpp +++ b/achievement.cpp @@ -166,7 +166,7 @@ EX void achievement_gain_once(const string& s, char flags IS(0)) { namespace rg { char check(bool b, char val = special_geometry) { return b ? val : fail; } - }; + } EX char specgeom_zebra() { return rg::check(geometry == gZebraQuotient && !disksize && BITRUNCATED && firstland == laDesert); } EX char specgeom_lovasz() { return rg::check(geometry == gKleinQuartic && variation == eVariation::untruncated && gp::param == gp::loc(1,1) && !disksize && in_lovasz()); } From 0f84812d157af8541480b95eb69de325d6f6277f Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Sat, 24 Feb 2024 10:54:45 -0800 Subject: [PATCH 2/6] Track fatigue across save/load. --- system.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system.cpp b/system.cpp index 70250164..8a941d4c 100644 --- a/system.cpp +++ b/system.cpp @@ -596,10 +596,11 @@ EX void applyBoxes() { for(int i=0; i<43; i++) { if(loading) kills[i] = 0; - bool fake = (i == moREMOVED || i == moLesserM || i == moTentacletail); + bool fake = (i == moLesserM || i == moTentacletail); if(i == moWormtail) applyBoxM(moCrystalSage); else if(i == moWormwait) applyBoxM(moFireFairy); else if(i == moTentacleEscaping) applyBoxM(moMiner); + else if(i == moREMOVED) applyBoxI(itFatigue); else if(i == moGolemMoved) applyBoxM(moIllusion); else if(i == moTentaclewait) applyBoxOrb(itOrbThorns); else if(i == moGreater) applyBoxOrb(itOrbDragon); From 7d04b0c717919fbf896bb11331c2f3a2ca23a540 Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Sat, 24 Feb 2024 15:50:15 -0800 Subject: [PATCH 3/6] Record snake oil in savefile. --- system.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system.cpp b/system.cpp index 8a941d4c..1f9eda5b 100644 --- a/system.cpp +++ b/system.cpp @@ -596,12 +596,13 @@ EX void applyBoxes() { for(int i=0; i<43; i++) { if(loading) kills[i] = 0; - bool fake = (i == moLesserM || i == moTentacletail); + bool fake = (i == moLesserM); if(i == moWormtail) applyBoxM(moCrystalSage); else if(i == moWormwait) applyBoxM(moFireFairy); else if(i == moTentacleEscaping) applyBoxM(moMiner); else if(i == moREMOVED) applyBoxI(itFatigue); else if(i == moGolemMoved) applyBoxM(moIllusion); + else if(i == moTentacletail) applyBoxI(itSnake); else if(i == moTentaclewait) applyBoxOrb(itOrbThorns); else if(i == moGreater) applyBoxOrb(itOrbDragon); else if(i == moGreaterM) applyBoxOrb(itOrbIllusion); From e31c9dc2632d72865c03a8c6ed69d5d9a36be678 Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Sat, 24 Feb 2024 16:17:29 -0800 Subject: [PATCH 4/6] Record moFriendlyGhost kills in savefile. --- system.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system.cpp b/system.cpp index 1f9eda5b..67746a71 100644 --- a/system.cpp +++ b/system.cpp @@ -596,7 +596,6 @@ EX void applyBoxes() { for(int i=0; i<43; i++) { if(loading) kills[i] = 0; - bool fake = (i == moLesserM); if(i == moWormtail) applyBoxM(moCrystalSage); else if(i == moWormwait) applyBoxM(moFireFairy); else if(i == moTentacleEscaping) applyBoxM(moMiner); @@ -606,9 +605,10 @@ EX void applyBoxes() { else if(i == moTentaclewait) applyBoxOrb(itOrbThorns); else if(i == moGreater) applyBoxOrb(itOrbDragon); else if(i == moGreaterM) applyBoxOrb(itOrbIllusion); + else if(i == moLesserM) applyBoxM(moFriendlyGhost); else if(i == moWolfMoved) applyBoxM(moWorldTurtle); else if(i == moNone) applyBoxNum(kills[i], "icewalls melted"); - else applyBoxM(eMonster(i), fake); + else applyBoxM(eMonster(i)); } if(saving) { From 1f2692a4fbb348c155228608068aa21775ac3825 Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Mon, 26 Feb 2024 17:17:38 -0800 Subject: [PATCH 5/6] Record crossbow reload time in savefile. --- system.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system.cpp b/system.cpp index 70250164..ec0c8fa9 100644 --- a/system.cpp +++ b/system.cpp @@ -444,7 +444,7 @@ EX namespace scores { /** \brief the amount of boxes reserved for each hr::score item */ #define MAXBOX 500 /** \brief currently used boxes in hr::score */ -#define POSSCORE 410 +#define POSSCORE 411 /** \brief a struct to keep local score from an earlier game */ struct score { /** \brief version used */ @@ -947,6 +947,8 @@ EX void applyBoxes() { applyBoxOrb(itOrbFish); list_invorb(); + applyBoxNum(items[itCrossbow]); + if(POSSCORE != boxid) printf("ERROR: %d boxes\n", boxid); if(isize(invorb)) { println(hlog, "ERROR: Orbs not taken into account"); exit(1); } } From a626ede2bf3d8f91a8b8d1879f30dfb9123b8a2c Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Tue, 27 Feb 2024 21:30:33 -0800 Subject: [PATCH 6/6] Record the amount of revolver ammunition in save file. --- system.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system.cpp b/system.cpp index ec0c8fa9..8433c567 100644 --- a/system.cpp +++ b/system.cpp @@ -444,7 +444,7 @@ EX namespace scores { /** \brief the amount of boxes reserved for each hr::score item */ #define MAXBOX 500 /** \brief currently used boxes in hr::score */ -#define POSSCORE 411 +#define POSSCORE 412 /** \brief a struct to keep local score from an earlier game */ struct score { /** \brief version used */ @@ -948,6 +948,7 @@ EX void applyBoxes() { list_invorb(); applyBoxNum(items[itCrossbow]); + applyBoxNum(items[itRevolver]); if(POSSCORE != boxid) printf("ERROR: %d boxes\n", boxid); if(isize(invorb)) { println(hlog, "ERROR: Orbs not taken into account"); exit(1); }