mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
func_80B54124
This commit is contained in:
@@ -64,7 +64,7 @@ static CollisionCheckInfoInit2 D_80B58BE8 = { 0, 0, 0, 0, MASS_IMMOVABLE };
|
||||
extern ColliderCylinderInit D_80B58BBC;
|
||||
extern CollisionCheckInfoInit2 D_80B58BE8;
|
||||
|
||||
extern UNK_TYPE D_060111E8;
|
||||
extern Gfx D_060111E8[];
|
||||
extern FlexSkeletonHeader D_06012618;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53840.s")
|
||||
@@ -166,8 +166,97 @@ s32 func_80B53CE8(EnAn* this, PlayState* play, s32 arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53F84.s")
|
||||
|
||||
void func_80B54124(EnAn* this, PlayState* play, u32 arg2);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54124.s")
|
||||
extern Vec3f D_80B58E54;
|
||||
extern Vec3s D_80B58E60;
|
||||
|
||||
extern Gfx D_0A000D40[];
|
||||
|
||||
extern Gfx D_06000378[];
|
||||
extern Gfx D_06000308[];
|
||||
extern Gfx D_06012478[];
|
||||
extern Gfx D_06000E70[];
|
||||
|
||||
extern Vec3f D_80B58E68;
|
||||
extern Vec3s D_80B58E74;
|
||||
|
||||
|
||||
void func_80B54124(EnAn* this, PlayState* play, u32 arg2) {
|
||||
s32 pad;
|
||||
s8 sp53 = this->actor.objBankIndex;
|
||||
s8 temp_a2;
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
Matrix_Push();
|
||||
|
||||
switch (arg2) {
|
||||
case 0x0:
|
||||
if ((this->unk_360 & 0x800) && (this->unk_3B0 == 0)) {
|
||||
this->unk_3A8 += 1;
|
||||
this->unk_3AC -= 2;
|
||||
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
||||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, 0, this->unk_3A8, 0U, 0x10, 0x10, 1, 0U, this->unk_3AC, 0x10, 0x10));
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_060111E8);
|
||||
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x1:
|
||||
temp_a2 = this->unk_20A;
|
||||
if ((this->unk_360 & 0x4000) && (this->unk_3B0 == 0) && (temp_a2 >= 0)) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0A, play->objectCtx.status[temp_a2].segment);
|
||||
|
||||
Matrix_TranslateRotateZYX(&D_80B58E54, &D_80B58E60);
|
||||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_0A000D40);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[sp53].segment);
|
||||
}
|
||||
break;
|
||||
case 0x2:
|
||||
temp_a2 = this->unk_208;
|
||||
if ((this->unk_360 & 0x1000) && (this->unk_3B0 == 0) && (temp_a2 >= 0)) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp_a2].segment);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000378);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[sp53].segment);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x3:
|
||||
temp_a2 = this->unk_209;
|
||||
if ((this->unk_360 & 0x2000) && (this->unk_3B0 == 0) && (temp_a2 >= 0)) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp_a2].segment);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000308);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[sp53].segment);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x4:
|
||||
if ((this->unk_360 & 0x8000) && (this->unk_3B0 == 0)) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06012478);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x5:
|
||||
temp_a2 = this->unk_20C;
|
||||
if ((this->unk_3B4 != 0) && (temp_a2 >= 0)) {
|
||||
Matrix_TranslateRotateZYX(&D_80B58E68, &D_80B58E74);
|
||||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp_a2].segment);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000E70);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[sp53].segment);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Matrix_Pop();
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54678.s")
|
||||
|
||||
|
||||
@@ -59,7 +59,9 @@ typedef struct EnAn {
|
||||
/* 0x394 */ char pad_394[4]; /* maybe part of unk_392[3]? */
|
||||
/* 0x398 */ void* unk_398; /* inferred */
|
||||
/* 0x39C */ s32 unk_39C; /* inferred */
|
||||
/* 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; /* inferred */
|
||||
/* 0x3AC */ u32 unk_3AC; /* inferred */
|
||||
/* 0x3B0 */ s32 unk_3B0; /* inferred */
|
||||
/* 0x3B4 */ s32 unk_3B4; /* inferred */
|
||||
/* 0x3B8 */ s32 unk_3B8;
|
||||
|
||||
Reference in New Issue
Block a user