diff --git a/include/text_options_strings.h.in b/include/text_options_strings.h.in index a1ce481f2c..bad3255a95 100644 --- a/include/text_options_strings.h.in +++ b/include/text_options_strings.h.in @@ -84,6 +84,7 @@ #define TEXT_OPT_CHEAT7 _("EXIT COURSE AT ANY TIME") #define TEXT_OPT_CHEAT8 _("HUGE MARIO") #define TEXT_OPT_CHEAT9 _("TINY MARIO") +#define TEXT_OPT_FOREVER_CAP _("FOREVER CAP") #else // VERSION @@ -148,6 +149,7 @@ #define TEXT_OPT_CHEAT7 _("Exit course at any time") #define TEXT_OPT_CHEAT8 _("Huge Mario") #define TEXT_OPT_CHEAT9 _("Tiny Mario") +#define TEXT_OPT_FOREVER_CAP _("Forever Cap") #endif // VERSION diff --git a/src/game/mario.c b/src/game/mario.c index 5f8e5114ef..4497abd675 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -1610,7 +1610,7 @@ u32 update_and_return_cap_flags(struct MarioState *m) { if ((m->capTimer <= 60) || ((action != ACT_READING_AUTOMATIC_DIALOG) && (action != ACT_READING_NPC_DIALOG) && (action != ACT_READING_SIGN) && (action != ACT_IN_CANNON))) { - m->capTimer -= 1; + if (Cheats.EnableCheats && Cheats.ForeverCap) { m->capTimer -= 0; } else { m->capTimer -= 1; } } if (m->capTimer == 0) { diff --git a/src/game/options_menu.c b/src/game/options_menu.c index 56dba619e3..999077cc79 100644 --- a/src/game/options_menu.c +++ b/src/game/options_menu.c @@ -102,6 +102,7 @@ static const u8 optsCheatsStr[][64] = { { TEXT_OPT_CHEAT7 }, { TEXT_OPT_CHEAT8 }, { TEXT_OPT_CHEAT9 }, + { TEXT_OPT_FOREVER_CAP }, }; static const u8 bindStr[][32] = { @@ -279,6 +280,7 @@ static struct Option optsCheats[] = { DEF_OPT_TOGGLE( optsCheatsStr[6], &Cheats.ExitAnywhere ), DEF_OPT_TOGGLE( optsCheatsStr[7], &Cheats.HugeMario ), DEF_OPT_TOGGLE( optsCheatsStr[8], &Cheats.TinyMario ), + DEF_OPT_TOGGLE( optsCheatsStr[9], &Cheats.ForeverCap ), }; diff --git a/src/pc/cheats.h b/src/pc/cheats.h index eaf71ab4b0..0fb764eb3b 100644 --- a/src/pc/cheats.h +++ b/src/pc/cheats.h @@ -13,6 +13,7 @@ struct CheatList { bool ExitAnywhere; bool HugeMario; bool TinyMario; + bool ForeverCap; }; extern struct CheatList Cheats;