add skeleton unregistration to actors that manage their own skeletons (#2908)

This commit is contained in:
Rozelette 2023-05-22 08:20:06 -05:00 committed by GitHub
parent 7962e0e6d6
commit f005bd3b7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
126 changed files with 279 additions and 14 deletions

View File

@ -109,7 +109,9 @@ void BgDyYoseizo_Init(Actor* thisx, PlayState* play2) {
this->actionFunc = BgDyYoseizo_CheckMagicAcquired;
}
void BgDyYoseizo_Destroy(Actor* this, PlayState* play) {
void BgDyYoseizo_Destroy(Actor* thisx, PlayState* play) {
BgDyYoseizo* this = (BgDyYoseizo*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
static Color_RGB8 sParticlePrimColors[] = {

View File

@ -346,6 +346,8 @@ void BossSst_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyJntSph(play, &this->colliderJntSph);
Collider_DestroyCylinder(play, &this->colliderCyl);
Audio_StopSfxByPos(&this->center);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void BossSst_HeadSetupLurk(BossSst* this) {

View File

@ -24,6 +24,9 @@ void DemoIk_Type1Draw(DemoIk* this, PlayState* play);
void DemoIk_Type2Draw(DemoIk* this, PlayState* play);
void DemoIk_Destroy(Actor* thisx, PlayState* play) {
DemoIk* this = (DemoIk*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void DemoIk_BgCheck(DemoIk* this, PlayState* play) {

View File

@ -1163,7 +1163,10 @@ void DemoIm_Init(Actor* thisx, PlayState* play) {
}
void DemoIm_Destroy(Actor* thisx, PlayState* play) {
DemoIm* this = (DemoIm*)thisx;
DemoIm_DestroyCollider(thisx, play);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 DemoIm_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {

View File

@ -203,6 +203,8 @@ void DoorKiller_Destroy(Actor* thisx, PlayState* play) {
if ((thisx->params & 0xFF) == DOOR_KILLER_DOOR) {
Collider_DestroyCylinder(play, &this->colliderCylinder);
Collider_DestroyJntSph(play, &this->colliderJntSph);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
}

View File

@ -97,7 +97,16 @@ void DoorWarp1_Destroy(Actor* thisx, PlayState* play) {
play->envCtx.adjAmbientColor[i] = play->envCtx.adjFogColor[i] = play->envCtx.adjLight1Color[i] =
0;
}
//! @bug SkelAnime_Free is not called for crystal variants
switch (this->actor.params) {
case WARP_DUNGEON_ADULT:
case WARP_BLUE_CRYSTAL:
case WARP_PURPLE_CRYSTAL:
SkelAnime_Free(&this->skelAnime, play);
break;
default:
break;
}
}
void DoorWarp1_SetupWarp(DoorWarp1* this, PlayState* play) {

View File

@ -249,6 +249,8 @@ void EnAm_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->hurtCollider);
Collider_DestroyCylinder(play, &this->blockCollider);
//! @bug Quad collider is not destroyed (though destroy doesnt really do anything anyway)
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnAm_SpawnEffects(EnAm* this, PlayState* play) {

View File

@ -95,6 +95,8 @@ void EnAni_Destroy(Actor* thisx, PlayState* play) {
EnAni* this = (EnAni*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnAni_SetText(EnAni* this, PlayState* play, u16 textId) {

View File

@ -167,6 +167,8 @@ void EnAnubice_Destroy(Actor* thisx, PlayState* play) {
tag->anubis = NULL;
}
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnAnubice_FindFlameCircles(EnAnubice* this, PlayState* play) {

View File

@ -68,6 +68,8 @@ void EnAttackNiw_Destroy(Actor* thisx, PlayState* play) {
cucco->unk_296--;
}
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809B5268(EnAttackNiw* this, PlayState* play, s16 arg2) {

View File

@ -403,6 +403,8 @@ void EnBb_Destroy(Actor* thisx, PlayState* play) {
EnBb* this = (EnBb*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnBb_SetupFlameTrail(EnBb* this) {

View File

@ -196,6 +196,8 @@ void EnBigokuta_Destroy(Actor* thisx, PlayState* play) {
for (i = 0; i < ARRAY_COUNT(this->cylinder); i++) {
Collider_DestroyCylinder(play, &this->cylinder[i]);
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809BCE3C(EnBigokuta* this) {

View File

@ -136,6 +136,8 @@ void EnBili_Destroy(Actor* thisx, PlayState* play) {
EnBili* this = (EnBili*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
// Setup Action Functions

View File

@ -62,6 +62,9 @@ void EnBird_Init(Actor* thisx, PlayState* play) {
}
void EnBird_Destroy(Actor* thisx, PlayState* play) {
EnBird* this = (EnBird*)thisx;
SkelAnime_Free(&this->skelAnime, play);
}
void func_809C1CAC(EnBird* this, s16 params) {

View File

@ -89,6 +89,9 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play2) {
}
void EnBomBowlMan_Destroy(Actor* thisx, PlayState* play) {
EnBomBowlMan* this = (EnBomBowlMan*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, PlayState* play) {

View File

@ -208,6 +208,8 @@ void EnBox_Destroy(Actor* thisx, PlayState* play) {
EnBox* this = (EnBox*)thisx;
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
void EnBox_RandomDustKinematic(EnBox* this, Vec3f* pos, Vec3f* velocity, Vec3f* accel) {

View File

@ -102,6 +102,8 @@ void EnBrob_Destroy(Actor* thisx, PlayState* play) {
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
Collider_DestroyCylinder(play, &this->colliders[0]);
Collider_DestroyCylinder(play, &this->colliders[1]);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809CADDC(EnBrob* this, PlayState* play) {

View File

@ -180,6 +180,8 @@ void EnButte_Destroy(Actor* thisx, PlayState* play2) {
EnButte* this = (EnButte*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809CD56C(EnButte* this) {

View File

@ -161,6 +161,8 @@ void EnBw_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider1);
Collider_DestroyCylinder(play, &this->collider2);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809CE884(EnBw* this, PlayState* play) {

View File

@ -162,6 +162,8 @@ void EnCow_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->colliders[0]);
Collider_DestroyCylinder(play, &this->colliders[1]);
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809DF494(EnCow* this, PlayState* play) {

View File

@ -124,6 +124,8 @@ void EnCrow_Destroy(Actor* thisx, PlayState* play) {
EnCrow* this = (EnCrow*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
// Setup Action functions

View File

@ -161,6 +161,8 @@ void EnCs_Destroy(Actor* thisx, PlayState* play) {
EnCs* this = (EnCs*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnCs_GetTalkState(EnCs* this, PlayState* play) {

View File

@ -219,6 +219,8 @@ void EnDaiku_Destroy(Actor* thisx, PlayState* play) {
EnDaiku* this = (EnDaiku*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnDaiku_UpdateTalking(EnDaiku* this, PlayState* play) {

View File

@ -208,6 +208,8 @@ void EnDaikuKakariko_Destroy(Actor* thisx, PlayState* play) {
EnDaikuKakariko* this = (EnDaikuKakariko*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnDaikuKakariko_GetTalkState(EnDaikuKakariko* this, PlayState* play) {

View File

@ -278,6 +278,8 @@ void EnDekubaba_Destroy(Actor* thisx, PlayState* play) {
EnDekubaba* this = (EnDekubaba*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDekubaba_DisableHitboxes(EnDekubaba* this) {

View File

@ -136,6 +136,8 @@ void EnDekunuts_Destroy(Actor* thisx, PlayState* play) {
if (this->actor.params != DEKUNUTS_FLOWER) {
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
}

View File

@ -164,6 +164,8 @@ void EnDh_Destroy(Actor* thisx, PlayState* play) {
func_800F5B58();
Collider_DestroyCylinder(play, &this->collider1);
Collider_DestroyJntSph(play, &this->collider2);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDh_SpawnDebris(PlayState* play, EnDh* this, Vec3f* spawnPos, f32 spread, s32 arg4, f32 accelXZ,

View File

@ -177,6 +177,8 @@ void EnDha_Destroy(Actor* thisx, PlayState* play) {
EnDha* this = (EnDha*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDha_SetupWait(EnDha* this) {

View File

@ -108,6 +108,8 @@ void EnDivingGame_Destroy(Actor* thisx, PlayState* play) {
gSaveContext.timer1State = 0;
}
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDivingGame_SpawnRuppy(EnDivingGame* this, PlayState* play) {

View File

@ -200,6 +200,8 @@ void EnDns_Destroy(Actor* thisx, PlayState* play) {
EnDns* this = (EnDns*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDns_ChangeAnim(EnDns* this, u8 index) {

View File

@ -96,6 +96,8 @@ void EnDntJiji_Destroy(Actor* thisx, PlayState* play) {
EnDntJiji* this = (EnDntJiji*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDntJiji_SetFlower(EnDntJiji* this, PlayState* play) {

View File

@ -167,6 +167,8 @@ void EnDntNomal_Destroy(Actor* thisx, PlayState* play) {
} else {
Collider_DestroyCylinder(play, &this->bodyCyl);
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDntNomal_WaitForObject(EnDntNomal* this, PlayState* play) {

View File

@ -88,6 +88,8 @@ void EnDodojr_Destroy(Actor* thisx, PlayState* play) {
EnDodojr* this = (EnDodojr*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_809F64D0(EnDodojr* this) {

View File

@ -353,6 +353,8 @@ void EnDodongo_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyTris(play, &this->colliderHard);
Collider_DestroyJntSph(play, &this->colliderBody);
Collider_DestroyQuad(play, &this->colliderAT);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDodongo_SetupIdle(EnDodongo* this) {

View File

@ -300,6 +300,8 @@ void EnDog_Init(Actor* thisx, PlayState* play) {
void EnDog_Destroy(Actor* thisx, PlayState* play) {
EnDog* this = (EnDog*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDog_FollowPath(EnDog* this, PlayState* play) {

View File

@ -143,6 +143,8 @@ void EnDoor_Destroy(Actor* thisx, PlayState* play) {
if (transitionEntry->id < 0) {
transitionEntry->id = -transitionEntry->id;
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDoor_SetupType(EnDoor* this, PlayState* play) {

View File

@ -50,6 +50,9 @@ void EnDs_Init(Actor* thisx, PlayState* play) {
}
void EnDs_Destroy(Actor* thisx, PlayState* play) {
EnDs* this = (EnDs*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnDs_Talk(EnDs* this, PlayState* play) {

View File

@ -171,6 +171,8 @@ void EnEiyer_Init(Actor* thisx, PlayState* play) {
void EnEiyer_Destroy(Actor* thisx, PlayState* play) {
EnEiyer* this = (EnEiyer*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
void EnEiyer_RotateAroundHome(EnEiyer* this) {

View File

@ -437,6 +437,8 @@ void EnElf_Destroy(Actor* thisx, PlayState* play) {
LightContext_RemoveLight(play, &play->lightCtx, this->lightNodeGlow);
LightContext_RemoveLight(play, &play->lightCtx, this->lightNodeNoGlow);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80A02A20(EnElf* this, PlayState* play) {

View File

@ -472,6 +472,8 @@ void EnFd_Destroy(Actor* thisx, PlayState* play) {
EnFd* this = (EnFd*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnFd_Reappear(EnFd* this, PlayState* play) {

View File

@ -198,6 +198,8 @@ void EnFirefly_Destroy(Actor* thisx, PlayState* play) {
EnFirefly* this = (EnFirefly*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnFirefly_SetupFlyIdle(EnFirefly* this) {

View File

@ -157,6 +157,8 @@ void EnFish_Destroy(Actor* thisx, PlayState* play2) {
EnFish* this = (EnFish*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnFish_SetYOffset(EnFish* this) {

View File

@ -179,6 +179,8 @@ void EnFloormas_Destroy(Actor* thisx, PlayState* play) {
EnFloormas* this = (EnFloormas*)thisx;
ColliderCylinder* col = &this->collider;
Collider_DestroyCylinder(play, col);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnFloormas_MakeInvulnerable(EnFloormas* this) {

View File

@ -309,6 +309,9 @@ void EnFr_Destroy(Actor* thisx, PlayState* play) {
EnFr* this = (EnFr*)thisx;
LightContext_RemoveLight(play, &play->lightCtx, this->lightNode);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
ResourceMgr_UnregisterSkeleton(&this->skelAnimeButterfly);
}
void EnFr_IsDivingIntoWater(EnFr* this, PlayState* play) {

View File

@ -99,6 +99,8 @@ void EnFu_Init(Actor* thisx, PlayState* play) {
void EnFu_Destroy(Actor* thisx, PlayState* play) {
EnFu* this = (EnFu*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
s32 func_80A1D94C(EnFu* this, PlayState* play, u16 textID, EnFuActionFunc actionFunc) {

View File

@ -208,6 +208,8 @@ void EnFw_Init(Actor* thisx, PlayState* play) {
void EnFw_Destroy(Actor* thisx, PlayState* play) {
EnFw* this = (EnFw*)thisx;
Collider_DestroyJntSph(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnFw_Bounce(EnFw* this, PlayState* play) {

View File

@ -224,6 +224,8 @@ void EnGb_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
LightContext_RemoveLight(play, &play->lightCtx, this->light);
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80A2F608(EnGb* this) {

View File

@ -203,6 +203,8 @@ void EnGe1_Destroy(Actor* thisx, PlayState* play) {
EnGe1* this = (EnGe1*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnGe1_SetTalkAction(EnGe1* this, PlayState* play, u16 textId, f32 arg3, EnGe1ActionFunc actionFunc) {

View File

@ -174,6 +174,8 @@ void EnGe2_Destroy(Actor* thisx, PlayState* play) {
EnGe2* this = (EnGe2*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
// Detection/check functions

View File

@ -90,6 +90,8 @@ void EnGe3_Destroy(Actor* thisx, PlayState* play) {
EnGe3* this = (EnGe3*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnGe3_TurnToFacePlayer(EnGe3* this, PlayState* play) {

View File

@ -269,6 +269,8 @@ void EnGeldB_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyTris(play, &this->blockCollider);
Collider_DestroyCylinder(play, &this->bodyCollider);
Collider_DestroyQuad(play, &this->swordCollider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 EnGeldB_ReactToPlayer(PlayState* play, EnGeldB* this, s16 arg2) {

View File

@ -452,11 +452,6 @@ void EnGirlA_Init(Actor* thisx, PlayState* play) {
}
void EnGirlA_Destroy(Actor* thisx, PlayState* play) {
EnGirlA* this = (EnGirlA*)thisx;
if (this->isInitialized) {
SkelAnime_Free(&this->skelAnime, play);
}
}
s32 EnGirlA_CanBuy_Arrows(PlayState* play, EnGirlA* this) {

View File

@ -88,6 +88,8 @@ void EnGm_Destroy(Actor* thisx, PlayState* play) {
EnGm* this = (EnGm*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 func_80A3D7C8(void) {

View File

@ -1691,6 +1691,9 @@ void EnGo2_Init(Actor* thisx, PlayState* play) {
}
void EnGo2_Destroy(Actor* thisx, PlayState* play) {
EnGo2* this = (EnGo2*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnGo2_CurledUp(EnGo2* this, PlayState* play) {

View File

@ -177,6 +177,8 @@ void EnGoma_Destroy(Actor* thisx, PlayState* play) {
if (this->actor.params < 10) {
Collider_DestroyCylinder(play, &this->colCyl1);
Collider_DestroyCylinder(play, &this->colCyl2);
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
}

View File

@ -71,6 +71,8 @@ void EnGuest_Destroy(Actor* thisx, PlayState* play) {
EnGuest* this = (EnGuest*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnGuest_Update(Actor* thisx, PlayState* play) {

View File

@ -142,6 +142,9 @@ void EnHeishi1_Init(Actor* thisx, PlayState* play) {
}
void EnHeishi1_Destroy(Actor* thisx, PlayState* play) {
EnHeishi1* this = (EnHeishi1*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnHeishi1_SetupWalk(EnHeishi1* this, PlayState* play) {

View File

@ -166,6 +166,8 @@ void EnHeishi2_Destroy(Actor* thisx, PlayState* play) {
if ((this->collider.dim.radius != 0) || (this->collider.dim.height != 0)) {
Collider_DestroyCylinder(play, &this->collider);
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnHeishi2_DoNothing1(EnHeishi2* this, PlayState* play) {

View File

@ -90,6 +90,8 @@ void EnHeishi3_Destroy(Actor* thisx, PlayState* play) {
EnHeishi3* this = (EnHeishi3*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnHeishi3_SetupGuardType(EnHeishi3* this, PlayState* play) {

View File

@ -107,6 +107,8 @@ void EnHeishi4_Destroy(Actor* thisx, PlayState* play) {
EnHeishi4* this = (EnHeishi4*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80A56328(EnHeishi4* this, PlayState* play) {

View File

@ -105,6 +105,8 @@ void EnHintnuts_Destroy(Actor* thisx, PlayState* play) {
if (this->actor.params != 0xA) {
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
}

View File

@ -116,6 +116,8 @@ void EnHs_Destroy(Actor* thisx, PlayState* play) {
EnHs* this = (EnHs*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 func_80A6E53C(EnHs* this, PlayState* play, u16 textId, EnHsActionFunc actionFunc) {

View File

@ -71,6 +71,8 @@ void EnHs2_Destroy(Actor* thisx, PlayState* play) {
EnHs2* this = (EnHs2*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 func_80A6F0B4(EnHs2* this, PlayState* play, u16 textId, EnHs2ActionFunc actionFunc) {

View File

@ -906,6 +906,8 @@ void EnHy_Destroy(Actor* thisx, PlayState* play) {
EnHy* this = (EnHy*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnHy_InitImpl(EnHy* this, PlayState* play) {

View File

@ -175,6 +175,8 @@ void EnIk_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyTris(play, &this->shieldCollider);
Collider_DestroyCylinder(play, &this->bodyCollider);
Collider_DestroyQuad(play, &this->axeCollider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnIk_SetupAction(EnIk* this, EnIkActionFunc actionFunc) {

View File

@ -503,6 +503,8 @@ void EnIn_Destroy(Actor* thisx, PlayState* play) {
if (this->actionFunc != NULL && this->actionFunc != func_80A79FB0) {
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
}

View File

@ -234,6 +234,8 @@ void EnInsect_Destroy(Actor* thisx, PlayState* play) {
if ((temp_v0 == 2 || temp_v0 == 3) && D_80A7DEB8 > 0) {
D_80A7DEB8--;
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80A7C3A0(EnInsect* this) {

View File

@ -143,6 +143,8 @@ void EnJj_Destroy(Actor* thisx, PlayState* play) {
case JABUJABU_MAIN:
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
break;
case JABUJABU_COLLISION:

View File

@ -76,6 +76,8 @@ void EnJs_Destroy(Actor* thisx, PlayState* play) {
EnJs* this = (EnJs*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
u8 func_80A88F64(EnJs* this, PlayState* play, u16 textId) {

View File

@ -59,8 +59,7 @@ void EnKakasi_Destroy(Actor* thisx, PlayState* play) {
EnKakasi* this = (EnKakasi*)thisx;
Collider_DestroyCylinder(play, &this->collider);
SkelAnime_Free(&this->skelanime, play); // OTR - Fixed this memory leak
//! @bug SkelAnime_Free is not called
SkelAnime_Free(&this->skelanime, play);
}
void EnKakasi_Init(Actor* thisx, PlayState* play) {

View File

@ -109,8 +109,7 @@ void EnKakasi2_Destroy(Actor* thisx, PlayState* play) {
EnKakasi2* this = (EnKakasi2*)thisx;
Collider_DestroyCylinder(play, &this->collider);
SkelAnime_Free(&this->skelAnime, play); // OTR - Fixed this memory leak
//! @bug SkelAnime_Free is not called
SkelAnime_Free(&this->skelAnime, play);
}
void func_80A90264(EnKakasi2* this, PlayState* play) {

View File

@ -63,8 +63,7 @@ void EnKakasi3_Destroy(Actor* thisx, PlayState* play) {
EnKakasi3* this = (EnKakasi3*)thisx;
Collider_DestroyCylinder(play, &this->collider);
SkelAnime_Free(&this->skelAnime, play); //OTR - Fixed this memory leak
//! @bug SkelAnime_Free is not called
SkelAnime_Free(&this->skelAnime, play);
}
void EnKakasi3_Init(Actor* thisx, PlayState* play) {

View File

@ -119,6 +119,8 @@ void EnKarebaba_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->bodyCollider);
Collider_DestroyCylinder(play, &this->headCollider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnKarebaba_ResetCollider(EnKarebaba* this) {

View File

@ -1145,6 +1145,8 @@ void EnKo_Init(Actor* thisx, PlayState* play) {
void EnKo_Destroy(Actor* thisx, PlayState* play) {
EnKo* this = (EnKo*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80A99048(EnKo* this, PlayState* play) {

View File

@ -385,6 +385,8 @@ void EnKz_Destroy(Actor* thisx, PlayState* play) {
EnKz* this = (EnKz*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
void EnKz_PreMweepWait(EnKz* this, PlayState* play) {

View File

@ -336,6 +336,8 @@ void EnMb_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyTris(play, &this->frontShielding);
Collider_DestroyCylinder(play, &this->hitbox);
Collider_DestroyQuad(play, &this->attackCollider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnMb_FaceWaypoint(EnMb* this, PlayState* play) {

View File

@ -699,6 +699,8 @@ void EnMd_Init(Actor* thisx, PlayState* play) {
void EnMd_Destroy(Actor* thisx, PlayState* play) {
EnMd* this = (EnMd*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AAB874(EnMd* this, PlayState* play) {

View File

@ -79,6 +79,8 @@ void EnMk_Destroy(Actor* thisx, PlayState* play) {
EnMk* this = (EnMk*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AACA40(EnMk* this, PlayState* play) {

View File

@ -198,6 +198,8 @@ void EnMm_Destroy(Actor* thisx, PlayState* play) {
EnMm* this = (EnMm*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 func_80AADA70(void) {

View File

@ -161,6 +161,8 @@ void EnMm2_Destroy(Actor* thisx, PlayState* play) {
EnMm2* this = (EnMm2*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
s32 func_80AAF224(EnMm2* this, PlayState* play, EnMm2ActionFunc actionFunc) {

View File

@ -99,6 +99,8 @@ void EnMs_Destroy(Actor* thisx, PlayState* play) {
EnMs* this = (EnMs*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnMs_Wait(EnMs* this, PlayState* play) {

View File

@ -147,6 +147,8 @@ void EnNb_Destroy(Actor* thisx, PlayState* play) {
D_80AB4318 = 0;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AB0FBC(EnNb* this, PlayState* play) {

View File

@ -246,6 +246,8 @@ void EnNiw_Destroy(Actor* thisx, PlayState* play) {
EnNiw* this = (EnNiw*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AB5BF8(EnNiw* this, PlayState* play, s16 arg2) {

View File

@ -93,6 +93,9 @@ void EnNiwGirl_Init(Actor* thisx, PlayState* play) {
}
void EnNiwGirl_Destroy(Actor* thisx, PlayState* play) {
EnNiwGirl* this = (EnNiwGirl*)thisx;
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnNiwGirl_Jump(EnNiwGirl* this, PlayState* play) {

View File

@ -96,6 +96,8 @@ void EnNiwLady_Destroy(Actor* thisx, PlayState* play) {
EnNiwLady* this = (EnNiwLady*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnNiwLady_ChoseAnimation(EnNiwLady* this, PlayState* play, s32 arg2) {

View File

@ -163,6 +163,10 @@ void EnOkuta_Destroy(Actor* thisx, PlayState* play) {
EnOkuta* this = (EnOkuta*)thisx;
Collider_DestroyCylinder(play, &this->collider);
if (thisx->params == 0) {
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
}
void EnOkuta_SpawnBubbles(EnOkuta* this, PlayState* play) {

View File

@ -240,6 +240,9 @@ void EnOwl_Destroy(Actor* thisx, PlayState* play) {
EnOwl* this = (EnOwl*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
ResourceMgr_UnregisterSkeleton(&this->skelAnime2);
}
/**

View File

@ -124,6 +124,8 @@ void EnPartner_Destroy(Actor* thisx, PlayState* play) {
LightContext_RemoveLight(play, &play->lightCtx, this->lightNodeNoGlow);
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnPartner_UpdateLights(EnPartner* this, PlayState* play) {

View File

@ -256,6 +256,8 @@ void EnPeehat_Destroy(Actor* thisx, PlayState* play) {
parent->unk_2FA--;
}
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnPeehat_SpawnDust(PlayState* play, EnPeehat* this, Vec3f* pos, f32 arg3, s32 arg4, f32 arg5, f32 arg6) {

View File

@ -86,6 +86,8 @@ void EnPoDesert_Destroy(Actor* thisx, PlayState* play) {
LightContext_RemoveLight(play, &play->lightCtx, this->lightNode);
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnPoDesert_SetNextPathPoint(EnPoDesert* this, PlayState* play) {

View File

@ -188,6 +188,8 @@ void EnPoField_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->flameCollider);
Collider_DestroyCylinder(play, &this->collider);
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnPoField_SetupWaitForSpawn(EnPoField* this, PlayState* play) {

View File

@ -117,6 +117,8 @@ void EnPoRelay_Destroy(Actor* thisx, PlayState* play) {
D_80AD8D24 = 0;
LightContext_RemoveLight(play, &play->lightCtx, this->lightNode);
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnPoRelay_SetupIdle(EnPoRelay* this) {

View File

@ -238,6 +238,8 @@ void EnPoSisters_Destroy(Actor* thisx, PlayState* play) {
func_800F5B58();
}
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AD9240(EnPoSisters* this, s32 arg1, Vec3f* arg2) {

View File

@ -254,6 +254,8 @@ void EnPoh_Destroy(Actor* thisx, PlayState* play) {
if (this->actor.params == EN_POH_RUPEE) {
D_80AE1A50--;
}
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80ADE114(EnPoh* this) {

View File

@ -175,6 +175,8 @@ void EnRd_Destroy(Actor* thisx, PlayState* play) {
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
}
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AE2630(PlayState* play, Actor* thisx, s32 arg2) {

View File

@ -161,6 +161,8 @@ void EnReeba_Destroy(Actor* thisx, PlayState* play) {
}
}
}
ResourceMgr_UnregisterSkeleton(&this->skelanime);
}
void func_80AE4F40(EnReeba* this, PlayState* play) {

View File

@ -205,6 +205,8 @@ void EnRu1_Destroy(Actor* thisx, PlayState* play) {
D_80AF1938 = 0;
EnRu1_DestroyColliders(this, play);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnRu1_UpdateEyes(EnRu1* this) {

View File

@ -108,6 +108,8 @@ void EnRu2_Destroy(Actor* thisx, PlayState* play) {
EnRu2* this = (EnRu2*)thisx;
D_80AF4118 = 0;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AF2608(EnRu2* this) {

View File

@ -532,6 +532,8 @@ void EnSa_Destroy(Actor* thisx, PlayState* play) {
EnSa* this = (EnSa*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void func_80AF6448(EnSa* this, PlayState* play) {

View File

@ -91,6 +91,8 @@ void EnShopnuts_Destroy(Actor* thisx, PlayState* play) {
EnShopnuts* this = (EnShopnuts*)thisx;
Collider_DestroyCylinder(play, &this->collider);
ResourceMgr_UnregisterSkeleton(&this->skelAnime);
}
void EnShopnuts_SetupWait(EnShopnuts* this) {

Some files were not shown because too many files have changed in this diff Show More