mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-25 06:06:05 +00:00
Progress
This commit is contained in:
parent
266f7a6f19
commit
e645bc6f70
4 changed files with 53 additions and 10 deletions
|
@ -2262,7 +2262,7 @@ void func_800F4C58(Vec3f*, u16, u8);
|
|||
void func_800F574C(f32 arg0, UNK_TYPE arg2);
|
||||
void func_800F595C(u16);
|
||||
void func_800F59E8(u16);
|
||||
// ? func_800F5ACC(?);
|
||||
void func_800F5ACC(u32 bgmID);
|
||||
void func_800F5B58();
|
||||
void func_800F5C64(u16);
|
||||
// ? func_800F5CF8(?);
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
#define THIS ((EnIk*)thisx)
|
||||
|
||||
typedef void (*EnIkActionFunc)(struct EnIk*, GlobalContext*);
|
||||
typedef void (*EnIkDrawFunc)(struct EnIk*, GlobalContext*);
|
||||
|
||||
void EnIk_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
@ -22,11 +21,16 @@ void EnIk_Draw(Actor* thisx, GlobalContext* globalCtx);
|
|||
|
||||
void func_80A74398(EnIk* this, GlobalContext* globalCtx);
|
||||
void func_80A74714(EnIk* this);
|
||||
void func_80A7489C(EnIk* this);
|
||||
void func_80A7492C(EnIk* this, GlobalContext* globalCtx);
|
||||
void func_80A75FA0(Actor* thisx, GlobalContext* globalCtx);
|
||||
void func_80A76798(Actor* thisx, GlobalContext* globalCtx);
|
||||
void func_80A76BF4();
|
||||
void func_80A780D0(EnIk* this, GlobalContext* globalCtx);
|
||||
void func_80A78160(EnIk* this, GlobalContext* globalCtx);
|
||||
|
||||
extern AnimationHeader D_0600C114;
|
||||
extern AnimationHeader D_0600DD50;
|
||||
extern SkeletonHeader D_0601E178;
|
||||
|
||||
extern ColliderCylinderInit D_80A78340;
|
||||
|
@ -62,7 +66,10 @@ void EnIk_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
Collider_DestroyQuad(globalCtx, &this->unk_36C);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A74390.s")
|
||||
// EnIk_SetupAction
|
||||
void func_80A74390(EnIk* this, EnIkActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_80A74398(EnIk* this, GlobalContext* globalCtx) {
|
||||
|
@ -130,7 +137,15 @@ void func_80A74398(EnIk* this, GlobalContext* globalCtx) {
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A747C0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A7489C.s")
|
||||
void func_80A7489C(EnIk* this) {
|
||||
f32 frames = SkelAnime_GetFrameCount(&D_0600DD50.genericHeader);
|
||||
|
||||
this->actor.flags |= 5;
|
||||
this->unk_2F8 = 4;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_0600DD50, 0.0f, 0.0f, frames, 0, 4.0f);
|
||||
func_80A74390(this, func_80A7492C);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A7492C.s")
|
||||
|
||||
|
@ -182,7 +197,11 @@ void func_80A74398(EnIk* this, GlobalContext* globalCtx) {
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A76798.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A76BF4.s")
|
||||
// starts middle boss bgm
|
||||
void func_80A76BF4() {
|
||||
// NA_BGM_MIDDLE_BOSS
|
||||
func_800F5ACC(0x38);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A76C14.s")
|
||||
|
||||
|
@ -266,9 +285,28 @@ void EnIk_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A780D0.s")
|
||||
void func_80A780D0(EnIk* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.params == 0) {
|
||||
if (!(gSaveContext.eventChkInf[3] & 0x800)) {
|
||||
this->actor.update = EnIk_Update;
|
||||
this->actor.draw = EnIk_Draw;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
} else {
|
||||
func_80A78160(this, globalCtx);
|
||||
func_80A76BF4();
|
||||
}
|
||||
}
|
||||
osSyncPrintf("En_Ik_inConfrontion_Init : %d !!!!!!!!!!!!!!!!\n", this->actor.params);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A78160.s")
|
||||
void func_80A78160(EnIk* this, GlobalContext* globalCtx) {
|
||||
this->actor.update = func_80A75FA0;
|
||||
this->actor.draw = func_80A76798;
|
||||
this->actor.flags |= 5;
|
||||
gSaveContext.eventChkInf[3] |= 0x800;
|
||||
Actor_SetScale(this, 0.012f);
|
||||
func_80A7489C(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A781CC.s")
|
||||
|
||||
|
|
|
@ -6,16 +6,20 @@
|
|||
|
||||
struct EnIk;
|
||||
|
||||
typedef void (*EnIkActionFunc)(struct EnIk*, GlobalContext*);
|
||||
|
||||
typedef struct EnIk {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ Vec3s limbDrawTable[30];
|
||||
/* 0x0244 */ Vec3s transitionDrawTable[30];
|
||||
/* 0x02F8 */ char unk_2F8[0x04];
|
||||
/* 0x02F8 */ s8 unk_2F8;
|
||||
/* 0x02F9 */ char unk_2F9[0x03];
|
||||
/* 0x02FC */ s8 unk_2FC;
|
||||
/* 0x02FD */ char unk_2FD[0x05];
|
||||
/* 0x0302 */ s16 switchFlags;
|
||||
/* 0x0304 */ char unk_304[0x1C];
|
||||
/* 0x0304 */ EnIkActionFunc actionFunc;
|
||||
/* 0x0308 */ char unk_308[0x18];
|
||||
/* 0x0320 */ ColliderCylinder unk_320;
|
||||
/* 0x036C */ ColliderQuad unk_36C;
|
||||
/* 0x03EC */ ColliderTris unk_3EC;
|
||||
|
|
|
@ -1109,8 +1109,9 @@ D_060009D0 = 0x060009D0;
|
|||
D_06000A60 = 0x06000A60;
|
||||
|
||||
// z_en_ik
|
||||
D_0601E178 = 0x0601E178;
|
||||
D_0600C114 = 0x0600C114;
|
||||
D_0600DD50 = 0x0600DD50;
|
||||
D_0601E178 = 0x0601E178;
|
||||
|
||||
// z_en_insect
|
||||
D_04035590 = 0x04035590;
|
||||
|
|
Loading…
Reference in a new issue