From 43b45b91c9f76e605f30ce7e10f822a7594dcea3 Mon Sep 17 00:00:00 2001 From: Anghelo Carvajal Date: Sat, 27 Mar 2021 23:24:28 -0300 Subject: [PATCH] object_zl2, object_zl2_anime1 & object_zl2_anime2 OK (#694) * xml Signed-off-by: Angie * add xmls of anime1 and anime2 Signed-off-by: Angie * add unaccounted data from animes Signed-off-by: Angie * add all unaccounted data and a bit of renaming Signed-off-by: Angie * add to spec and change the pointer to the decompiled names Signed-off-by: Angie * add palettes Signed-off-by: angie * delete gitkeep Signed-off-by: angie * run format Signed-off-by: angie * change palette to Tlut Signed-off-by: angie * change `Tlut` to `TLUT` Signed-off-by: angie --- assets/xml/objects/object_zl2.xml | 42 +++ assets/xml/objects/object_zl2_anime1.xml | 30 ++ assets/xml/objects/object_zl2_anime2.xml | 40 +++ spec | 9 +- src/overlays/actors/ovl_En_Zl2/z_en_zl2.c | 283 ++++++++---------- src/overlays/actors/ovl_En_Zl2/z_en_zl2.h | 8 +- src/overlays/actors/ovl_En_Zl3/z_en_zl3.c | 345 ++++++++++------------ src/overlays/actors/ovl_En_Zl3/z_en_zl3.h | 10 +- undefined_syms.txt | 71 +---- 9 files changed, 411 insertions(+), 427 deletions(-) create mode 100644 assets/xml/objects/object_zl2.xml create mode 100644 assets/xml/objects/object_zl2_anime1.xml create mode 100644 assets/xml/objects/object_zl2_anime2.xml diff --git a/assets/xml/objects/object_zl2.xml b/assets/xml/objects/object_zl2.xml new file mode 100644 index 0000000000..92c62d7289 --- /dev/null +++ b/assets/xml/objects/object_zl2.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_zl2_anime1.xml b/assets/xml/objects/object_zl2_anime1.xml new file mode 100644 index 0000000000..cada504867 --- /dev/null +++ b/assets/xml/objects/object_zl2_anime1.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_zl2_anime2.xml b/assets/xml/objects/object_zl2_anime2.xml new file mode 100644 index 0000000000..47016e2e00 --- /dev/null +++ b/assets/xml/objects/object_zl2_anime2.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spec b/spec index fba783df16..7f7700f0f4 100644 --- a/spec +++ b/spec @@ -4033,7 +4033,8 @@ endseg beginseg name "object_zl2" romalign 0x1000 - include "build/baserom/object_zl2.o" + include "build/assets/objects/object_zl2/object_zl2.o" + number 6 endseg beginseg @@ -5437,13 +5438,15 @@ endseg beginseg name "object_zl2_anime1" romalign 0x1000 - include "build/baserom/object_zl2_anime1.o" + include "build/assets/objects/object_zl2_anime1/object_zl2_anime1.o" + number 6 endseg beginseg name "object_zl2_anime2" romalign 0x1000 - include "build/baserom/object_zl2_anime2.o" + include "build/assets/objects/object_zl2_anime2/object_zl2_anime2.o" + number 6 endseg beginseg diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c index f509bec663..518c81fdb6 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c @@ -8,6 +8,8 @@ #include "vt.h" #include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h" +#include "objects/object_zl2/object_zl2.h" +#include "objects/object_zl2_anime1/object_zl2_anime1.h" #define FLAGS 0x00000010 @@ -60,15 +62,11 @@ void func_80B523BC(EnZl2* this, GlobalContext* globalCtx); void func_80B523C8(EnZl2* this, GlobalContext* globalCtx); void func_80B525D4(EnZl2* this, GlobalContext* globalCtx); -static UNK_TYPE D_80B52810[] = { - 0x060030C8, 0x06003C48, 0x06004048, 0x06004548, 0x06004948, 0x06004D48, 0x06005148, 0x06005D48, 0x06006148, -}; +static u64* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex, + gZelda2Eye03Tex, gZelda2Eye04Tex, gZelda2Eye05Tex, + gZelda2Eye06Tex, gZelda2Eye07Tex, gZelda2Eye08Tex }; -static UNK_TYPE D_80B52834[] = { - 0x06003508, - 0x06005548, - 0x06005948, -}; +static u64* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex }; static EnZl2ActionFunc sActionFuncs[] = { func_80B521A0, func_80B50BBC, func_80B50BEC, func_80B50C40, func_80B50CA8, func_80B50CFC, @@ -101,138 +99,109 @@ const ActorInit En_Zl2_InitVars = { (ActorFunc)EnZl2_Draw, }; -extern AnimationHeader D_0600325C; -extern AnimationHeader D_060003BC; -extern AnimationHeader D_06000A50; -extern AnimationHeader D_06000EB0; -extern AnimationHeader D_06001010; -extern AnimationHeader D_060013A0; -extern AnimationHeader D_06001670; -extern AnimationHeader D_06001B48; -extern AnimationHeader D_060022D0; -extern AnimationHeader D_06002750; -extern AnimationHeader D_06002B14; -extern AnimationHeader D_06002F30; -extern AnimationHeader D_06003538; -extern AnimationHeader D_06004900; -extern AnimationHeader D_06005F40; -extern AnimationHeader D_06006778; -extern AnimationHeader D_06007D0C; -extern AnimationHeader D_060087B8; -extern AnimationHeader D_060090D8; -extern AnimationHeader D_06009AD4; -extern AnimationHeader D_0600A15C; -extern AnimationHeader D_0600A79C; -extern AnimationHeader D_0600AAD4; -extern AnimationHeader D_0600AFE0; -extern AnimationHeader D_0600B224; -extern AnimationHeader D_0600B5FC; -extern Gfx D_0600BAE8[]; -extern FlexSkeletonHeader D_06010D70; - void EnZl2_Destroy(Actor* thisx, GlobalContext* globalCtx) { EnZl2* this = THIS; SkelAnime_Free(&this->skelAnime, globalCtx); } -void func_80B4E9B0(EnZl2* this) { +void EnZl2_UpdateEyes(EnZl2* this) { s32 pad[4]; - s16* unk_194 = &this->unk_194; - s16* unk_192 = &this->unk_192; - s16* unk_190 = &this->unk_190; + s16* eyeTexIndex2 = &this->eyeTexIndex2; + s16* blinkTimer = &this->blinkTimer; + s16* eyeTexIndex = &this->eyeTexIndex; - if (DECR(*unk_192) == 0) { - *unk_192 = Rand_S16Offset(0x3C, 0x3C); + if (DECR(*blinkTimer) == 0) { + *blinkTimer = Rand_S16Offset(60, 60); } - *unk_190 = *unk_192; - if (*unk_190 >= 3) { - *unk_190 = 0; + *eyeTexIndex = *blinkTimer; + if (*eyeTexIndex >= 3) { + *eyeTexIndex = 0; } - *unk_194 = *unk_190; + *eyeTexIndex2 = *eyeTexIndex; } void func_80B4EA40(EnZl2* this) { - s16* unk_190 = &this->unk_190; + s16* eyeTexIndex = &this->eyeTexIndex; f32* unk_27C = &this->unk_27C; if (*unk_27C < 3.0f) { - *unk_190 = 0; + *eyeTexIndex = 0; } else if (*unk_27C < 6.0f) { - *unk_190 = 1; + *eyeTexIndex = 1; } else if (*unk_27C < 9.0f) { - *unk_190 = 2; + *eyeTexIndex = 2; } else { - *unk_190 = 5; - this->unk_194 = *unk_190; + *eyeTexIndex = 5; + this->eyeTexIndex2 = *eyeTexIndex; return; } *unk_27C += 1.0f; - this->unk_194 = *unk_190; + this->eyeTexIndex2 = *eyeTexIndex; } void func_80B4EAF4(EnZl2* this) { - s16* unk_190 = &this->unk_190; + s16* eyeTexIndex = &this->eyeTexIndex; f32* unk_27C = &this->unk_27C; if (*unk_27C < 2.0f) { - *unk_190 = 5; + *eyeTexIndex = 5; } else if (*unk_27C < 4.0f) { - *unk_190 = 2; + *eyeTexIndex = 2; } else if (*unk_27C < 6.0f) { - *unk_190 = 1; + *eyeTexIndex = 1; } else { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); return; } *unk_27C += 1.0f; - this->unk_194 = *unk_190; + this->eyeTexIndex2 = *eyeTexIndex; } void func_80B4EBB8(EnZl2* this) { - s16* unk_190 = &this->unk_190; + s16* eyeTexIndex = &this->eyeTexIndex; f32* unk_27C = &this->unk_27C; if (*unk_27C < 2.0f) { - *unk_190 = 0; + *eyeTexIndex = 0; } else if (*unk_27C < 4.0f) { - *unk_190 = 1; + *eyeTexIndex = 1; } else { - *unk_190 = 2; - this->unk_194 = *unk_190; + *eyeTexIndex = 2; + this->eyeTexIndex2 = *eyeTexIndex; return; } *unk_27C += 1.0f; - this->unk_194 = *unk_190; + this->eyeTexIndex2 = *eyeTexIndex; } void func_80B4EC48(EnZl2* this) { - s16* unk_190 = &this->unk_190; + s16* eyeTexIndex = &this->eyeTexIndex; f32* unk_27C = &this->unk_27C; if (*unk_27C < 2.0f) { - *unk_190 = 2; + *eyeTexIndex = 2; } else if (*unk_27C < 4.0f) { - *unk_190 = 1; + *eyeTexIndex = 1; } else { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); return; } *unk_27C += 1.0f; - this->unk_194 = *unk_190; + this->eyeTexIndex2 = *eyeTexIndex; } -void func_80B4ECE8(EnZl2* this, s16 arg1) { - this->unk_190 = arg1; - this->unk_194 = this->unk_190; +void EnZl2_setEyesIndex(EnZl2* this, s16 index) { + this->eyeTexIndex = index; + this->eyeTexIndex2 = this->eyeTexIndex; } -void func_80B4ED04(EnZl2* this, s16 arg1) { - this->unk_194 = arg1; +void EnZl2_setEyeIndex2(EnZl2* this, s16 index) { + this->eyeTexIndex2 = index; } -void func_80B4ED18(EnZl2* this, s16 arg1) { - this->unk_198 = arg1; +void EnZl2_setMouthIndex(EnZl2* this, s16 index) { + this->mouthTexIndex = index; } void func_80B4ED2C(EnZl2* this, GlobalContext* globalCtx) { @@ -571,7 +540,7 @@ void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve if (limbIndex == 10) { if ((this->unk_254 != 0) && (globalCtx->csCtx.frames >= 900)) { - gSPDisplayList((*gfx)++, &D_0600BAE8); + gSPDisplayList((*gfx)++, &gZelda2OcarinaDL); } { @@ -584,7 +553,7 @@ void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY); gSPMatrix((*gfx)++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1253), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList((*gfx)++, &D_0600BAE8); + gSPDisplayList((*gfx)++, &gZelda2OcarinaDL); } Matrix_Pop(); } @@ -617,7 +586,7 @@ void func_80B4FD00(EnZl2* this, AnimationHeader* animation, u8 arg2, f32 transit } void func_80B4FD90(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600B5FC, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00B5FC, 0, 0.0f, 0); this->action = 1; } @@ -779,7 +748,7 @@ void func_80B50304(EnZl2* this, GlobalContext* globalCtx) { actionXDelta = npcAction->endPos.x - npcAction->startPos.x; actionZDelta = npcAction->endPos.z - npcAction->startPos.z; - func_80B4FD00(this, &D_060003BC, 0, -12.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0003BC, 0, -12.0f, 0); this->action = 3; this->drawConfig = 1; this->unk_23C = 0.0f; @@ -796,7 +765,7 @@ void func_80B503DC(EnZl2* this, GlobalContext* globalCtx) { } void func_80B5042C(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_060022D0, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0022D0, 2, -8.0f, 0); this->action = 5; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -805,30 +774,30 @@ void func_80B5042C(EnZl2* this, GlobalContext* globalCtx) { void func_80B50488(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06002750, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_002750, 0, 0.0f, 0); this->action = 6; this->drawConfig = 1; } } void func_80B504D4(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600325C, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00325C, 2, -8.0f, 0); this->action = 7; this->drawConfig = 1; this->unk_27C = 0.0f; - func_80B4ED18(this, 1); + EnZl2_setMouthIndex(this, 1); this->actor.shape.shadowAlpha = 0xFF; } void func_80B5053C(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06003538, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_003538, 0, 0.0f, 0); this->action = 8; } } void func_80B50580(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_06000A50, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_000A50, 2, -8.0f, 0); this->action = 9; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -836,7 +805,7 @@ void func_80B50580(EnZl2* this, GlobalContext* globalCtx) { void func_80B505D4(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06000EB0, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_000EB0, 0, 0.0f, 0); this->action = 10; } } @@ -852,47 +821,47 @@ void func_80B50644(EnZl2* this, GlobalContext* globalCtx) { } void func_80B50670(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600B5FC, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00B5FC, 0, -8.0f, 0); this->action = 13; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; } void func_80B506C4(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600AAD4, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00AAD4, 2, -8.0f, 0); this->action = 14; this->drawConfig = 1; - func_80B4ECE8(this, 4); - func_80B4ED18(this, 2); + EnZl2_setEyesIndex(this, 4); + EnZl2_setMouthIndex(this, 2); this->actor.shape.shadowAlpha = 0xFF; func_80B4FE90(this); } void func_80B5073C(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_0600AFE0, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00AFE0, 0, 0.0f, 0); this->action = 15; } } void func_80B50780(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_06001670, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_001670, 2, -8.0f, 0); this->action = 16; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; func_80B4FFF0(this, globalCtx); - func_80B4ECE8(this, 3); + EnZl2_setEyesIndex(this, 3); } void func_80B507E8(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06001B48, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_001B48, 0, 0.0f, 0); this->action = 17; } } void func_80B5082C(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_06002B14, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_002B14, 2, -8.0f, 0); this->action = 18; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -900,23 +869,23 @@ void func_80B5082C(EnZl2* this, GlobalContext* globalCtx) { void func_80B50880(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06002F30, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_002F30, 0, 0.0f, 0); this->action = 19; func_80B4FEB4(this); } } void func_80B508C8(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_06001010, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_001010, 2, -8.0f, 0); this->action = 20; this->drawConfig = 1; - func_80B4ECE8(this, 6); + EnZl2_setEyesIndex(this, 6); this->actor.shape.shadowAlpha = 0xFF; } void func_80B50928(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_060013A0, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0013A0, 0, 0.0f, 0); this->action = 21; func_80B4FED8(this); } @@ -1015,7 +984,7 @@ void func_80B50BBC(EnZl2* this, GlobalContext* globalCtx) { void func_80B50BEC(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1024,7 +993,7 @@ void func_80B50C40(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4FDD4(this); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B500E0(this, globalCtx); func_80B503DC(this, globalCtx); @@ -1033,7 +1002,7 @@ void func_80B50C40(EnZl2* this, GlobalContext* globalCtx) { void func_80B50CA8(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1062,7 +1031,7 @@ void func_80B50D94(EnZl2* this, GlobalContext* globalCtx) { void func_80B50DE8(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1070,14 +1039,14 @@ void func_80B50DE8(EnZl2* this, GlobalContext* globalCtx) { void func_80B50E3C(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); func_80B505D4(this, EnZl2_FrameUpdateMatrix(this)); } void func_80B50E90(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1085,7 +1054,7 @@ void func_80B50E90(EnZl2* this, GlobalContext* globalCtx) { void func_80B50EE4(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1093,7 +1062,7 @@ void func_80B50EE4(EnZl2* this, GlobalContext* globalCtx) { void func_80B50F38(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1102,7 +1071,7 @@ void func_80B50F8C(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4FE10(globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B50A04(this, globalCtx); } @@ -1198,7 +1167,7 @@ void func_80B51310(EnZl2* this, GlobalContext* globalCtx) { } void func_80B5135C(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600A15C, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00A15C, 0, 0.0f, 0); this->action = 25; this->unk_254 = 1; } @@ -1220,35 +1189,35 @@ void func_80B513A8(EnZl2* this, GlobalContext* globalCtx) { } void func_80B51418(EnZl2* this, GlobalContext* globalCtx) { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); if (globalCtx->csCtx.frames < 431) { - func_80B4ED18(this, 1); + EnZl2_setMouthIndex(this, 1); } else { - func_80B4ED18(this, 0); + EnZl2_setMouthIndex(this, 0); } } void func_80B5146C(EnZl2* this, GlobalContext* globalCtx) { func_80B4EA40(this); - func_80B4ED18(this, 0); + EnZl2_setMouthIndex(this, 0); } void func_80B5149C(EnZl2* this, GlobalContext* globalCtx) { if (globalCtx->csCtx.frames < 988) { - func_80B4ECE8(this, 7); - func_80B4ED04(this, 8); + EnZl2_setEyesIndex(this, 7); + EnZl2_setEyeIndex2(this, 8); } else { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); } - func_80B4ED18(this, 0); + EnZl2_setMouthIndex(this, 0); } void func_80B514F8(EnZl2* this, GlobalContext* globalCtx) { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); if (globalCtx->csCtx.frames < 1190) { - func_80B4ED18(this, 1); + EnZl2_setMouthIndex(this, 1); } else { - func_80B4ED18(this, 0); + EnZl2_setMouthIndex(this, 0); } } @@ -1256,7 +1225,7 @@ void func_80B5154C(EnZl2* this, GlobalContext* globalCtx) { CutsceneContext* csCtx; if (this->skelAnime.mode != 0) { - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); } else { csCtx = &globalCtx->csCtx; if (csCtx->frames < 0x5F0) { @@ -1276,7 +1245,7 @@ void func_80B515C4(EnZl2* this) { } void func_80B515D8(EnZl2* this, GlobalContext* globalCtx) { - func_80B4FD00(this, &D_0600A15C, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00A15C, 0, -8.0f, 0); func_80B4EDB8(this, globalCtx, 0); this->action = 26; this->drawConfig = 1; @@ -1286,12 +1255,12 @@ void func_80B515D8(EnZl2* this, GlobalContext* globalCtx) { void func_80B51644(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_060087B8, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0087B8, 0, -8.0f, 0); } } void func_80B51678(EnZl2* this) { - func_80B4FD00(this, &D_06007D0C, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_007D0C, 2, -8.0f, 0); this->action = 27; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -1300,12 +1269,12 @@ void func_80B51678(EnZl2* this) { void func_80B516D0(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06009AD4, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_009AD4, 0, -8.0f, 0); } } void func_80B51704(EnZl2* this) { - func_80B4FD00(this, &D_060090D8, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0090D8, 2, -8.0f, 0); this->action = 28; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -1314,12 +1283,12 @@ void func_80B51704(EnZl2* this) { void func_80B5175C(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06006778, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_006778, 0, -8.0f, 0); } } void func_80B51790(EnZl2* this) { - func_80B4FD00(this, &D_06005F40, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_005F40, 2, -8.0f, 0); this->action = 29; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -1327,13 +1296,13 @@ void func_80B51790(EnZl2* this) { void func_80B517E0(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_06002750, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_002750, 0, -8.0f, 0); this->action = 31; } } void func_80B51824(EnZl2* this) { - func_80B4FD00(this, &D_060022D0, 2, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_0022D0, 2, -8.0f, 0); this->action = 30; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -1342,13 +1311,13 @@ void func_80B51824(EnZl2* this) { void func_80B5187C(EnZl2* this, s32 arg1) { if (arg1 != 0) { - func_80B4FD00(this, &D_0600A79C, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00A79C, 0, -8.0f, 0); this->unk_27C = 0.0f; } } void func_80B518C0(EnZl2* this) { - func_80B4FD00(this, SEGMENTED_TO_VIRTUAL(&D_06004900), 2, -8.0f, 0); + func_80B4FD00(this, SEGMENTED_TO_VIRTUAL(&gZelda2Anime1Anim_004900), 2, -8.0f, 0); this->action = 32; this->drawConfig = 1; this->actor.shape.shadowAlpha = 0xFF; @@ -1413,7 +1382,7 @@ void func_80B51A8C(EnZl2* this, GlobalContext* globalCtx) { void func_80B51AE4(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); func_80B51644(this, EnZl2_FrameUpdateMatrix(this)); func_80B51948(this, globalCtx); } @@ -1516,7 +1485,7 @@ void func_80B51EBC(EnZl2* this, GlobalContext* globalCtx) { s32 pad[2]; this->actor.world.rot.y = shape->rot.y = npcAction->rot.y; - func_80B4FD00(this, &D_0600B224, 0, 0.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00B224, 0, 0.0f, 0); this->action = 34; this->drawConfig = 1; shape->shadowAlpha = 255; @@ -1527,7 +1496,7 @@ void func_80B51F38(EnZl2* this, GlobalContext* globalCtx) { if (npcAction != NULL) { if (globalCtx->csCtx.frames - 8 >= npcAction->endFrame) { - func_80B4FD00(this, &D_0600B5FC, 0, -8.0f, 0); + func_80B4FD00(this, &gZelda2Anime1Anim_00B5FC, 0, -8.0f, 0); this->action = 35; } } @@ -1569,7 +1538,7 @@ void func_80B52068(EnZl2* this, GlobalContext* globalCtx) { void func_80B52098(EnZl2* this, GlobalContext* globalCtx) { func_80B4FCCC(this, globalCtx); func_80B4ED2C(this, globalCtx); - func_80B4E9B0(this); + EnZl2_UpdateEyes(this); EnZl2_FrameUpdateMatrix(this); func_80B51D24(this, globalCtx); func_80B51F38(this, globalCtx); @@ -1610,7 +1579,7 @@ void func_80B521A0(EnZl2* this, GlobalContext* globalCtx) { if (Object_IsLoaded(objectCtx, bankIndex)) { this->unk_274 = bankIndex; func_80B4FCCC(this, globalCtx); - this->unk_278 = Animation_GetLastFrame(&D_060022D0); + this->unk_278 = Animation_GetLastFrame(&gZelda2Anime1Anim_0022D0); func_80B52114(this, globalCtx); } } @@ -1632,7 +1601,7 @@ void EnZl2_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(shape, 0.0f, ActorShadow_DrawCircle, 30.0f); shape->shadowAlpha = 0; - SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZelda2Skel, NULL, NULL, NULL, 0); switch (thisx->params) { case 1: @@ -1661,22 +1630,22 @@ void func_80B523BC(EnZl2* this, GlobalContext* globalCtx) { void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) { s32 pad[3]; - s16 unk_190 = this->unk_190; - s16 unk_194 = this->unk_194; - u32 sp74 = D_80B52810[unk_190]; - u32 sp70 = D_80B52810[unk_194]; + s16 eyeTexIndex = this->eyeTexIndex; + s16 eyeTexIndex2 = this->eyeTexIndex2; + u64* eyeTex = sEyeTextures[eyeTexIndex]; + u64* eyeTex2 = sEyeTextures[eyeTexIndex2]; SkelAnime* skelAnime = &this->skelAnime; - s16 unk_198 = this->unk_198; - u32 sp64 = D_80B52834[unk_198]; + s16 mouthTexIndex = this->mouthTexIndex; + u64* mouthTex = sMouthTextures[mouthTexIndex]; s32 pad1; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1623); func_80093D18(globalCtx->state.gfxCtx); - gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sp74)); - gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sp70)); - gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sp64)); + gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTex2)); + gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(mouthTex)); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0x0B, &D_80116280[2]); @@ -1688,20 +1657,20 @@ void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) { void func_80B525D4(EnZl2* this, GlobalContext* globalCtx) { s32 pad[2]; - s16 unk_190 = this->unk_190; - u32 sp78 = D_80B52810[unk_190]; - s16 unk_198 = this->unk_198; + s16 eyeTexIndex = this->eyeTexIndex; + u64* eyeTex = sEyeTextures[eyeTexIndex]; + s16 mouthTexIndex = this->mouthTexIndex; SkelAnime* skelAnime = &this->skelAnime; - u32 sp6C = D_80B52834[unk_198]; + u64* mouthTex = sMouthTextures[mouthTexIndex]; s32 pad1; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1663); func_80093D84(globalCtx->state.gfxCtx); - gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_XLU_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sp6C)); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_XLU_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(mouthTex)); gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha); gSPSegment(POLY_XLU_DISP++, 0x0B, &D_80116280[0]); diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h index 8ec5162571..d525e9c7c7 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h @@ -12,11 +12,11 @@ typedef void (*EnZl2DrawFunc)(struct EnZl2*, GlobalContext*); typedef struct EnZl2 { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; - /* 0x0190 */ s16 unk_190; - /* 0x0192 */ s16 unk_192; - /* 0x0194 */ s16 unk_194; + /* 0x0190 */ s16 eyeTexIndex; + /* 0x0192 */ s16 blinkTimer; + /* 0x0194 */ s16 eyeTexIndex2; /* 0x0196 */ char unk_196[0x2]; - /* 0x0198 */ s16 unk_198; + /* 0x0198 */ s16 mouthTexIndex; /* 0x019A */ char unk_19A[0x2]; /* 0x019C */ s32 action; /* 0x01A0 */ s32 drawConfig; diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c index 0f9916e7b8..8b77036422 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -9,6 +9,8 @@ #include "vt.h" #include "overlays/actors/ovl_En_Encount2/z_en_encount2.h" #include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h" +#include "objects/object_zl2/object_zl2.h" +#include "objects/object_zl2_anime2/object_zl2_anime2.h" #define FLAGS 0x00000010 @@ -39,11 +41,10 @@ static ColliderCylinderInitType1 sCylinderInit = { { 25, 80, 0, { 0, 0, 0 } }, }; -UNK_TYPE D_80B5A43C[] = { - 0x060030C8, 0x06003C48, 0x06004048, 0x06004548, 0x06004948, 0x06004D48, 0x06005148, 0x00000000 -}; +static u64* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex, gZelda2Eye03Tex, + gZelda2Eye04Tex, gZelda2Eye05Tex, gZelda2Eye06Tex, NULL }; -UNK_TYPE D_80B5A45C[] = { 0x06003508, 0x06005548, 0x06005948 }; +static u64* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex }; s32 D_80B5A468 = 0; @@ -65,43 +66,6 @@ Vec3f D_80B5A4B0 = { 42.0f, 260.0f, 13.0f }; u32 D_80B5A4BC = 0; -extern FlexSkeletonHeader D_06010D70; -extern AnimationHeader D_060001D8; -extern AnimationHeader D_060004F4; -extern AnimationHeader D_060014DC; -extern AnimationHeader D_0600210C; -extern AnimationHeader D_06002710; -extern AnimationHeader D_060038C0; -extern AnimationHeader D_06003D20; -extern AnimationHeader D_06003FF8; -extern AnimationHeader D_06004408; -extern AnimationHeader D_0600499C; -extern AnimationHeader D_06005248; -extern AnimationHeader D_060054E0; -extern AnimationHeader D_06005A0C; -extern AnimationHeader D_060061C4; -extern AnimationHeader D_06006508; -extern AnimationHeader D_06006AB0; -extern AnimationHeader D_06006F04; -extern AnimationHeader D_06007664; -extern AnimationHeader D_06007A78; -extern AnimationHeader D_06007C84; -extern AnimationHeader D_06008050; -extern AnimationHeader D_060082F8; -extern AnimationHeader D_06008684; -extern AnimationHeader D_06008AD0; -extern AnimationHeader D_060091D8; -extern AnimationHeader D_060099A0; -extern AnimationHeader D_06009BE4; -extern AnimationHeader D_06009FBC; -extern AnimationHeader D_0600A334; -extern AnimationHeader D_0600A598; -extern AnimationHeader D_0600AACC; -extern AnimationHeader D_06001110; -extern AnimationHeader D_06001D8C; -extern AnimationHeader D_06002348; -extern AnimationHeader D_06002E54; - void func_80B533B0(Actor* thisx, GlobalContext* globalCtx) { EnZl3* this = THIS; @@ -128,40 +92,40 @@ void func_80B53468(void) { } BossGanon2* func_80B53488(EnZl3* this, GlobalContext* globalCtx) { - if (this->unk_3D4 == NULL) { + if (this->ganon == NULL) { Actor* actorIt = globalCtx->actorCtx.actorLists[ACTORCAT_BOSS].head; while (actorIt != NULL) { if (actorIt->id == ACTOR_BOSS_GANON2) { - this->unk_3D4 = (BossGanon2*)actorIt; + this->ganon = (BossGanon2*)actorIt; break; } actorIt = actorIt->next; } } - return this->unk_3D4; + return this->ganon; } -void func_80B534CC(EnZl3* this) { +void EnZl3_UpdateEyes(EnZl3* this) { s32 pad[2]; - s16* unk_244 = &this->unk_244; - s16* unk_246 = &this->unk_246; + s16* eyeTexIndex = &this->eyeTexIndex; + s16* blinkTimer = &this->blinkTimer; - if (DECR(*unk_246) == 0) { - *unk_246 = Rand_S16Offset(0x3C, 0x3C); + if (DECR(*blinkTimer) == 0) { + *blinkTimer = Rand_S16Offset(60, 60); } - *unk_244 = *unk_246; - if (*unk_244 >= 3) { - *unk_244 = 0; + *eyeTexIndex = *blinkTimer; + if (*eyeTexIndex >= 3) { + *eyeTexIndex = 0; } } -void func_80B53554(EnZl3* this, s16 arg1) { - this->unk_244 = arg1; +void EnZl3_setEyeIndex(EnZl3* this, s16 index) { + this->eyeTexIndex = index; } -void func_80B53568(EnZl3* this, s16 arg1) { - this->unk_248 = arg1; +void EnZl3_setMouthIndex(EnZl3* this, s16 index) { + this->mouthTexIndex = index; } void func_80B5357C(EnZl3* this, GlobalContext* globalCtx) { @@ -829,9 +793,9 @@ void func_80B54F18(EnZl3* this, GlobalContext* globalCtx) { void func_80B54FB4(EnZl3* this, GlobalContext* globalCtx) { osSyncPrintf("ゼルダ姫のEn_Zl3_Actor_inFinal_Init通すよ!!!!!!!!!!!!!!!!!!!!!!!!!\n"); - func_80B54E14(this, &D_06008AD0, 0, 0.0f, 0); - func_80B53554(this, 4); - func_80B53568(this, 2); + func_80B54E14(this, &gZelda2Anime2Anim_008AD0, 0, 0.0f, 0); + EnZl3_setEyeIndex(this, 4); + EnZl3_setMouthIndex(this, 2); this->action = 1; this->drawConfig = 1; func_80B54F18(this, globalCtx); @@ -876,60 +840,60 @@ void func_80B55144(EnZl3* this) { if (*fl < 2.0f) { *fl += 1.0f; - func_80B53554(this, 2); + EnZl3_setEyeIndex(this, 2); } else if (*fl < 4.0f) { *fl += 1.0f; - func_80B53554(this, 1); + EnZl3_setEyeIndex(this, 1); } else { - func_80B534CC(this); + EnZl3_UpdateEyes(this); } } void func_80B551E0(EnZl3* this) { - func_80B54E14(this, &D_06008AD0, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_008AD0, 0, 0.0f, 0); this->action = 1; } void func_80B55220(EnZl3* this) { - func_80B54E14(this, &D_060091D8, 2, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0091D8, 2, 0.0f, 0); this->action = 2; - func_80B53568(this, 0); + EnZl3_setMouthIndex(this, 0); } void func_80B55268(EnZl3* this) { - func_80B54E14(this, &D_060091D8, 2, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0091D8, 2, 0.0f, 0); this->action = 3; } void func_80B552A8(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_060099A0, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0099A0, 0, 0.0f, 0); } } void func_80B552DC(EnZl3* this) { - func_80B54E14(this, &D_0600A598, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_00A598, 2, -8.0f, 0); func_80B54EF4(this); - func_80B53568(this, 2); + EnZl3_setMouthIndex(this, 2); this->action = 4; func_80B53468(); } void func_80B55334(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_0600AACC, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_00AACC, 0, 0.0f, 0); } } void func_80B55368(EnZl3* this) { - func_80B54E14(this, &D_0600A334, 2, -8.0f, 0); - func_80B53568(this, 0); + func_80B54E14(this, &gZelda2Anime2Anim_00A334, 2, -8.0f, 0); + EnZl3_setMouthIndex(this, 0); this->action = 5; } void func_80B553B4(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06009FBC, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, 0.0f, 0); } } @@ -958,7 +922,7 @@ void func_80B55444(EnZl3* this, GlobalContext* globalCtx) { func_80B551E0(this); break; case 1: - func_80B53554(this, 3); + EnZl3_setEyeIndex(this, 3); func_80B54EF4(this); break; case 3: @@ -1000,7 +964,7 @@ void func_80B55550(EnZl3* this, GlobalContext* globalCtx) { void func_80B555A4(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B53554(this, 2); + EnZl3_setEyeIndex(this, 2); func_80B550F0(this); func_80B55054(this); func_80B55444(this, globalCtx); @@ -1018,7 +982,7 @@ void func_80B55604(EnZl3* this, GlobalContext* globalCtx) { void func_80B5566C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55334(this, EnZl3_FrameUpdateMatrix(this)); func_80B55444(this, globalCtx); } @@ -1026,7 +990,7 @@ void func_80B5566C(EnZl3* this, GlobalContext* globalCtx) { void func_80B556CC(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B553B4(this, EnZl3_FrameUpdateMatrix(this)); func_80B55444(this, globalCtx); } @@ -1034,18 +998,18 @@ void func_80B556CC(EnZl3* this, GlobalContext* globalCtx) { void func_80B5572C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B55444(this, globalCtx); } void func_80B55780(EnZl3* this, GlobalContext* globalCtx) { osSyncPrintf("ゼルダ姫のEn_Zl3_Actor_inFinal2_Init通すよ!!!!!!!!!!!!!!!!!!!!!!!!!\n"); - func_80B54E14(this, &D_06005A0C, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_005A0C, 0, 0.0f, 0); this->action = 7; this->drawConfig = 1; osSyncPrintf("ゼルダ姫のEn_Zl3_Actor_inFinal2_Initは通った!!!!!!!!!!!!!!!!!!!!!!!!!\n"); - func_80B53568(this, 1); + EnZl3_setMouthIndex(this, 1); this->actor.flags &= ~1; } @@ -1083,7 +1047,8 @@ void func_80B559C4(EnZl3* this) { Vec3f* thisPos = &this->actor.world.pos; Vec3f* unk_32C = &this->unk_32C; Vec3f* unk_338 = &this->unk_338; - f32 temp_f0 = func_8006F9BC(Animation_GetLastFrame(&D_06005248), 0, (s32)this->skelAnime.curFrame, 3, 3); + f32 temp_f0 = + func_8006F9BC(Animation_GetLastFrame(&gZelda2Anime2Anim_005248), 0, (s32)this->skelAnime.curFrame, 3, 3); thisPos->x = unk_32C->x + (temp_f0 * (unk_338->x - unk_32C->x)); thisPos->z = unk_32C->z + (temp_f0 * (unk_338->z - unk_32C->z)); @@ -1096,42 +1061,42 @@ void func_80B55A58(EnZl3* this, GlobalContext* globalCtx) { } void func_80B55A84(EnZl3* this) { - func_80B54E14(this, &D_06005A0C, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_005A0C, 0, 0.0f, 0); this->action = 7; } void func_80B55AC4(EnZl3* this) { - func_80B54E14(this, &D_0600499C, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_00499C, 2, -8.0f, 0); this->action = 8; } void func_80B55B04(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06004408, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_004408, 0, 0.0f, 0); } } void func_80B55B38(EnZl3* this) { - func_80B54E14(this, &D_06006508, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_006508, 2, -8.0f, 0); this->action = 9; } void func_80B55B78(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_060061C4, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0061C4, 0, 0.0f, 0); } } void func_80B55BAC(EnZl3* this) { - func_80B54E14(this, &D_06005248, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_005248, 2, -8.0f, 0); func_80B558A8(this); func_80B55808(this); - func_80B53568(this, 2); + EnZl3_setMouthIndex(this, 2); this->action = 10; } void func_80B55C0C(EnZl3* this) { - func_80B54E14(this, &D_060054E0, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0054E0, 0, 0.0f, 0); this->action = 11; } @@ -1142,7 +1107,7 @@ void func_80B55C4C(EnZl3* this, s32 arg1) { } void func_80B55C70(EnZl3* this) { - func_80B54E14(this, &D_06008684, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_008684, 2, -8.0f, 0); this->action = 12; this->actor.flags &= ~0x9; this->actor.flags &= ~0x1; @@ -1150,7 +1115,7 @@ void func_80B55C70(EnZl3* this) { void func_80B55CCC(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06006F04, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_006F04, 0, 0.0f, 0); } } @@ -1177,36 +1142,36 @@ void func_80B55DB0(EnZl3* this, GlobalContext* globalCtx) { } void func_80B55E08(EnZl3* this) { - func_80B54E14(this, &D_06006AB0, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_006AB0, 2, -8.0f, 0); this->action = 14; } void func_80B55E48(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06008050, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_008050, 0, 0.0f, 0); } } void func_80B55E7C(EnZl3* this) { - func_80B54E14(this, &D_06007A78, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007A78, 2, -8.0f, 0); this->action = 15; } void func_80B55EBC(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06007C84, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007C84, 0, 0.0f, 0); } } void func_80B55EF0(EnZl3* this) { - func_80B54E14(this, &D_060082F8, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0082F8, 2, -8.0f, 0); this->action = 16; - func_80B53568(this, 0); + EnZl3_setMouthIndex(this, 0); } void func_80B55F38(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06003FF8, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, 0.0f, 0); } } @@ -1229,7 +1194,7 @@ void func_80B55F6C(EnZl3* this, GlobalContext* globalCtx) { } void func_80B5604C(EnZl3* this) { - func_80B54E14(this, &D_06007664, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007664, 2, -8.0f, 0); this->action = 17; func_80B5582C(this); } @@ -1239,7 +1204,7 @@ void func_80B56090(EnZl3* this, s32 arg1) { if (func_80B5396C(this) == *unk_2F0) { if (arg1 != 0) { - func_80B54E14(this, &D_06003FF8, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, 0.0f, 0); this->action = 16; func_80B53974(this, 7); this->unk_2F0 = 7; @@ -1256,18 +1221,18 @@ void func_80B56108(EnZl3* this, GlobalContext* globalCtx) { } void func_80B56160(EnZl3* this) { - func_80B54E14(this, &D_060001D8, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0001D8, 0, 0.0f, 0); this->action = 19; } void func_80B561A0(EnZl3* this) { - func_80B54E14(this, &D_06001110, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_001110, 2, -8.0f, 0); this->action = 20; } void func_80B561E0(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_060004F4, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0004F4, 0, 0.0f, 0); } } @@ -1300,35 +1265,35 @@ void func_80B562F4(EnZl3* this, GlobalContext* globalCtx) { } void func_80B5634C(EnZl3* this) { - func_80B54E14(this, &D_06002348, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_002348, 2, -8.0f, 0); this->action = 22; } void func_80B5638C(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_0600210C, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_00210C, 0, 0.0f, 0); } } void func_80B563C0(EnZl3* this) { - func_80B54E14(this, &D_06002E54, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_002E54, 2, -8.0f, 0); this->action = 23; } void func_80B56400(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_06002710, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_002710, 0, 0.0f, 0); } } void func_80B56434(EnZl3* this) { - func_80B54E14(this, &D_06001D8C, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_001D8C, 2, -8.0f, 0); this->action = 24; } void func_80B56474(EnZl3* this, s32 arg1) { if (arg1 != 0) { - func_80B54E14(this, &D_060014DC, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0014DC, 0, 0.0f, 0); } } @@ -1408,7 +1373,7 @@ void func_80B564A8(EnZl3* this, GlobalContext* globalCtx) { void func_80B56658(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B564A8(this, globalCtx); } @@ -1416,7 +1381,7 @@ void func_80B56658(EnZl3* this, GlobalContext* globalCtx) { void func_80B566AC(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55B04(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -1424,7 +1389,7 @@ void func_80B566AC(EnZl3* this, GlobalContext* globalCtx) { void func_80B5670C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55B78(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -1434,7 +1399,7 @@ void func_80B5676C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); something = EnZl3_FrameUpdateMatrix(this); func_80B559C4(this); func_80B55C4C(this, something); @@ -1444,7 +1409,7 @@ void func_80B567CC(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B564A8(this, globalCtx); } @@ -1454,7 +1419,7 @@ void func_80B5682C(EnZl3* this, GlobalContext* globalCtx) { func_80B55A58(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55CCC(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); func_80B55D00(this, globalCtx); @@ -1465,7 +1430,7 @@ void func_80B568B4(EnZl3* this, GlobalContext* globalCtx) { func_80B537E8(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B55DB0(this, globalCtx); } @@ -1473,7 +1438,7 @@ void func_80B568B4(EnZl3* this, GlobalContext* globalCtx) { void func_80B5691C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55E48(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -1481,7 +1446,7 @@ void func_80B5691C(EnZl3* this, GlobalContext* globalCtx) { void func_80B5697C(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55EBC(this, EnZl3_FrameUpdateMatrix(this)); func_80B5585C(this); func_80B564A8(this, globalCtx); @@ -1492,7 +1457,7 @@ void func_80B569E4(EnZl3* this, GlobalContext* globalCtx) { func_80B533FC(this, globalCtx); func_80B537E8(this); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55F38(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); func_80B55F6C(this, globalCtx); @@ -1505,7 +1470,7 @@ void func_80B56A68(EnZl3* this, GlobalContext* globalCtx) { func_80B533FC(this, globalCtx); func_80B537E8(this); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); something = EnZl3_FrameUpdateMatrix(this); func_80B564A8(this, globalCtx); func_80B56090(this, something); @@ -1516,7 +1481,7 @@ void func_80B56AE0(EnZl3* this, GlobalContext* globalCtx) { func_80B533FC(this, globalCtx); func_80B537E8(this); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B55F38(this, EnZl3_FrameUpdateMatrix(this)); func_80B56108(this, globalCtx); } @@ -1524,7 +1489,7 @@ void func_80B56AE0(EnZl3* this, GlobalContext* globalCtx) { void func_80B56B54(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B564A8(this, globalCtx); } @@ -1533,7 +1498,7 @@ void func_80B56BA8(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B561E0(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); func_80B56214(this, globalCtx); @@ -1543,7 +1508,7 @@ void func_80B56C24(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B562F4(this, globalCtx); } @@ -1551,7 +1516,7 @@ void func_80B56C24(EnZl3* this, GlobalContext* globalCtx) { void func_80B56C84(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B5638C(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -1559,7 +1524,7 @@ void func_80B56C84(EnZl3* this, GlobalContext* globalCtx) { void func_80B56CE4(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B56400(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -1567,7 +1532,7 @@ void func_80B56CE4(EnZl3* this, GlobalContext* globalCtx) { void func_80B56D44(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); func_80B56474(this, EnZl3_FrameUpdateMatrix(this)); func_80B564A8(this, globalCtx); } @@ -2048,7 +2013,7 @@ void func_80B57EEC(EnZl3* this, GlobalContext* globalCtx) { void func_80B57F1C(EnZl3* this, GlobalContext* globalCtx) { if (func_80B57D80(this, globalCtx) == 0) { - func_80B54E14(this, &D_06009BE4, 0, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009BE4, 0, -8.0f, 0); this->action = 34; this->unk_314 -= 1; func_80B57AE0(this, globalCtx); @@ -2057,7 +2022,7 @@ void func_80B57F1C(EnZl3* this, GlobalContext* globalCtx) { s32 func_80B57F84(EnZl3* this, GlobalContext* globalCtx) { if (func_80B575D0(this, globalCtx) && func_80B57C7C(this, globalCtx) && !Gameplay_InCsMode(globalCtx)) { - func_80B54E14(this, &D_06009FBC, 0, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -8.0f, 0); this->action = 36; this->unk_2EC = 0.0f; func_80B57A74(globalCtx); @@ -2072,7 +2037,7 @@ void func_80B58014(EnZl3* this, GlobalContext* globalCtx) { s8 invincibilityTimer = player->invincibilityTimer; if (func_80B57324(this, globalCtx)) { - func_80B54E14(this, &D_06003FF8, 0, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, -11.0f, 0); this->action = 29; func_80B538B0(this); } else if (func_80B57C8C(this) && func_80B57F84(this, globalCtx)) { @@ -2085,13 +2050,13 @@ void func_80B58014(EnZl3* this, GlobalContext* globalCtx) { this->unk_3D8 = 1; func_800800F8(globalCtx, 0xFAA, -0x63, &this->actor, 0); } else if (!func_80B57C8C(this) && !func_80B576C8(this, globalCtx) && func_80B57564(this, globalCtx)) { - func_80B54E14(this, &D_06009BE4, 0, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009BE4, 0, -8.0f, 0); func_80B5764C(this, globalCtx); this->action = 34; this->unk_3D0 = 0; func_80B57AE0(this, globalCtx); } else if ((invincibilityTimer > 0) || (player->fallDistance >= 0x33)) { - func_80B54E14(this, &D_06007664, 0, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007664, 0, -11.0f, 0); this->action = 30; func_80B537E8(this); func_80B56DC8(this); @@ -2103,7 +2068,7 @@ void func_80B58014(EnZl3* this, GlobalContext* globalCtx) { void func_80B58214(EnZl3* this, GlobalContext* globalCtx) { if (func_80B573C8(this, globalCtx)) { - func_80B54E14(this, &D_06009FBC, 0, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -11.0f, 0); this->action = 28; this->unk_3D0 = 0; } @@ -2114,7 +2079,7 @@ void func_80B58268(EnZl3* this, GlobalContext* globalCtx) { s8 invincibilityTimer = player->invincibilityTimer; if ((invincibilityTimer <= 0) && (player->fallDistance <= 50)) { - func_80B54E14(this, &D_06009FBC, 0, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -11.0f, 0); this->action = 28; this->unk_3D0 = 0; } @@ -2126,12 +2091,12 @@ void func_80B582C8(EnZl3* this, GlobalContext* globalCtx) { if (*unk_3CC == kREG(14) + 10.0f) { *unk_3CC += 1.0f; - func_80B54E14(this, &D_06008050, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_008050, 0, -12.0f, 0); func_80B57704(this, globalCtx); } else if (*unk_3CC == kREG(15) + 20.0f) { *unk_3CC += 1.0f; func_80B56DC8(this); - func_80B54E14(this, &D_06003FF8, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, -12.0f, 0); } else if (*unk_3CC == kREG(16) + 30.0f) { *unk_3CC += 1.0f; func_80B57858(globalCtx); @@ -2157,18 +2122,18 @@ void func_80B584B4(EnZl3* this, GlobalContext* globalCtx) { this->action = 33; func_800800F8(globalCtx, 0xFAB, -0x63, &this->actor, 0); } else if (invincibilityTimer > 0) { - func_80B54E14(this, &D_06003FF8, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, -12.0f, 0); D_80B5A4BC = 1; func_80B56DC8(this); } } else { if ((nearbyEnTest == NULL) && (!Gameplay_InCsMode(globalCtx))) { - func_80B54E14(this, &D_06007664, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007664, 0, -12.0f, 0); D_80B5A4BC = 0; this->action = 33; func_800800F8(globalCtx, 0xFAB, -0x63, &this->actor, 0); } else if (invincibilityTimer <= 0) { - func_80B54E14(this, &D_06007664, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007664, 0, -12.0f, 0); D_80B5A4BC = 0; } } @@ -2180,13 +2145,13 @@ void func_80B58624(EnZl3* this, GlobalContext* globalCtx) { if (*unk_3CC == (kREG(18) + 10.0f)) { *unk_3CC += 1.0f; - func_80B54E14(this, &D_06008050, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_008050, 0, -12.0f, 0); func_80B5772C(this, globalCtx); } else if (*unk_3CC == kREG(19) + 20.0f) { *unk_3CC += 1.0f; this->actor.textId = 0x71AC; func_8010B680(globalCtx, this->actor.textId, 0); - func_80B54E14(this, &D_06003FF8, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, -12.0f, 0); } else if (*unk_3CC == ((kREG(19) + 20.0f) + 1.0f)) { if (func_8010BDBC(&globalCtx->msgCtx) == 2) { *unk_3CC += 1.0f; @@ -2200,7 +2165,7 @@ void func_80B58624(EnZl3* this, GlobalContext* globalCtx) { if (*unk_3CC >= kREG(20) + 30.0f) { this->action = 28; func_8005B1A4(ACTIVE_CAM); - func_80B54E14(this, &D_06009FBC, 0, -12.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -12.0f, 0); *unk_3CC = 0.0f; } else { *unk_3CC += 1.0f; @@ -2209,26 +2174,26 @@ void func_80B58624(EnZl3* this, GlobalContext* globalCtx) { } void func_80B5884C(EnZl3* this, GlobalContext* globalCtx) { - func_80B54E14(this, &D_060038C0, 2, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_0038C0, 2, -8.0f, 0); this->action = 37; this->unk_36C = 1; } void func_80B58898(EnZl3* this, GlobalContext* globalCtx) { - func_80B54E14(this, &D_060038C0, 2, -8.0f, 1); + func_80B54E14(this, &gZelda2Anime2Anim_0038C0, 2, -8.0f, 1); this->action = 38; this->unk_374 = 1; } void func_80B588E8(EnZl3* this, GlobalContext* globalCtx) { - func_80B54E14(this, &D_06009BE4, 0, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009BE4, 0, -8.0f, 0); func_80B57AE0(this, globalCtx); this->action = 39; } s32 func_80B58938(EnZl3* this, GlobalContext* globalCtx) { if (func_80B57C54(this)) { - func_80B54E14(this, &D_06009FBC, 0, -8.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -8.0f, 0); this->action = 28; this->unk_3D0 = 0; return 1; @@ -2242,7 +2207,7 @@ s32 func_80B5899C(EnZl3* this, GlobalContext* globalCtx) { s8 invincibilityTimer = player->invincibilityTimer; if ((invincibilityTimer > 0) || (player->fallDistance >= 0x33)) { - func_80B54E14(this, &D_06007664, 2, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_007664, 2, -11.0f, 0); this->action = 35; func_80B56DC8(this); return 1; @@ -2262,7 +2227,7 @@ void func_80B58A50(EnZl3* this, GlobalContext* globalCtx) { s8 invincibilityTimer = player->invincibilityTimer; if ((invincibilityTimer <= 0) && (player->fallDistance <= 50)) { - func_80B54E14(this, &D_06009BE4, 0, -11.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009BE4, 0, -11.0f, 0); this->action = 34; } } @@ -2306,7 +2271,7 @@ void func_80B58C08(EnZl3* this, GlobalContext* globalCtx) { thisPos->z = unk_348->z + (temp_f0 * (unk_354->z - unk_348->z)); if ((unk_344 - sp28) >= 0) { - this->unk_258 = ((f32)(unk_346 - unk_344) / (kREG(11) + 2)) * 255.0f; + this->alpha = ((f32)(unk_346 - unk_344) / (kREG(11) + 2)) * 255.0f; this->drawConfig = 2; } @@ -2319,7 +2284,7 @@ void func_80B58D50(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B57EAC(this, globalCtx); } @@ -2328,7 +2293,7 @@ void func_80B58DB0(EnZl3* this, GlobalContext* globalCtx) { func_80B54DE0(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B57EEC(this, globalCtx); } @@ -2338,7 +2303,7 @@ void func_80B58E10(EnZl3* this, GlobalContext* globalCtx) { Actor_SetFocus(&this->actor, 60.0f); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B57F1C(this, globalCtx); } @@ -2348,7 +2313,7 @@ void func_80B58E7C(EnZl3* this, GlobalContext* globalCtx) { func_80B53764(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58014(this, globalCtx); func_80B536B4(this); @@ -2360,7 +2325,7 @@ void func_80B58EF4(EnZl3* this, GlobalContext* globalCtx) { func_80B53764(this, globalCtx); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58214(this, globalCtx); } @@ -2371,7 +2336,7 @@ void func_80B58F6C(EnZl3* this, GlobalContext* globalCtx) { func_80B536C4(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58268(this, globalCtx); } @@ -2382,7 +2347,7 @@ void func_80B58FDC(EnZl3* this, GlobalContext* globalCtx) { func_80B536C4(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B582C8(this, globalCtx); } @@ -2393,7 +2358,7 @@ void func_80B5904C(EnZl3* this, GlobalContext* globalCtx) { func_80B536C4(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B584B4(this, globalCtx); } @@ -2404,7 +2369,7 @@ void func_80B590BC(EnZl3* this, GlobalContext* globalCtx) { func_80B536C4(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58624(this, globalCtx); } @@ -2415,7 +2380,7 @@ void func_80B5912C(EnZl3* this, GlobalContext* globalCtx) { func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); func_80B56E38(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B57CB4(this, globalCtx); func_80B57D60(this, globalCtx); @@ -2428,7 +2393,7 @@ void func_80B591BC(EnZl3* this, GlobalContext* globalCtx) { func_80B538B0(this); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58A50(this, globalCtx); } @@ -2440,7 +2405,7 @@ void func_80B5922C(EnZl3* this, GlobalContext* globalCtx) { Actor_SetFocus(&this->actor, 60.0f); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58AAC(this, globalCtx); } @@ -2452,8 +2417,8 @@ void func_80B592A8(EnZl3* this, GlobalContext* globalCtx) { Actor_SetFocus(&this->actor, 60.0f); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); - func_80B57AAC(this, EnZl3_FrameUpdateMatrix(this), &D_06003D20); + EnZl3_UpdateEyes(this); + func_80B57AAC(this, EnZl3_FrameUpdateMatrix(this), &gZelda2Anime2Anim_003D20); func_80B56DEC(this); func_80B58AAC(this, globalCtx); } @@ -2465,8 +2430,8 @@ void func_80B59340(EnZl3* this, GlobalContext* globalCtx) { Actor_SetFocus(&this->actor, 60.0f); func_80B533FC(this, globalCtx); func_80B5366C(this, globalCtx); - func_80B534CC(this); - func_80B57AAC(this, EnZl3_FrameUpdateMatrix(this), &D_06009FBC); + EnZl3_UpdateEyes(this); + func_80B57AAC(this, EnZl3_FrameUpdateMatrix(this), &gZelda2Anime2Anim_009FBC); func_80B58AAC(this, globalCtx); } @@ -2477,7 +2442,7 @@ void func_80B593D0(EnZl3* this, GlobalContext* globalCtx) { func_80B5366C(this, globalCtx); func_80B56E38(this, globalCtx); Actor_SetFocus(&this->actor, 60.0f); - func_80B534CC(this); + EnZl3_UpdateEyes(this); EnZl3_FrameUpdateMatrix(this); func_80B58C08(this, globalCtx); } @@ -2555,7 +2520,7 @@ void func_80B59828(EnZl3* this, GlobalContext* globalCtx) { if (func_80B59698(this, globalCtx) || (!func_80B56EE4(this, globalCtx) && func_80B57890(this, globalCtx))) { s16 newRotY; - func_80B54E14(this, &D_06009FBC, 0, 0.0f, 0); + func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, 0.0f, 0); this->actor.flags |= 9; func_80B56F10(this, globalCtx); newRotY = func_80B571A8(this); @@ -2629,13 +2594,13 @@ void func_80B59AD0(EnZl3* this, GlobalContext* globalCtx) { void func_80B59B6C(EnZl3* this, GlobalContext* globalCtx) { s32 sp2C = func_80B54DD4(this); - this->unk_3DC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_060091D8)); - this->unk_3E0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_0600A598)); - this->unk_3E4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_0600A334)); - this->unk_3F4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06001110)); - this->unk_3EC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06002348)); - this->unk_3F0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06002E54)); - this->unk_3E8 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06001D8C)); + this->unk_3DC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_0091D8)); + this->unk_3E0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_00A598)); + this->unk_3E4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_00A334)); + this->unk_3F4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_001110)); + this->unk_3EC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_002348)); + this->unk_3F0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_002E54)); + this->unk_3E8 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&gZelda2Anime2Anim_001D8C)); switch (sp2C) { case 0: @@ -2699,7 +2664,7 @@ void EnZl3_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(shape, 0.0f, ActorShadow_DrawCircle, 30.0f); shape->shadowAlpha = 0; func_80B533B0(thisx, globalCtx); - SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, this->jointTable, this->morphTable, 15); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZelda2Skel, NULL, this->jointTable, this->morphTable, 15); switch (func_80B54DD4(this)) { case 1: @@ -2735,20 +2700,20 @@ void func_80B59FE8(EnZl3* this, GlobalContext* globalCtx) { void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) { s32 pad[2]; - s16 unk_244 = this->unk_244; - u32 sp78 = D_80B5A43C[unk_244]; - s16 unk_248 = this->unk_248; + s16 eyeTexIndex = this->eyeTexIndex; + u64* eyeTex = sEyeTextures[eyeTexIndex]; + s16 mouthTexIndex = this->mouthTexIndex; SkelAnime* skelAnime = &this->skelAnime; - u32 sp6C = D_80B5A45C[unk_248]; + u64* mouthTex = sMouthTextures[mouthTexIndex]; s32 pad2; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2165); func_80093D18(globalCtx->state.gfxCtx); - gSPSegment(POLY_OPA_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_OPA_DISP++, 0x9, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_OPA_DISP++, 0xA, SEGMENTED_TO_VIRTUAL(sp6C)); + gSPSegment(POLY_OPA_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_OPA_DISP++, 0x9, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_OPA_DISP++, 0xA, SEGMENTED_TO_VIRTUAL(mouthTex)); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0xB, &D_80116280[2]); @@ -2760,21 +2725,21 @@ void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) { void func_80B5A1D0(EnZl3* this, GlobalContext* globalCtx) { s32 pad[2]; - s16 unk_244 = this->unk_244; - u32 sp78 = D_80B5A43C[unk_244]; - s16 unk_248 = this->unk_248; + s16 eyeTexIndex = this->eyeTexIndex; + u64* eyeTex = sEyeTextures[eyeTexIndex]; + s16 mouthTexIndex = this->mouthTexIndex; SkelAnime* skelAnime = &this->skelAnime; - u32 sp6C = D_80B5A45C[unk_248]; + u64* mouthTex = sMouthTextures[mouthTexIndex]; s32 pad2; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2205); func_80093D84(globalCtx->state.gfxCtx); - gSPSegment(POLY_XLU_DISP++, 8, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_XLU_DISP++, 9, SEGMENTED_TO_VIRTUAL(sp78)); - gSPSegment(POLY_XLU_DISP++, 10, SEGMENTED_TO_VIRTUAL(sp6C)); - gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_258); + gSPSegment(POLY_XLU_DISP++, 8, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_XLU_DISP++, 9, SEGMENTED_TO_VIRTUAL(eyeTex)); + gSPSegment(POLY_XLU_DISP++, 10, SEGMENTED_TO_VIRTUAL(mouthTex)); + gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha); gSPSegment(POLY_XLU_DISP++, 11, &D_80116280[0]); POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h index 188c88f5fe..aa26722b2e 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h @@ -16,13 +16,13 @@ typedef struct EnZl3 { /* 0x014C */ SkelAnime skelAnime; /* 0x0190 */ Vec3s jointTable[15]; /* 0x01EA */ Vec3s morphTable[15]; - /* 0x0244 */ s16 unk_244; - /* 0x0246 */ s16 unk_246; - /* 0x0248 */ s16 unk_248; + /* 0x0244 */ s16 eyeTexIndex; + /* 0x0246 */ s16 blinkTimer; + /* 0x0248 */ s16 mouthTexIndex; /* 0x024C */ s32 action; /* 0x0250 */ s32 drawConfig; /* 0x0254 */ char unk_254[0x4]; - /* 0x0258 */ s32 unk_258; + /* 0x0258 */ s32 alpha; /* 0x025C */ s16 unk_25C[24]; /* 0x028C */ s16 unk_28C[24]; /* 0x02BC */ s16 unk_2BC[24]; @@ -56,7 +56,7 @@ typedef struct EnZl3 { /* 0x03C8 */ u8 unk_3C8; /* 0x03CC */ f32 unk_3CC; /* 0x03D0 */ s16 unk_3D0; - /* 0x03D4 */ BossGanon2* unk_3D4; + /* 0x03D4 */ BossGanon2* ganon; /* 0x03D8 */ s32 unk_3D8; /* 0x03DC */ f32 unk_3DC; /* 0x03E0 */ f32 unk_3E0; diff --git a/undefined_syms.txt b/undefined_syms.txt index 063428142f..051dfb7568 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -286,44 +286,6 @@ D_060138E0 = 0x060138E0; D_06013F10 = 0x06013F10; D_060143A8 = 0x060143A8; -// z_en_zl3 -D_060001D8 = 0x060001D8; -D_060004F4 = 0x060004F4; -D_060014DC = 0x060014DC; -D_0600210C = 0x0600210C; -D_06002710 = 0x06002710; -D_060038C0 = 0x060038C0; -D_06003D20 = 0x06003D20; -D_06003FF8 = 0x06003FF8; -D_06004408 = 0x06004408; -D_0600499C = 0x0600499C; -D_06005248 = 0x06005248; -D_060054E0 = 0x060054E0; -D_06005A0C = 0x06005A0C; -D_060061C4 = 0x060061C4; -D_06006508 = 0x06006508; -D_06006AB0 = 0x06006AB0; -D_06006F04 = 0x06006F04; -D_06007664 = 0x06007664; -D_06007A78 = 0x06007A78; -D_06007C84 = 0x06007C84; -D_06008050 = 0x06008050; -D_060082F8 = 0x060082F8; -D_06008684 = 0x06008684; -D_06008AD0 = 0x06008AD0; -D_060091D8 = 0x060091D8; -D_060099A0 = 0x060099A0; -D_06009BE4 = 0x06009BE4; -D_06009FBC = 0x06009FBC; -D_0600A334 = 0x0600A334; -D_0600A598 = 0x0600A598; -D_0600AACC = 0x0600AACC; -D_06010D70 = 0x06010D70; -D_06001110 = 0x06001110; -D_06001D8C = 0x06001D8C; -D_06002348 = 0x06002348; -D_06002E54 = 0x06002E54; - // z_bg_spot17_bakudankabe D_0500A880 = 0x0500A880; @@ -597,36 +559,6 @@ D_0600BE40 = 0x0600BE40; D_06006B2C = 0x06006B2C; D_06007148 = 0x06007148; -// z_en_zl2 -D_0600325C = 0x0600325C; -D_060003BC = 0x060003BC; -D_06000A50 = 0x06000A50; -D_06000EB0 = 0x06000EB0; -D_06001010 = 0x06001010; -D_060013A0 = 0x060013A0; -D_06001670 = 0x06001670; -D_06001B48 = 0x06001B48; -D_060022D0 = 0x060022D0; -D_06002750 = 0x06002750; -D_06002B14 = 0x06002B14; -D_06002F30 = 0x06002F30; -D_06003538 = 0x06003538; -D_06004900 = 0x06004900; -D_06005F40 = 0x06005F40; -D_06006778 = 0x06006778; -D_06007D0C = 0x06007D0C; -D_060087B8 = 0x060087B8; -D_060090D8 = 0x060090D8; -D_06009AD4 = 0x06009AD4; -D_0600A15C = 0x0600A15C; -D_0600A79C = 0x0600A79C; -D_0600AAD4 = 0x0600AAD4; -D_0600AFE0 = 0x0600AFE0; -D_0600B224 = 0x0600B224; -D_0600B5FC = 0x0600B5FC; -D_0600BAE8 = 0x0600BAE8; -D_06010D70 = 0x06010D70; - // z_arms_hook D_0602B288 = 0x0602B288; D_0602AFF0 = 0x0602AFF0; @@ -1666,6 +1598,9 @@ D_060334F8 = 0x060334F8; D_06034278 = 0x06034278; D_060353C0 = 0x060353C0; +// z_boss_mo +D_06001010 = 0x06001010; + // z_boss_tw D_060004A4 = 0x060004A4; D_06000AAC = 0x06000AAC;