From b42f3f345a8c5abebb3b98ee4237cbd32aab39fc Mon Sep 17 00:00:00 2001 From: Eblo <7004497+Eblo@users.noreply.github.com> Date: Sun, 30 Nov 2025 15:01:04 -0500 Subject: Implement Dinolfos, Boss03 reset funcs (#1371) Re-implement Boss07 reset func --- mm/src/overlays/actors/ovl_Boss_03/z_boss_03.c | 2 ++ mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c | 3 +++ mm/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c | 7 +++++++ 3 files changed, 12 insertions(+) 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; +} -- cgit v1.2.3