summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEblo <7004497+Eblo@users.noreply.github.com>2025-11-30 15:01:04 -0500
committerGitHub <noreply@github.com>2025-11-30 15:01:04 -0500
commitb42f3f345a8c5abebb3b98ee4237cbd32aab39fc (patch)
tree8a28e5a54d47106cd8eb8ccaaf5e938e3e24c307
parent38fa0061a261b5b5bbda49815ad39cf9336c845f (diff)
Implement Dinolfos, Boss03 reset funcs (#1371)
Re-implement Boss07 reset func
-rw-r--r--mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c2
-rw-r--r--mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c3
-rw-r--r--mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c7
3 files changed, 12 insertions, 0 deletions
diff --git a/mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c
index 8360897ca..a99eade58 100644
--- a/mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c
+++ b/mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c
@@ -81,6 +81,7 @@ void Boss03_Init(Actor* thisx, PlayState* play2);
void Boss03_Destroy(Actor* thisx, PlayState* play);
void Boss03_Update(Actor* thisx, PlayState* play2);
void Boss03_Draw(Actor* thisx, PlayState* play);
+void Boss03_Reset(void);
void func_809E344C(Boss03* this, PlayState* play);
void func_809E34B8(Boss03* this, PlayState* play);
@@ -288,6 +289,7 @@ ActorProfile Boss_03_Profile = {
/**/ Boss03_Destroy,
/**/ Boss03_Update,
/**/ Boss03_Draw,
+ /**/ Boss03_Reset,
};
// The limbs referenced here are not used. The spheres are positioned manually by Boss03_PostLimbDraw
diff --git a/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c b/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c
index 8c42cb333..21831890c 100644
--- a/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c
+++ b/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c
@@ -371,6 +371,8 @@ void Boss07_Remains_Draw(Actor* thisx, PlayState* play2);
void Boss07_Top_Draw(Actor* thisx, PlayState* play2);
void Boss07_BattleHandler_Draw(Actor* thisx, PlayState* play2);
+void Boss07_Reset(void);
+
void Boss07_Wrath_SetupIntroCutscene(Boss07* this, PlayState* play);
void Boss07_Wrath_IntroCutscene(Boss07* this, PlayState* play);
void Boss07_Wrath_DeathCutscene(Boss07* this, PlayState* play);
@@ -642,6 +644,7 @@ ActorProfile Boss_07_Profile = {
/**/ Boss07_Destroy,
/**/ Boss07_Wrath_Update,
/**/ Boss07_Wrath_Draw,
+ /**/ Boss07_Reset,
};
// The limbs referenced here are not used. The spheres are positioned manually by Boss07_Wrath_PostLimbDraw.
diff --git a/mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
index f4a6bf18b..a81d7c37f 100644
--- a/mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
+++ b/mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
@@ -15,6 +15,7 @@ void EnDinofos_Init(Actor* thisx, PlayState* play);
void EnDinofos_Destroy(Actor* thisx, PlayState* play);
void EnDinofos_Update(Actor* thisx, PlayState* play2);
void EnDinofos_Draw(Actor* thisx, PlayState* play);
+void EnDinofos_Reset(void);
void EnDinofos_Idle(EnDinofos* this, PlayState* play);
void EnDinofos_PlayCutscene(EnDinofos* this, PlayState* play);
@@ -67,6 +68,7 @@ ActorProfile En_Dinofos_Profile = {
/**/ EnDinofos_Destroy,
/**/ EnDinofos_Update,
/**/ EnDinofos_Draw,
+ /**/ EnDinofos_Reset,
};
static ColliderJntSphElementInit sJntSphElementsInit[9] = {
@@ -1574,3 +1576,8 @@ void EnDinofos_Draw(Actor* thisx, PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx);
}
+
+void EnDinofos_Reset(void) {
+ sCsId = CS_ID_NONE;
+ sNumAlive = 0;
+}