Better BackToMap

This commit is contained in:
Sonic Dreamcaster 2025-01-04 02:05:25 -03:00
parent 9947aa8df1
commit 53527072d3
2 changed files with 24 additions and 17 deletions

View File

@ -17,6 +17,8 @@
#include "assets/ast_font_3d.h" #include "assets/ast_font_3d.h"
#include "port/interpolation/FrameInterpolation.h" #include "port/interpolation/FrameInterpolation.h"
extern bool gBackToMap;
// BSS STARTS HERE // BSS STARTS HERE
u8 gMapVenomCloudTex[96 * 96]; u8 gMapVenomCloudTex[96 * 96];
u8 gMapCorneriaTex[96 * 96]; u8 gMapCorneriaTex[96 * 96];
@ -2143,7 +2145,8 @@ void Map_Prologue_Update(void) {
break; break;
} }
if (gControllerPress[gMainController].button & START_BUTTON) { if ((gControllerPress[gMainController].button & START_BUTTON) || gBackToMap) {
gBackToMap = false;
AUDIO_PLAY_BGM(NA_BGM_MAP); AUDIO_PLAY_BGM(NA_BGM_MAP);
AUDIO_PLAY_SFX(NA_SE_MAP_MOVE_STOP, gDefaultSfxSource, 4); AUDIO_PLAY_SFX(NA_SE_MAP_MOVE_STOP, gDefaultSfxSource, 4);

View File

@ -6,6 +6,8 @@
#define INIT_EVENT_IDS #define INIT_EVENT_IDS
#include "port/hooks/Events.h" #include "port/hooks/Events.h"
bool gBackToMap;
void OnDisplayUpdatePost(IEvent* event) { void OnDisplayUpdatePost(IEvent* event) {
#if DEBUG_BOSS_KILLER == 1 #if DEBUG_BOSS_KILLER == 1
KillBoss(); KillBoss();
@ -41,13 +43,16 @@ void OnDisplayUpdatePost(IEvent* event) {
if ((gControllerHold[0].button & Z_TRIG) && (gControllerHold[0].button & R_TRIG) && if ((gControllerHold[0].button & Z_TRIG) && (gControllerHold[0].button & R_TRIG) &&
(gControllerPress[0].button & U_CBUTTONS)) { (gControllerPress[0].button & U_CBUTTONS)) {
gFillScreenAlphaTarget = 255; gShowLevelClearStatusScreen = false;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gLevelStartStatusScreenTimer = 0;
gFillScreenAlphaStep = 8; gStarCount = 0;
gShowLevelClearStatusScreen = false; gGameState = GSTATE_MAP;
pl->state = PLAYERSTATE_NEXT; gNextGameStateTimer = 2;
pl->csTimer = 0; gMapState = 0;
gFadeoutType = 4; gLastGameState = GSTATE_NONE;
gDrawMode = DRAW_NONE;
gControllerLock = 3;
gBackToMap = true;
} }
} }
@ -132,7 +137,6 @@ void OnDisplayUpdatePost(IEvent* event) {
return; return;
} }
gHitCount = CVarGetInteger("gScoreEditValue", 1); gHitCount = CVarGetInteger("gScoreEditValue", 1);
} }
Hit64_Main(); Hit64_Main();
// ground testing // ground testing
@ -152,13 +156,13 @@ void OnGameUpdatePost(IEvent* event) {
#if MODS_RAM_MOD == 1 #if MODS_RAM_MOD == 1
RamMod_Update(); RamMod_Update();
#endif #endif
if(CVarGetInteger("gSpawnerMod", 0) == 1){ if (CVarGetInteger("gSpawnerMod", 0) == 1) {
Spawner(); Spawner();
} }
} }
void RefillBoostMeter(Player* player) { void RefillBoostMeter(Player* player) {
if (player->boostMeter > 1.0f){ if (player->boostMeter > 1.0f) {
player->boostMeter = 1.0f; player->boostMeter = 1.0f;
} }
} }
@ -174,18 +178,18 @@ void OnPlayerUpdatePost(PlayerPostUpdateEvent* event) {
} }
void OnPlayerBoost(PlayerActionBoostEvent* event) { void OnPlayerBoost(PlayerActionBoostEvent* event) {
if (CVarGetInteger("gInfiniteBoost", 0) == 1){ if (CVarGetInteger("gInfiniteBoost", 0) == 1) {
RefillBoostMeter(event->player); RefillBoostMeter(event->player);
} }
} }
void OnPlayerBrake(PlayerActionBrakeEvent* event) { void OnPlayerBrake(PlayerActionBrakeEvent* event) {
if (CVarGetInteger("gInfiniteBoost", 0) == 1){ if (CVarGetInteger("gInfiniteBoost", 0) == 1) {
RefillBoostMeter(event->player); RefillBoostMeter(event->player);
} }
} }
void OnPlayerShootPost(PlayerActionPostShootEvent* event){ void OnPlayerShootPost(PlayerActionPostShootEvent* event) {
event->shot->timer *= CVarGetInteger("gLaserRangeMult", 100)/100.0f; event->shot->timer *= CVarGetInteger("gLaserRangeMult", 100) / 100.0f;
} }
void PortEnhancements_Init() { void PortEnhancements_Init() {