1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

object_zl2, object_zl2_anime1 & object_zl2_anime2 OK (#694)

* xml

Signed-off-by: Angie <angheloalf95@gmail.com>

* add xmls of anime1 and anime2

Signed-off-by: Angie <angheloalf95@gmail.com>

* add unaccounted data from animes

Signed-off-by: Angie <angheloalf95@gmail.com>

* add all unaccounted data and a bit of renaming

Signed-off-by: Angie <angheloalf95@gmail.com>

* add to spec and change the pointer to the decompiled names

Signed-off-by: Angie <angheloalf95@gmail.com>

* add palettes

Signed-off-by: angie <angheloalf95@gmail.com>

* delete gitkeep

Signed-off-by: angie <angheloalf95@gmail.com>

* run format

Signed-off-by: angie <angheloalf95@gmail.com>

* change palette to Tlut

Signed-off-by: angie <angheloalf95@gmail.com>

* change `Tlut` to `TLUT`

Signed-off-by: angie <angheloalf95@gmail.com>
This commit is contained in:
Anghelo Carvajal 2021-03-27 23:24:28 -03:00 committed by GitHub
parent 97f80eeb3f
commit 43b45b91c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 411 additions and 427 deletions

View File

@ -0,0 +1,42 @@
<Root>
<File Name="object_zl2" Segment="6">
<!-- Zelda 2 skeleton -->
<Skeleton Name="gZelda2Skel" Type="Flex" LimbType="Standard" Offset="0x10D70"/>
<!-- Zelda 2 eyes textures -->
<Texture Name="gZelda2EyesTLUT" OutName="zelda_2_eyes_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x2B00"/>
<Texture Name="gZelda2EyeOpenTex" OutName="zelda_2_eye_open" Format="ci8" Width="32" Height="32" Offset="0x30C8"/>
<Texture Name="gZelda2EyeHalfTex" OutName="zelda_2_eye_half" Format="ci8" Width="32" Height="32" Offset="0x3C48"/>
<Texture Name="gZelda2EyeShutTex" OutName="zelda_2_eye_shut" Format="ci8" Width="32" Height="32" Offset="0x4048"/>
<Texture Name="gZelda2Eye03Tex" OutName="zelda_2_eye_03" Format="ci8" Width="32" Height="32" Offset="0x4548"/>
<Texture Name="gZelda2Eye04Tex" OutName="zelda_2_eye_04" Format="ci8" Width="32" Height="32" Offset="0x4948"/>
<Texture Name="gZelda2Eye05Tex" OutName="zelda_2_eye_05" Format="ci8" Width="32" Height="32" Offset="0x4D48"/>
<Texture Name="gZelda2Eye06Tex" OutName="zelda_2_eye_06" Format="ci8" Width="32" Height="32" Offset="0x5148"/> <!-- Scared (?) -->
<Texture Name="gZelda2Eye07Tex" OutName="zelda_2_eye_07" Format="ci8" Width="32" Height="32" Offset="0x5D48"/> <!-- Sad (?) -->
<Texture Name="gZelda2Eye08Tex" OutName="zelda_2_eye_08" Format="ci8" Width="32" Height="32" Offset="0x6148"/> <!-- Sad2 (?) -->
<Texture Name="gZelda2EyeUnusedTex" OutName="zelda_2_eye_unused" Format="rgb5a1" Width="32" Height="32" Offset="0x600"/>
<!-- Zelda 2 mouth textures -->
<Texture Name="gZelda2MouthTLUT" OutName="zelda_2_mouth_tlut" Format="rgb5a1" Width="16" Height="14" Offset="0x2D90"/>
<Texture Name="gZelda2MouthSeriousTex" OutName="zelda_2_mouth_serious" Format="ci8" Width="32" Height="32" Offset="0x3508"/>
<Texture Name="gZelda2MouthHappyTex" OutName="zelda_2_mouth_happy" Format="ci8" Width="32" Height="32" Offset="0x5548"/>
<Texture Name="gZelda2MouthOpenTex" OutName="zelda_2_mouth_open" Format="ci8" Width="32" Height="32" Offset="0x5948"/>
<!-- Ocarina of time -->
<DList Name="gZelda2OcarinaDL" Offset="0xBAE8"/>
<Texture Name="gZelda2OcarinaTex" OutName="zelda_2_ocarina" Format="rgb5a1" Width="32" Height="16" Offset="0xB598"/>
<!-- Palletes -->
<Texture Name="gZelda2_0TLUT" OutName="zelda_2_0_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x0"/>
<Texture Name="gZelda2_1TLUT" OutName="zelda_2_1_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x200"/>
<Texture Name="gZelda2_2TLUT" OutName="zelda_2_2_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x400"/>
<Texture Name="gZelda2_3TLUT" OutName="zelda_2_3_tlut" Format="rgb5a1" Width="9" Height="8" Offset="0x2D00"/>
<Texture Name="gZelda2_4TLUT" OutName="zelda_2_4_tlut" Format="rgb5a1" Width="47" Height="4" Offset="0x2F50"/>
<Texture Name="gZelda2_5TLUT" OutName="zelda_2_5_tlut" Format="rgb5a1" Width="17" Height="8" Offset="0x9490"/>
<Texture Name="gZelda2_6TLUT" OutName="zelda_2_6_tlut" Format="rgb5a1" Width="15" Height="12" Offset="0x95A0"/>
<Texture Name="gZelda2_7TLUT" OutName="zelda_2_7_tlut" Format="rgb5a1" Width="6" Height="4" Offset="0x9708"/>
<Texture Name="gZelda2TriforceTex" OutName="zelda_2_triforce" Format="rgb5a1" Width="16" Height="16" Offset="0x2900"/>
</File>
</Root>

View File

@ -0,0 +1,30 @@
<Root>
<File Name="object_zl2_anime1" Segment="6">
<Animation Name="gZelda2Anime1Anim_0003BC" Offset="0x3BC"/>
<Animation Name="gZelda2Anime1Anim_000A50" Offset="0xA50"/>
<Animation Name="gZelda2Anime1Anim_000EB0" Offset="0xEB0"/>
<Animation Name="gZelda2Anime1Anim_001010" Offset="0x1010"/>
<Animation Name="gZelda2Anime1Anim_0013A0" Offset="0x13A0"/>
<Animation Name="gZelda2Anime1Anim_001670" Offset="0x1670"/>
<Animation Name="gZelda2Anime1Anim_001B48" Offset="0x1B48"/>
<Animation Name="gZelda2Anime1Anim_0022D0" Offset="0x22D0"/>
<Animation Name="gZelda2Anime1Anim_002750" Offset="0x2750"/>
<Animation Name="gZelda2Anime1Anim_002B14" Offset="0x2B14"/>
<Animation Name="gZelda2Anime1Anim_002F30" Offset="0x2F30"/>
<Animation Name="gZelda2Anime1Anim_00325C" Offset="0x325C"/>
<Animation Name="gZelda2Anime1Anim_003538" Offset="0x3538"/>
<Animation Name="gZelda2Anime1Anim_004900" Offset="0x4900"/>
<Animation Name="gZelda2Anime1Anim_005F40" Offset="0x5F40"/>
<Animation Name="gZelda2Anime1Anim_006778" Offset="0x6778"/>
<Animation Name="gZelda2Anime1Anim_007D0C" Offset="0x7D0C"/>
<Animation Name="gZelda2Anime1Anim_0087B8" Offset="0x87B8"/>
<Animation Name="gZelda2Anime1Anim_0090D8" Offset="0x90D8"/>
<Animation Name="gZelda2Anime1Anim_009AD4" Offset="0x9AD4"/>
<Animation Name="gZelda2Anime1Anim_00A15C" Offset="0xA15C"/>
<Animation Name="gZelda2Anime1Anim_00A79C" Offset="0xA79C"/>
<Animation Name="gZelda2Anime1Anim_00AAD4" Offset="0xAAD4"/>
<Animation Name="gZelda2Anime1Anim_00AFE0" Offset="0xAFE0"/>
<Animation Name="gZelda2Anime1Anim_00B224" Offset="0xB224"/>
<Animation Name="gZelda2Anime1Anim_00B5FC" Offset="0xB5FC"/>
</File>
</Root>

View File

@ -0,0 +1,40 @@
<Root>
<File Name="object_zl2_anime2" Segment="6">
<Animation Name="gZelda2Anime2Anim_0001D8" Offset="0x1D8"/>
<Animation Name="gZelda2Anime2Anim_0004F4" Offset="0x4F4"/>
<Animation Name="gZelda2Anime2Anim_001110" Offset="0x1110"/>
<Animation Name="gZelda2Anime2Anim_0014DC" Offset="0x14DC"/>
<Animation Name="gZelda2Anime2Anim_001D8C" Offset="0x1D8C"/>
<Animation Name="gZelda2Anime2Anim_00210C" Offset="0x210C"/>
<Animation Name="gZelda2Anime2Anim_002348" Offset="0x2348"/>
<Animation Name="gZelda2Anime2Anim_002710" Offset="0x2710"/>
<Animation Name="gZelda2Anime2Anim_002E54" Offset="0x2E54"/>
<Animation Name="gZelda2Anime2Anim_00322C" Offset="0x322C"/>
<Animation Name="gZelda2Anime2Anim_0038C0" Offset="0x38C0"/>
<Animation Name="gZelda2Anime2Anim_003D20" Offset="0x3D20"/>
<Animation Name="gZelda2Anime2Anim_003FF8" Offset="0x3FF8"/>
<Animation Name="gZelda2Anime2Anim_004408" Offset="0x4408"/>
<Animation Name="gZelda2Anime2Anim_00499C" Offset="0x499C"/>
<Animation Name="gZelda2Anime2Anim_005248" Offset="0x5248"/>
<Animation Name="gZelda2Anime2Anim_0054E0" Offset="0x54E0"/>
<Animation Name="gZelda2Anime2Anim_005A0C" Offset="0x5A0C"/>
<Animation Name="gZelda2Anime2Anim_0061C4" Offset="0x61C4"/>
<Animation Name="gZelda2Anime2Anim_006508" Offset="0x6508"/>
<Animation Name="gZelda2Anime2Anim_006AB0" Offset="0x6AB0"/>
<Animation Name="gZelda2Anime2Anim_006F04" Offset="0x6F04"/>
<Animation Name="gZelda2Anime2Anim_007664" Offset="0x7664"/>
<Animation Name="gZelda2Anime2Anim_007A78" Offset="0x7A78"/>
<Animation Name="gZelda2Anime2Anim_007C84" Offset="0x7C84"/>
<Animation Name="gZelda2Anime2Anim_008050" Offset="0x8050"/>
<Animation Name="gZelda2Anime2Anim_0082F8" Offset="0x82F8"/>
<Animation Name="gZelda2Anime2Anim_008684" Offset="0x8684"/>
<Animation Name="gZelda2Anime2Anim_008AD0" Offset="0x8AD0"/>
<Animation Name="gZelda2Anime2Anim_0091D8" Offset="0x91D8"/>
<Animation Name="gZelda2Anime2Anim_0099A0" Offset="0x99A0"/>
<Animation Name="gZelda2Anime2Anim_009BE4" Offset="0x9BE4"/>
<Animation Name="gZelda2Anime2Anim_009FBC" Offset="0x9FBC"/>
<Animation Name="gZelda2Anime2Anim_00A334" Offset="0xA334"/>
<Animation Name="gZelda2Anime2Anim_00A598" Offset="0xA598"/>
<Animation Name="gZelda2Anime2Anim_00AACC" Offset="0xAACC"/>
</File>
</Root>

9
spec
View File

@ -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

View File

@ -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]);

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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;