summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--levelspecial.yaml2
-rw-r--r--src/levelspecial.cpp7
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) {