mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
the overrides
This commit is contained in:
@@ -166,6 +166,7 @@ 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")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54678.s")
|
||||
@@ -351,17 +352,59 @@ void EnAn_Update(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B57EE8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57EE8.s")
|
||||
extern Vec3f D_80B58ED4;
|
||||
|
||||
void func_80B57FC4(PlayState* play, s32 limbIndex, Actor* thisx);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57FC4.s")
|
||||
void func_80B57EE8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
EnAn* this = THIS;
|
||||
|
||||
if (limbIndex == 9) {
|
||||
Matrix_MultVec3f(&D_80B58ED4, &this->actor.focus.pos);
|
||||
Math_Vec3s_Copy(&this->actor.focus.rot, &this->actor.world.rot);
|
||||
func_80B54124(this, play, 1U);
|
||||
} else if (limbIndex == 8) {
|
||||
func_80B54124(this, play, 0U);
|
||||
func_80B54124(this, play, 4U);
|
||||
func_80B54124(this, play, 2U);
|
||||
func_80B54124(this, play, 3U);
|
||||
} else if (limbIndex == 5) {
|
||||
func_80B54124(this, play, 5U);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80B57FC4(PlayState* play, s32 limbIndex, Actor* thisx) {
|
||||
EnAn* this = THIS;
|
||||
s32 stepRot;
|
||||
s32 overrideRot;
|
||||
|
||||
if (!(this->unk_360 & 0x200)) {
|
||||
if (this->unk_360 & 0x80) {
|
||||
overrideRot = true;
|
||||
} else {
|
||||
overrideRot = false;
|
||||
}
|
||||
stepRot = true;
|
||||
} else {
|
||||
overrideRot = false;
|
||||
stepRot = false;
|
||||
}
|
||||
|
||||
if (limbIndex == 9) {
|
||||
SubS_UpdateLimb((s16) (this->unk_37C + 0x4000), (s16) (this->unk_37E + this->actor.shape.rot.y + 0x4000), &this->unk_240, &this->unk_258, stepRot, overrideRot);
|
||||
Matrix_Pop();
|
||||
Matrix_Translate(this->unk_240.x, this->unk_240.y, this->unk_240.z, MTXMODE_NEW);
|
||||
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
|
||||
Matrix_RotateYS(this->unk_258.y, MTXMODE_APPLY);
|
||||
Matrix_RotateXS(this->unk_258.x, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(this->unk_258.z, MTXMODE_APPLY);
|
||||
Matrix_Push();
|
||||
}
|
||||
}
|
||||
|
||||
extern UNK_PTR D_80B58EEC[];
|
||||
extern UNK_PTR D_80B58EE0[];
|
||||
|
||||
void EnAn_Draw(Actor* thisx, PlayState* play) {
|
||||
EnAn* this = (EnAn* ) thisx;
|
||||
EnAn* this = THIS;
|
||||
|
||||
if ((this->unk_200 != 0) || (this->unk_3B0 != 0)) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
@@ -371,7 +414,7 @@ void EnAn_Draw(Actor* thisx, PlayState* play) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80B58EEC[this->unk_390]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(D_80B58EE0[this->unk_392]));
|
||||
|
||||
SkelAnime_DrawTransformFlexOpa(play, this->unk_144.skeleton, this->unk_144.jointTable, this->unk_144.dListCount, NULL, func_80B57EE8, func_80B57FC4, this);
|
||||
SkelAnime_DrawTransformFlexOpa(play, this->unk_144.skeleton, this->unk_144.jointTable, this->unk_144.dListCount, NULL, func_80B57EE8, func_80B57FC4, &this->actor);
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
@@ -29,10 +29,15 @@ typedef struct EnAn {
|
||||
/* 0x214 */ s8 unk_214;
|
||||
/* 0x215 */ char pad_215[3]; /* maybe part of unk_214[4]? */
|
||||
/* 0x218 */ Actor* unk_218; /* inferred */
|
||||
/* 0x21C */ char pad_21C[0x48]; /* maybe part of unk_218[0x13]? */
|
||||
/* 0x21C */ UNK_TYPE1 unk_21C[0x24]; /* maybe part of unk_218[0x13]? */
|
||||
/* 0x240 */ Vec3f unk_240;
|
||||
/* 0x24C */ UNK_TYPE1 unk_24C[0xC];
|
||||
/* 0x258 */ Vec3s unk_258;
|
||||
/* 0x25E */ UNK_TYPE1 unk_25E[0x2];
|
||||
/* 0x260 */ UNK_TYPE1 unk_260[0x4];
|
||||
/* 0x264 */ Vec3s unk_264[0x15];
|
||||
/* 0x2E2 */ Vec3s unk_2E2[0x15];
|
||||
/* 0x360 */ u16 unk_360; /* inferred */
|
||||
/* 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]? */
|
||||
|
||||
Reference in New Issue
Block a user