From c75d3b97d380be93dec40144595e31d207831183 Mon Sep 17 00:00:00 2001 From: engineer124 <47598039+engineer124@users.noreply.github.com> Date: Thu, 23 Nov 2023 15:41:25 +1100 Subject: [PATCH] Animation Cleanup: En_O* (#1506) * anim O cleanup * fix bss * PR Review --- src/code/z_collision_check.c | 6 +- src/code/z_effect_soft_sprite_old_init.c | 64 ++-- src/code/z_player_lib.c | 14 +- .../actors/ovl_Bg_Icicle/z_bg_icicle.c | 8 +- .../ovl_Bg_Kin2_Fence/z_bg_kin2_fence.c | 40 ++- src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c | 13 +- src/overlays/actors/ovl_En_Am/z_en_am.c | 2 - src/overlays/actors/ovl_En_Az/z_en_az.c | 12 +- .../actors/ovl_En_Bigslime/z_en_bigslime.c | 28 +- .../actors/ovl_En_Bombers2/z_en_bombers2.c | 4 +- .../actors/ovl_En_Dinofos/z_en_dinofos.c | 9 +- src/overlays/actors/ovl_En_Dnk/z_en_dnk.c | 16 +- src/overlays/actors/ovl_En_Elf/z_en_elf.c | 12 +- .../actors/ovl_En_Firefly/z_en_firefly.c | 22 +- src/overlays/actors/ovl_En_Gg2/z_en_gg2.c | 7 +- src/overlays/actors/ovl_En_Hg/z_en_hg.c | 18 +- src/overlays/actors/ovl_En_Hgo/z_en_hgo.c | 9 +- src/overlays/actors/ovl_En_Js/z_en_js.c | 4 +- .../actors/ovl_En_Look_Nuts/z_en_look_nuts.c | 4 +- .../z_en_okarina_effect.c | 1 + .../ovl_En_Okarina_Tag/z_en_okarina_tag.c | 5 + .../actors/ovl_En_Onpuman/z_en_onpuman.c | 3 + src/overlays/actors/ovl_En_Osk/z_en_osk.c | 301 +++++++++++------- src/overlays/actors/ovl_En_Osk/z_en_osk.h | 20 +- src/overlays/actors/ovl_En_Osn/z_en_osn.c | 104 +++--- src/overlays/actors/ovl_En_Ossan/z_en_ossan.c | 159 ++++----- src/overlays/actors/ovl_En_Ot/z_en_ot.c | 104 +++--- src/overlays/actors/ovl_En_Ot/z_en_ot.h | 5 +- src/overlays/actors/ovl_En_Owl/z_en_owl.c | 67 ++-- src/overlays/actors/ovl_En_Owl/z_en_owl.h | 4 +- .../actors/ovl_En_Pametfrog/z_en_pametfrog.c | 6 +- .../actors/ovl_En_Po_Fusen/z_en_po_fusen.c | 1 - src/overlays/actors/ovl_En_Pr2/z_en_pr2.c | 11 +- src/overlays/actors/ovl_En_Prz/z_en_prz.c | 6 +- src/overlays/actors/ovl_En_Rg/z_en_rg.c | 4 +- src/overlays/actors/ovl_En_Ru/z_en_ru.c | 6 +- .../actors/ovl_En_S_Goro/z_en_s_goro.c | 26 -- src/overlays/actors/ovl_En_Sth2/z_en_sth2.c | 4 +- .../actors/ovl_En_Takaraya/z_en_takaraya.c | 4 - .../actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c | 29 +- src/overlays/actors/ovl_En_Zob/z_en_zob.c | 6 +- src/overlays/actors/ovl_En_Zog/z_en_zog.c | 8 +- src/overlays/actors/ovl_En_Zos/z_en_zos.c | 6 +- src/overlays/actors/ovl_En_Zow/z_en_zow.c | 10 +- src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c | 6 +- .../actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c | 14 +- .../actors/ovl_player_actor/z_player.c | 1 - .../z_eff_ss_g_splash.c | 8 +- tools/disasm/functions.txt | 82 ++--- tools/disasm/variables.txt | 6 +- 50 files changed, 706 insertions(+), 603 deletions(-) diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index e190084af4..55d27413f2 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -1049,10 +1049,10 @@ s32 Collider_ResetSphereOC(PlayState* play, Collider* collider) { * Initializes an OcLine to default values */ s32 Collider_InitLine(PlayState* play, OcLine* line) { - static Vec3f defaultLinePoint = { 0.0f, 0.0f, 0.0f }; + static Vec3f sDefaultLinePoint = { 0.0f, 0.0f, 0.0f }; - Math_Vec3f_Copy(&line->line.a, &defaultLinePoint); - Math_Vec3f_Copy(&line->line.b, &defaultLinePoint); + Math_Vec3f_Copy(&line->line.a, &sDefaultLinePoint); + Math_Vec3f_Copy(&line->line.b, &sDefaultLinePoint); return 1; } diff --git a/src/code/z_effect_soft_sprite_old_init.c b/src/code/z_effect_soft_sprite_old_init.c index 4ee7418015..183deb25ec 100644 --- a/src/code/z_effect_soft_sprite_old_init.c +++ b/src/code/z_effect_soft_sprite_old_init.c @@ -316,10 +316,10 @@ void EffectSsBlast_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* ac void EffectSsBlast_SpawnWhiteCustomScale(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s16 life) { - static Color_RGBA8 primColor = { 255, 255, 255, 255 }; - static Color_RGBA8 envColor = { 200, 200, 200, 0 }; + static Color_RGBA8 sPrimColor = { 255, 255, 255, 255 }; + static Color_RGBA8 sEnvColor = { 200, 200, 200, 0 }; - EffectSsBlast_Spawn(play, pos, velocity, accel, &primColor, &envColor, scale, scaleStep, 35, life); + EffectSsBlast_Spawn(play, pos, velocity, accel, &sPrimColor, &sEnvColor, scale, scaleStep, 35, life); } void EffectSsBlast_SpawnShockwave(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, @@ -328,10 +328,10 @@ void EffectSsBlast_SpawnShockwave(PlayState* play, Vec3f* pos, Vec3f* velocity, } void EffectSsBlast_SpawnWhiteShockwave(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel) { - static Color_RGBA8 primColor = { 255, 255, 255, 255 }; - static Color_RGBA8 envColor = { 200, 200, 200, 0 }; + static Color_RGBA8 sPrimColor = { 255, 255, 255, 255 }; + static Color_RGBA8 sEnvColor = { 200, 200, 200, 0 }; - EffectSsBlast_SpawnShockwave(play, pos, velocity, accel, &primColor, &envColor, 10); + EffectSsBlast_SpawnShockwave(play, pos, velocity, accel, &sPrimColor, &sEnvColor, 10); } // EffectSsGSpk Spawn Functions @@ -756,8 +756,8 @@ void EffectSsIcePiece_Spawn(PlayState* play, Vec3f* pos, f32 scale, Vec3f* veloc } void EffectSsIcePiece_SpawnBurst(PlayState* play, Vec3f* refPos, f32 scale) { - static Vec3f accel = { 0.0f, 0.0f, 0.0f }; - static Vec3f vecScales[] = { + static Vec3f sAccel = { 0.0f, 0.0f, 0.0f }; + static Vec3f sVecScales[] = { { 0.0f, 70.0f, 0.0f }, { 0.0f, 45.0f, 20.0f }, { 17.320474f, 45.0f, 9.999695f }, @@ -774,20 +774,20 @@ void EffectSsIcePiece_SpawnBurst(PlayState* play, Vec3f* refPos, f32 scale) { Vec3f pos; f32 velocityScale; - accel.y = -0.2f; + sAccel.y = -0.2f; - for (i = 0; i < ARRAY_COUNT(vecScales); i++) { + for (i = 0; i < ARRAY_COUNT(sVecScales); i++) { pos = *refPos; velocityScale = Rand_ZeroFloat(1.0f) + 0.5f; - velocity.x = (vecScales[i].x * 0.18f) * velocityScale; - velocity.y = (vecScales[i].y * 0.18f) * velocityScale; - velocity.z = (vecScales[i].z * 0.18f) * velocityScale; - pos.x += vecScales[i].x; - pos.y += vecScales[i].y; - pos.z += vecScales[i].z; + velocity.x = (sVecScales[i].x * 0.18f) * velocityScale; + velocity.y = (sVecScales[i].y * 0.18f) * velocityScale; + velocity.z = (sVecScales[i].z * 0.18f) * velocityScale; + pos.x += sVecScales[i].x; + pos.y += sVecScales[i].y; + pos.z += sVecScales[i].z; - EffectSsIcePiece_Spawn(play, &pos, (Rand_ZeroFloat(1.0f) + 0.5f) * ((scale * 1.3f) * 100.0f), &velocity, &accel, - 25); + EffectSsIcePiece_Spawn(play, &pos, (Rand_ZeroFloat(1.0f) + 0.5f) * ((scale * 1.3f) * 100.0f), &velocity, + &sAccel, 25); } } @@ -812,10 +812,10 @@ void EffectSsEnIce_SpawnFlying(PlayState* play, Actor* actor, Vec3f* pos, Color_ } void func_800B2B44(PlayState* play, Actor* actor, Vec3f* pos, f32 scale) { - static Color_RGBA8 primColor = { 150, 150, 150, 250 }; - static Color_RGBA8 envColor = { 235, 245, 255, 255 }; + static Color_RGBA8 sPrimColor = { 150, 150, 150, 250 }; + static Color_RGBA8 sEnvColor = { 235, 245, 255, 255 }; - EffectSsEnIce_SpawnFlying(play, actor, pos, &primColor, &envColor, scale); + EffectSsEnIce_SpawnFlying(play, actor, pos, &sPrimColor, &sEnvColor, scale); } void func_800B2B7C(PlayState* play, Actor* actor, Vec3s* arg2, f32 scale) { @@ -863,17 +863,17 @@ void EffectSsFireTail_Spawn(PlayState* play, Actor* actor, Vec3f* pos, f32 scale void EffectSsFireTail_SpawnFlame(PlayState* play, Actor* actor, Vec3f* pos, f32 arg3, s16 bodyPart, f32 colorIntensity) { - static Color_RGBA8 primColor = { 255, 255, 0, 255 }; - static Color_RGBA8 envColor = { 255, 0, 0, 255 }; + static Color_RGBA8 sPrimColor = { 255, 255, 0, 255 }; + static Color_RGBA8 sEnvColor = { 255, 0, 0, 255 }; - primColor.g = (s32)(255.0f * colorIntensity); - primColor.b = 0; + sPrimColor.g = (s32)(255.0f * colorIntensity); + sPrimColor.b = 0; - envColor.g = 0; - envColor.b = 0; - primColor.r = envColor.r = (s32)(255.0f * colorIntensity); + sEnvColor.g = 0; + sEnvColor.b = 0; + sPrimColor.r = sEnvColor.r = (s32)(255.0f * colorIntensity); - EffectSsFireTail_Spawn(play, actor, pos, arg3, &actor->velocity, 15, &primColor, &envColor, + EffectSsFireTail_Spawn(play, actor, pos, arg3, &actor->velocity, 15, &sPrimColor, &sEnvColor, (colorIntensity == 1.0f) ? 0 : 1, bodyPart, 1); } @@ -962,15 +962,15 @@ void EffectSsDeadDb_Spawn(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* a void func_800B3030(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s32 colorIndex) { - static Color_RGBA8 primColor = { 255, 255, 255, 255 }; - static Color_RGBA8 envColors[] = { + static Color_RGBA8 sPrimColor = { 255, 255, 255, 255 }; + static Color_RGBA8 sEnvColors[] = { { 255, 0, 0, 255 }, { 0, 255, 0, 255 }, { 0, 0, 255, 255 }, { 150, 150, 150, 255 }, }; - EffectSsDeadDb_Spawn(play, pos, velocity, accel, &primColor, &envColors[colorIndex], scale, scaleStep, 9); + EffectSsDeadDb_Spawn(play, pos, velocity, accel, &sPrimColor, &sEnvColors[colorIndex], scale, scaleStep, 9); } // EffectSsDeadDd Spawn Functions diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 661516dbad..7e9c2a1aaa 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -2856,8 +2856,8 @@ void Player_DrawCouplesMask(PlayState* play, Player* player) { } void Player_DrawCircusLeadersMask(PlayState* play, Player* player) { - static Vec3f bubbleVelocity = { 0.0f, 0.0f, 0.0f }; - static Vec3f bubbleAccel = { 0.0f, 0.0f, 0.0f }; + static Vec3f sBubbleVelocity = { 0.0f, 0.0f, 0.0f }; + static Vec3f sBubbleAccel = { 0.0f, 0.0f, 0.0f }; Gfx* gfx; s32 i; @@ -2897,8 +2897,8 @@ void Player_DrawCircusLeadersMask(PlayState* play, Player* player) { s16 phi_s0 = speedXZ * 2000.0f; f32 temp_f20; - bubbleVelocity.y = speedXZ * 0.4f; - bubbleAccel.y = -0.3f; + sBubbleVelocity.y = speedXZ * 0.4f; + sBubbleAccel.y = -0.3f; if (phi_s0 > 0x3E80) { phi_s0 = 0x3E80; @@ -2908,10 +2908,10 @@ void Player_DrawCircusLeadersMask(PlayState* play, Player* player) { temp_f20 = speedXZ * 0.2f; temp_f20 = CLAMP_MAX(temp_f20, 4.0f); - bubbleVelocity.x = -Math_SinS(phi_s0) * temp_f20; - bubbleVelocity.z = -Math_CosS(phi_s0) * temp_f20; + sBubbleVelocity.x = -Math_SinS(phi_s0) * temp_f20; + sBubbleVelocity.z = -Math_CosS(phi_s0) * temp_f20; - EffectSsDtBubble_SpawnColorProfile(play, &D_801F59B0[i], &bubbleVelocity, &bubbleAccel, 20, 20, 3, 0); + EffectSsDtBubble_SpawnColorProfile(play, &D_801F59B0[i], &sBubbleVelocity, &sBubbleAccel, 20, 20, 3, 0); D_801F59C8[i] -= 400; } } diff --git a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c index cc966b8cc1..ab1bf7d302 100644 --- a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c +++ b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.c @@ -97,9 +97,9 @@ void BgIcicle_Destroy(Actor* thisx, PlayState* play) { } void BgIcicle_Break(BgIcicle* this, PlayState* play, f32 arg2) { - static Vec3f accel = { 0.0f, -1.0f, 0.0f }; - static Color_RGBA8 primColor = { 170, 255, 255, 255 }; - static Color_RGBA8 envColor = { 0, 50, 100, 255 }; + static Vec3f sAccel = { 0.0f, -1.0f, 0.0f }; + static Color_RGBA8 sPrimColor = { 170, 255, 255, 255 }; + static Color_RGBA8 sEnvColor = { 0, 50, 100, 255 }; Vec3f velocity; Vec3f pos; s32 j; @@ -117,7 +117,7 @@ void BgIcicle_Break(BgIcicle* this, PlayState* play, f32 arg2) { velocity.z = Rand_CenteredFloat(7.0f); velocity.y = (Rand_ZeroOne() * 4.0f) + 8.0f; - EffectSsEnIce_Spawn(play, &pos, (Rand_ZeroOne() * 0.2f) + 0.1f, &velocity, &accel, &primColor, &envColor, + EffectSsEnIce_Spawn(play, &pos, (Rand_ZeroOne() * 0.2f) + 0.1f, &velocity, &sAccel, &sPrimColor, &sEnvColor, 30); } } diff --git a/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.c b/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.c index 332237dc8c..7d152e664e 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.c +++ b/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.c @@ -99,26 +99,6 @@ static ColliderJntSphInit sJntSphInit = { sJntSphElementsInit, }; -static Vec3f eyeSparkleSpawnPositions[][2] = { - { { -215.0f, 139.0f, 50.0f }, { -193.0f, 139.0f, 50.0f } }, - - { { -125.0f, 139.0f, 50.0f }, { -103.0f, 139.0f, 50.0f } }, - - { { 103.0f, 139.0f, 50.0f }, { 125.0f, 139.0f, 50.0f } }, - - { { 193.0f, 139.0f, 50.0f }, { 215.0f, 139.0f, 50.0f } }, -}; - -static Color_RGBA8 primColor = { 255, 255, 255, 0 }; -static Color_RGBA8 envColor = { 0, 128, 128, 0 }; - -static InitChainEntry sInitChain[] = { - ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_CONTINUE), - ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE), - ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_CONTINUE), - ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), -}; - s32 BgKin2Fence_CheckHitMask(BgKin2Fence* this) { s32 i; @@ -130,7 +110,16 @@ s32 BgKin2Fence_CheckHitMask(BgKin2Fence* this) { return -1; } +static Vec3f sEyeSparkleSpawnPositions[][2] = { + { { -215.0f, 139.0f, 50.0f }, { -193.0f, 139.0f, 50.0f } }, + { { -125.0f, 139.0f, 50.0f }, { -103.0f, 139.0f, 50.0f } }, + { { 103.0f, 139.0f, 50.0f }, { 125.0f, 139.0f, 50.0f } }, + { { 193.0f, 139.0f, 50.0f }, { 215.0f, 139.0f, 50.0f } }, +}; + void BgKin2Fence_SpawnEyeSparkles(BgKin2Fence* this, PlayState* play, s32 mask) { + static Color_RGBA8 sPrimColor = { 255, 255, 255, 0 }; + static Color_RGBA8 sEnvColor = { 0, 128, 128, 0 }; s32 i; Vec3f sp58; s32 pad[2]; @@ -139,11 +128,18 @@ void BgKin2Fence_SpawnEyeSparkles(BgKin2Fence* this, PlayState* play, s32 mask) this->dyna.actor.world.pos.z, &this->dyna.actor.shape.rot); for (i = 0; i < 2; i++) { - Matrix_MultVec3f(&eyeSparkleSpawnPositions[mask][i], &sp58); - EffectSsKirakira_SpawnDispersed(play, &sp58, &gZeroVec3f, &gZeroVec3f, &primColor, &envColor, 6000, -10); + Matrix_MultVec3f(&sEyeSparkleSpawnPositions[mask][i], &sp58); + EffectSsKirakira_SpawnDispersed(play, &sp58, &gZeroVec3f, &gZeroVec3f, &sPrimColor, &sEnvColor, 6000, -10); } } +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE), + ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_CONTINUE), + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; + void BgKin2Fence_Init(Actor* thisx, PlayState* play) { BgKin2Fence* this = THIS; s32 i = 0; diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index 5feb135369..4d725be755 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -1885,7 +1885,7 @@ void DmStk_Update(Actor* thisx, PlayState* play) { } } -s32 DmStk_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 DmStk_OverrideLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { DmStk* this = THIS; if (limbIndex == SKULL_KID_LIMB_RIGHT_HAND) { @@ -1919,7 +1919,7 @@ s32 DmStk_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p return false; } -void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void DmStk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { s32 pad; s32 pad2; DmStk* this = THIS; @@ -2080,10 +2080,10 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot } } -void DmStk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void DmStk_PostLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { DmStk* this = THIS; - DmStk_PostLimbDraw2(play, limbIndex, dList, rot, &this->actor, NULL); + DmStk_PostLimbDraw(play, limbIndex, dList, rot, &this->actor, NULL); } void DmStk_Draw(Actor* thisx, PlayState* play) { @@ -2111,7 +2111,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) { POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, - this->skelAnime.dListCount, NULL, DmStk_PostLimbDraw2, &this->actor, POLY_XLU_DISP); + this->skelAnime.dListCount, NULL, DmStk_PostLimbDraw, &this->actor, POLY_XLU_DISP); } else { Scene_SetRenderModeXlu(play, 0, 1); @@ -2119,7 +2119,8 @@ void DmStk_Draw(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, 255); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, - this->skelAnime.dListCount, DmStk_OverrideLimbDraw, DmStk_PostLimbDraw, &this->actor); + this->skelAnime.dListCount, DmStk_OverrideLimbDrawOpa, DmStk_PostLimbDrawOpa, + &this->actor); } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Am/z_en_am.c b/src/overlays/actors/ovl_En_Am/z_en_am.c index 1c52f9653b..90ce1a1ba3 100644 --- a/src/overlays/actors/ovl_En_Am/z_en_am.c +++ b/src/overlays/actors/ovl_En_Am/z_en_am.c @@ -31,12 +31,10 @@ void func_808B057C(EnAm* this); void func_808B05C8(EnAm* this, PlayState* play); void func_808B0640(EnAm* this); void func_808B066C(EnAm* this, PlayState* play); -void EnAm_TakeDamage(EnAm* this, PlayState* play); void func_808B07A8(EnAm* this, PlayState* play); void func_808B0820(EnAm* this); void func_808B0894(EnAm* this, PlayState* play); void func_808B0B4C(EnAm* this, PlayState* play); -void EnAm_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx); ActorInit En_Am_InitVars = { /**/ ACTOR_EN_AM, diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c index dbeffbc882..1eaf1c9a50 100644 --- a/src/overlays/actors/ovl_En_Az/z_en_az.c +++ b/src/overlays/actors/ovl_En_Az/z_en_az.c @@ -25,8 +25,8 @@ void EnAz_Draw(Actor* thisx, PlayState* play2); void func_80A982E0(PlayState* play, ActorPathing* actorPathing); void func_80A98414(EnAz* this, PlayState* play); -s32 func_80A98DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); -void func_80A98E48(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx); +s32 EnAz_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); +void EnAz_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx); void func_80A98EFC(EnAz* this, PlayState* play, u16 textId, s32 animIndex, s32 brotherAnimIndex); void func_80A98F94(struct_80A98F94* yData, f32 frame, f32* yInterp); @@ -1896,14 +1896,14 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) { if (this->unk_374 & 2) { SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80A98DA4, func_80A98E48, &this->actor); + EnAz_OverrideLimbDraw, EnAz_PostLimbDraw, &this->actor); } else { OPEN_DISPS(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sYoungerBrotherEyeTextures[this->unk_37E])); gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sYoungerBrotherBeltTextures[this->unk_380])); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80A98DA4, func_80A98E48, &this->actor); + EnAz_OverrideLimbDraw, EnAz_PostLimbDraw, &this->actor); CLOSE_DISPS(play->state.gfxCtx); } @@ -1967,7 +1967,7 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) { CLOSE_DISPS(play->state.gfxCtx); } -s32 func_80A98DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnAz_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnAz* this = THIS; if ((limbIndex == BEAVER_OLDER_BROTHER_LIMB_NONE) && ((play->gameplayFrames % 2) != 0)) { @@ -1990,7 +1990,7 @@ s32 func_80A98DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80A98E48(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnAz_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { static Vec3f D_80A99410 = { 700.0f, 0.0f, 0.0f }; static Vec3f D_80A9941C = { -500.0f, 0.0f, 0.0f }; static Vec3f D_80A99428 = { -1200.0f, 0.0f, 1000.0f }; diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c index 3c64f03387..b244418296 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c @@ -1965,7 +1965,7 @@ void EnBigslime_SetupMelt(EnBigslime* this) { } void EnBigslime_Melt(EnBigslime* this, PlayState* play) { - static Vec3f iceSmokeVelocity = { 0.0f, 2.0f, 0.0f }; + static Vec3f sIceSmokeVelocity = { 0.0f, 2.0f, 0.0f }; Vec3f iceSmokePos; Vtx* targetVtx; Vtx* dynamicVtx; @@ -1978,7 +1978,7 @@ void EnBigslime_Melt(EnBigslime* this, PlayState* play) { iceSmokePos.x = (dynamicVtx->n.ob[0] * this->actor.scale.x) + this->actor.world.pos.x; iceSmokePos.y = (dynamicVtx->n.ob[1] * this->actor.scale.y) + this->actor.world.pos.y; iceSmokePos.z = (dynamicVtx->n.ob[2] * this->actor.scale.z) + this->actor.world.pos.z; - EffectSsIceSmoke_Spawn(play, &iceSmokePos, &iceSmokeVelocity, &gZeroVec3f, 600); + EffectSsIceSmoke_Spawn(play, &iceSmokePos, &sIceSmokeVelocity, &gZeroVec3f, 600); } Actor_PlaySfx_Flagged(&this->actor, NA_SE_EV_ICE_MELT_LEVEL - SFX_FLAG); @@ -2418,9 +2418,9 @@ void EnBigslime_GekkoDespawn(EnBigslime* this, PlayState* play) { } void EnBigslime_SetupFrogSpawn(EnBigslime* this, PlayState* play) { - static Color_RGBA8 dustPrimColor = { 250, 250, 250, 255 }; - static Color_RGBA8 dustEnvColor = { 180, 180, 180, 255 }; - static Vec3f hahenAccel = { 0.0f, -0.5f, 0.0f }; + static Color_RGBA8 sDustPrimColor = { 250, 250, 250, 255 }; + static Color_RGBA8 sDustEnvColor = { 180, 180, 180, 255 }; + static Vec3f sHahenAccel = { 0.0f, -0.5f, 0.0f }; Camera* subCam = Play_GetCamera(play, this->subCamId); Vec3f* worldPos; Vec3f dustPos; @@ -2442,13 +2442,13 @@ void EnBigslime_SetupFrogSpawn(EnBigslime* this, PlayState* play) { SoundSource_PlaySfxAtFixedWorldPos(play, worldPos, 40, NA_SE_EN_NPC_APPEAR); // dust cloud where the red frog appears - func_800B0DE0(play, &dustPos, &gZeroVec3f, &gZeroVec3f, &dustPrimColor, &dustEnvColor, 500, 50); + func_800B0DE0(play, &dustPos, &gZeroVec3f, &gZeroVec3f, &sDustPrimColor, &sDustEnvColor, 500, 50); for (i = 0; i < 25; i++) { hahenVel.x = Rand_CenteredFloat(5.0f); hahenVel.y = Rand_ZeroFloat(3.0f) + 4.0f; hahenVel.z = Rand_CenteredFloat(5.0f); - EffectSsHahen_Spawn(play, worldPos, &hahenVel, &hahenAccel, 0, Rand_S16Offset(12, 3), HAHEN_OBJECT_DEFAULT, 10, + EffectSsHahen_Spawn(play, worldPos, &hahenVel, &sHahenAccel, 0, Rand_S16Offset(12, 3), HAHEN_OBJECT_DEFAULT, 10, 0); } @@ -3083,24 +3083,24 @@ void EnBigslime_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* } void EnBigslime_DrawGekko(Actor* thisx, PlayState* play) { - static Color_RGBA8 gekkoDamageColor = { 255, 0, 0, 0 }; - static Color_RGBA8 gekkoStunColor = { 0, 0, 255, 0 }; + static Color_RGBA8 sGekkoDamageColor = { 255, 0, 0, 0 }; + static Color_RGBA8 sGekkoStunColor = { 0, 0, 255, 0 }; Vec3f gekkoPos; EnBigslime* this = THIS; s32 pad; Gfx_SetupDL25_Opa(play->state.gfxCtx); if (this->actionFunc == EnBigslime_DamageGekko) { - func_800AE434(play, &gekkoDamageColor, this->damageSpinTimer, 20); + func_800AE434(play, &sGekkoDamageColor, this->damageSpinTimer, 20); } else if ((this->actionFunc == EnBigslime_CutsceneDefeat) || (this->actionFunc == EnBigslime_GekkoDespawn)) { - func_800AE434(play, &gekkoDamageColor, 20, 20); + func_800AE434(play, &sGekkoDamageColor, 20, 20); } else if (this->actionFunc == EnBigslime_StunGekko) { if (this->gekkoDrawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX) { - func_800AE434(play, &gekkoDamageColor, this->stunTimer, 80); + func_800AE434(play, &sGekkoDamageColor, this->stunTimer, 80); } else if (this->gekkoDrawDmgEffType == ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_SMALL) { - func_800AE434(play, &gekkoStunColor, this->stunTimer, 40); + func_800AE434(play, &sGekkoStunColor, this->stunTimer, 40); } else { - func_800AE434(play, &gekkoStunColor, this->stunTimer, 40); + func_800AE434(play, &sGekkoStunColor, this->stunTimer, 40); } } diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c index 09f9d27d17..9b168c5ad5 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c @@ -442,7 +442,7 @@ void EnBombers2_Update(Actor* thisx, PlayState* play) { Math_Vec3f_Copy(&this->actor.world.pos, &sp34); } -s32 func_80C056D4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnBombers2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnBombers2* this = THIS; if (limbIndex == OBJECT_CS_LIMB_08) { @@ -470,6 +470,6 @@ void EnBombers2_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(sSetPrimColorDlPtr)); Scene_SetRenderModeXlu(play, 0, 1); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80C056D4, NULL, &this->actor); + EnBombers2_OverrideLimbDraw, NULL, &this->actor); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c index 88f8fad24d..314db46bff 100644 --- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c +++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c @@ -1407,7 +1407,8 @@ void EnDinofos_Update(Actor* thisx, PlayState* play2) { } } -s32 func_8089DC4C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) { +s32 EnDinofos_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, + Gfx** gfx) { EnDinofos* this = THIS; if (limbIndex == DINOLFOS_LIMB_HEAD) { @@ -1445,7 +1446,7 @@ static s8 sLimbToBodyParts[DINOLFOS_LIMB_MAX] = { BODYPART_NONE, // DINOLFOS_LIMB_KNIFE }; -void func_8089DC84(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnDinofos_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { EnDinofos* this = THIS; Vec3f sp80; Vec3f sp74; @@ -1511,7 +1512,7 @@ void EnDinofos_Draw(Actor* thisx, PlayState* play) { Scene_SetRenderModeXlu(play, 0, 1); POLY_OPA_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_8089DC4C, func_8089DC84, &this->actor, POLY_OPA_DISP); + EnDinofos_OverrideLimbDraw, EnDinofos_PostLimbDraw, &this->actor, POLY_OPA_DISP); } else { Gfx_SetupDL25_Xlu(play->state.gfxCtx); func_800B8118(&this->actor, play, 0); @@ -1522,7 +1523,7 @@ void EnDinofos_Draw(Actor* thisx, PlayState* play) { Scene_SetRenderModeXlu(play, 1, 2); POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_8089DC4C, func_8089DC84, &this->actor, POLY_XLU_DISP); + EnDinofos_OverrideLimbDraw, EnDinofos_PostLimbDraw, &this->actor, POLY_XLU_DISP); } Actor_DrawDamageEffects(play, &this->actor, this->bodyPartsPos, DINOFOS_BODYPART_MAX, this->drawDmgEffScale, diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c index e03ee1999e..f3f92604b6 100644 --- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c +++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c @@ -309,7 +309,7 @@ void EnDnk_Update(Actor* thisx, PlayState* play) { func_80A52134(this, play); } -s32 func_80A51A78(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnDnk_OverrideLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnDnk* this = THIS; this->unk_260[limbIndex] = *dList; @@ -317,7 +317,7 @@ s32 func_80A51A78(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80A51AA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnDnk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { EnDnk* this = THIS; MtxF sp5C; Vec3f sp50 = gZeroVec3f; @@ -379,13 +379,13 @@ void func_80A51CB8(EnDnk* this, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80A5245C[this->unk_2A0])); gDPPipeSync(POLY_OPA_DISP++); - SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, func_80A51A78, func_80A51AA4, - &this->actor); + SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDnk_OverrideLimbDraw2, + EnDnk_PostLimbDraw2, &this->actor); CLOSE_DISPS(play->state.gfxCtx); } -s32 func_80A51D78(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnDnk_OverrideLimbDraw1(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnDnk* this = THIS; this->unk_260[limbIndex] = *dList; @@ -393,7 +393,7 @@ s32 func_80A51D78(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80A51DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnDnk_PostLimbDraw1(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { EnDnk* this = THIS; MtxF sp5C; Vec3f sp50 = gZeroVec3f; @@ -445,8 +445,8 @@ void func_80A51DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto void func_80A51FC0(EnDnk* this, PlayState* play) { Gfx_SetupDL25_Opa(play->state.gfxCtx); - SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, func_80A51D78, func_80A51DA4, - &this->actor); + SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDnk_OverrideLimbDraw1, + EnDnk_PostLimbDraw1, &this->actor); } void func_80A52018(Actor* thisx, PlayState* play) { diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index dfabbdd9e2..c0b889c202 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -1241,8 +1241,8 @@ void func_8088F214(EnElf* this, PlayState* play) { } void func_8088F5F4(EnElf* this, PlayState* play, s32 sparkleLife) { - static Vec3f sparkleVelocity = { 0.0f, -0.05f, 0.0f }; - static Vec3f sparkleAccel = { 0.0f, -0.025f, 0.0f }; + static Vec3f sSparkleVelocity = { 0.0f, -0.05f, 0.0f }; + static Vec3f sSparkleAccel = { 0.0f, -0.025f, 0.0f }; s32 pad; Vec3f sparklePos; Color_RGBA8 primColor; @@ -1261,8 +1261,8 @@ void func_8088F5F4(EnElf* this, PlayState* play, s32 sparkleLife) { envColor.g = this->outerColor.g; envColor.b = this->outerColor.b; - EffectSsKirakira_SpawnDispersed(play, &sparklePos, &sparkleVelocity, &sparkleAccel, &primColor, &envColor, 1000, - sparkleLife); + EffectSsKirakira_SpawnDispersed(play, &sparklePos, &sSparkleVelocity, &sSparkleAccel, &primColor, &envColor, + 1000, sparkleLife); } } @@ -1550,7 +1550,7 @@ void EnElf_Update(Actor* thisx, PlayState* play) { s32 EnElf_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) { - static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; + static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; s32 pad; EnElf* this = THIS; Vec3f sp34; @@ -1563,7 +1563,7 @@ s32 EnElf_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p } scale *= this->actor.scale.x * (1.0f / 0.008f); - Matrix_MultVec3f(&zeroVec, &sp34); + Matrix_MultVec3f(&sZeroVec, &sp34); Matrix_Translate(sp34.x, sp34.y, sp34.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); } diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c index 09756f3b4a..af75f27f67 100644 --- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c +++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c @@ -754,12 +754,12 @@ s32 EnFirefly_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3 } void EnFirefly_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { - static Color_RGBA8 fireAuraPrimColor = { 255, 255, 100, 255 }; - static Color_RGBA8 fireAuraEnvColor = { 255, 50, 0, 0 }; - static Color_RGBA8 iceAuraPrimColor = { 100, 200, 255, 255 }; - static Color_RGBA8 iceAuraEnvColor = { 0, 0, 255, 0 }; - static Vec3f auraVelocity = { 0.0f, 0.5f, 0.0f }; - static Vec3f auraAccel = { 0.0f, 0.5f, 0.0f }; + static Color_RGBA8 sFireAuraPrimColor = { 255, 255, 100, 255 }; + static Color_RGBA8 sFireAuraEnvColor = { 255, 50, 0, 0 }; + static Color_RGBA8 sIceAuraPrimColor = { 100, 200, 255, 255 }; + static Color_RGBA8 sIceAuraEnvColor = { 0, 0, 255, 0 }; + static Vec3f sAuraVelocity = { 0.0f, 0.5f, 0.0f }; + static Vec3f sAuraAccel = { 0.0f, 0.5f, 0.0f }; Vec3f auraPos; Color_RGBA8* auraPrimColor; Color_RGBA8* auraEnvColor; @@ -795,14 +795,14 @@ void EnFirefly_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* } if (this->auraType == KEESE_AURA_FIRE) { - auraPrimColor = &fireAuraPrimColor; - auraEnvColor = &fireAuraEnvColor; + auraPrimColor = &sFireAuraPrimColor; + auraEnvColor = &sFireAuraEnvColor; } else { - auraPrimColor = &iceAuraPrimColor; - auraEnvColor = &iceAuraEnvColor; + auraPrimColor = &sIceAuraPrimColor; + auraEnvColor = &sIceAuraEnvColor; } - func_800B0F80(play, &auraPos, &auraVelocity, &auraAccel, auraPrimColor, auraEnvColor, 250, auraScaleStep, + func_800B0F80(play, &auraPos, &sAuraVelocity, &sAuraAccel, auraPrimColor, auraEnvColor, 250, auraScaleStep, auraLife); } diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c index b57b3a2ec4..1add324962 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c @@ -479,7 +479,8 @@ void EnGg2_Update(Actor* thisx, PlayState* play) { func_80B3ADD8(this); } -s32 func_80B3BD44(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) { +s32 EnGg2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, + Gfx** gfx) { EnGg2* this = THIS; if ((this->animIndex != ENGG2_ANIM_5) && (this->animIndex != ENGG2_ANIM_7)) { @@ -494,7 +495,7 @@ s32 func_80B3BD44(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80B3BDC0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnGg2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { EnGg2* this = THIS; if (limbIndex == OBJECT_GG_LIMB_04) { @@ -514,7 +515,7 @@ void EnGg2_Draw(Actor* thisx, PlayState* play) { POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80B3BD44, func_80B3BDC0, &this->actor, POLY_XLU_DISP); + EnGg2_OverrideLimbDraw, EnGg2_PostLimbDraw, &this->actor, POLY_XLU_DISP); } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c index 14b45ac752..64308a6d1e 100644 --- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c +++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c @@ -24,10 +24,8 @@ void EnHg_ChasePlayerWait(EnHg* this, PlayState* play); void EnHg_SetupReactToHit(EnHg* this); void EnHg_ReactToHit(EnHg* this, PlayState* play); void EnHg_PlayCutscene(EnHg* this, PlayState* play); -void EnHg_SetupCsAction(EnHg* this); -void EnHg_HandleCsAction(EnHg* this, PlayState* play); -s32 EnHg_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); -void EnHg_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx); +void EnHg_SetupHandleCutscene(EnHg* this); +void EnHg_HandleCutscene(EnHg* this, PlayState* play); typedef enum { /* 0 */ HG_CS_FIRST_ENCOUNTER, @@ -259,7 +257,7 @@ void EnHg_UpdateCollision(EnHg* this, PlayState* play) { Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); if ((this->actionFunc != EnHg_ReactToHit) && (this->actionFunc != EnHg_PlayCutscene) && - (this->actionFunc != EnHg_HandleCsAction)) { + (this->actionFunc != EnHg_HandleCutscene)) { CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base); } } @@ -272,7 +270,7 @@ void EnHg_SetupCutscene(EnHg* this) { void EnHg_PlayCutscene(EnHg* this, PlayState* play) { if (CutsceneManager_IsNext(this->csIdList[this->csIdIndex])) { CutsceneManager_Start(this->csIdList[this->csIdIndex], &this->actor); - EnHg_SetupCsAction(this); + EnHg_SetupHandleCutscene(this); } else { if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); @@ -281,13 +279,13 @@ void EnHg_PlayCutscene(EnHg* this, PlayState* play) { } } -void EnHg_SetupCsAction(EnHg* this) { +void EnHg_SetupHandleCutscene(EnHg* this) { this->csIdList[3] = 99; this->csIdList[2] = 0; - this->actionFunc = EnHg_HandleCsAction; + this->actionFunc = EnHg_HandleCutscene; } -void EnHg_HandleCsAction(EnHg* this, PlayState* play) { +void EnHg_HandleCutscene(EnHg* this, PlayState* play) { if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_484)) { s32 cueChannel = Cutscene_GetCueChannel(play, CS_CMD_ACTOR_CUE_484); @@ -411,7 +409,7 @@ void EnHg_WaitForPlayerAction(EnHg* this, PlayState* play) { } else { if ((this->actor.xzDistToPlayer < 60.0f) && (fabsf(this->actor.playerHeightRel) < 40.0f)) { - if ((this->actionFunc != EnHg_PlayCutscene) && (this->actionFunc != EnHg_HandleCsAction)) { + if ((this->actionFunc != EnHg_PlayCutscene) && (this->actionFunc != EnHg_HandleCutscene)) { if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_61_02)) { SET_WEEKEVENTREG(WEEKEVENTREG_61_02); this->csIdIndex = HG_CS_FIRST_ENCOUNTER; diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c index 6bf97b70b7..18d09b813b 100644 --- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c +++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c @@ -23,9 +23,6 @@ void EnHgo_Talk(EnHgo* this, PlayState* play); void EnHgo_SetupDialogueHandler(EnHgo* this); void EnHgo_DefaultDialogueHandler(EnHgo* this, PlayState* play); void EnHgo_HandlePlayerChoice(EnHgo* this, PlayState* play); -s32 EnHgo_HandleCsAction(EnHgo* this, PlayState* play); -s32 EnHgo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); -void EnHgo_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* pos, Actor* thisx); #define TALK_FLAG_NONE 0 #define TALK_FLAG_HAS_SPOKEN_WITH_HUMAN (1 << 0) @@ -283,7 +280,7 @@ void EnHgo_HandlePlayerChoice(EnHgo* this, PlayState* play) { } } -s32 EnHgo_HandleCsAction(EnHgo* this, PlayState* play) { +s32 EnHgo_HandleCutscene(EnHgo* this, PlayState* play) { s32 cueChannel; if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_486)) { @@ -389,7 +386,7 @@ void EnHgo_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); SkelAnime_Update(&this->skelAnime); - if (EnHgo_HandleCsAction(this, play)) { + if (EnHgo_HandleCutscene(this, play)) { Actor_TrackNone(&this->headRot, &this->torsoRot); } else if (this->actionFunc != EnHgo_DoNothing) { if (this->actionFunc != EnHgo_UpdateCollision) { @@ -433,7 +430,7 @@ void EnHgo_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL25_Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->eyeIndex])); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - EnHgo_OverrideLimbDraw, &EnHgo_PostLimbDraw, &this->actor); + EnHgo_OverrideLimbDraw, EnHgo_PostLimbDraw, &this->actor); Matrix_Put(&this->mf); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gPamelasFatherHumanEyebrowsDL); diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c index 55f1c4d344..5988091851 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -1091,7 +1091,7 @@ void EnJs_Update(Actor* thisx, PlayState* play) { } } -void func_8096A9F4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnJs_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { s32 pad; EnJs* this = THIS; @@ -1120,5 +1120,5 @@ void EnJs_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL25_Opa(play->state.gfxCtx); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, - func_8096A9F4, &this->actor); + EnJs_PostLimbDraw, &this->actor); } diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c index 68945dd245..25b0988158 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c @@ -313,7 +313,7 @@ void EnLookNuts_SendPlayerToSpawn(EnLookNuts* this, PlayState* play) { } } -static Vec3f effectVecInitialize = { 0.0f, 0.0f, 0.0f }; +static Vec3f sEffectVecInitialize = { 0.0f, 0.0f, 0.0f }; void EnLookNuts_Update(Actor* thisx, PlayState* play) { s32 pad; @@ -339,7 +339,7 @@ void EnLookNuts_Update(Actor* thisx, PlayState* play) { Actor_MoveWithGravity(&this->actor); if (D_80A6862C == 0) { if ((this->state < 2) && (this->actor.xzDistToPlayer < 320.0f) && (this->actor.playerHeightRel < 80.0f)) { - effectVelOffset = effectVecInitialize; + effectVelOffset = sEffectVecInitialize; Math_Vec3f_Copy(&effectPos, &this->actor.world.pos); effectPos.x += Math_SinS((this->actor.world.rot.y + (s16)this->headRotation.y)) * 10.0f; effectPos.y += 30.0f; diff --git a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c index 3e59cce626..196841cdfc 100644 --- a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c +++ b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.c @@ -58,6 +58,7 @@ void func_8096B104(EnOkarinaEffect* this, PlayState* play) { void func_8096B174(EnOkarinaEffect* this, PlayState* play) { DECR(this->timer); + if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) && (play->msgCtx.msgLength == 0) && !FrameAdvance_IsEnabled(&play->state) && (this->timer == 0)) { EnOkarinaEffect_SetupAction(this, func_8096B1FC); diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index 3d34c40698..b7e1fba184 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -127,9 +127,11 @@ void func_8093E68C(EnOkarinaTag* this, PlayState* play) { case 0: Flags_SetSwitch(play, this->switchFlag); break; + case 1: Flags_UnsetSwitch(play, this->switchFlag); break; + case 2: if (Flags_GetSwitch(play, this->switchFlag)) { Flags_UnsetSwitch(play, this->switchFlag); @@ -137,6 +139,9 @@ void func_8093E68C(EnOkarinaTag* this, PlayState* play) { Flags_SetSwitch(play, this->switchFlag); } break; + + default: + break; } } play->msgCtx.ocarinaMode = OCARINA_MODE_END; diff --git a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c index 3770704af4..a00b347d68 100644 --- a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c +++ b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c @@ -123,6 +123,9 @@ void func_80B1202C(EnOnpuman* this, PlayState* play2) { this->unk_2A0->home.rot.x = 0; } break; + + default: + break; } } if (this->unk_2A4 & 1) { diff --git a/src/overlays/actors/ovl_En_Osk/z_en_osk.c b/src/overlays/actors/ovl_En_Osk/z_en_osk.c index 335e09dff0..082470c884 100644 --- a/src/overlays/actors/ovl_En_Osk/z_en_osk.c +++ b/src/overlays/actors/ovl_En_Osk/z_en_osk.c @@ -6,7 +6,6 @@ #include "z_en_osk.h" #include "objects/gameplay_keep/gameplay_keep.h" -#include "objects/object_ikn_demo/object_ikn_demo.h" #define FLAGS (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY) @@ -34,30 +33,87 @@ ActorInit En_Osk_InitVars = { /**/ EnOsk_Draw, }; -AnimationHeader* D_80BF6FA0[] = { - &object_ikn_demo_Anim_003CAC, &object_ikn_demo_Anim_004208, &object_ikn_demo_Anim_004514, - &object_ikn_demo_Anim_004A58, &object_ikn_demo_Anim_0065D8, +typedef enum OskType0Animation { + /* 0 */ OSK_TYPE0_ANIM_0, + /* 1 */ OSK_TYPE0_ANIM_1, + /* 2 */ OSK_TYPE0_ANIM_2, + /* 3 */ OSK_TYPE0_ANIM_3, + /* 4 */ OSK_TYPE0_ANIM_4, + /* 5 */ OSK_TYPE0_ANIM_MAX +} OskType0Animation; + +AnimationHeader* sAnimationsType0[OSK_TYPE0_ANIM_MAX] = { + &object_ikn_demo_Anim_003CAC, // OSK_TYPE0_ANIM_0 + &object_ikn_demo_Anim_004208, // OSK_TYPE0_ANIM_1 + &object_ikn_demo_Anim_004514, // OSK_TYPE0_ANIM_2 + &object_ikn_demo_Anim_004A58, // OSK_TYPE0_ANIM_3 + &object_ikn_demo_Anim_0065D8, // OSK_TYPE0_ANIM_4 }; -AnimationHeader* D_80BF6FB4[] = { - &object_ikn_demo_Anim_0067B8, &object_ikn_demo_Anim_0083F4, &object_ikn_demo_Anim_0081A8, - &object_ikn_demo_Anim_008AF4, &object_ikn_demo_Anim_008724, &object_ikn_demo_Anim_008F1C, - &object_ikn_demo_Anim_008CEC, &object_ikn_demo_Anim_009254, &object_ikn_demo_Anim_009044, - &object_ikn_demo_Anim_0098E4, &object_ikn_demo_Anim_009CC8, &object_ikn_demo_Anim_009A44, +typedef enum OskType1Animation { + /* 0 */ OSK_TYPE1_ANIM_0, + /* 1 */ OSK_TYPE1_ANIM_1, + /* 2 */ OSK_TYPE1_ANIM_2, + /* 3 */ OSK_TYPE1_ANIM_3, + /* 4 */ OSK_TYPE1_ANIM_4, + /* 5 */ OSK_TYPE1_ANIM_5, + /* 6 */ OSK_TYPE1_ANIM_6, + /* 7 */ OSK_TYPE1_ANIM_7, + /* 8 */ OSK_TYPE1_ANIM_8, + /* 9 */ OSK_TYPE1_ANIM_9, + /* 10 */ OSK_TYPE1_ANIM_10, + /* 11 */ OSK_TYPE1_ANIM_11, + /* 12 */ OSK_TYPE1_ANIM_MAX +} OskType1Animation; + +AnimationHeader* sAnimationsType1[OSK_TYPE1_ANIM_MAX] = { + &object_ikn_demo_Anim_0067B8, // OSK_TYPE1_ANIM_0 + &object_ikn_demo_Anim_0083F4, // OSK_TYPE1_ANIM_1 + &object_ikn_demo_Anim_0081A8, // OSK_TYPE1_ANIM_2 + &object_ikn_demo_Anim_008AF4, // OSK_TYPE1_ANIM_3 + &object_ikn_demo_Anim_008724, // OSK_TYPE1_ANIM_4 + &object_ikn_demo_Anim_008F1C, // OSK_TYPE1_ANIM_5 + &object_ikn_demo_Anim_008CEC, // OSK_TYPE1_ANIM_6 + &object_ikn_demo_Anim_009254, // OSK_TYPE1_ANIM_7 + &object_ikn_demo_Anim_009044, // OSK_TYPE1_ANIM_8 + &object_ikn_demo_Anim_0098E4, // OSK_TYPE1_ANIM_9 + &object_ikn_demo_Anim_009CC8, // OSK_TYPE1_ANIM_10 + &object_ikn_demo_Anim_009A44, // OSK_TYPE1_ANIM_11 }; -AnimationHeader* D_80BF6FE4[] = { - &object_ikn_demo_Anim_009EA8, &object_ikn_demo_Anim_00B8C0, &object_ikn_demo_Anim_00B704, - &object_ikn_demo_Anim_00BDB4, &object_ikn_demo_Anim_00B9E4, &object_ikn_demo_Anim_00C154, - &object_ikn_demo_Anim_00BF04, &object_ikn_demo_Anim_00CA74, &object_ikn_demo_Anim_00C804, - &object_ikn_demo_Anim_00D044, &object_ikn_demo_Anim_00CD28, &object_ikn_demo_Anim_00C59C, - &object_ikn_demo_Anim_00C2C4, +typedef enum OskType2Animation { + /* 0 */ OSK_TYPE2_ANIM_0, + /* 1 */ OSK_TYPE2_ANIM_1, + /* 2 */ OSK_TYPE2_ANIM_2, + /* 3 */ OSK_TYPE2_ANIM_3, + /* 4 */ OSK_TYPE2_ANIM_4, + /* 5 */ OSK_TYPE2_ANIM_5, + /* 6 */ OSK_TYPE2_ANIM_6, + /* 7 */ OSK_TYPE2_ANIM_7, + /* 8 */ OSK_TYPE2_ANIM_8, + /* 9 */ OSK_TYPE2_ANIM_9, + /* 10 */ OSK_TYPE2_ANIM_10, + /* 11 */ OSK_TYPE2_ANIM_11, + /* 12 */ OSK_TYPE2_ANIM_12, + /* 13 */ OSK_TYPE2_ANIM_MAX +} OskType2Animation; + +AnimationHeader* sAnimationsType2[OSK_TYPE2_ANIM_MAX] = { + &object_ikn_demo_Anim_009EA8, // OSK_TYPE2_ANIM_0 + &object_ikn_demo_Anim_00B8C0, // OSK_TYPE2_ANIM_1 + &object_ikn_demo_Anim_00B704, // OSK_TYPE2_ANIM_2 + &object_ikn_demo_Anim_00BDB4, // OSK_TYPE2_ANIM_3 + &object_ikn_demo_Anim_00B9E4, // OSK_TYPE2_ANIM_4 + &object_ikn_demo_Anim_00C154, // OSK_TYPE2_ANIM_5 + &object_ikn_demo_Anim_00BF04, // OSK_TYPE2_ANIM_6 + &object_ikn_demo_Anim_00CA74, // OSK_TYPE2_ANIM_7 + &object_ikn_demo_Anim_00C804, // OSK_TYPE2_ANIM_8 + &object_ikn_demo_Anim_00D044, // OSK_TYPE2_ANIM_9 + &object_ikn_demo_Anim_00CD28, // OSK_TYPE2_ANIM_10 + &object_ikn_demo_Anim_00C59C, // OSK_TYPE2_ANIM_11 + &object_ikn_demo_Anim_00C2C4, // OSK_TYPE2_ANIM_12 }; -Vec3f D_80BF7018 = { 0.0f, 0.5f, 0.0f }; - -Vec3f D_80BF7024 = { 0.0f, 0.0f, 0.0f }; - void EnOsk_Init(Actor* thisx, PlayState* play) { EnOsk* this = THIS; @@ -65,36 +121,36 @@ void EnOsk_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 10.0f); this->actionFunc = func_80BF5F60; - this->unk_254 = -1; + this->animIndex = -1; this->cueId = -1; this->actor.flags &= ~ACTOR_FLAG_TARGETABLE; - switch (ENOSK_GET_F(&this->actor)) { - case ENOSK_1: + switch (ENOSK_GET_TYPE(&this->actor)) { + case ENOSK_TYPE_1: SkelAnime_InitFlex(play, &this->skelAnime, &object_ikn_demo_Skel_007B48, &object_ikn_demo_Anim_006808, - this->jointTable, this->morphTable, 7); + this->jointTable, this->morphTable, OBJECT_IKN_DEMO_2_LIMB_MAX); Animation_PlayLoop(&this->skelAnime, &object_ikn_demo_Anim_006808); this->actionFunc = func_80BF656C; this->cueType = CS_CMD_ACTOR_CUE_528; break; - case ENOSK_2: + case ENOSK_TYPE_2: SkelAnime_InitFlex(play, &this->skelAnime, &object_ikn_demo_Skel_00B490, &object_ikn_demo_Anim_009F00, - this->jointTable, this->morphTable, 7); + this->jointTable, this->morphTable, OBJECT_IKN_DEMO_3_LIMB_MAX); Animation_PlayLoop(&this->skelAnime, &object_ikn_demo_Anim_006808); this->actionFunc = func_80BF6A20; this->cueType = CS_CMD_ACTOR_CUE_529; break; - default: + default: // ENOSK_TYPE_0 Actor_SetScale(&this->actor, 0.017f); SkelAnime_InitFlex(play, &this->skelAnime, &object_ikn_demo_Skel_0038F0, &object_ikn_demo_Anim_0000B8, - this->jointTable, this->morphTable, 17); + this->jointTable, this->morphTable, OBJECT_IKN_DEMO_1_LIMB_MAX); Animation_PlayLoop(&this->skelAnime, &object_ikn_demo_Anim_0000B8); this->actionFunc = func_80BF61EC; this->cueType = CS_CMD_ACTOR_CUE_530; this->actor.home.rot.z = 0; - this->unk_25C = 0.0f; + this->animSfxFrame = 0.0f; break; } } @@ -102,20 +158,21 @@ void EnOsk_Init(Actor* thisx, PlayState* play) { void EnOsk_Destroy(Actor* thisx, PlayState* play) { } -void func_80BF5E00(EnOsk* this, AnimationHeader** animations, s16 index, f32 morphFrame) { - if (index == this->unk_254) { +void EnOsk_ChangeAnimLoop(EnOsk* this, AnimationHeader** animations, s16 animIndex, f32 morphFrame) { + if (this->animIndex == animIndex) { return; } - Animation_MorphToLoop(&this->skelAnime, animations[index], morphFrame); - this->unk_254 = index; + Animation_MorphToLoop(&this->skelAnime, animations[animIndex], morphFrame); + this->animIndex = animIndex; } -void func_80BF5E68(EnOsk* this, AnimationHeader** animations, s16 index, f32 playSpeed) { - Animation_MorphToPlayOnce(&this->skelAnime, animations[index], playSpeed); - this->unk_254 = index; +void EnOsk_ChangeAnimOnce(EnOsk* this, AnimationHeader** animations, s16 animIndex, f32 playSpeed) { + Animation_MorphToPlayOnce(&this->skelAnime, animations[animIndex], playSpeed); + this->animIndex = animIndex; } void func_80BF5EBC(EnOsk* this, PlayState* play) { + static Vec3f D_80BF7018 = { 0.0f, 0.5f, 0.0f }; Vec3f sp2C; sp2C.x = Rand_CenteredFloat(30.0f) + this->actor.world.pos.x; @@ -140,29 +197,32 @@ void func_80BF5F70(EnOsk* this) { break; case 2: - func_80BF5E00(this, D_80BF6FA0, 3, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_3, -5.0f); break; case 3: - func_80BF5E00(this, D_80BF6FA0, 2, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_2, -5.0f); break; case 4: - func_80BF5E00(this, D_80BF6FA0, 1, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_1, -5.0f); break; case 5: - func_80BF5E00(this, D_80BF6FA0, 0, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_0, -5.0f); break; case 6: - func_80BF5E00(this, D_80BF6FA0, 1, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_1, -5.0f); break; case 7: - func_80BF5E00(this, D_80BF6FA0, 4, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType0, OSK_TYPE0_ANIM_4, -5.0f); this->actor.home.rot.z = 1; break; + + default: + break; } } @@ -174,29 +234,32 @@ void func_80BF609C(EnOsk* this, PlayState* play) { } } else { if (Animation_OnFrame(&this->skelAnime, 5.0f)) { - this->unk_25C = Rand_ZeroFloat(3.0f); + this->animSfxFrame = Rand_ZeroFloat(3.0f); } - switch (this->unk_254) { - case 0: - if (Animation_OnFrame(&this->skelAnime, this->unk_25C) || - Animation_OnFrame(&this->skelAnime, this->unk_25C + 8.0f)) { + switch (this->animIndex) { + case OSK_TYPE0_ANIM_0: + if (Animation_OnFrame(&this->skelAnime, this->animSfxFrame) || + Animation_OnFrame(&this->skelAnime, this->animSfxFrame + 8.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_BOSU_TALK); } break; - case 1: - if (Animation_OnFrame(&this->skelAnime, this->unk_25C)) { + case OSK_TYPE0_ANIM_1: + if (Animation_OnFrame(&this->skelAnime, this->animSfxFrame)) { Actor_PlaySfx(&this->actor, NA_SE_EN_BOSU_TALK); } break; - case 2: - if (Animation_OnFrame(&this->skelAnime, this->unk_25C) || - Animation_OnFrame(&this->skelAnime, this->unk_25C + 6.0f)) { + case OSK_TYPE0_ANIM_2: + if (Animation_OnFrame(&this->skelAnime, this->animSfxFrame) || + Animation_OnFrame(&this->skelAnime, this->animSfxFrame + 6.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_BOSU_TALK); } break; + + default: + break; } } } @@ -240,91 +303,100 @@ void func_80BF6314(EnOsk* this) { break; case 2: - func_80BF5E00(this, D_80BF6FB4, 9, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_9, -5.0f); Actor_SetScale(&this->actor, 0.0f); break; case 3: - func_80BF5E68(this, D_80BF6FB4, 2, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType1, OSK_TYPE1_ANIM_2, -5.0f); break; case 4: - func_80BF5E68(this, D_80BF6FB4, 4, 0); + EnOsk_ChangeAnimOnce(this, sAnimationsType1, OSK_TYPE1_ANIM_4, 0); break; case 5: - func_80BF5E68(this, D_80BF6FB4, 8, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType1, OSK_TYPE1_ANIM_8, -5.0f); break; case 6: - func_80BF5E68(this, D_80BF6FB4, 11, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType1, OSK_TYPE1_ANIM_11, -5.0f); break; case 7: - func_80BF5E68(this, D_80BF6FB4, 6, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType1, OSK_TYPE1_ANIM_6, -5.0f); break; case 8: - func_80BF5E00(this, D_80BF6FB4, 0, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_0, -5.0f); break; case 9: - func_80BF5E00(this, D_80BF6FB4, 0, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_0, -5.0f); + break; + + default: break; } } void func_80BF6478(EnOsk* this) { if (this->actor.draw != NULL) { - switch (this->unk_254) { - case 1: + switch (this->animIndex) { + case OSK_TYPE1_ANIM_1: if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 6.0f) || Animation_OnFrame(&this->skelAnime, 11.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 3: + case OSK_TYPE1_ANIM_3: if (Animation_OnFrame(&this->skelAnime, 11.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 4: + case OSK_TYPE1_ANIM_4: if (Animation_OnFrame(&this->skelAnime, 5.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 10: - case 11: + case OSK_TYPE1_ANIM_10: + case OSK_TYPE1_ANIM_11: Actor_PlaySfx_Flagged(&this->actor, NA_SE_EN_YASE_LAUGH_K - SFX_FLAG); break; + + default: + break; } } } void func_80BF656C(EnOsk* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { - switch (this->unk_254) { - case 2: - func_80BF5E00(this, D_80BF6FB4, 1, 0.0f); + switch (this->animIndex) { + case OSK_TYPE1_ANIM_2: + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_1, 0.0f); break; - case 4: - func_80BF5E00(this, D_80BF6FB4, 3, 0.0f); + case OSK_TYPE1_ANIM_4: + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_3, 0.0f); break; - case 8: - func_80BF5E00(this, D_80BF6FB4, 7, -5.0f); + case OSK_TYPE1_ANIM_8: + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_7, -5.0f); break; - case 11: - func_80BF5E00(this, D_80BF6FB4, 10, -5.0f); + case OSK_TYPE1_ANIM_11: + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_10, -5.0f); break; - case 6: - func_80BF5E00(this, D_80BF6FB4, 5, -5.0f); + case OSK_TYPE1_ANIM_6: + EnOsk_ChangeAnimLoop(this, sAnimationsType1, OSK_TYPE1_ANIM_5, -5.0f); + break; + + default: break; } } @@ -340,13 +412,13 @@ void func_80BF656C(EnOsk* this, PlayState* play) { this->actor.draw = NULL; } - if ((this->cueId == 2) && (this->actor.scale.x < 13.0f * 0.001f)) { + if ((this->cueId == 2) && (this->actor.scale.x < (13.0f * 0.001f))) { this->actor.scale.x += 0.65f * 0.001f; Actor_SetScale(&this->actor, this->actor.scale.x); } if (this->cueId == 9) { - if (this->actor.scale.x > 0.65f * 0.001f) { + if (this->actor.scale.x > (0.65f * 0.001f)) { this->actor.scale.x -= 0.65f * 0.001f; Actor_SetScale(&this->actor, this->actor.scale.x); func_80BF5EBC(this, play); @@ -369,99 +441,108 @@ void func_80BF67A8(EnOsk* this) { break; case 2: - func_80BF5E68(this, D_80BF6FE4, 2, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_2, -5.0f); break; case 3: - func_80BF5E68(this, D_80BF6FE4, 8, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_8, -5.0f); break; case 4: - func_80BF5E68(this, D_80BF6FE4, 4, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_4, -5.0f); break; case 5: - func_80BF5E68(this, D_80BF6FE4, 6, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_6, -5.0f); break; case 6: - func_80BF5E68(this, D_80BF6FE4, 10, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_10, -5.0f); break; case 7: case 8: - func_80BF5E00(this, D_80BF6FE4, 0, -5.0f); + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_0, -5.0f); break; case 9: - func_80BF5E68(this, D_80BF6FE4, 12, -5.0f); + EnOsk_ChangeAnimOnce(this, sAnimationsType2, OSK_TYPE2_ANIM_12, -5.0f); + break; + + default: break; } } void func_80BF68E0(EnOsk* this) { if (this->actor.draw != NULL) { - switch (this->unk_254) { - case 1: - case 7: + switch (this->animIndex) { + case OSK_TYPE2_ANIM_1: + case OSK_TYPE2_ANIM_7: if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 6.0f) || Animation_OnFrame(&this->skelAnime, 11.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 2: + case OSK_TYPE2_ANIM_2: if (Animation_OnFrame(&this->skelAnime, 4.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 4: + case OSK_TYPE2_ANIM_4: if (Animation_OnFrame(&this->skelAnime, 5.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 5: + case OSK_TYPE2_ANIM_5: if (Animation_OnFrame(&this->skelAnime, 6.0f) || Animation_OnFrame(&this->skelAnime, 11.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; - case 8: + case OSK_TYPE2_ANIM_8: if (Animation_OnFrame(&this->skelAnime, 13.0f)) { Actor_PlaySfx(&this->actor, NA_SE_EN_DEBU_HEAD_UP); } break; + + default: + break; } } } void func_80BF6A20(EnOsk* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { - switch (this->unk_254) { - case 2: - func_80BF5E00(this, D_80BF6FE4, 1, -5.0f); + switch (this->animIndex) { + case OSK_TYPE2_ANIM_2: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_1, -5.0f); break; - case 8: - func_80BF5E00(this, D_80BF6FE4, 7, -5.0f); + case OSK_TYPE2_ANIM_8: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_7, -5.0f); break; - case 4: - func_80BF5E00(this, D_80BF6FE4, 3, -5.0f); + case OSK_TYPE2_ANIM_4: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_3, -5.0f); break; - case 6: - func_80BF5E00(this, D_80BF6FE4, 5, -5.0f); + case OSK_TYPE2_ANIM_6: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_5, -5.0f); break; - case 10: - func_80BF5E00(this, D_80BF6FE4, 9, -5.0f); + case OSK_TYPE2_ANIM_10: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_9, -5.0f); break; - case 12: - func_80BF5E00(this, D_80BF6FE4, 11, -5.0f); + case OSK_TYPE2_ANIM_12: + EnOsk_ChangeAnimLoop(this, sAnimationsType2, OSK_TYPE2_ANIM_11, -5.0f); + break; + + default: break; } } @@ -495,10 +576,14 @@ void EnOsk_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); } -void func_80BF6C54(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnOsk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { + static Vec3f D_80BF7024 = { 0.0f, 0.0f, 0.0f }; EnOsk* this = THIS; if (limbIndex == 1) { + // OBJECT_IKN_DEMO_1_LIMB_01 + // OBJECT_IKN_DEMO_2_LIMB_01 + // OBJECT_IKN_DEMO_3_LIMB_01 Matrix_MultVec3f(&D_80BF7024, &this->actor.focus.pos); } } @@ -517,7 +602,7 @@ void EnOsk_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_PrimColor(play->state.gfxCtx, 0x80, 255, 255, 255, 255)); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, - func_80BF6C54, &this->actor); + EnOsk_PostLimbDraw, &this->actor); { s16 sp62; @@ -530,7 +615,7 @@ void EnOsk_Draw(Actor* thisx, PlayState* play) { sp60 = -Math_Vec3f_Pitch(&sp54, &this->actor.focus.pos); sp80.x = -(15.0f * (Math_SinS(sp62)) * Math_CosS(sp60)); - sp80.y = -(Math_SinS(sp60) * 15.0f); + sp80.y = -(15.0f * Math_SinS(sp60)); sp80.z = -(15.0f * (Math_CosS(sp62)) * Math_CosS(sp60)); Matrix_Translate(this->actor.focus.pos.x + sp80.x, this->actor.focus.pos.y + sp80.y, diff --git a/src/overlays/actors/ovl_En_Osk/z_en_osk.h b/src/overlays/actors/ovl_En_Osk/z_en_osk.h index c83cc5d914..c97d5189a9 100644 --- a/src/overlays/actors/ovl_En_Osk/z_en_osk.h +++ b/src/overlays/actors/ovl_En_Osk/z_en_osk.h @@ -2,25 +2,31 @@ #define Z_EN_OSK_H #include "global.h" +#include "objects/object_ikn_demo/object_ikn_demo.h" struct EnOsk; typedef void (*EnOskActionFunc)(struct EnOsk*, PlayState*); -#define ENOSK_GET_F(thisx) ((thisx)->params & 0xF) +#define ENOSK_GET_TYPE(thisx) ((thisx)->params & 0xF) -#define ENOSK_1 1 -#define ENOSK_2 2 +typedef enum EnOskType { + /* 0 */ ENOSK_TYPE_0, + /* 1 */ ENOSK_TYPE_1, + /* 2 */ ENOSK_TYPE_2 +} EnOskType; + +#define OSK_LIMB_MAX MAX(MAX((s32)OBJECT_IKN_DEMO_1_LIMB_MAX, (s32)OBJECT_IKN_DEMO_2_LIMB_MAX), (s32)OBJECT_IKN_DEMO_3_LIMB_MAX) typedef struct EnOsk { /* 0x000 */ Actor actor; /* 0x144 */ SkelAnime skelAnime; - /* 0x188 */ Vec3s jointTable[17]; - /* 0x1EE */ Vec3s morphTable[17]; - /* 0x254 */ s16 unk_254; + /* 0x188 */ Vec3s jointTable[OSK_LIMB_MAX]; + /* 0x1EE */ Vec3s morphTable[OSK_LIMB_MAX]; + /* 0x254 */ s16 animIndex; /* 0x256 */ s16 cueId; /* 0x258 */ u16 cueType; - /* 0x25C */ f32 unk_25C; + /* 0x25C */ f32 animSfxFrame; /* 0x260 */ EnOskActionFunc actionFunc; } EnOsk; // size = 0x264 diff --git a/src/overlays/actors/ovl_En_Osn/z_en_osn.c b/src/overlays/actors/ovl_En_Osn/z_en_osn.c index ec74182981..6085c92402 100644 --- a/src/overlays/actors/ovl_En_Osn/z_en_osn.c +++ b/src/overlays/actors/ovl_En_Osn/z_en_osn.c @@ -18,7 +18,7 @@ void EnOsn_Draw(Actor* thisx, PlayState* play); void EnOsn_Idle(EnOsn* this, PlayState* play); void EnOsn_StartCutscene(EnOsn* this, PlayState* play); -void EnOsn_HandleCsAction(EnOsn* this, PlayState* play); +void EnOsn_HandleCutscene(EnOsn* this, PlayState* play); void EnOsn_Talk(EnOsn* this, PlayState* play); #define OSN_STATE_SPECIAL_CONVERSTATION (1 << 0) @@ -49,6 +49,18 @@ void EnOsn_Talk(EnOsn* this, PlayState* play); #define OSN_MASK_TEXT_ALL_NIGHT (1 << 18) #define OSN_MASK_TEXT_ROMANI (1 << 19) +ActorInit En_Osn_InitVars = { + /**/ ACTOR_EN_OSN, + /**/ ACTORCAT_NPC, + /**/ FLAGS, + /**/ OBJECT_OSN, + /**/ sizeof(EnOsn), + /**/ EnOsn_Init, + /**/ EnOsn_Destroy, + /**/ EnOsn_Update, + /**/ EnOsn_Draw, +}; + typedef enum { /* 0 */ OSN_ANIM_IDLE, /* 1 */ OSN_ANIM_ARMS_OUT, @@ -78,44 +90,33 @@ typedef enum { /* 25 */ OSN_ANIM_MAX } OsnAnimation; -ActorInit En_Osn_InitVars = { - /**/ ACTOR_EN_OSN, - /**/ ACTORCAT_NPC, - /**/ FLAGS, - /**/ OBJECT_OSN, - /**/ sizeof(EnOsn), - /**/ EnOsn_Init, - /**/ EnOsn_Destroy, - /**/ EnOsn_Update, - /**/ EnOsn_Draw, -}; - -static AnimationInfo sAnimationInfo[] = { - { &gHappyMaskSalesmanIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanArmsOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanBowingAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanReminisceAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanHandsClaspedAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanBelieveAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanThinkAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanShakeHeadAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanOrganTalkAnim, 1.0f, 1.0f, 39.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanOrganPlayAnim, 1.0f, 1.0f, 70.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanShakeAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanChokeAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanDespairAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanFastBowsAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanHandOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanLyingDownAnim, 0.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, - { &gHappyMaskSalesmanLyingDownAnim, 0.0f, 1.0f, 1.0f, ANIMMODE_ONCE, 0.0f }, - { &gHappyMaskSalesmanMaskLookAtAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanTurnAroundStartAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, - { &gHappyMaskSalesmanTurnAroundLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanWalkAwayAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, +static AnimationInfo sAnimationInfo[OSN_ANIM_MAX] = { + { &gHappyMaskSalesmanIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_IDLE + { &gHappyMaskSalesmanArmsOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_ARMS_OUT + { &gHappyMaskSalesmanBowingAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_BOWING + { &gHappyMaskSalesmanReminisceAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_REMINISCE + { &gHappyMaskSalesmanHandsClaspedAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_HANDS_CLASPED + { &gHappyMaskSalesmanBelieveAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_BELIEVE + { &gHappyMaskSalesmanThinkAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_THINK + { &gHappyMaskSalesmanShakeHeadAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_SHAKE_HEAD + { &gHappyMaskSalesmanOrganTalkAnim, 1.0f, 1.0f, 39.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_ORGAN_TALK + { &gHappyMaskSalesmanOrganPlayAnim, 1.0f, 1.0f, 70.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_ORGAN_PLAY + { &gHappyMaskSalesmanShakeAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_SHAKE + { &gHappyMaskSalesmanChokeAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_CHOKE + { &gHappyMaskSalesmanDespairAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_DESPAIR + { &gHappyMaskSalesmanFastBowsAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_FAST_BOWS + { &gHappyMaskSalesmanHandOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_HAND_OUT + { &gHappyMaskSalesmanLyingDownAnim, 0.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // OSN_ANIM_LYING_DOWN_FACE_UP + { &gHappyMaskSalesmanLyingDownAnim, 0.0f, 1.0f, 1.0f, ANIMMODE_ONCE, 0.0f }, // OSN_ANIM_LYING_DOWN_FACE_DOWN + { &gHappyMaskSalesmanMaskLookAtAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_MASK_LOOK_AT + { &gHappyMaskSalesmanTurnAroundStartAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // OSN_ANIM_TURN_AROUND_START + { &gHappyMaskSalesmanTurnAroundLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_TURN_AROUND_LOOP + { &gHappyMaskSalesmanWalkAwayAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // OSN_ANIM_WALK_AWAY + // OSN_ANIM_MASK_LOOK_FROM_START { &gHappyMaskSalesmanMaskLookFromStartAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, - { &gHappyMaskSalesmanMaskLookFromLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanHandOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, - { &gHappyMaskSalesmanWalkAwayAnim, 0.0f, 77.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, + { &gHappyMaskSalesmanMaskLookFromLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_MASK_LOOK_FROM_LOOP + { &gHappyMaskSalesmanHandOutAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // OSN_ANIM_HAND_OUT_2 + { &gHappyMaskSalesmanWalkAwayAnim, 0.0f, 77.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // OSN_ANIM_WALK_AWAY_END }; static ColliderCylinderInit sCylinderInit = { @@ -256,9 +257,9 @@ s32 EnOsn_GetMaskText(PlayState* play) { void EnOsn_TurnAround(EnOsn* this) { s16 curFrame = this->skelAnime.curFrame; - s16 lastFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); + s16 endFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); - if ((this->animIndex == OSN_ANIM_TURN_AROUND_START) && (curFrame == lastFrame)) { + if ((this->animIndex == OSN_ANIM_TURN_AROUND_START) && (curFrame == endFrame)) { this->animIndex = OSN_ANIM_TURN_AROUND_LOOP; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, OSN_ANIM_TURN_AROUND_LOOP); } @@ -266,9 +267,9 @@ void EnOsn_TurnAround(EnOsn* this) { void EnOsn_LookFromMask(EnOsn* this) { s16 curFrame = this->skelAnime.curFrame; - s16 lastFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); + s16 endFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); - if ((this->animIndex == OSN_ANIM_MASK_LOOK_FROM_START) && (curFrame == lastFrame)) { + if ((this->animIndex == OSN_ANIM_MASK_LOOK_FROM_START) && (curFrame == endFrame)) { this->animIndex = OSN_ANIM_MASK_LOOK_FROM_LOOP; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, OSN_ANIM_MASK_LOOK_FROM_LOOP); } @@ -276,9 +277,9 @@ void EnOsn_LookFromMask(EnOsn* this) { void EnOsn_FadeOut(EnOsn* this) { s16 curFrame = this->skelAnime.curFrame; - s16 lastFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); + s16 endFrame = Animation_GetLastFrame(sAnimationInfo[this->animIndex].animation); - if (curFrame == lastFrame) { + if (curFrame == endFrame) { this->alpha -= 8; if (this->alpha < 8) { this->alpha = 0; @@ -711,7 +712,7 @@ void EnOsn_ChooseAction(EnOsn* this, PlayState* play) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, OSN_ANIM_IDLE); if (!isSwitchFlagSet) { - this->actionFunc = EnOsn_HandleCsAction; + this->actionFunc = EnOsn_HandleCutscene; } else { this->actionFunc = EnOsn_Idle; } @@ -741,7 +742,7 @@ void EnOsn_Idle(EnOsn* this, PlayState* play) { void EnOsn_StartCutscene(EnOsn* this, PlayState* play) { if (CutsceneManager_IsNext(this->csId)) { CutsceneManager_Start(this->csId, &this->actor); - this->actionFunc = EnOsn_HandleCsAction; + this->actionFunc = EnOsn_HandleCutscene; } else { if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); @@ -750,7 +751,7 @@ void EnOsn_StartCutscene(EnOsn* this, PlayState* play) { } } -void EnOsn_HandleCsAction(EnOsn* this, PlayState* play) { +void EnOsn_HandleCutscene(EnOsn* this, PlayState* play) { u8 pad; s32 cueChannel; @@ -914,8 +915,8 @@ void EnOsn_Init(Actor* thisx, PlayState* play) { switch (ENOSN_GET_TYPE(&this->actor)) { case OSN_TYPE_CHOOSE: - if (((gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 2)) || - (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 3))) || + if ((gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 2)) || + (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 3)) || (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 6))) { this->stateFlags |= OSN_STATE_SPECIAL_CONVERSTATION; } @@ -923,7 +924,7 @@ void EnOsn_Init(Actor* thisx, PlayState* play) { if (play->sceneId == SCENE_INSIDETOWER) { if ((gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 2)) || (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 6))) { - this->actionFunc = EnOsn_HandleCsAction; + this->actionFunc = EnOsn_HandleCutscene; } else if (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_INTERIOR, 3)) { EnOsn_InitCutscene(this); this->actionFunc = EnOsn_StartCutscene; @@ -949,7 +950,7 @@ void EnOsn_Init(Actor* thisx, PlayState* play) { case OSN_TYPE_CUTSCENE: this->actor.flags &= ~ACTOR_FLAG_TARGETABLE; - this->actionFunc = EnOsn_HandleCsAction; + this->actionFunc = EnOsn_HandleCutscene; break; default: @@ -1010,6 +1011,7 @@ void EnOsn_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, if (limbIndex == HAPPY_MASK_SALESMAN_LIMB_HEAD) { Matrix_MultVec3f(&headOffset, &this->actor.focus.pos); } + if (((this->animIndex == OSN_ANIM_MASK_LOOK_AT) || (this->animIndex == OSN_ANIM_MASK_LOOK_FROM_START) || (this->animIndex == OSN_ANIM_MASK_LOOK_FROM_LOOP)) && (limbIndex == HAPPY_MASK_SALESMAN_LIMB_LEFT_HAND)) { diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 968a9c6f2b..a748bc2de8 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -53,13 +53,25 @@ void EnOssan_GetCutscenes(EnOssan* this, PlayState* play); s32 EnOssan_ReturnItemToShelf(EnOssan* this); s32 EnOssan_TakeItemOffShelf(EnOssan* this); -typedef enum { +typedef enum EnOssanCutsceneState { /* 0 */ ENOSSAN_CUTSCENESTATE_STOPPED, /* 1 */ ENOSSAN_CUTSCENESTATE_WAITING, /* 2 */ ENOSSAN_CUTSCENESTATE_PLAYING } EnOssanCutsceneState; -typedef enum { +ActorInit En_Ossan_InitVars = { + /**/ ACTOR_EN_OSSAN, + /**/ ACTORCAT_NPC, + /**/ FLAGS, + /**/ GAMEPLAY_KEEP, + /**/ sizeof(EnOssan), + /**/ EnOssan_Init, + /**/ EnOssan_Destroy, + /**/ EnOssan_Update, + /**/ NULL, +}; + +typedef enum FsnAnimation { /* 0 */ FSN_ANIM_IDLE, /* 1 */ FSN_ANIM_SCRATCH_BACK, /* 2 */ FSN_ANIM_TURN_AROUND_FORWARD, @@ -76,7 +88,23 @@ typedef enum { /* 13 */ FSN_ANIM_MAX } FsnAnimation; -typedef enum { +static AnimationInfoS sCuriosityShopManAnimationInfo[FSN_ANIM_MAX] = { + { &gFsnIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_IDLE + { &gFsnScratchBackAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_SCRATCH_BACK + { &gFsnTurnAroundAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_TURN_AROUND_FORWARD + { &gFsnTurnAroundAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_TURN_AROUND_REVERSE + { &gFsnHandsOnCounterStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_HANDS_ON_COUNTER_START + { &gFsnHandsOnCounterLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_HANDS_ON_COUNTER_LOOP + { &gFsnHandOnFaceStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_HAND_ON_FACE_START + { &gFsnHandOnFaceLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_HAND_ON_FACE_LOOP + { &gFsnLeanForwardStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_LEAN_FORWARD_START + { &gFsnLeanForwardLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_LEAN_FORWARD_LOOP + { &gFsnSlamCounterStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_SLAM_COUNTER_START + { &gFsnSlamCounterLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // FSN_ANIM_SLAM_COUNTER_LOOP + { &gFsnMakeOfferAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // FSN_ANIM_MAKE_OFFER +}; + +typedef enum AniAnimation { /* 0 */ ANI_ANIM_STANDING_NORMAL_LOOP_1, /* 1 */ ANI_ANIM_STANDING_NORMAL_LOOP_2, /* 2 */ ANI_ANIM_STANDING_NORMAL_ONCE_FORWARD_1, @@ -92,52 +120,24 @@ typedef enum { /* 12 */ ANI_ANIM_MAX } AniAnimation; -ActorInit En_Ossan_InitVars = { - /**/ ACTOR_EN_OSSAN, - /**/ ACTORCAT_NPC, - /**/ FLAGS, - /**/ GAMEPLAY_KEEP, - /**/ sizeof(EnOssan), - /**/ EnOssan_Init, - /**/ EnOssan_Destroy, - /**/ EnOssan_Update, - /**/ NULL, -}; - -static AnimationInfoS sCuriosityShopManAnimationInfo[] = { - { &gFsnIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnScratchBackAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnTurnAroundAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnTurnAroundAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnHandsOnCounterStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnHandsOnCounterLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnHandOnFaceStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnHandOnFaceLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnLeanForwardStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnLeanForwardLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnSlamCounterStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gFsnSlamCounterLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gFsnMakeOfferAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, -}; - -static AnimationInfoS sPartTimerAnimationInfo[] = { - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -10 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -10 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gAniStandingNormalAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &gAniHandBehindHeadApologyAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -5 }, - { &gAniHandBehindHeadApologyAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -5 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, +static AnimationInfoS sPartTimerAnimationInfo[ANI_ANIM_MAX] = { + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -10 }, // ANI_ANIM_STANDING_NORMAL_LOOP_1 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -10 }, // ANI_ANIM_STANDING_NORMAL_LOOP_2 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // ANI_ANIM_STANDING_NORMAL_ONCE_FORWARD_1 + { &gAniStandingNormalAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // ANI_ANIM_STANDING_NORMAL_ONCE_REVERSE + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // ANI_ANIM_STANDING_NORMAL_ONCE_FORWARD_2 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ANI_ANIM_STANDING_NORMAL_LOOP_3 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // ANI_ANIM_STANDING_NORMAL_ONCE_FORWARD_3 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ANI_ANIM_STANDING_NORMAL_LOOP_4 + { &gAniHandBehindHeadApologyAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -5 }, // ANI_ANIM_APOLOGY_START + { &gAniHandBehindHeadApologyAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -5 }, // ANI_ANIM_APOLOGY_LOOP + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, // ANI_ANIM_STANDING_NORMAL_ONCE_FORWARD_4 + { &gAniStandingNormalAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ANI_ANIM_STANDING_NORMAL_LOOP_5 }; static s16 sObjectIds[] = { OBJECT_FSN, OBJECT_ANI }; -static AnimationInfoS* sAnimationInfo[] = { sCuriosityShopManAnimationInfo, sPartTimerAnimationInfo }; +static AnimationInfoS* sAnimationInfoList[] = { sCuriosityShopManAnimationInfo, sPartTimerAnimationInfo }; static f32 sActorScales[] = { 0.01f, 0.01f }; @@ -393,12 +393,12 @@ void EnOssan_Idle(EnOssan* this, PlayState* play) { } void EnOssan_BeginInteraction(EnOssan* this, PlayState* play) { - AnimationInfoS* animationInfo = sAnimationInfo[this->actor.params]; + AnimationInfoS* animationInfo = sAnimationInfoList[this->actor.params]; s16 curFrame = this->skelAnime.curFrame; - s16 frameCount = Animation_GetLastFrame(animationInfo[this->animIndex].animation); + s16 endFrame = Animation_GetLastFrame(animationInfo[this->animIndex].animation); if (this->animIndex == FSN_ANIM_TURN_AROUND_REVERSE) { - frameCount = 0; + endFrame = 0; } if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_WAITING) { if (CutsceneManager_IsNext(this->csId)) { @@ -409,7 +409,7 @@ void EnOssan_BeginInteraction(EnOssan* this, PlayState* play) { } } if (this->actor.params == ENOSSAN_CURIOSITY_SHOP_MAN) { - if (curFrame == frameCount) { + if (curFrame == endFrame) { switch (this->animIndex) { case FSN_ANIM_SCRATCH_BACK: this->animIndex = FSN_ANIM_TURN_AROUND_FORWARD; @@ -566,7 +566,7 @@ u8 EnOssan_CursorLeft(EnOssan* this, u8 cursorIndex, u8 shelfSlotMax) { } void EnOssan_Hello(EnOssan* this, PlayState* play) { - AnimationInfoS* animationInfo = sAnimationInfo[this->actor.params]; + AnimationInfoS* animationInfo = sAnimationInfoList[this->actor.params]; u8 talkState = Message_GetState(&play->msgCtx); s32 pad; Player* player = GET_PLAYER(play); @@ -575,7 +575,7 @@ void EnOssan_Hello(EnOssan* this, PlayState* play) { if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { if ((this->animIndex == ANI_ANIM_APOLOGY_LOOP) && (this->actor.params == ENOSSAN_PART_TIME_WORKER)) { this->animIndex = ANI_ANIM_STANDING_NORMAL_LOOP_2; - SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, 1); + SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_STANDING_NORMAL_LOOP_2); } this->flags &= ~LOOKED_AT_PLAYER; if (player->transformation == PLAYER_FORM_DEKU) { @@ -600,7 +600,7 @@ void EnOssan_Hello(EnOssan* this, PlayState* play) { } s32 EnOssan_FacingShopkeeperDialogResult(EnOssan* this, PlayState* play) { - AnimationInfoS* animationInfo = sAnimationInfo[this->actor.params]; + AnimationInfoS* animationInfo = sAnimationInfoList[this->actor.params]; Player* player = GET_PLAYER(play); switch (play->msgCtx.choiceIndex) { @@ -608,7 +608,7 @@ s32 EnOssan_FacingShopkeeperDialogResult(EnOssan* this, PlayState* play) { Audio_PlaySfx_MessageDecide(); if ((this->actor.params == ENOSSAN_PART_TIME_WORKER) && (player->transformation == PLAYER_FORM_ZORA)) { this->animIndex = ANI_ANIM_APOLOGY_LOOP; - SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, 9); + SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_APOLOGY_LOOP); } EnOssan_SetupAction(this, EnOssan_TalkToShopkeeper); Message_ContinueTextbox(play, sTalkOptionTextIds[this->actor.params]); @@ -643,30 +643,33 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) { } else { if (talkState == TEXT_STATE_CHOICE) { func_8011552C(play, DO_ACTION_DECIDE); - if (!EnOssan_TestEndInteraction(this, play, CONTROLLER1(&play->state)) && - (!Message_ShouldAdvance(play) || !EnOssan_FacingShopkeeperDialogResult(this, play))) { - if (this->stickAccumX < 0) { - cursorIndex = EnOssan_SetCursorIndexFromNeutral(this, 4); - if (cursorIndex != CURSOR_INVALID) { - this->cursorIndex = cursorIndex; - EnOssan_SetupAction(this, EnOssan_LookToLeftShelf); - func_8011552C(play, DO_ACTION_DECIDE); - this->stickLeftPrompt.isEnabled = false; - Audio_PlaySfx(NA_SE_SY_CURSOR); - } - } else if (this->stickAccumX > 0) { - cursorIndex = EnOssan_SetCursorIndexFromNeutral(this, 0); - if (cursorIndex != CURSOR_INVALID) { - this->cursorIndex = cursorIndex; - EnOssan_SetupAction(this, EnOssan_LookToRightShelf); - func_8011552C(play, DO_ACTION_DECIDE); - this->stickRightPrompt.isEnabled = false; - Audio_PlaySfx(NA_SE_SY_CURSOR); - } - } - } else { + if (EnOssan_TestEndInteraction(this, play, CONTROLLER1(&play->state))) { return; } + + if (Message_ShouldAdvance(play) && EnOssan_FacingShopkeeperDialogResult(this, play)) { + return; + } + + if (this->stickAccumX < 0) { + cursorIndex = EnOssan_SetCursorIndexFromNeutral(this, 4); + if (cursorIndex != CURSOR_INVALID) { + this->cursorIndex = cursorIndex; + EnOssan_SetupAction(this, EnOssan_LookToLeftShelf); + func_8011552C(play, DO_ACTION_DECIDE); + this->stickLeftPrompt.isEnabled = false; + Audio_PlaySfx(NA_SE_SY_CURSOR); + } + } else if (this->stickAccumX > 0) { + cursorIndex = EnOssan_SetCursorIndexFromNeutral(this, 0); + if (cursorIndex != CURSOR_INVALID) { + this->cursorIndex = cursorIndex; + EnOssan_SetupAction(this, EnOssan_LookToRightShelf); + func_8011552C(play, DO_ACTION_DECIDE); + this->stickRightPrompt.isEnabled = false; + Audio_PlaySfx(NA_SE_SY_CURSOR); + } + } } if ((this->actor.params == ENOSSAN_PART_TIME_WORKER) && (player->transformation != PLAYER_FORM_ZORA)) { Math_SmoothStepToS(&this->partTimerHeadRot.y, 8000, 3, 2000, 0); @@ -675,12 +678,12 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) { } void EnOssan_TalkToShopkeeper(EnOssan* this, PlayState* play) { - AnimationInfoS* animationInfo = sAnimationInfo[this->actor.params]; + AnimationInfoS* animationInfo = sAnimationInfoList[this->actor.params]; if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { if ((this->animIndex == ANI_ANIM_APOLOGY_LOOP) && (this->actor.params == ENOSSAN_PART_TIME_WORKER)) { this->animIndex = ANI_ANIM_STANDING_NORMAL_LOOP_2; - SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, 1); + SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, ANI_ANIM_STANDING_NORMAL_LOOP_2); } EnOssan_StartShopping(play, this); } @@ -1571,7 +1574,7 @@ void EnOssan_InitShop(EnOssan* this, PlayState* play) { Actor_SetScale(&this->actor, sActorScales[this->actor.params]); this->animIndex = 1; // FSN_ANIM_SCRATCH_BACK and ANI_ANIM_STANDING_NORMAL_LOOP_2 - SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo[this->actor.params], 1); + SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfoList[this->actor.params], 1); EnOssan_SpawnShopItems(this, play, shopItems); this->blinkTimer = 20; this->eyeTexIndex = 0; diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index ecfd4f2ef7..a3d5655db9 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -6,7 +6,6 @@ #include "prevent_bss_reordering.h" #include "z_en_ot.h" -#include "objects/object_ot/object_ot.h" #include "objects/gameplay_keep/gameplay_keep.h" #define FLAGS (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10) @@ -95,10 +94,17 @@ static ColliderCylinderInit sCylinderInit = { { 5, 33, -20, { 0, 0, 0 } }, }; -static AnimationSpeedInfo sAnimations[] = { - { &object_ot_Anim_004B30, 1.0f, ANIMMODE_LOOP, -5.0f }, - { &object_ot_Anim_0008D8, 1.0f, ANIMMODE_LOOP, -5.0f }, - { &object_ot_Anim_000420, 1.0f, ANIMMODE_LOOP, 0.0f }, +typedef enum SeahorseAnimation { + /* 0 */ SEAHORSE_ANIM_0, + /* 1 */ SEAHORSE_ANIM_1, + /* 2 */ SEAHORSE_ANIM_2, + /* 3 */ SEAHORSE_ANIM_MAX +} SeahorseAnimation; + +static AnimationSpeedInfo sAnimationSpeedInfo[SEAHORSE_ANIM_MAX] = { + { &object_ot_Anim_004B30, 1.0f, ANIMMODE_LOOP, -5.0f }, // SEAHORSE_ANIM_0 + { &object_ot_Anim_0008D8, 1.0f, ANIMMODE_LOOP, -5.0f }, // SEAHORSE_ANIM_1 + { &object_ot_Anim_000420, 1.0f, ANIMMODE_LOOP, 0.0f }, // SEAHORSE_ANIM_2 }; static InitChainEntry sInitChain[] = { @@ -150,12 +156,12 @@ void EnOt_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f); SkelAnime_InitFlex(play, &this->skelAnime, &object_ot_Skel_004800, &object_ot_Anim_0008D8, this->jointTable, - this->morphTable, 19); + this->morphTable, OBJECT_OT_LIMB_MAX); Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit); - Animation_Change(&this->skelAnime, sAnimations[0].animation, 1.0f, - Animation_GetLastFrame(&sAnimations[0].animation->common) * Rand_ZeroOne(), - Animation_GetLastFrame(&sAnimations[0].animation->common), sAnimations[0].mode, - sAnimations[0].morphFrames); + Animation_Change(&this->skelAnime, sAnimationSpeedInfo[SEAHORSE_ANIM_0].animation, 1.0f, + Animation_GetLastFrame(&sAnimationSpeedInfo[SEAHORSE_ANIM_0].animation->common) * Rand_ZeroOne(), + Animation_GetLastFrame(&sAnimationSpeedInfo[SEAHORSE_ANIM_0].animation->common), + sAnimationSpeedInfo[SEAHORSE_ANIM_0].mode, sAnimationSpeedInfo[SEAHORSE_ANIM_0].morphFrames); this->pathIndex = SEAHORSE_GET_PATH_INDEX(&this->actor); this->unk_344 = this->actor.world.rot.z; this->actor.world.rot.z = 0; @@ -163,7 +169,7 @@ void EnOt_Init(Actor* thisx, PlayState* play) { this->actor.colChkInfo.mass = MASS_IMMOVABLE; this->actor.gravity = 0.0f; SubS_FillCutscenesList(&this->actor, this->csIdList, ARRAY_COUNT(this->csIdList)); - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->skelAnime.curFrame = Rand_ZeroOne() * this->skelAnime.endFrame; this->lightNode = LightContext_InsertLight(play, &play->lightCtx, &this->lightInfo); this->unk_744.r = 255; @@ -221,6 +227,9 @@ void EnOt_Init(Actor* thisx, PlayState* play) { case 1: Actor_Kill(&this->actor); break; + + default: + break; } break; @@ -260,6 +269,9 @@ void EnOt_Init(Actor* thisx, PlayState* play) { func_80B5CE6C(this, play); } break; + + default: + break; } break; @@ -294,16 +306,16 @@ void func_80B5BAAC(LightInfo* lightInfo, Vec3f* arg1, Color_RGB8* arg2, s16 radi Lights_PointNoGlowSetInfo(lightInfo, arg1->x, arg1->y, arg1->z, arg2->r, arg2->g, arg2->b, radius); } -void func_80B5BB38(Color_RGB8* arg0, Color_RGB8* arg1, f32 arg2) { +void EnOt_LerpColor(Color_RGB8* arg0, Color_RGB8* arg1, f32 lerp) { f32 rand = Rand_ZeroOne(); - arg0->r = (arg1->r * arg2) + (arg1->r * (1.0f - arg2) * rand); - arg0->g = (arg1->g * arg2) + (arg1->g * (1.0f - arg2) * rand); - arg0->b = (arg1->b * arg2) + (arg1->b * (1.0f - arg2) * rand); + arg0->r = (arg1->r * lerp) + (arg1->r * (1.0f - lerp) * rand); + arg0->g = (arg1->g * lerp) + (arg1->g * (1.0f - lerp) * rand); + arg0->b = (arg1->b * lerp) + (arg1->b * (1.0f - lerp) * rand); } void func_80B5BDA8(EnOt* this, PlayState* play) { - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 1, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_1, &this->animIndex); SubS_FillCutscenesList(&this->actor, this->csIdList, ARRAY_COUNT(this->csIdList)); this->actionFunc = func_80B5BE04; } @@ -321,11 +333,14 @@ void func_80B5BE04(EnOt* this, PlayState* play) { func_80B5BF60(this, play); } break; + + default: + break; } } void func_80B5BE88(EnOt* this, PlayState* play) { - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 1, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_1, &this->animIndex); this->actionFunc = func_80B5BED4; } @@ -340,7 +355,7 @@ void func_80B5BED4(EnOt* this, PlayState* play) { void func_80B5BF60(EnOt* this, PlayState* play) { this->unk_32C |= 0x40; - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->actionFunc = func_80B5BFB8; } @@ -414,8 +429,9 @@ void func_80B5C25C(EnOt* this, PlayState* play) { if ((this->type == SEAHORSE_TYPE_2) && (this->unk_32C & 0x80) && (this->unk_360->unk_32C & 0x80)) { this->unk_32C |= 0x100; this->unk_360->unk_32C |= 0x100; - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 2, &this->animIndex); - SubS_ChangeAnimationBySpeedInfo(&this->unk_360->skelAnime, sAnimations, 2, &this->unk_360->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_2, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->unk_360->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_2, + &this->unk_360->animIndex); this->actor.flags |= ACTOR_FLAG_CANT_LOCK_ON; this->actor.flags &= ~(ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY); this->unk_360->actor.flags |= ACTOR_FLAG_CANT_LOCK_ON; @@ -493,7 +509,7 @@ void func_80B5C64C(EnOt* this, PlayState* play) { void func_80B5C684(EnOt* this, PlayState* play) { this->actor.speed = 0.0f; - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->actionFunc = func_80B5C6DC; } @@ -518,6 +534,9 @@ void func_80B5C6DC(EnOt* this, PlayState* play) { case 1: CutsceneManager_Stop(this->csIdList[3]); break; + + default: + break; } this->unk_73C = -1; } else { @@ -641,7 +660,7 @@ void func_80B5CCA0(EnOt* this, PlayState* play) { } void func_80B5CCF4(EnOt* this, PlayState* play) { - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->actionFunc = func_80B5CD40; } @@ -654,7 +673,10 @@ void func_80B5CD40(EnOt* this, PlayState* play) { temp = Math_SmoothStepToS(&this->actor.shape.rot.y, BINANG_ROT180(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play))), 3, 0xE38, 0x38E); this->actor.world.rot.y = this->actor.shape.rot.y; + + //! FAKE: if (1) {} + if (!temp) { SET_WEEKEVENTREG(WEEKEVENTREG_23_10); Message_StartTextbox(play, 0x1069, NULL); @@ -685,7 +707,7 @@ void func_80B5CD40(EnOt* this, PlayState* play) { void func_80B5CE6C(EnOt* this, PlayState* play) { this->unk_384 = 0; this->unk_32C |= 0x20; - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->actionFunc = func_80B5CEC8; } @@ -700,6 +722,7 @@ void func_80B5CEC8(EnOt* this, PlayState* play) { } Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0xE38, 0x38E); + if (this->unk_32C & 0x800) { this->actor.flags |= ACTOR_FLAG_10000; Actor_OfferTalkExchange(&this->actor, play, this->actor.xzDistToPlayer, this->actor.playerHeightRel, @@ -712,7 +735,7 @@ void func_80B5CEC8(EnOt* this, PlayState* play) { } } - if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_84_10) && (SEAHORSE_GET_TYPE(&this->actor) == 1)) { + if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_84_10) && (SEAHORSE_GET_TYPE(&this->actor) == SEAHORSE_TYPE_1)) { if ((fabsf(this->actor.xzDistToPlayer) <= 130.0f) && (fabsf(this->actor.playerHeightRel) <= 130.0f)) { player->unk_B2B = 29; } @@ -742,7 +765,7 @@ void func_80B5CEC8(EnOt* this, PlayState* play) { } void func_80B5D114(EnOt* this, PlayState* play) { - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 0, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_0, &this->animIndex); this->actionFunc = func_80B5D160; } @@ -754,7 +777,7 @@ void func_80B5D160(EnOt* this, PlayState* play) { case TEXT_STATE_NONE: temp = Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0xE38, 0x38E); this->actor.world.rot.y = this->actor.shape.rot.y; - if (temp == 0) { + if (!temp) { switch (this->unk_384) { case 0: if ((this->type != SEAHORSE_TYPE_1) && (this->type == SEAHORSE_TYPE_2)) { @@ -784,8 +807,10 @@ void func_80B5D160(EnOt* this, PlayState* play) { Message_StartTextbox(play, 0x106D, &this->actor); func_80B5D114(this, play); break; + + default: + break; } - break; } break; @@ -825,6 +850,9 @@ void func_80B5D160(EnOt* this, PlayState* play) { } } break; + + default: + break; } } @@ -897,7 +925,7 @@ void func_80B5D648(EnOt* this, PlayState* play) { this->actorPath.pointOffset.z = 0.0f; this->actor.gravity = 0.0f; this->actor.speed = 0.0f; - SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 1, &this->animIndex); + SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, SEAHORSE_ANIM_1, &this->animIndex); this->actor.flags |= ACTOR_FLAG_CANT_LOCK_ON; this->actor.flags &= ~(ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY); Flags_SetSwitch(play, SEAHORSE_GET_SWITCH_FLAG(&this->actor)); @@ -928,7 +956,7 @@ void func_80B5D750(EnOt* this, PlayState* play) { if ((this->unk_32C & 1) && (this->actor.xzDistToPlayer <= 180.0f)) { this->actor.flags &= ~ACTOR_FLAG_CANT_LOCK_ON; this->actor.flags |= (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY); - if (D_80B5E884 != 0) { + if (D_80B5E884 != NULL) { func_80B5C9A8(this, play); } else { func_80B5CBA0(this, play); @@ -940,7 +968,7 @@ void EnOt_Update(Actor* thisx, PlayState* play) { s32 pad; EnOt* this = THIS; - if ((this->animIndex == 1) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { + if ((this->animIndex == SEAHORSE_ANIM_1) && Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { Actor_PlaySfx(&this->actor, NA_SE_EV_SEAHORSE_SWIM); } @@ -969,10 +997,10 @@ void EnOt_Update(Actor* thisx, PlayState* play) { SkelAnime_Update(&this->skelAnime); Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); - func_80B5BB38(&this->unk_747, &this->unk_744, 0.7f); + EnOt_LerpColor(&this->unk_747, &this->unk_744, 0.7f); if (this->unk_32C & 0x400) { - func_80B5BAAC(&this->lightInfo, &this->unk_378, &this->unk_747, 0xD2); + func_80B5BAAC(&this->lightInfo, &this->unk_378, &this->unk_747, 210); } func_80B5E078(play, this->unk_3A4, 10); @@ -985,7 +1013,7 @@ void func_80B5DAEC(Actor* thisx, PlayState* play) { this->actionFunc(this, play); Actor_SetFocus(&this->actor, 12.0f); SkelAnime_Update(&this->skelAnime); - func_80B5BB38(&this->unk_747, &this->unk_744, 0.7f); + EnOt_LerpColor(&this->unk_747, &this->unk_744, 0.7f); if (this->unk_32C & 0x400) { func_80B5BAAC(&this->lightInfo, &this->unk_378, &this->unk_747, 210); } @@ -1037,7 +1065,7 @@ void EnOt_Draw(Actor* thisx, PlayState* play) { Gfx* gfx; Matrix_Push(); - func_80B5E1D8(play, this->unk_3A4, 10); + func_80B5E1D8(play, this->unk_3A4, ARRAY_COUNT(this->unk_3A4)); Matrix_Pop(); OPEN_DISPS(play->state.gfxCtx); @@ -1074,7 +1102,7 @@ void EnOt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, static Vec3f D_80B5E410 = { 400.0f, 600.0f, 0.0f }; EnOt* this = THIS; - if (limbIndex == 4) { + if (limbIndex == OBJECT_OT_LIMB_04) { OPEN_DISPS(play->state.gfxCtx); Gfx* gfx = POLY_OPA_DISP; @@ -1083,7 +1111,7 @@ void EnOt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Matrix_MultVec3f(&D_80B5E410, &this->unk_74C); CLOSE_DISPS(play->state.gfxCtx); - } else if (limbIndex == 1) { + } else if (limbIndex == OBJECT_OT_LIMB_01) { Matrix_MultZero(&this->unk_378); this->unk_32C |= 0x400; } @@ -1092,7 +1120,7 @@ void EnOt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, EnOtUnkStruct* func_80B5DF58(EnOtUnkStruct* arg0, u8 arg1, Vec3f* arg2, Vec3s* arg3, s32 arg4) { s32 i = 0; - while (i < arg4 && arg0->unk_00) { + while ((i < arg4) && arg0->unk_00) { i++; arg0++; } @@ -1145,7 +1173,7 @@ void func_80B5E078(PlayState* play, EnOtUnkStruct* arg1, s32 arg2) { void func_80B5E1D8(PlayState* play, EnOtUnkStruct* arg1, s32 arg2) { s32 i; - s32 flag = 0; + s32 flag = false; OPEN_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.h b/src/overlays/actors/ovl_En_Ot/z_en_ot.h index aa90ffa0b0..53fd00c1e4 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.h +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.h @@ -2,6 +2,7 @@ #define Z_EN_OT_H #include "global.h" +#include "objects/object_ot/object_ot.h" struct EnOt; @@ -42,8 +43,8 @@ typedef struct EnOt { /* 0x144 */ EnOtActionFunc actionFunc; /* 0x148 */ SkelAnime skelAnime; /* 0x18C */ ColliderCylinder collider; - /* 0x1D8 */ Vec3s jointTable[19]; - /* 0x24A */ Vec3s morphTable[19]; + /* 0x1D8 */ Vec3s jointTable[OBJECT_OT_LIMB_MAX]; + /* 0x24A */ Vec3s morphTable[OBJECT_OT_LIMB_MAX]; /* 0x2BC */ s32 animIndex; /* 0x2C0 */ ActorPathing actorPath; /* 0x32C */ u16 unk_32C; diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c index d587d03d64..6bff76bd72 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -149,7 +149,7 @@ void EnOwl_Init(Actor* thisx, PlayState* play) { switch (owlType) { case ENOWL_GET_TYPE_1: - if ((switchFlag < 0x7F) && Flags_GetSwitch(play, switchFlag)) { + if ((switchFlag < ENOWL_SWITCH_FLAG_NONE) && Flags_GetSwitch(play, switchFlag)) { Actor_Kill(&this->actor); return; } @@ -259,7 +259,7 @@ void func_8095AA70(EnOwl* this) { void func_8095AAD0(EnOwl* this, PlayState* play) { s32 switchFlag = ENOWL_GET_SWITCH_FLAG(&this->actor); - if (switchFlag < 0x7F) { + if (switchFlag < ENOWL_SWITCH_FLAG_NONE) { Flags_SetSwitch(play, switchFlag); } @@ -406,7 +406,7 @@ s32 func_8095B06C(EnOwl* this) { return false; } - if (this->unk_3F0 < (this->actor.world.pos.y - 2.0f)) { + if ((this->actor.world.pos.y - 2.0f) > this->unk_3F0) { this->actor.world.pos.y -= 2.0f; return false; } @@ -464,7 +464,7 @@ void func_8095B2F8(EnOwl* this, PlayState* play) { if ((this->actor.shape.rot.y == this->unk_3EC) && (this->actionFlags & 1)) { this->actionFunc = func_8095B254; - Animation_Change(this->skelAnime3, this->skelAnime3->animation, 1.0f, 19.0f, + Animation_Change(this->curSkelAnime, this->curSkelAnime->animation, 1.0f, 19.0f, Animation_GetLastFrame(&gOwlTakeoffAnim), ANIMMODE_ONCE, 0.0f); this->unk_414 = func_8095C484; } @@ -475,7 +475,7 @@ void func_8095B2F8(EnOwl* this, PlayState* play) { void func_8095B3DC(EnOwl* this, PlayState* play) { if (this->actionFlags & 1) { this->actionFunc = func_8095B2F8; - Animation_Change(this->skelAnime3, &gOwlTakeoffAnim, 1.0f, 0.0f, 35.0f, ANIMMODE_ONCE, 0.0f); + Animation_Change(this->curSkelAnime, &gOwlTakeoffAnim, 1.0f, 0.0f, 35.0f, ANIMMODE_ONCE, 0.0f); this->unk_414 = func_8095C408; this->unk_3EC = 0x5500; this->actor.world.pos.y += 100.0f; @@ -531,7 +531,7 @@ void func_8095B650(EnOwl* this, PlayState* play) { void func_8095B6C8(EnOwl* this, PlayState* play) { if (this->actionFlags & 1) { - Animation_Change(this->skelAnime3, &gOwlUnfoldWingsAnim, -1.0f, Animation_GetLastFrame(&gOwlUnfoldWingsAnim), + Animation_Change(this->curSkelAnime, &gOwlUnfoldWingsAnim, -1.0f, Animation_GetLastFrame(&gOwlUnfoldWingsAnim), 0.0f, ANIMMODE_ONCE, 0.0f); this->unk_414 = func_8095C484; this->actionFunc = func_8095B650; @@ -553,13 +553,14 @@ void func_8095B76C(EnOwl* this, PlayState* play) { points = Lib_SegmentedToVirtual(this->path->points); points += this->unk_3F8; - do { + //! FAKE: + if (1) { this->actor.world.pos.x = points->x; this->actor.world.pos.z = points->z; - } while (0); + } this->unk_3F8++; - if (this->path->count <= this->unk_3F8) { + if (this->unk_3F8 >= this->path->count) { this->actionFunc = func_8095B6C8; return; } @@ -604,7 +605,7 @@ void func_8095B960(EnOwl* this, PlayState* play) { void func_8095B9FC(EnOwl* this, PlayState* play) { if (this->actionFlags & 1) { this->actionFunc = func_8095B960; - Animation_Change(this->skelAnime3, &gOwlTakeoffAnim, 1.0f, 0.0f, 35.0f, ANIMMODE_ONCE, 0.0f); + Animation_Change(this->curSkelAnime, &gOwlTakeoffAnim, 1.0f, 0.0f, 35.0f, ANIMMODE_ONCE, 0.0f); this->unk_414 = func_8095C408; func_8095B0C8(this); } @@ -818,36 +819,36 @@ void func_8095C1C8(EnOwl* this, PlayState* play) { } void func_8095C258(EnOwl* this) { - SkelAnime_Update(this->skelAnime3); + SkelAnime_Update(this->curSkelAnime); if (this->unk_3EA > 0) { this->unk_3EA--; this->actor.shape.rot.z = Math_SinS(this->unk_3EA * 0x333) * 1000.0f; } else { this->unk_414 = func_8095C328; this->unk_3EA = 6; - Animation_Change(this->skelAnime3, &gOwlFlyAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlFlyAnim), + Animation_Change(this->curSkelAnime, &gOwlFlyAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlFlyAnim), ANIMMODE_ONCE, 5.0f); } } void func_8095C328(EnOwl* this) { - if (SkelAnime_Update(this->skelAnime3)) { + if (SkelAnime_Update(this->curSkelAnime)) { if (this->unk_3EA > 0) { this->unk_3EA--; - Animation_Change(this->skelAnime3, this->skelAnime3->animation, 1.0f, 0.0f, - Animation_GetLastFrame(this->skelAnime3->animation), ANIMMODE_ONCE, 0.0f); + Animation_Change(this->curSkelAnime, this->curSkelAnime->animation, 1.0f, 0.0f, + Animation_GetLastFrame(this->curSkelAnime->animation), ANIMMODE_ONCE, 0.0f); } else { this->unk_3EA = 160; this->unk_414 = func_8095C258; - Animation_Change(this->skelAnime3, &gOwlGlideAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlGlideAnim), + Animation_Change(this->curSkelAnime, &gOwlGlideAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gOwlGlideAnim), ANIMMODE_LOOP, 5.0f); } } } void func_8095C408(EnOwl* this) { - if (SkelAnime_Update(this->skelAnime3)) { - Animation_Change(this->skelAnime3, this->skelAnime3->animation, 1.0f, 18.0f, 35.0f, ANIMMODE_ONCE, 0.0f); + if (SkelAnime_Update(this->curSkelAnime)) { + Animation_Change(this->curSkelAnime, this->curSkelAnime->animation, 1.0f, 18.0f, 35.0f, ANIMMODE_ONCE, 0.0f); this->actionFlags |= 1; } else { this->actionFlags &= ~1; @@ -855,9 +856,9 @@ void func_8095C408(EnOwl* this) { } void func_8095C484(EnOwl* this) { - if (SkelAnime_Update(this->skelAnime3)) { - Animation_Change(this->skelAnime3, this->skelAnime3->animation, 1.0f, 0.0f, - Animation_GetLastFrame(this->skelAnime3->animation), ANIMMODE_ONCE, 0.0f); + if (SkelAnime_Update(this->curSkelAnime)) { + Animation_Change(this->curSkelAnime, this->curSkelAnime->animation, 1.0f, 0.0f, + Animation_GetLastFrame(this->curSkelAnime->animation), ANIMMODE_ONCE, 0.0f); this->actionFlags |= 1; } else { this->actionFlags &= ~1; @@ -1081,7 +1082,9 @@ void EnOwl_Update(Actor* thisx, PlayState* play) { } } + //! FAKE: if (sp36) {} + this->unk_3DC = (u16)((this->unk_3DA << 2) << 8) + sp36; this->unk_3D8 = ABS(this->unk_3DC) >> 3; } else { @@ -1130,23 +1133,23 @@ s32 EnOwl_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p EnOwl* this = THIS; switch (limbIndex) { - case 3: + case OWL_FLYING_LIMB_HEAD: // OWL_PERCHING_LIMB_HEAD rot->x += this->unk_3DC; rot->z += this->unk_3D8; rot->z -= this->unk_3DE; break; - case 2: + case OWL_FLYING_LIMB_UPPER_BODY: // OWL_PERCHING_LIMB_UPPER_BODY rot->z += this->unk_3DE; break; - case 4: + case OWL_FLYING_LIMB_RIGHT_EYEBROW: // OWL_PERCHING_LIMB_RIGHT_EYEBROW if (!(this->actionFlags & 8)) { rot->y -= (s16)(this->unk_3D8 * 1.5f); } break; - case 5: + case OWL_FLYING_LIMB_LEFT_EYEBROW: // OWL_PERCHING_LIMB_LEFT_EYEBROW if (!(this->actionFlags & 8)) { rot->y += (s16)(this->unk_3D8 * 1.5f); } @@ -1172,13 +1175,13 @@ void EnOwl_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, sp18.x = 1400.0f; } - if (limbIndex == 3) { + if (limbIndex == OWL_FLYING_LIMB_HEAD) { // OWL_PERCHING_LIMB_HEAD Matrix_MultVec3f(&sp18, &this->actor.focus.pos); } } void EnOwl_Draw(Actor* thisx, PlayState* play) { - static TexturePtr eyeTextures[] = { + static TexturePtr sEyeTextures[] = { gOwlEyeOpenTex, gOwlEyeHalfTex, gOwlEyeClosedTex, @@ -1190,10 +1193,10 @@ void EnOwl_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL37_Opa(play->state.gfxCtx); - gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(eyeTextures[this->eyeTexIndex])); + gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->eyeTexIndex])); - SkelAnime_DrawFlexOpa(play, this->skelAnime3->skeleton, this->skelAnime3->jointTable, this->skelAnime3->dListCount, - EnOwl_OverrideLimbDraw, EnOwl_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(play, this->curSkelAnime->skeleton, this->curSkelAnime->jointTable, + this->curSkelAnime->dListCount, EnOwl_OverrideLimbDraw, EnOwl_PostLimbDraw, &this->actor); CLOSE_DISPS(play->state.gfxCtx); } @@ -1229,8 +1232,8 @@ void func_8095D074(Actor* thisx, PlayState* play) { void EnOwl_ChangeMode(EnOwl* this, EnOwlActionFunc actionFunc, EnOwlFunc unkFunc, SkelAnime* skelAnime, AnimationHeader* animation, f32 morphFrames) { - this->skelAnime3 = skelAnime; - Animation_Change(this->skelAnime3, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, + this->curSkelAnime = skelAnime; + Animation_Change(this->curSkelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, morphFrames); this->actionFunc = actionFunc; this->unk_414 = unkFunc; diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.h b/src/overlays/actors/ovl_En_Owl/z_en_owl.h index 9e354a6a73..4beee5f4b0 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.h +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.h @@ -13,6 +13,8 @@ typedef void (*EnOwlFunc)(struct EnOwl*); #define ENOWL_GET_TYPE(thisx) (((thisx)->params & 0xF80) >> 7) #define ENOWL_GET_SWITCH_FLAG(thisx) ((thisx)->params & 0x7F) +#define ENOWL_SWITCH_FLAG_NONE 0x7F + typedef enum { /* 0x001 */ ENOWL_GET_TYPE_1 = 1, /* 0x002 */ ENOWL_GET_TYPE_2, @@ -30,7 +32,7 @@ typedef struct EnOwl { /* 0x2D0 */ SkelAnime skelAnimePerching; /* 0x314 */ Vec3s jointTablePerching[OWL_PERCHING_LIMB_MAX]; /* 0x374 */ Vec3s morphTablePerching[OWL_PERCHING_LIMB_MAX]; - /* 0x3D4 */ SkelAnime* skelAnime3; + /* 0x3D4 */ SkelAnime* curSkelAnime; // Points to the currently active SkelAnime /* 0x3D8 */ s16 unk_3D8; /* 0x3DA */ s16 unk_3DA; /* 0x3DC */ s16 unk_3DC; diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c index c2437b7e9a..8bd5ce790e 100644 --- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c +++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c @@ -949,8 +949,8 @@ void EnPametfrog_DefeatSnapper(EnPametfrog* this, PlayState* play) { void EnPametfrog_SetupSpawnFrog(EnPametfrog* this, PlayState* play) { static Vec3f sAccel = { 0.0f, -0.5f, 0.0f }; - static Color_RGBA8 primColor = { 250, 250, 250, 255 }; - static Color_RGBA8 envColor = { 180, 180, 180, 255 }; + static Color_RGBA8 sPrimColor = { 250, 250, 250, 255 }; + static Color_RGBA8 sEnvColor = { 180, 180, 180, 255 }; s16 yaw = BINANG_ROT180(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play))); Vec3f vec1; Vec3f velocity; @@ -962,7 +962,7 @@ void EnPametfrog_SetupSpawnFrog(EnPametfrog* this, PlayState* play) { vec1.y = this->actor.world.pos.y + 25.0f; vec1.z = (Math_CosS(yaw) * 20.0f) + this->actor.world.pos.z; this->collider.base.ocFlags1 &= ~OC1_ON; - func_800B0DE0(play, &vec1, &gZeroVec3f, &gZeroVec3f, &primColor, &envColor, 800, 50); + func_800B0DE0(play, &vec1, &gZeroVec3f, &gZeroVec3f, &sPrimColor, &sEnvColor, 800, 50); SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_EN_NPC_APPEAR); Flags_SetClearTemp(play, play->roomCtx.curRoom.num); diff --git a/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.c b/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.c index 39c41ff981..134cd90665 100644 --- a/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.c +++ b/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.c @@ -23,7 +23,6 @@ void EnPoFusen_InitFuse(EnPoFusen* this); void EnPoFusen_Pop(EnPoFusen* this, PlayState* play); void EnPoFusen_Idle(EnPoFusen* this, PlayState* play); void EnPoFusen_IdleFuse(EnPoFusen* this, PlayState* play); -s32 EnPoFusen_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); ActorInit En_Po_Fusen_InitVars = { /**/ ACTOR_EN_PO_FUSEN, diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c index 05bbd0033d..a3b96c367f 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c @@ -711,7 +711,7 @@ void EnPr2_Update(Actor* thisx, PlayState* play) { } } -s32 func_80A758E8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnPr2_OverrideLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnPr2* this = THIS; if (this->unk_1E0 < 10) { @@ -724,7 +724,7 @@ s32 func_80A758E8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80A75950(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnPr2_PostLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { EnPr2* this = THIS; if (this->unk_1E0 < 10) { @@ -736,7 +736,8 @@ void func_80A75950(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto } } -s32 func_80A759D8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) { +s32 EnPr2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, + Gfx** gfx) { EnPr2* this = THIS; if (this->unk_1E0 < 10) { @@ -763,7 +764,7 @@ void EnPr2_Draw(Actor* thisx, PlayState* play) { Scene_SetRenderModeXlu(play, 0, 1); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80A758E8, func_80A75950, &this->actor); + EnPr2_OverrideLimbDrawOpa, EnPr2_PostLimbDrawOpa, &this->actor); } else { gDPPipeSync(POLY_XLU_DISP++); gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_1F4); @@ -771,7 +772,7 @@ void EnPr2_Draw(Actor* thisx, PlayState* play) { Scene_SetRenderModeXlu(play, 1, 2); POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80A759D8, NULL, &this->actor, POLY_XLU_DISP); + EnPr2_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Prz/z_en_prz.c b/src/overlays/actors/ovl_En_Prz/z_en_prz.c index f134efc2a2..38cf4bd3f3 100644 --- a/src/overlays/actors/ovl_En_Prz/z_en_prz.c +++ b/src/overlays/actors/ovl_En_Prz/z_en_prz.c @@ -498,7 +498,7 @@ void EnPrz_Update(Actor* thisx, PlayState* play) { } } -s32 func_80A76F70(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnPrz_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnPrz* this = THIS; if (limbIndex == OBJECT_PR_2_LIMB_02) { @@ -507,7 +507,7 @@ s32 func_80A76F70(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80A76FCC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnPrz_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; EnPrz* this = THIS; @@ -531,7 +531,7 @@ void EnPrz_Draw(Actor* thisx, PlayState* play) { Scene_SetRenderModeXlu(play, 0, 1); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80A76F70, func_80A76FCC, &this->actor); + EnPrz_OverrideLimbDraw, EnPrz_PostLimbDraw, &this->actor); } else { gDPPipeSync(POLY_XLU_DISP++); gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_1EC); diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.c b/src/overlays/actors/ovl_En_Rg/z_en_rg.c index f3d89deaf4..9d8b157ba8 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.c +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.c @@ -824,7 +824,7 @@ void func_80BF547C(EnRg* this, PlayState* play) { CLOSE_DISPS(play->state.gfxCtx); } -s32 func_80BF5588(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnRg_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnRg* this = THIS; s32 fidgetIndex; @@ -865,7 +865,7 @@ void EnRg_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80BF59F8[this->unk_31E])); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80BF5588, NULL, &this->actor); + EnRg_OverrideLimbDraw, NULL, &this->actor); CLOSE_DISPS(play->state.gfxCtx); } else { diff --git a/src/overlays/actors/ovl_En_Ru/z_en_ru.c b/src/overlays/actors/ovl_En_Ru/z_en_ru.c index 3152da1520..fffd0e26bc 100644 --- a/src/overlays/actors/ovl_En_Ru/z_en_ru.c +++ b/src/overlays/actors/ovl_En_Ru/z_en_ru.c @@ -305,7 +305,7 @@ void EnRu_Update(Actor* thisx, PlayState* play) { EnRu_UpdateCollider(this, play); } -s32 EnRu_OverrideLimbdraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 EnRu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) { EnRu* this = THIS; @@ -330,7 +330,7 @@ s32 EnRu_OverrideLimbdraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po return false; } -void EnRu_PostLimbdraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnRu_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { EnRu* this = THIS; Vec3f headFocus = { 800.0f, 0, 0 }; Vec3f bodyPartPos = { 0, 0, 0 }; @@ -384,7 +384,7 @@ void EnRu_Draw(Actor* thisx, PlayState* play) { POLY_OPA_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - EnRu_OverrideLimbdraw, EnRu_PostLimbdraw, &this->actor, POLY_OPA_DISP); + EnRu_OverrideLimbDraw, EnRu_PostLimbDraw, &this->actor, POLY_OPA_DISP); Matrix_RotateXS(0, MTXMODE_NEW); diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c index adfc614adc..f00660a7c6 100644 --- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c +++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c @@ -189,15 +189,6 @@ static TexturePtr sEyeTextures[] = { gGoronEyeClosed2Tex, }; -u16 EnSGoro_ShrineGoron_NextTextId(EnSGoro* this, PlayState* play); -u16 EnSGoro_BombshopGoron_NextTextId(EnSGoro* this, PlayState* play); - -s32 EnSGoro_FindGoronElder(EnSGoro* this, PlayState* play); -s32 EnSGoro_FindGoronChild(EnSGoro* this, PlayState* play); -s32 EnSGoro_CheckLullaby(EnSGoro* this, PlayState* play); -s32 EnSGoro_CheckGKBehavior(EnSGoro* this, PlayState* play); - -void EnSGoro_SetupAction(EnSGoro* this, PlayState* play); void EnSGoro_WinterShrineGoron_Idle(EnSGoro* this, PlayState* play); void EnSGoro_WinterShrineGoron_Talk(EnSGoro* this, PlayState* play); void EnSGoro_SpringShrineGoron_Idle(EnSGoro* this, PlayState* play); @@ -210,23 +201,6 @@ void EnSGoro_ShopGoron_FinishTransaction(EnSGoro* this, PlayState* play); void EnSGoro_Sleep(EnSGoro* this, PlayState* play); void EnSGoro_SleepTalk(EnSGoro* this, PlayState* play); -s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play); -s32 EnSGoro_UpdateRotationToPlayer(EnSGoro* this, PlayState* play); -s32 EnSGoro_UpdateAttentionTarget(EnSGoro* this, PlayState* play); -void EnSGoro_UpdateToHandtapAnimation(EnSGoro* this); -void EnSGoro_UpdateSleepyAnimation(EnSGoro* this); -void EnSGoro_UpdateToIdleAnimation(EnSGoro* this); -void EnSGoro_UpdateEyes(EnSGoro* this); -void EnSGoro_UpdateActorFocus(EnSGoro* this); -void EnSGoro_UpdateSleeping(EnSGoro* this, PlayState* play); -void EnSGoro_UpdateCollider(EnSGoro* this, PlayState* play); - -s32 EnSGoro_UpdateLimb(s16 newRotZ, s16 newRotY, Vec3f* pos, Vec3s* rot, s32 stepRot, s32 overrideRot); -s32 EnSGoro_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); -void EnSGoro_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx); -void EnSGoro_DrawUnrolled(EnSGoro* this, PlayState* play); -void EnSGoro_DrawRolledUp(EnSGoro* this, PlayState* play); - /** * Dialogue tree for EnSGoro when use in Goron Shrine context. Returns ID of next message to display. */ diff --git a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c index fb7e316705..cf902578c4 100644 --- a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c +++ b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c @@ -92,10 +92,10 @@ s32 EnSth2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* } void EnSth2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { - static Vec3f focusOffset = { 700.0f, 400.0f, 0.0f }; + static Vec3f sFocusOffset = { 700.0f, 400.0f, 0.0f }; if (limbIndex == STH_LIMB_HEAD) { - Matrix_MultVec3f(&focusOffset, &thisx->focus.pos); + Matrix_MultVec3f(&sFocusOffset, &thisx->focus.pos); OPEN_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c index 2bb3e1b942..d174175af0 100644 --- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c +++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c @@ -16,10 +16,8 @@ void EnTakaraya_Destroy(Actor* thisx, PlayState* play); void EnTakaraya_Update(Actor* thisx, PlayState* play); void EnTakaraya_Draw(Actor* thisx, PlayState* play); -void EnTakaraya_Blink(EnTakaraya* this); void EnTakaraya_SetupWait(EnTakaraya* this); void EnTakaraya_Wait(EnTakaraya* this, PlayState* play); -void EnTakaraya_SpawnWalls(EnTakaraya* this, PlayState* play); void EnTakaraya_SetupTalk(EnTakaraya* this); void EnTakaraya_Talk(EnTakaraya* this, PlayState* play); void func_80ADF2D4(EnTakaraya* this); @@ -32,8 +30,6 @@ void func_80ADF6DC(EnTakaraya* this); void func_80ADF730(EnTakaraya* this, PlayState* play); void func_80ADF7B8(EnTakaraya* this); void func_80ADF7CC(EnTakaraya* this, PlayState* play); -s32 EnTakaraya_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); -void EnTakaraya_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx); ActorInit En_Takaraya_InitVars = { /**/ ACTOR_EN_TAKARAYA, diff --git a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c index 39deef3939..345c1e0ee2 100644 --- a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c +++ b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c @@ -490,7 +490,7 @@ void EnWiz_KillMagicProjectile(EnWizFire* this, PlayState* play) { void EnWizFire_Update(Actor* thisx, PlayState* play2) { // These are AmbientColor, DiffuseColor1, DiffuseColor2, and fogColor - static Color_RGB8 lightSettingsColors[] = { + static Color_RGB8 sLightSettingsColors[] = { { 100, 40, 40 }, { 180, 120, 80 }, { 155, 80, 80 }, { 125, 20, 0 }, // Fire { 0, 0, 0 }, { 200, 250, 250 }, { 100, 250, 250 }, { 225, 255, 235 }, // Ice }; @@ -522,35 +522,38 @@ void EnWizFire_Update(Actor* thisx, PlayState* play2) { (fogNear - (s16)play->envCtx.lightSettings.fogNear) * this->blendScaleFrac; play->envCtx.adjLightSettings.ambientColor[0] = - ((f32)lightSettingsColors[index].r - play->envCtx.lightSettings.ambientColor[0]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].r - play->envCtx.lightSettings.ambientColor[0]) * + this->blendScaleFrac; play->envCtx.adjLightSettings.ambientColor[1] = - ((f32)lightSettingsColors[index].g - play->envCtx.lightSettings.ambientColor[1]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].g - play->envCtx.lightSettings.ambientColor[1]) * + this->blendScaleFrac; play->envCtx.adjLightSettings.ambientColor[2] = - ((f32)lightSettingsColors[index].b - play->envCtx.lightSettings.ambientColor[2]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].b - play->envCtx.lightSettings.ambientColor[2]) * + this->blendScaleFrac; index++; play->envCtx.adjLightSettings.light1Color[0] = - ((f32)lightSettingsColors[index].r - play->envCtx.lightSettings.light1Color[0]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].r - play->envCtx.lightSettings.light1Color[0]) * this->blendScaleFrac; play->envCtx.adjLightSettings.light1Color[1] = - ((f32)lightSettingsColors[index].g - play->envCtx.lightSettings.light1Color[1]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].g - play->envCtx.lightSettings.light1Color[1]) * this->blendScaleFrac; play->envCtx.adjLightSettings.light1Color[2] = - ((f32)lightSettingsColors[index].b - play->envCtx.lightSettings.light1Color[2]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].b - play->envCtx.lightSettings.light1Color[2]) * this->blendScaleFrac; index++; play->envCtx.adjLightSettings.light2Color[0] = - ((f32)lightSettingsColors[index].r - play->envCtx.lightSettings.light2Color[0]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].r - play->envCtx.lightSettings.light2Color[0]) * this->blendScaleFrac; play->envCtx.adjLightSettings.light2Color[1] = - ((f32)lightSettingsColors[index].g - play->envCtx.lightSettings.light2Color[1]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].g - play->envCtx.lightSettings.light2Color[1]) * this->blendScaleFrac; play->envCtx.adjLightSettings.light2Color[2] = - ((f32)lightSettingsColors[index].b - play->envCtx.lightSettings.light2Color[2]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].b - play->envCtx.lightSettings.light2Color[2]) * this->blendScaleFrac; index++; play->envCtx.adjLightSettings.fogColor[0] = - ((f32)lightSettingsColors[index].r - play->envCtx.lightSettings.fogColor[0]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].r - play->envCtx.lightSettings.fogColor[0]) * this->blendScaleFrac; play->envCtx.adjLightSettings.fogColor[1] = - ((f32)lightSettingsColors[index].g - play->envCtx.lightSettings.fogColor[1]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].g - play->envCtx.lightSettings.fogColor[1]) * this->blendScaleFrac; play->envCtx.adjLightSettings.fogColor[2] = - ((f32)lightSettingsColors[index].b - play->envCtx.lightSettings.fogColor[2]) * this->blendScaleFrac; + ((f32)sLightSettingsColors[index].b - play->envCtx.lightSettings.fogColor[2]) * this->blendScaleFrac; } } diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c index 3ff7b81808..bb7851fc64 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c @@ -736,7 +736,7 @@ void EnZob_Update(Actor* thisx, PlayState* play) { } } -s32 func_80BA0F64(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnZob_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { EnZob* this = THIS; if (limbIndex == 9) { @@ -746,7 +746,7 @@ s32 func_80BA0F64(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s return false; } -void func_80BA0FAC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnZob_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { EnZob* this = THIS; if (limbIndex == 9) { @@ -766,7 +766,7 @@ void EnZob_Draw(Actor* thisx, PlayState* play) { } SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80BA0F64, func_80BA0FAC, &this->actor); + EnZob_OverrideLimbDraw, EnZob_PostLimbDraw, &this->actor); if (this->unk_2F4 & 0x20) { POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP); diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c index e96bbc3b34..7bfcf5935f 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c @@ -971,7 +971,7 @@ void EnZog_Update(Actor* thisx, PlayState* play) { } } -void EnZog_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnZog_PostLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { static Vec3f D_80B959B8 = { 0.0f, 0.0f, 0.0f }; EnZog* this = THIS; @@ -994,7 +994,7 @@ void EnZog_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, } } -void func_80B95598(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnZog_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { static Vec3f D_80B959C4 = { 0.0f, 0.0f, 0.0f }; EnZog* this = THIS; @@ -1039,7 +1039,7 @@ void EnZog_Draw(Actor* thisx, PlayState* play) { POLY_XLU_DISP = &gfx[3]; POLY_XLU_DISP = SkelAnime_DrawFlex(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - NULL, func_80B95598, &this->actor, POLY_XLU_DISP); + NULL, EnZog_PostLimbDraw, &this->actor, POLY_XLU_DISP); } else { Gfx_SetupDL25_Opa(play->state.gfxCtx); Scene_SetRenderModeXlu(play, 0, 1); @@ -1052,7 +1052,7 @@ void EnZog_Draw(Actor* thisx, PlayState* play) { POLY_OPA_DISP = &gfx[3]; SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - NULL, EnZog_PostLimbDraw, &this->actor); + NULL, EnZog_PostLimbDrawOpa, &this->actor); } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.c b/src/overlays/actors/ovl_En_Zos/z_en_zos.c index fe24256aad..efc6ce176b 100644 --- a/src/overlays/actors/ovl_En_Zos/z_en_zos.c +++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.c @@ -714,11 +714,11 @@ void EnZos_Update(Actor* thisx, PlayState* play) { } } -s32 func_80BBC4E4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnZos_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { return false; } -void func_80BBC500(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnZos_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { static Vec3f D_80BBC750 = { 0.0f, 0.0f, 0.0f }; if (limbIndex == EVAN_LIMB_HEAD) { @@ -760,7 +760,7 @@ void EnZos_Draw(Actor* thisx, PlayState* play) { Matrix_Pop(); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, - func_80BBC4E4, func_80BBC500, &this->actor); + EnZos_OverrideLimbDraw, EnZos_PostLimbDraw, &this->actor); if (this->unk_2B6 & 0x40) { POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP); diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.c b/src/overlays/actors/ovl_En_Zow/z_en_zow.c index 05c90cc8ab..3fe0043513 100644 --- a/src/overlays/actors/ovl_En_Zow/z_en_zow.c +++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.c @@ -602,14 +602,14 @@ Gfx* func_80BDDA7C(GraphicsContext* gfxCtx) { Vec3f D_80BDDD4C = { 400.0f, 0.0f, 0.0f }; -void func_80BDDAA0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnZow_PostLimbDrawOpa(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { if (limbIndex == 15) { Matrix_MultVec3f(&D_80BDDD4C, &thisx->focus.pos); } } -void func_80BDDAE0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { - func_80BDDAA0(play, limbIndex, dList, rot, thisx); +void EnZow_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { + EnZow_PostLimbDrawOpa(play, limbIndex, dList, rot, thisx); } void EnZow_Draw(Actor* thisx, PlayState* play) { @@ -639,11 +639,11 @@ void EnZow_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x0C, func_80BDDA7C(play->state.gfxCtx)); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, - this->skelAnime.dListCount, NULL, func_80BDDAA0, &this->actor); + this->skelAnime.dListCount, NULL, EnZow_PostLimbDrawOpa, &this->actor); } else { gSPSegment(POLY_XLU_DISP++, 0x08, Lib_SegmentedToVirtual(sp54[this->unk_2C4])); - func_800BDAA0(play, &this->skelAnime, NULL, func_80BDDAE0, &this->actor, this->unk_2CE); + func_800BDAA0(play, &this->skelAnime, NULL, EnZow_PostLimbDraw, &this->actor, this->unk_2CE); } CLOSE_DISPS(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c index 2241f99f2a..4b3914368d 100644 --- a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c +++ b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c @@ -316,7 +316,7 @@ void ObjDora_Update(Actor* thisx, PlayState* play) { } void ObjDora_Draw(Actor* thisx, PlayState* play) { - static Vec3f position = { 0.0f, -61.5f, 0.0f }; + static Vec3f sPos = { 0.0f, -61.5f, 0.0f }; ObjDora* this = THIS; f32 gongForceX; @@ -335,9 +335,9 @@ void ObjDora_Draw(Actor* thisx, PlayState* play) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, &gDoraChainDL); - Matrix_Translate(position.x, position.y + gongForceX, position.z + gongForceX, MTXMODE_APPLY); + Matrix_Translate(sPos.x, sPos.y + gongForceX, sPos.z + gongForceX, MTXMODE_APPLY); Matrix_RotateXS(this->gongRotation.z - this->gongRotation.x, MTXMODE_APPLY); - Matrix_Translate(-position.x, -position.y, -position.z, MTXMODE_APPLY); + Matrix_Translate(-sPos.x, -sPos.y, -sPos.z, MTXMODE_APPLY); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, &gDoraGongDL); diff --git a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c index 264053dff0..cb256ffc2a 100644 --- a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c +++ b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.c @@ -20,8 +20,8 @@ void ObjHgdoor_SetupIdle(ObjHgdoor* this); void ObjHgdoor_Idle(ObjHgdoor* this, PlayState* play); void ObjHgdoor_SetupCutscene(ObjHgdoor* this); void ObjHgdoor_PlayCutscene(ObjHgdoor* this, PlayState* play); -void ObjHgdoor_SetupCsAction(ObjHgdoor* this); -void ObjHgdoor_HandleCsAction(ObjHgdoor* this, PlayState* play); +void ObjHgdoor_SetupHandleCutscene(ObjHgdoor* this); +void ObjHgdoor_HandleCutscene(ObjHgdoor* this, PlayState* play); void ObjHgdoor_SetupStopCs(ObjHgdoor* this); void ObjHgdoor_StopCs(ObjHgdoor* this, PlayState* play); s32 ObjHgdoor_Rotate(ObjHgdoor* this, PlayState* play); @@ -110,8 +110,8 @@ void ObjHgdoor_SetupCutscene(ObjHgdoor* this) { void ObjHgdoor_PlayCutscene(ObjHgdoor* this, PlayState* play) { if (CutsceneManager_IsNext(this->csId)) { CutsceneManager_Start(this->csId, &this->dyna.actor); - ObjHgdoor_SetupCsAction(this); - ObjHgdoor_SetupCsAction((ObjHgdoor*)this->dyna.actor.child); + ObjHgdoor_SetupHandleCutscene(this); + ObjHgdoor_SetupHandleCutscene((ObjHgdoor*)this->dyna.actor.child); } else { if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) { CutsceneManager_Stop(CS_ID_GLOBAL_TALK); @@ -120,12 +120,12 @@ void ObjHgdoor_PlayCutscene(ObjHgdoor* this, PlayState* play) { } } -void ObjHgdoor_SetupCsAction(ObjHgdoor* this) { +void ObjHgdoor_SetupHandleCutscene(ObjHgdoor* this) { this->cueId = 99; - this->actionFunc = ObjHgdoor_HandleCsAction; + this->actionFunc = ObjHgdoor_HandleCutscene; } -void ObjHgdoor_HandleCsAction(ObjHgdoor* this, PlayState* play) { +void ObjHgdoor_HandleCutscene(ObjHgdoor* this, PlayState* play) { s32 cueChannel; if (Cutscene_IsCueInChannel(play, CS_CMD_ACTOR_CUE_483)) { diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 412d5ae1f4..40790fe654 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -4,7 +4,6 @@ * Description: Player */ -#include "prevent_bss_reordering.h" #include "global.h" #include "z64horse.h" #include "z64malloc.h" diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c index 46397dc199..d401747276 100644 --- a/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c +++ b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c @@ -22,7 +22,7 @@ EffectSsInit Effect_Ss_G_Splash_InitVars = { EffectSsGSplash_Init, }; -static TexturePtr waterSplashTextures[] = { +static TexturePtr sWaterSplashTextures[] = { gEffWaterSplash1Tex, gEffWaterSplash2Tex, gEffWaterSplash3Tex, gEffWaterSplash4Tex, gEffWaterSplash5Tex, gEffWaterSplash6Tex, gEffWaterSplash7Tex, gEffWaterSplash8Tex, }; @@ -105,7 +105,7 @@ void EffectSsGSplash_Draw(PlayState* play, u32 index, EffectSs* this) { if (texIndex > 7) { texIndex = 7; } - EffectSs_DrawGEffect(play, this, waterSplashTextures[texIndex]); + EffectSs_DrawGEffect(play, this, sWaterSplashTextures[texIndex]); break; case EFFSSGSPLASH_TYPE_1: @@ -113,7 +113,7 @@ void EffectSsGSplash_Draw(PlayState* play, u32 index, EffectSs* this) { if (texIndex > 7) { texIndex = 7; } - EffectSs_DrawGEffect(play, this, waterSplashTextures[texIndex]); + EffectSs_DrawGEffect(play, this, sWaterSplashTextures[texIndex]); break; case EFFSSGSPLASH_TYPE_2: @@ -121,7 +121,7 @@ void EffectSsGSplash_Draw(PlayState* play, u32 index, EffectSs* this) { if (texIndex > 7) { texIndex = 7; } - EffectSs_DrawGEffect(play, this, waterSplashTextures[texIndex]); + EffectSs_DrawGEffect(play, this, sWaterSplashTextures[texIndex]); break; } } diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 936e9cddd5..7054d45144 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -5599,8 +5599,8 @@ 0x8089D42C:("func_8089D42C",), 0x8089D60C:("func_8089D60C",), 0x8089D960:("EnDinofos_Update",), - 0x8089DC4C:("func_8089DC4C",), - 0x8089DC84:("func_8089DC84",), + 0x8089DC4C:("EnDinofos_OverrideLimbDraw",), + 0x8089DC84:("EnDinofos_PostLimbDraw",), 0x8089DF54:("EnDinofos_Draw",), 0x8089E8E0:("EnHata_Init",), 0x8089E9DC:("EnHata_Destroy",), @@ -7981,7 +7981,7 @@ 0x8096A38C:("func_8096A38C",), 0x8096A6F4:("func_8096A6F4",), 0x8096A8A4:("EnJs_Update",), - 0x8096A9F4:("func_8096A9F4",), + 0x8096A9F4:("EnJs_PostLimbDraw",), 0x8096AB20:("EnJs_Draw",), 0x8096B0A0:("EnOkarinaEffect_SetupAction",), 0x8096B0AC:("EnOkarinaEffect_Destroy",), @@ -10263,8 +10263,8 @@ 0x80A38E04:("EnRu_Init",), 0x80A38F10:("EnRu_Destroy",), 0x80A38F3C:("EnRu_Update",), - 0x80A38FB4:("EnRu_OverrideLimbdraw",), - 0x80A390F8:("EnRu_PostLimbdraw",), + 0x80A38FB4:("EnRu_OverrideLimbDraw",), + 0x80A390F8:("EnRu_PostLimbDraw",), 0x80A39204:("EnRu_Draw",), 0x80A396B0:("EnElfgrp_SetCutscene",), 0x80A3970C:("EnElfgrp_Init",), @@ -10582,11 +10582,11 @@ 0x80A518EC:("EnDnk_Init",), 0x80A519A8:("EnDnk_Destroy",), 0x80A519D4:("EnDnk_Update",), - 0x80A51A78:("func_80A51A78",), - 0x80A51AA4:("func_80A51AA4",), + 0x80A51A78:("EnDnk_OverrideLimbDraw2",), + 0x80A51AA4:("EnDnk_PostLimbDraw2",), 0x80A51CB8:("func_80A51CB8",), - 0x80A51D78:("func_80A51D78",), - 0x80A51DA4:("func_80A51DA4",), + 0x80A51D78:("EnDnk_OverrideLimbDraw1",), + 0x80A51DA4:("EnDnk_PostLimbDraw1",), 0x80A51FC0:("func_80A51FC0",), 0x80A52018:("func_80A52018",), 0x80A52074:("func_80A52074",), @@ -11030,9 +11030,9 @@ 0x80A75310:("func_80A75310",), 0x80A755D8:("func_80A755D8",), 0x80A756A8:("EnPr2_Update",), - 0x80A758E8:("func_80A758E8",), - 0x80A75950:("func_80A75950",), - 0x80A759D8:("func_80A759D8",), + 0x80A758E8:("EnPr2_OverrideLimbDrawOpa",), + 0x80A75950:("EnPr2_PostLimbDrawOpa",), + 0x80A759D8:("EnPr2_OverrideLimbDraw",), 0x80A75A40:("EnPr2_Draw",), 0x80A75DC0:("EnPrz_Init",), 0x80A75F08:("EnPrz_Destroy",), @@ -11049,8 +11049,8 @@ 0x80A76A1C:("func_80A76A1C",), 0x80A76B14:("func_80A76B14",), 0x80A76D48:("EnPrz_Update",), - 0x80A76F70:("func_80A76F70",), - 0x80A76FCC:("func_80A76FCC",), + 0x80A76F70:("EnPrz_OverrideLimbDraw",), + 0x80A76FCC:("EnPrz_PostLimbDraw",), 0x80A77040:("EnPrz_Draw",), 0x80A773C0:("EnJso2_Init",), 0x80A77664:("EnJso2_Destroy",), @@ -11403,8 +11403,8 @@ 0x80A98414:("func_80A98414",), 0x80A984CC:("EnAz_Update",), 0x80A98734:("EnAz_Draw",), - 0x80A98DA4:("func_80A98DA4",), - 0x80A98E48:("func_80A98E48",), + 0x80A98DA4:("EnAz_OverrideLimbDraw",), + 0x80A98E48:("EnAz_PostLimbDraw",), 0x80A98EFC:("func_80A98EFC",), 0x80A98F94:("func_80A98F94",), 0x80A99EA0:("EnEstone_Init",), @@ -11502,9 +11502,9 @@ 0x80AA2720:("DmStk_ClockTower_IdleWithOcarina",), 0x80AA27EC:("DmStk_ClockTower_Idle",), 0x80AA2884:("DmStk_Update",), - 0x80AA2B14:("DmStk_OverrideLimbDraw",), - 0x80AA2BC0:("DmStk_PostLimbDraw2",), - 0x80AA33A4:("DmStk_PostLimbDraw",), + 0x80AA2B14:("DmStk_OverrideLimbDrawOpa",), + 0x80AA2BC0:("DmStk_PostLimbDraw",), + 0x80AA33A4:("DmStk_PostLimbDrawOpa",), 0x80AA33CC:("DmStk_Draw",), 0x80AA5580:("DmChar00_ChangeAnim",), 0x80AA561C:("func_80AA561C",), @@ -12147,7 +12147,7 @@ 0x80AD144C:("EnOsn_ChooseAction",), 0x80AD14C8:("EnOsn_Idle",), 0x80AD1634:("EnOsn_StartCutscene",), - 0x80AD16A8:("EnOsn_HandleCsAction",), + 0x80AD16A8:("EnOsn_HandleCutscene",), 0x80AD19A0:("EnOsn_Talk",), 0x80AD1A4C:("EnOsn_DoNothing",), 0x80AD1A5C:("EnOsn_Init",), @@ -13601,8 +13601,8 @@ 0x80B3B958:("EnGg2_Init",), 0x80B3BBE0:("EnGg2_Destroy",), 0x80B3BBF0:("EnGg2_Update",), - 0x80B3BD44:("func_80B3BD44",), - 0x80B3BDC0:("func_80B3BDC0",), + 0x80B3BD44:("EnGg2_OverrideLimbDraw",), + 0x80B3BDC0:("EnGg2_PostLimbDraw",), 0x80B3BE00:("EnGg2_Draw",), 0x80B3C260:("func_80B3C260",), 0x80B3C29C:("func_80B3C29C",), @@ -14081,7 +14081,7 @@ 0x80B5B3E4:("EnOt_Init",), 0x80B5BA64:("EnOt_Destroy",), 0x80B5BAAC:("func_80B5BAAC",), - 0x80B5BB38:("func_80B5BB38",), + 0x80B5BB38:("EnOt_LerpColor",), 0x80B5BDA8:("func_80B5BDA8",), 0x80B5BE04:("func_80B5BE04",), 0x80B5BE88:("func_80B5BE88",), @@ -14870,8 +14870,8 @@ 0x80B95128:("func_80B95128",), 0x80B95240:("func_80B95240",), 0x80B95260:("EnZog_Update",), - 0x80B954C4:("EnZog_PostLimbDraw",), - 0x80B95598:("func_80B95598",), + 0x80B954C4:("EnZog_PostLimbDrawOpa",), + 0x80B95598:("EnZog_PostLimbDraw",), 0x80B95668:("EnZog_Draw",), 0x80B95E20:("func_80B95E20",), 0x80B95F10:("ObjRotlift_Init",), @@ -15039,8 +15039,8 @@ 0x80BA0C14:("func_80BA0C14",), 0x80BA0CF4:("func_80BA0CF4",), 0x80BA0D64:("EnZob_Update",), - 0x80BA0F64:("func_80BA0F64",), - 0x80BA0FAC:("func_80BA0FAC",), + 0x80BA0F64:("EnZob_OverrideLimbDraw",), + 0x80BA0FAC:("EnZob_PostLimbDraw",), 0x80BA0FEC:("EnZob_Draw",), 0x80BA15A0:("func_80BA15A0",), 0x80BA165C:("func_80BA165C",), @@ -15411,8 +15411,8 @@ 0x80BBC298:("func_80BBC298",), 0x80BBC37C:("func_80BBC37C",), 0x80BBC3F0:("EnZos_Update",), - 0x80BBC4E4:("func_80BBC4E4",), - 0x80BBC500:("func_80BBC500",), + 0x80BBC4E4:("EnZos_OverrideLimbDraw",), + 0x80BBC500:("EnZos_PostLimbDraw",), 0x80BBC540:("EnZos_Draw",), 0x80BBCA80:("EnSGoro_ShrineGoron_NextTextId",), 0x80BBD348:("EnSGoro_BombshopGoron_NextTextId",), @@ -15685,8 +15685,8 @@ 0x80BCF7D8:("EnHg_UpdateCollision",), 0x80BCF88C:("EnHg_SetupCutscene",), 0x80BCF8A0:("EnHg_PlayCutscene",), - 0x80BCF93C:("EnHg_SetupCsAction",), - 0x80BCF95C:("EnHg_HandleCsAction",), + 0x80BCF93C:("EnHg_SetupHandleCutscene",), + 0x80BCF95C:("EnHg_HandleCutscene",), 0x80BCFC0C:("EnHg_WaitForPlayerAction",), 0x80BCFDC4:("EnHg_Update",), 0x80BCFE54:("EnHg_OverrideLimbDraw",), @@ -15703,7 +15703,7 @@ 0x80BD064C:("EnHgo_SetupDialogueHandler",), 0x80BD0660:("EnHgo_DefaultDialogueHandler",), 0x80BD06FC:("EnHgo_HandlePlayerChoice",), - 0x80BD0898:("EnHgo_HandleCsAction",), + 0x80BD0898:("EnHgo_HandleCutscene",), 0x80BD0B8C:("EnHgo_UpdateModel",), 0x80BD0C30:("EnHgo_Update",), 0x80BD0CF0:("EnHgo_OverrideLimbDraw",), @@ -15769,8 +15769,8 @@ 0x80BD41FC:("ObjHgdoor_Idle",), 0x80BD42AC:("ObjHgdoor_SetupCutscene",), 0x80BD42C0:("ObjHgdoor_PlayCutscene",), - 0x80BD433C:("ObjHgdoor_SetupCsAction",), - 0x80BD4358:("ObjHgdoor_HandleCsAction",), + 0x80BD433C:("ObjHgdoor_SetupHandleCutscene",), + 0x80BD4358:("ObjHgdoor_HandleCutscene",), 0x80BD4460:("ObjHgdoor_SetupStopCs",), 0x80BD4478:("ObjHgdoor_StopCs",), 0x80BD44D0:("ObjHgdoor_Rotate",), @@ -15991,8 +15991,8 @@ 0x80BDD79C:("func_80BDD79C",), 0x80BDD830:("EnZow_Update",), 0x80BDDA7C:("func_80BDDA7C",), - 0x80BDDAA0:("func_80BDDAA0",), - 0x80BDDAE0:("func_80BDDAE0",), + 0x80BDDAA0:("EnZow_PostLimbDrawOpa",), + 0x80BDDAE0:("EnZow_PostLimbDraw",), 0x80BDDB04:("EnZow_Draw",), 0x80BDDFE0:("EnTalk_Init",), 0x80BDE048:("EnTalk_Destroy",), @@ -16348,12 +16348,12 @@ 0x80BF5340:("EnRg_Destroy",), 0x80BF5390:("EnRg_Update",), 0x80BF547C:("func_80BF547C",), - 0x80BF5588:("func_80BF5588",), + 0x80BF5588:("EnRg_OverrideLimbDraw",), 0x80BF5670:("EnRg_Draw",), 0x80BF5C20:("EnOsk_Init",), 0x80BF5DF0:("EnOsk_Destroy",), - 0x80BF5E00:("func_80BF5E00",), - 0x80BF5E68:("func_80BF5E68",), + 0x80BF5E00:("EnOsk_ChangeAnimLoop",), + 0x80BF5E68:("EnOsk_ChangeAnimOnce",), 0x80BF5EBC:("func_80BF5EBC",), 0x80BF5F60:("func_80BF5F60",), 0x80BF5F70:("func_80BF5F70",), @@ -16366,7 +16366,7 @@ 0x80BF68E0:("func_80BF68E0",), 0x80BF6A20:("func_80BF6A20",), 0x80BF6C30:("EnOsk_Update",), - 0x80BF6C54:("func_80BF6C54",), + 0x80BF6C54:("EnOsk_PostLimbDraw",), 0x80BF6C94:("EnOsk_Draw",), 0x80BF74E0:("EnSth2_Init",), 0x80BF7590:("EnSth2_Destroy",), @@ -16542,7 +16542,7 @@ 0x80C050B8:("func_80C050B8",), 0x80C0520C:("func_80C0520C",), 0x80C053F8:("EnBombers2_Update",), - 0x80C056D4:("func_80C056D4",), + 0x80C056D4:("EnBombers2_OverrideLimbDraw",), 0x80C05758:("EnBombers2_Draw",), 0x80C05A70:("EnBombal_Init",), 0x80C05AF8:("EnBombal_Destroy",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index d9e6205c69..4ae8addaa8 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -15998,9 +15998,9 @@ 0x80BF5A44:("D_80BF5A44","f32","",0x4), 0x80BF5C10:("D_80BF5C10","UNK_TYPE1","",0x1), 0x80BF6F80:("En_Osk_InitVars","UNK_TYPE1","",0x1), - 0x80BF6FA0:("D_80BF6FA0","UNK_PTR","",0x4), - 0x80BF6FB4:("D_80BF6FB4","UNK_TYPE1","",0x1), - 0x80BF6FE4:("D_80BF6FE4","UNK_PTR","",0x4), + 0x80BF6FA0:("sAnimationsType0","UNK_PTR","",0x4), + 0x80BF6FB4:("sAnimationsType1","UNK_TYPE1","",0x1), + 0x80BF6FE4:("sAnimationsType2","UNK_PTR","",0x4), 0x80BF7018:("D_80BF7018","UNK_TYPE1","",0x1), 0x80BF7024:("D_80BF7024","UNK_TYPE1","",0x1), 0x80BF7030:("jtbl_80BF7030","UNK_PTR","",0x4),