mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
two more
This commit is contained in:
@@ -24,7 +24,12 @@ typedef struct EnAn {
|
||||
/* 0x215 */ s8 unk_215; /* inferred */
|
||||
/* 0x216 */ char pad_216[2]; /* maybe part of unk_215[3]? */
|
||||
/* 0x218 */ Actor* unk_218;
|
||||
/* 0x21C */ char pad_21C[0x48]; /* maybe part of unk_218[0x13]? */
|
||||
/* 0x21C */ s8 unk_21C[0x24];
|
||||
/* 0x240 */ Vec3f unk_240;
|
||||
/* 0x24C */ s8 unk_24C[0xC];
|
||||
/* 0x258 */ Vec3s unk_258;
|
||||
/* 0x25E */ s8 unk_25E[2];
|
||||
/* 0x260 */ s8 unk_260[4];
|
||||
/* 0x264 */ Vec3s unk_264[0x15];
|
||||
/* 0x2E2 */ Vec3s unk_2E2[0x15];
|
||||
/* 0x360 */ u16 unk_360;
|
||||
@@ -51,7 +56,9 @@ typedef struct EnAn {
|
||||
/* 0x396 */ s16 unk_396; /* inferred */
|
||||
/* 0x398 */ void* unk_398;
|
||||
/* 0x39C */ s32 unk_39C;
|
||||
/* 0x3A0 */ char pad_3A0[0x10]; /* maybe part of unk_39C[5]? */
|
||||
/* 0x3A0 */ char pad_3A0[8]; /* maybe part of unk_39C[3]? */
|
||||
/* 0x3A8 */ u32 unk_3A8;
|
||||
/* 0x3AC */ u32 unk_3AC;
|
||||
/* 0x3B0 */ s32 unk_3B0;
|
||||
/* 0x3B4 */ s32 unk_3B4;
|
||||
/* 0x3B8 */ s32 unk_3B8;
|
||||
@@ -62,7 +69,6 @@ typedef struct EnAn {
|
||||
|
||||
Actor* func_80B539CC(EnAn* arg0, PlayState* arg1, u8 arg2, s16 arg3); /* static */
|
||||
struct EnDoor* func_80B53B3C(PlayState* arg0, u8 arg1); /* static */
|
||||
void func_80B54124(Actor* arg0, GraphicsContext** arg1, u32 arg2); /* static */
|
||||
s32 func_80B54678(Actor* arg0, s16 arg1, s32); /* static */
|
||||
s16 func_80B546F4(Actor* arg0, s32 arg1); /* static */
|
||||
s16 func_80B54750(Actor* arg0, s32 arg1); /* static */
|
||||
@@ -101,11 +107,6 @@ s32 func_80B56D28(EnAn* arg0, u8* arg2, u8*); /* static */
|
||||
? func_80B575BC(Actor* arg0, ? arg1); /* static */
|
||||
? func_80B57674(EnAn* arg0, ? arg1); /* static */
|
||||
void func_80B57718(EnAn* arg0, PlayState*); /* static */
|
||||
extern ? D_06000308;
|
||||
extern ? D_06000378;
|
||||
extern ? D_06000E70;
|
||||
extern ? D_06012478;
|
||||
extern ? D_0A000D40;
|
||||
extern u8 D_80B581D0;
|
||||
extern ? D_80B58618;
|
||||
extern ? D_80B58718;
|
||||
@@ -136,17 +137,12 @@ extern ? D_80B58B88;
|
||||
extern ? D_80B58B90;
|
||||
extern Vec3f D_80B58E34;
|
||||
extern ? D_80B58E40;
|
||||
extern Vec3f D_80B58E54;
|
||||
extern Vec3s D_80B58E60;
|
||||
extern Vec3f D_80B58E68;
|
||||
extern Vec3s D_80B58E74;
|
||||
extern Vec3f D_80B58E7C;
|
||||
extern Vec3s D_80B58E88;
|
||||
extern Vec3f D_80B58E90;
|
||||
extern Vec3s D_80B58E9C;
|
||||
extern Vec3s D_80B58EA4;
|
||||
extern ? D_80B58EAC;
|
||||
extern Vec3f D_80B58ED4;
|
||||
|
||||
void EnAn_Destroy(Actor* thisx, PlayState* play) {
|
||||
EnAn* this = (EnAn* ) thisx;
|
||||
@@ -552,7 +548,7 @@ void func_80B53F84(EnAn* this) {
|
||||
this->unk_392 = *(&D_80B58E40 + (this->unk_38C * 2));
|
||||
}
|
||||
|
||||
void func_80B54124(EnAn* this, GraphicsContext** gfxCtx, u32 arg2) {
|
||||
void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
s8 sp53;
|
||||
s8 sp52;
|
||||
GraphicsContext* sp4C;
|
||||
@@ -582,105 +578,105 @@ void func_80B54124(EnAn* this, GraphicsContext** gfxCtx, u32 arg2) {
|
||||
s8 temp_a2_3;
|
||||
s8 temp_a2_4;
|
||||
|
||||
sp53 = arg0->objBankIndex;
|
||||
temp_t0 = *arg1;
|
||||
sp53 = this->actor.objBankIndex;
|
||||
temp_t0 = play->state.gfxCtx;
|
||||
sp4C = temp_t0;
|
||||
Matrix_Push();
|
||||
switch (arg2) {
|
||||
case 0x0:
|
||||
if ((arg0->unk_360 & 0x800) && (arg0->unk_3B0 == 0)) {
|
||||
arg0->unk_3A8 = (u32) (arg0->unk_3A8 + 1);
|
||||
arg0->unk_3AC = (u32) (arg0->unk_3AC - 2);
|
||||
if ((this->unk_360 & 0x800) && (this->unk_3B0 == 0)) {
|
||||
this->unk_3A8 += 1;
|
||||
this->unk_3AC -= 2;
|
||||
sp4C = temp_t0;
|
||||
Gfx_SetupDL25_Xlu(*arg1);
|
||||
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
||||
temp_v0 = temp_t0->polyXlu.p;
|
||||
temp_t0->polyXlu.p = temp_v0 + 8;
|
||||
temp_v0->words.w0 = 0xDA380003;
|
||||
sp4C = temp_t0;
|
||||
sp44 = temp_v0;
|
||||
sp44->words.w1 = Matrix_NewMtx(*arg1);
|
||||
sp44->words.w1 = Matrix_NewMtx(play->state.gfxCtx);
|
||||
temp_v0_2 = temp_t0->polyXlu.p;
|
||||
temp_t0->polyXlu.p = temp_v0_2 + 8;
|
||||
temp_v0_2->words.w0 = 0xDB060020;
|
||||
sp4C = temp_t0;
|
||||
sp40 = temp_v0_2;
|
||||
sp40->words.w1 = Gfx_TwoTexScroll(*arg1, 0, arg0->unk_3A8, 0U, 0x10, 0x10, 1, 0U, arg0->unk_3AC, 0x10, 0x10);
|
||||
sp40->words.w1 = Gfx_TwoTexScroll(play->state.gfxCtx, 0, this->unk_3A8, 0U, 0x10, 0x10, 1, 0U, this->unk_3AC, 0x10, 0x10);
|
||||
temp_v0_3 = temp_t0->polyXlu.p;
|
||||
temp_t0->polyXlu.p = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w0 = 0xDE000000;
|
||||
temp_v0_3->words.w1 = (u32) &D_060111E8;
|
||||
Gfx_SetupDL25_Opa(*arg1);
|
||||
temp_v0_3->words.w1 = (u32) D_060111E8;
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
}
|
||||
break;
|
||||
case 0x1:
|
||||
temp_a2 = arg0->unk_20A;
|
||||
if ((arg0->unk_360 & 0x4000) && (arg0->unk_3B0 == 0) && (temp_a2 >= 0)) {
|
||||
temp_a2 = this->unk_20A;
|
||||
if ((this->unk_360 & 0x4000) && (this->unk_3B0 == 0) && (temp_a2 >= 0)) {
|
||||
temp_v0_4 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w0 = 0xDB060028;
|
||||
temp_v0_4->words.w1 = (arg1 + (temp_a2 * 0x44))->unk_17D98;
|
||||
temp_v0_4->words.w1 = (u32) play->objectCtx.status[temp_a2].segment;
|
||||
sp4C = temp_t0;
|
||||
Matrix_TranslateRotateZYX(&D_80B58E54, &D_80B58E60);
|
||||
temp_v0_5 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w0 = 0xDA380003;
|
||||
sp4C = temp_t0;
|
||||
temp_v0_5->words.w1 = Matrix_NewMtx(*arg1);
|
||||
temp_v0_5->words.w1 = Matrix_NewMtx(play->state.gfxCtx);
|
||||
temp_v0_6 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w0 = 0xDE000000;
|
||||
temp_v0_6->words.w1 = (u32) &D_0A000D40;
|
||||
temp_v0_6->words.w1 = (u32) D_0A000D40;
|
||||
temp_v0_7 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_7 + 8;
|
||||
temp_v0_7->words.w0 = 0xDB060018;
|
||||
temp_v0_7->words.w1 = (arg1 + (sp53 * 0x44))->unk_17D98;
|
||||
temp_v0_7->words.w1 = (u32) play->objectCtx.status[sp53].segment;
|
||||
}
|
||||
break;
|
||||
case 0x2:
|
||||
temp_a2_2 = arg0->unk_208;
|
||||
if ((arg0->unk_360 & 0x1000) && (arg0->unk_3B0 == 0) && (temp_a2_2 >= 0)) {
|
||||
temp_a2_2 = this->unk_208;
|
||||
if ((this->unk_360 & 0x1000) && (this->unk_3B0 == 0) && (temp_a2_2 >= 0)) {
|
||||
temp_v0_8 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_8 + 8;
|
||||
temp_v0_8->words.w0 = 0xDB060018;
|
||||
temp_v0_8->words.w1 = (arg1 + (temp_a2_2 * 0x44))->unk_17D98;
|
||||
temp_v0_8->words.w1 = (u32) play->objectCtx.status[temp_a2_2].segment;
|
||||
temp_v0_9 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_9 + 8;
|
||||
temp_v0_9->words.w1 = (u32) &D_06000378;
|
||||
temp_v0_9->words.w1 = (u32) D_06000378;
|
||||
temp_v0_9->words.w0 = 0xDE000000;
|
||||
temp_v0_10 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_10 + 8;
|
||||
temp_v0_10->words.w0 = 0xDB060018;
|
||||
temp_v0_10->words.w1 = (arg1 + (sp53 * 0x44))->unk_17D98;
|
||||
temp_v0_10->words.w1 = (u32) play->objectCtx.status[sp53].segment;
|
||||
}
|
||||
break;
|
||||
case 0x3:
|
||||
temp_a2_3 = arg0->unk_209;
|
||||
if ((arg0->unk_360 & 0x2000) && (arg0->unk_3B0 == 0) && (temp_a2_3 >= 0)) {
|
||||
temp_a2_3 = this->unk_209;
|
||||
if ((this->unk_360 & 0x2000) && (this->unk_3B0 == 0) && (temp_a2_3 >= 0)) {
|
||||
temp_v0_11 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_11 + 8;
|
||||
temp_v0_11->words.w0 = 0xDB060018;
|
||||
temp_v0_11->words.w1 = (arg1 + (temp_a2_3 * 0x44))->unk_17D98;
|
||||
temp_v0_11->words.w1 = (u32) play->objectCtx.status[temp_a2_3].segment;
|
||||
temp_v0_12 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_12 + 8;
|
||||
temp_v0_12->words.w1 = (u32) &D_06000308;
|
||||
temp_v0_12->words.w1 = (u32) D_06000308;
|
||||
temp_v0_12->words.w0 = 0xDE000000;
|
||||
temp_v0_13 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_13 + 8;
|
||||
temp_v0_13->words.w0 = 0xDB060018;
|
||||
temp_v0_13->words.w1 = (arg1 + (sp53 * 0x44))->unk_17D98;
|
||||
temp_v0_13->words.w1 = (u32) play->objectCtx.status[sp53].segment;
|
||||
}
|
||||
break;
|
||||
case 0x4:
|
||||
if ((arg0->unk_360 & 0x8000) && (arg0->unk_3B0 == 0)) {
|
||||
if ((this->unk_360 & 0x8000) && (this->unk_3B0 == 0)) {
|
||||
temp_v0_14 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_14 + 8;
|
||||
temp_v0_14->words.w1 = (u32) &D_06012478;
|
||||
temp_v0_14->words.w1 = (u32) D_06012478;
|
||||
temp_v0_14->words.w0 = 0xDE000000;
|
||||
}
|
||||
break;
|
||||
case 0x5:
|
||||
temp_a2_4 = arg0->unk_20C;
|
||||
if ((arg0->unk_3B4 != 0) && (temp_a2_4 >= 0)) {
|
||||
temp_a2_4 = this->unk_20C;
|
||||
if ((this->unk_3B4 != 0) && (temp_a2_4 >= 0)) {
|
||||
sp52 = temp_a2_4;
|
||||
sp4C = temp_t0;
|
||||
Matrix_TranslateRotateZYX(&D_80B58E68, &D_80B58E74);
|
||||
@@ -689,19 +685,19 @@ void func_80B54124(EnAn* this, GraphicsContext** gfxCtx, u32 arg2) {
|
||||
temp_v0_15->words.w0 = 0xDA380003;
|
||||
sp4C = temp_t0;
|
||||
sp52 = temp_a2_4;
|
||||
temp_v0_15->words.w1 = Matrix_NewMtx(*arg1);
|
||||
temp_v0_15->words.w1 = Matrix_NewMtx(play->state.gfxCtx);
|
||||
temp_v0_16 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_16 + 8;
|
||||
temp_v0_16->words.w0 = 0xDB060018;
|
||||
temp_v0_16->words.w1 = (arg1 + (temp_a2_4 * 0x44))->unk_17D98;
|
||||
temp_v0_16->words.w1 = (u32) play->objectCtx.status[temp_a2_4].segment;
|
||||
temp_v0_17 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_17 + 8;
|
||||
temp_v0_17->words.w1 = (u32) &D_06000E70;
|
||||
temp_v0_17->words.w1 = (u32) D_06000E70;
|
||||
temp_v0_17->words.w0 = 0xDE000000;
|
||||
temp_v0_18 = temp_t0->polyOpa.p;
|
||||
temp_t0->polyOpa.p = temp_v0_18 + 8;
|
||||
temp_v0_18->words.w0 = 0xDB060018;
|
||||
temp_v0_18->words.w1 = (arg1 + (sp53 * 0x44))->unk_17D98;
|
||||
temp_v0_18->words.w1 = (u32) play->objectCtx.status[sp53].segment;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2757,18 +2753,18 @@ void func_80B57EE8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto
|
||||
if (limbIndex == 9) {
|
||||
Matrix_MultVec3f(&D_80B58ED4, &thisx->focus.pos);
|
||||
Math_Vec3s_Copy(&thisx->focus.rot, &thisx->world.rot);
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 1U);
|
||||
func_80B54124((EnAn* ) thisx, play, 1U);
|
||||
return;
|
||||
}
|
||||
if (limbIndex == 8) {
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 0U);
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 4U);
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 2U);
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 3U);
|
||||
func_80B54124((EnAn* ) thisx, play, 0U);
|
||||
func_80B54124((EnAn* ) thisx, play, 4U);
|
||||
func_80B54124((EnAn* ) thisx, play, 2U);
|
||||
func_80B54124((EnAn* ) thisx, play, 3U);
|
||||
return;
|
||||
}
|
||||
if (limbIndex == 5) {
|
||||
func_80B54124(thisx, &play->state.gfxCtx, 5U);
|
||||
func_80B54124((EnAn* ) thisx, play, 5U);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ extern FlexSkeletonHeader D_06012618;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53840.s")
|
||||
|
||||
Actor* func_80B539CC(EnAn* this, PlayState* play, u8 arg2, s16 arg3);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B539CC.s")
|
||||
|
||||
Actor* func_80B53A7C(EnAn* this, PlayState* play, u8 actorCategory, s16 actorId) {
|
||||
@@ -276,11 +277,62 @@ void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54D18.s")
|
||||
|
||||
UNK_PTR func_80B54DF4(EnAn* this, PlayState* play);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54DF4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55180.s")
|
||||
s32 func_80B55180(EnAn* this, PlayState* play) {
|
||||
s32 ret = false;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B552E4.s")
|
||||
if ((this->unk_360 & 7) && Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
SubS_SetOfferMode(&this->unk_360, 0U, 7U);
|
||||
this->unk_3C4 = 0;
|
||||
this->unk_394 = 0;
|
||||
this->unk_398 = NULL;
|
||||
this->actor.child = this->unk_218;
|
||||
this->unk_204 = func_80B54DF4(this, play);
|
||||
|
||||
if ((this->unk_200 == 1) || (this->unk_200 == 3) || (this->unk_200 == 0x12) || (this->unk_200 == 0x13) || (this->unk_200 == 0x17) || (this->unk_200 == 0x16) || (this->unk_200 == 0x28) || (this->unk_200 == 0x2A) || (this->unk_200 == 0x2B) || (this->unk_200 == 0x2C) || (this->unk_200 == 0x2D) || (this->unk_200 == 0x2F) || (this->unk_200 == 0x30) || (this->unk_200 == 0x31) || (this->unk_200 == 0x34) || (this->unk_200 == 0x35)) {
|
||||
this->unk_360 |= 0x20;
|
||||
}
|
||||
|
||||
if ((this->unk_200 == 3) && (gSaveContext.save.saveInfo.weekEventReg[0x37] & 0x20)) {
|
||||
this->unk_360 &= ~0x20;
|
||||
}
|
||||
|
||||
this->actionFunc = func_80B57A44;
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
s32 func_80B552E4(EnAn* this, PlayState* play) {
|
||||
u16 temp_v0 = play->csCtx.scriptIndex;
|
||||
s32 ret = false;
|
||||
|
||||
if ((play->csCtx.state != 0) && (play->sceneId == 0x61) && (gSaveContext.sceneLayer == 0) && ((temp_v0 == 0) || (temp_v0 == 1))) {
|
||||
if (this->unk_3B0 == 0) {
|
||||
this->unk_38A = 0;
|
||||
this->unk_38C = 0;
|
||||
this->unk_360 |= 0x300;
|
||||
this->unk_38E = 8;
|
||||
this->unk_364 = -1;
|
||||
this->unk_3B0 = 1;
|
||||
this->unk_3B4 = 0;
|
||||
}
|
||||
|
||||
ret = true;
|
||||
} else if (this->unk_3B0 != 0) {
|
||||
this->unk_3B0 = 0;
|
||||
this->unk_3B4 = 0;
|
||||
this->unk_3C0 = 1;
|
||||
this->actor.room = play->roomCtx.curRoom.num;
|
||||
this->actionFunc = func_80B578F8;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B553AC.s")
|
||||
|
||||
@@ -296,6 +348,7 @@ void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55914.s")
|
||||
|
||||
Actor* func_80B55D20(EnAn* this, PlayState* play);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55D20.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55D98.s")
|
||||
@@ -324,6 +377,7 @@ void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56CAC.s")
|
||||
|
||||
s32 func_80B56D28(EnAn* this, PlayState* play, ScheduleOutput* scheduleOutput);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56D28.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56E44.s")
|
||||
@@ -340,6 +394,7 @@ void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57674.s")
|
||||
|
||||
void func_80B57718(EnAn* this, PlayState* play);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57718.s")
|
||||
|
||||
void func_80B577F0(EnAn* this, PlayState* play) {
|
||||
@@ -364,7 +419,36 @@ void func_80B577F0(EnAn* this, PlayState* play) {
|
||||
this->actionFunc(this, play);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B578F8.s")
|
||||
extern u8 D_80B581D0[];
|
||||
|
||||
void func_80B578F8(EnAn* this, PlayState* play) {
|
||||
ScheduleOutput sp20;
|
||||
|
||||
this->unk_384 = R_TIME_SPEED + ((void)0, gSaveContext.save.timeSpeedOffset);
|
||||
|
||||
if (!(this->actor.params & 0x8000) && (this->unk_3C0 == 0) && (gSaveContext.save.saveInfo.weekEventReg[0x33] & 0x40)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->unk_3C0 != 0) {
|
||||
sp20.result = 0x19;
|
||||
if (this->unk_200 != 0x19) {
|
||||
func_80B56D28(this, play, &sp20);
|
||||
}
|
||||
} else if ((Schedule_RunScript(play, D_80B581D0, &sp20) == 0) || ((this->unk_200 != sp20.result) && (func_80B56D28(this, play, &sp20) == 0))) {
|
||||
this->actor.shape.shadowDraw = NULL;
|
||||
this->actor.flags &= ~1;
|
||||
sp20.result = 0;
|
||||
} else {
|
||||
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
|
||||
this->actor.flags |= 1;
|
||||
}
|
||||
|
||||
this->unk_200 = sp20.result;
|
||||
this->unk_218 = func_80B55D20(this, play);
|
||||
func_80B57718(this, play);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57A44.s")
|
||||
|
||||
@@ -373,7 +457,7 @@ void func_80B577F0(EnAn* this, PlayState* play) {
|
||||
void EnAn_Init(Actor* thisx, PlayState* play) {
|
||||
s32 pad;
|
||||
EnAn* this = THIS;
|
||||
s32 temp_v1; // sp1C
|
||||
s32 temp_v1;
|
||||
s32 temp_v0;
|
||||
|
||||
if (play->sceneId != SCENE_YADOYA) {
|
||||
@@ -417,7 +501,7 @@ void EnAn_Update(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this->actionFunc != func_80B577F0) && (func_80B55180(this, play) == 0) && (func_80B552E4(this, play) != 0)) {
|
||||
if ((this->actionFunc != func_80B577F0) && !func_80B55180(this, play) && (func_80B552E4(this, play) != 0)) {
|
||||
func_80B57B48(this, play);
|
||||
func_80B53BA8(this, play);
|
||||
func_80B53F84(this);
|
||||
|
||||
@@ -15,19 +15,19 @@ typedef struct EnAn {
|
||||
/* 0x188 */ EnAnActionFunc actionFunc;
|
||||
/* 0x18C */ UNK_TYPE1 unk_18C[0x4];
|
||||
/* 0x190 */ ColliderCylinder unk_190;
|
||||
/* 0x1DC */ char pad_1DC[0x24]; /* inferred */
|
||||
/* 0x1DC */ char unk_1DC[0x24]; /* inferred */
|
||||
/* 0x200 */ u8 unk_200; /* inferred */
|
||||
/* 0x201 */ char pad_201[3]; /* maybe part of unk_200[4]? */
|
||||
/* 0x201 */ char unk_201[3]; /* maybe part of unk_200[4]? */
|
||||
/* 0x204 */ void* unk_204; /* inferred */
|
||||
/* 0x208 */ s8 unk_208; /* inferred */
|
||||
/* 0x209 */ s8 unk_209; /* inferred */
|
||||
/* 0x20A */ s8 unk_20A; /* inferred */
|
||||
/* 0x20B */ s8 unk_20B; /* inferred */
|
||||
/* 0x20C */ s8 unk_20C; /* inferred */
|
||||
/* 0x20D */ char pad_20D[3]; /* maybe part of unk_20C[4]? */
|
||||
/* 0x20D */ char unk_20D[3]; /* maybe part of unk_20C[4]? */
|
||||
/* 0x210 */ s32 unk_210; /* inferred */
|
||||
/* 0x214 */ s8 unk_214;
|
||||
/* 0x215 */ char pad_215[3]; /* maybe part of unk_214[4]? */
|
||||
/* 0x215 */ char unk_215[3]; /* maybe part of unk_214[4]? */
|
||||
/* 0x218 */ Actor* unk_218; /* inferred */
|
||||
/* 0x21C */ UNK_TYPE1 unk_21C[0x24]; /* maybe part of unk_218[0x13]? */
|
||||
/* 0x240 */ Vec3f unk_240;
|
||||
@@ -38,36 +38,37 @@ typedef struct EnAn {
|
||||
/* 0x264 */ Vec3s unk_264[0x15];
|
||||
/* 0x2E2 */ Vec3s unk_2E2[0x15];
|
||||
/* 0x360 */ u16 unk_360; // flags?
|
||||
/* 0x362 */ char pad_362[2]; /* inferred */
|
||||
/* 0x364 */ s8 unk_364; /* inferred */
|
||||
/* 0x365 */ char pad_365[3]; /* maybe part of unk_364[4]? */
|
||||
/* 0x362 */ char unk_362[2]; /* inferred */
|
||||
/* 0x364 */ u8 unk_364;
|
||||
/* 0x365 */ char unk_365[3]; /* maybe part of unk_364[4]? */
|
||||
/* 0x368 */ f32 unk_368; /* inferred */
|
||||
/* 0x36C */ char pad_36C[8]; /* maybe part of unk_368[3]? */
|
||||
/* 0x36C */ char unk_36C[8]; /* maybe part of unk_368[3]? */
|
||||
/* 0x374 */ f32 unk_374; /* inferred */
|
||||
/* 0x378 */ char pad_378[4]; /* inferred */
|
||||
/* 0x378 */ char unk_378[4]; /* inferred */
|
||||
/* 0x37C */ s16 unk_37C; /* inferred */
|
||||
/* 0x37E */ s16 unk_37E; /* inferred */
|
||||
/* 0x380 */ char pad_380[4]; /* maybe part of unk_37E[3]? */
|
||||
/* 0x380 */ char unk_380[4]; /* maybe part of unk_37E[3]? */
|
||||
/* 0x384 */ s16 unk_384; /* inferred */
|
||||
/* 0x386 */ char pad_386[2]; /* inferred */
|
||||
/* 0x386 */ char unk_386[2]; /* inferred */
|
||||
/* 0x388 */ s16 unk_388; /* inferred */
|
||||
/* 0x38A */ s16 unk_38A; /* inferred */
|
||||
/* 0x38C */ s16 unk_38C; /* inferred */
|
||||
/* 0x38E */ s16 unk_38E; /* inferred */
|
||||
/* 0x390 */ s16 unk_390; /* inferred */
|
||||
/* 0x392 */ s16 unk_392; /* inferred */
|
||||
/* 0x394 */ char pad_394[4]; /* maybe part of unk_392[3]? */
|
||||
/* 0x394 */ u16 unk_394;
|
||||
/* 0x396 */ UNK_TYPE1 unk_396[0x2];
|
||||
/* 0x398 */ void* unk_398; /* inferred */
|
||||
/* 0x39C */ s32 unk_39C; /* inferred */
|
||||
/* 0x3A0 */ char pad_3A0[8]; /* maybe part of unk_39C[3]? */
|
||||
/* 0x3A0 */ char unk_3A0[8]; /* maybe part of unk_39C[3]? */
|
||||
/* 0x3A8 */ u32 unk_3A8; /* inferred */
|
||||
/* 0x3AC */ u32 unk_3AC; /* inferred */
|
||||
/* 0x3B0 */ s32 unk_3B0; /* inferred */
|
||||
/* 0x3B4 */ s32 unk_3B4; /* inferred */
|
||||
/* 0x3B8 */ s32 unk_3B8;
|
||||
/* 0x3BC */ char pad_3BC[4]; /* inferred */
|
||||
/* 0x3BC */ char unk_3BC[4]; /* inferred */
|
||||
/* 0x3C0 */ s32 unk_3C0; /* inferred */
|
||||
/* 0x3C4 */ char pad_3C4[4]; /* inferred */
|
||||
/* 0x3C4 */ s32 unk_3C4;
|
||||
} EnAn; // size = 0x3C8
|
||||
|
||||
#endif // Z_EN_AN_H
|
||||
|
||||
Reference in New Issue
Block a user