diff options
-rw-r--r-- | levelspecial.yaml | 2 | ||||
-rw-r--r-- | src/levelspecial.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/levelspecial.yaml b/levelspecial.yaml index a156960..58a6ced 100644 --- a/levelspecial.yaml +++ b/levelspecial.yaml @@ -17,7 +17,7 @@ hooks: type: branch_insn
branch_type: b
src_addr_pal: 0x809259E0
- target_func: 'ResetAfterLevel(void)'
+ target_func: 'ResetAfterLevel(bool)'
- name: LevelSpecial_MemFix
type: patch
diff --git a/src/levelspecial.cpp b/src/levelspecial.cpp index 35dc05a..d302cdd 100644 --- a/src/levelspecial.cpp +++ b/src/levelspecial.cpp @@ -67,7 +67,7 @@ void MarioStateChanger(void *Mario, dStateBase_c *state, u32 unk) { dAcPy_vf294(Mario, state, unk); } -bool ResetAfterLevel(void) { +bool ResetAfterLevel(bool didItWork) { // TimeStopFlag = 0; MarioDescentRate = -4; MarioJumpMax = 3.628; @@ -82,7 +82,10 @@ bool ResetAfterLevel(void) { AlwaysDrawBranch = 0x7C0802A6; ZOrderOn = 0; GlobalStarsCollected = 0; - return true; + NoMichaelBuble = false; + for (int i = 0; i < 4; i++) + Player_Flags[i] &= ~4; + return didItWork; } bool LevelSpecial_Create(LevelSpecial *self) { |