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;