diff --git a/src/overlays/ovl_menu/fox_map.c b/src/overlays/ovl_menu/fox_map.c index 9694ca8d..afa8c04a 100644 --- a/src/overlays/ovl_menu/fox_map.c +++ b/src/overlays/ovl_menu/fox_map.c @@ -17,6 +17,8 @@ #include "assets/ast_font_3d.h" #include "port/interpolation/FrameInterpolation.h" +extern bool gBackToMap; + // BSS STARTS HERE u8 gMapVenomCloudTex[96 * 96]; u8 gMapCorneriaTex[96 * 96]; @@ -2143,7 +2145,8 @@ void Map_Prologue_Update(void) { break; } - if (gControllerPress[gMainController].button & START_BUTTON) { + if ((gControllerPress[gMainController].button & START_BUTTON) || gBackToMap) { + gBackToMap = false; AUDIO_PLAY_BGM(NA_BGM_MAP); AUDIO_PLAY_SFX(NA_SE_MAP_MOVE_STOP, gDefaultSfxSource, 4); diff --git a/src/port/mods/PortEnhancements.c b/src/port/mods/PortEnhancements.c index 8babf01b..b42b6abd 100644 --- a/src/port/mods/PortEnhancements.c +++ b/src/port/mods/PortEnhancements.c @@ -6,6 +6,8 @@ #define INIT_EVENT_IDS #include "port/hooks/Events.h" +bool gBackToMap; + void OnDisplayUpdatePost(IEvent* event) { #if DEBUG_BOSS_KILLER == 1 KillBoss(); @@ -41,13 +43,16 @@ void OnDisplayUpdatePost(IEvent* event) { if ((gControllerHold[0].button & Z_TRIG) && (gControllerHold[0].button & R_TRIG) && (gControllerPress[0].button & U_CBUTTONS)) { - gFillScreenAlphaTarget = 255; - gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; - gFillScreenAlphaStep = 8; - gShowLevelClearStatusScreen = false; - pl->state = PLAYERSTATE_NEXT; - pl->csTimer = 0; - gFadeoutType = 4; + gShowLevelClearStatusScreen = false; + gLevelStartStatusScreenTimer = 0; + gStarCount = 0; + gGameState = GSTATE_MAP; + gNextGameStateTimer = 2; + gMapState = 0; + gLastGameState = GSTATE_NONE; + gDrawMode = DRAW_NONE; + gControllerLock = 3; + gBackToMap = true; } } @@ -132,7 +137,6 @@ void OnDisplayUpdatePost(IEvent* event) { return; } gHitCount = CVarGetInteger("gScoreEditValue", 1); - } Hit64_Main(); // ground testing @@ -152,13 +156,13 @@ void OnGameUpdatePost(IEvent* event) { #if MODS_RAM_MOD == 1 RamMod_Update(); #endif - if(CVarGetInteger("gSpawnerMod", 0) == 1){ + if (CVarGetInteger("gSpawnerMod", 0) == 1) { Spawner(); } } void RefillBoostMeter(Player* player) { - if (player->boostMeter > 1.0f){ + if (player->boostMeter > 1.0f) { player->boostMeter = 1.0f; } } @@ -174,18 +178,18 @@ void OnPlayerUpdatePost(PlayerPostUpdateEvent* event) { } void OnPlayerBoost(PlayerActionBoostEvent* event) { - if (CVarGetInteger("gInfiniteBoost", 0) == 1){ + if (CVarGetInteger("gInfiniteBoost", 0) == 1) { RefillBoostMeter(event->player); } } void OnPlayerBrake(PlayerActionBrakeEvent* event) { - if (CVarGetInteger("gInfiniteBoost", 0) == 1){ + if (CVarGetInteger("gInfiniteBoost", 0) == 1) { RefillBoostMeter(event->player); } } -void OnPlayerShootPost(PlayerActionPostShootEvent* event){ - event->shot->timer *= CVarGetInteger("gLaserRangeMult", 100)/100.0f; +void OnPlayerShootPost(PlayerActionPostShootEvent* event) { + event->shot->timer *= CVarGetInteger("gLaserRangeMult", 100) / 100.0f; } void PortEnhancements_Init() { @@ -240,12 +244,12 @@ void PortEnhancements_Register() { REGISTER_EVENT(PlayerActionPreShootEvent); REGISTER_EVENT(PlayerActionPostShootEvent); - + REGISTER_EVENT(PlayerActionPreShootChargedEvent); REGISTER_EVENT(PlayerActionPostShootChargedEvent); REGISTER_EVENT(PlayerActionPreBombEvent); - REGISTER_EVENT(PlayerActionPostBombEvent); + REGISTER_EVENT(PlayerActionPostBombEvent); } void PortEnhancements_Exit() {