This commit is contained in:
Martin Pham 2024-01-12 08:32:39 -07:00 committed by GitHub
commit 1c9c7451e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 65 additions and 0 deletions

View File

@ -85,6 +85,10 @@
#define TEXT_OPT_CHEAT7 _("EXIT COURSE AT ANY TIME") #define TEXT_OPT_CHEAT7 _("EXIT COURSE AT ANY TIME")
#define TEXT_OPT_CHEAT8 _("HUGE MARIO") #define TEXT_OPT_CHEAT8 _("HUGE MARIO")
#define TEXT_OPT_CHEAT9 _("TINY MARIO") #define TEXT_OPT_CHEAT9 _("TINY MARIO")
#define TEXT_OPT_WING_CAP _("GET WING CAP")
#define TEXT_OPT_METAL_CAP _("GET METAL CAP")
#define TEXT_OPT_VANISH_CAP _("GET VANISH CAP")
#define TEXT_OPT_NORMAL_CAP _("RESET CAP")
#else // VERSION #else // VERSION
@ -149,6 +153,10 @@
#define TEXT_OPT_CHEAT7 _("Exit course at any time") #define TEXT_OPT_CHEAT7 _("Exit course at any time")
#define TEXT_OPT_CHEAT8 _("Huge Mario") #define TEXT_OPT_CHEAT8 _("Huge Mario")
#define TEXT_OPT_CHEAT9 _("Tiny Mario") #define TEXT_OPT_CHEAT9 _("Tiny Mario")
#define TEXT_OPT_WING_CAP _("Get WING Cap")
#define TEXT_OPT_METAL_CAP _("Get METAL Cap")
#define TEXT_OPT_VANISH_CAP _("Get VANISH Cap")
#define TEXT_OPT_NORMAL_CAP _("Reset Cap")
#endif // VERSION #endif // VERSION

View File

@ -1408,6 +1408,35 @@ void update_mario_inputs(struct MarioState *m) {
m->collidedObjInteractTypes = m->marioObj->collidedObjInteractTypes; m->collidedObjInteractTypes = m->marioObj->collidedObjInteractTypes;
m->flags &= 0xFFFFFF; m->flags &= 0xFFFFFF;
if(Cheats.EnableCheats) {
if(Cheats.WingCap) {
m->flags |= MARIO_WING_CAP;
}
// else {
// m->flags &= ~MARIO_WING_CAP;
// }
if(Cheats.MetalCap) {
m->flags |= MARIO_METAL_CAP;
}
// else {
// m->flags &= ~MARIO_METAL_CAP;
// }
if(Cheats.VanishCap) {
m->flags |= MARIO_VANISH_CAP;
}
// else {
// m->flags &= ~MARIO_VANISH_CAP;
// }
if(Cheats.NormalCap) {
m->flags &= ~MARIO_WING_CAP;
m->flags &= ~MARIO_METAL_CAP;
m->flags &= ~MARIO_VANISH_CAP;
Cheats.NormalCap = false;
}
}
update_mario_button_inputs(m); update_mario_button_inputs(m);
update_mario_joystick_inputs(m); update_mario_joystick_inputs(m);
update_mario_geometry_inputs(m); update_mario_geometry_inputs(m);

View File

@ -105,6 +105,10 @@ static const u8 optsCheatsStr[][64] = {
{ TEXT_OPT_CHEAT7 }, { TEXT_OPT_CHEAT7 },
{ TEXT_OPT_CHEAT8 }, { TEXT_OPT_CHEAT8 },
{ TEXT_OPT_CHEAT9 }, { TEXT_OPT_CHEAT9 },
{ TEXT_OPT_WING_CAP },
{ TEXT_OPT_METAL_CAP },
{ TEXT_OPT_VANISH_CAP },
{ TEXT_OPT_NORMAL_CAP },
}; };
static const u8 bindStr[][32] = { static const u8 bindStr[][32] = {
@ -218,6 +222,22 @@ static void optvideo_apply(UNUSED struct Option *self, s32 arg) {
if (!arg) configWindow.settings_changed = true; if (!arg) configWindow.settings_changed = true;
} }
static void setCap_Wing(UNUSED struct Option *self, s32 arg) {
Cheats.WingCap = true;
}
static void setCap_Metal(UNUSED struct Option *self, s32 arg) {
Cheats.MetalCap = true;
}
static void setCap_Vanish(UNUSED struct Option *self, s32 arg) {
Cheats.VanishCap = true;
}
static void setCap_Normal(UNUSED struct Option *self, s32 arg) {
Cheats.WingCap = false;
Cheats.MetalCap = false;
Cheats.VanishCap = false;
Cheats.NormalCap = true;
}
/* submenu option lists */ /* submenu option lists */
#ifdef BETTERCAMERA #ifdef BETTERCAMERA
@ -282,6 +302,10 @@ static struct Option optsCheats[] = {
DEF_OPT_TOGGLE( optsCheatsStr[6], &Cheats.ExitAnywhere ), DEF_OPT_TOGGLE( optsCheatsStr[6], &Cheats.ExitAnywhere ),
DEF_OPT_TOGGLE( optsCheatsStr[7], &Cheats.HugeMario ), DEF_OPT_TOGGLE( optsCheatsStr[7], &Cheats.HugeMario ),
DEF_OPT_TOGGLE( optsCheatsStr[8], &Cheats.TinyMario ), DEF_OPT_TOGGLE( optsCheatsStr[8], &Cheats.TinyMario ),
DEF_OPT_BUTTON( optsCheatsStr[9], setCap_Wing ),
DEF_OPT_BUTTON( optsCheatsStr[10], setCap_Metal ),
DEF_OPT_BUTTON( optsCheatsStr[11], setCap_Vanish ),
DEF_OPT_BUTTON( optsCheatsStr[12], setCap_Normal ),
}; };

View File

@ -13,6 +13,10 @@ struct CheatList {
bool ExitAnywhere; bool ExitAnywhere;
bool HugeMario; bool HugeMario;
bool TinyMario; bool TinyMario;
bool WingCap;
bool MetalCap;
bool VanishCap;
bool NormalCap;
}; };
extern struct CheatList Cheats; extern struct CheatList Cheats;