Sub_S Prototypes and approriate header stuff (#408)

* Add sub_s prototypes

* Rename limbDrawTable to jointTable

* Rename UnkActorDraws

* Fix warnings

* Fix warnings
This commit is contained in:
Derek Hensley
2021-11-19 07:45:26 -08:00
committed by GitHub
parent d190b265f6
commit 9b51336f09
17 changed files with 166 additions and 175 deletions
+2 -2
View File
@@ -474,7 +474,7 @@ void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* joi
}
void func_80134148(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDraw unkDraw,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw,
Actor* actor, Mtx** mtx) {
StandardLimb* limb;
Gfx* newDList;
@@ -538,7 +538,7 @@ void func_80134148(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec
}
void func_801343C0(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDraw unkDraw,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw,
Actor* actor) {
StandardLimb* rootLimb;
s32 pad;
+10 -10
View File
@@ -709,8 +709,8 @@ void func_80A72C04(EnDno* this, GlobalContext* globalCtx) {
func_8013DCE0(globalCtx, &this->unk_334, &this->actor, &this->unk_340, globalCtx->setupPathList,
ENDNO_GET_7F(&this->actor), 1, 0, 1, 0);
func_8013DF3C(globalCtx, &this->unk_340);
this->actor.world.rot.y = this->unk_340.unk_56;
this->actor.world.rot.x = this->unk_340.unk_54;
this->actor.world.rot.y = this->unk_340.unk_54.y;
this->actor.world.rot.x = this->unk_340.unk_54.x;
Actor_SetSwitchFlag(globalCtx, ENDNO_GET_3F80(&this->actor));
this->actionFunc = func_80A730A0;
}
@@ -721,8 +721,8 @@ void func_80A72CF8(EnDno* this, GlobalContext* globalCtx) {
this->actor.floorHeight, this->actor.world.pos.z, 0, 0, 0, 0x201);
}
s32 func_80A72D8C(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
Actor* actor = arg1->unk_48;
s32 func_80A72D8C(GlobalContext* globalCtx, struct_8013DF3C_arg1* arg1) {
Actor* actor = arg1->actor;
s32 pad;
s32 ret = false;
f32 sp38;
@@ -748,21 +748,21 @@ s32 func_80A72D8C(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
ret = true;
} else {
sp38 = actor->speedXZ / sqrtf(arg1->unk_4C);
sp2C = ABS(arg1->unk_54 - actor->world.rot.x);
sp2C = ABS(arg1->unk_54.x - actor->world.rot.x);
temp_v0_2 = sp2C;
temp_v0_2 *= sp38;
temp_v0_2 += 0x71C;
sp2C = ABS(arg1->unk_56 - actor->world.rot.y);
sp2C = ABS(arg1->unk_54.y - actor->world.rot.y);
Math_ScaledStepToS(&actor->world.rot.x, arg1->unk_54, temp_v0_2);
Math_ScaledStepToS(&actor->world.rot.y, arg1->unk_56, (s32)(sp2C * sp38) + 0x71C);
Math_ScaledStepToS(&actor->world.rot.x, arg1->unk_54.x, temp_v0_2);
Math_ScaledStepToS(&actor->world.rot.y, arg1->unk_54.y, (s32)(sp2C * sp38) + 0x71C);
}
return ret;
}
s32 func_80A72FAC(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
Actor* actor = arg1->unk_48;
s32 func_80A72FAC(GlobalContext* globalCtx, struct_8013DF3C_arg1* arg1) {
Actor* actor = arg1->actor;
EnDno* dno = (EnDno*)actor;
f32 sp24 = Math_CosS(-actor->world.rot.x) * actor->speedXZ;
f32 sp20 = gFramerateDivisorHalf;
+1 -1
View File
@@ -34,7 +34,7 @@ typedef struct EnDno {
/* 0x32C */ s32 unk_32C;
/* 0x330 */ UNK_TYPE1 unk_330[0x4];
/* 0x334 */ Vec3f unk_334;
/* 0x340 */ EnDno_ActorUnkStruct unk_340;
/* 0x340 */ struct_8013DF3C_arg1 unk_340;
/* 0x3AC */ s16 unk_3AC;
/* 0x3AE */ s16 unk_3AE;
/* 0x3B0 */ u16 unk_3B0;
+16 -16
View File
@@ -187,7 +187,7 @@ static ActorAnimationEntryS sAnimations[] = {
{ &D_0601B3C4, 0.0f, 0, -1, 2, 0 }, { &D_0601B3C4, 1.0f, 0, -1, 0, -4 }, { &D_06019EB4, 1.0f, 0, -1, 2, -4 },
};
static s16 D_808F6C0C[] = {
static u16 D_808F6C0C[] = {
4000, 4, 1, 3, 6000, 4, 1, 6, 4000, 4, 1, 3, 6000, 4, 1, 6,
};
@@ -215,11 +215,11 @@ s32 func_808F3178(EnIn* this, GlobalContext* globalCtx) {
this->unk260 = tmp = func_8013DB90(globalCtx, &this->unk248, -6.0f);
if (this->unk260 != 0 && prevUnk260 == 0 && tmp & 0xFF) {
Audio_PlayActorSound2(&this->actor, 0x802);
Audio_PlayActorSound2(&this->actor, NA_SE_PL_WALK_CONCRETE);
}
this->unk261 = tmp = func_8013DB90(globalCtx, &this->unk254, -6.0f);
if (this->unk261 != 0 && prevUnk261 == 0 && tmp & 0xFF) {
Audio_PlayActorSound2(&this->actor, 0x802);
Audio_PlayActorSound2(&this->actor, NA_SE_PL_WALK_CONCRETE);
}
return 0;
}
@@ -285,15 +285,15 @@ void func_808F3414(EnIn* this, GlobalContext* globalCtx) {
sp30.x = player->actor.world.pos.x;
sp30.y = player->bodyPartsPos[7].y + 3.0f;
sp30.z = player->actor.world.pos.z;
func_8013D2E0(&sp30, &this->actor.focus, &this->actor.shape, &this->unk352, &this->unk358, &this->unk35E,
D_808F6C0C);
func_8013D2E0(&sp30, &this->actor.focus.pos, &this->actor.shape.rot, &this->unk352, &this->unk358,
&this->unk35E, D_808F6C0C);
} else {
Math_SmoothStepToS(&this->unk352, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk354, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk358, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk35A, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk35E, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk360, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk352.x, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk352.y, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk358.x, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk358.y, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk35E.x, 0, 4, 1000, 1);
Math_SmoothStepToS(&this->unk35E.y, 0, 4, 1000, 1);
}
func_808F322C(this, 3);
func_808F3178(this, globalCtx);
@@ -330,7 +330,7 @@ void func_808F3618(EnIn* this, GlobalContext* globalCtx) {
void func_808F3690(EnIn* this, GlobalContext* globalCtx) {
s16 sp36;
Vec3f sp28; // unsure if Vec3f, but it is probably size 0xC
Vec3f sp28;
Math_SmoothStepToF(&this->actor.speedXZ, 1.0f, 0.4f, 1000.0f, 0.0f);
sp36 = this->actor.speedXZ * 400.0f;
@@ -1566,14 +1566,14 @@ s32 EnIn_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
if (limbIndex == 16) {
Matrix_InsertTranslation(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk35A, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk358, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk358.y, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk358.x, MTXMODE_APPLY);
Matrix_InsertTranslation(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
func_808F6334(this, globalCtx);
}
if (limbIndex == 9) {
Matrix_RotateY(this->unk360, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk35E, MTXMODE_APPLY);
Matrix_RotateY(this->unk35E.y, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk35E.x, MTXMODE_APPLY);
}
if (limbIndex == 9 || limbIndex == 10 || limbIndex == 13) {
rot->y += (s16)(Math_SinS(this->unk376[limbIndex]) * 200.0f);
+4 -9
View File
@@ -36,15 +36,10 @@ typedef struct EnIn {
/* 0x261 */ u8 unk261;
/* 0x262 */ Vec3s jointTable[20];
/* 0x2DA */ Vec3s morphTable[20];
/* 0x352 */ s16 unk352;
/* 0x354 */ s16 unk354;
/* 0x356 */ char unk356[0x2];
/* 0x358 */ s16 unk358;
/* 0x35A */ s16 unk35A;
/* 0x35C */ char unk35C[0x2];
/* 0x35E */ s16 unk35E;
/* 0x360 */ s16 unk360;
/* 0x362 */ char unk362[0x14];
/* 0x352 */ Vec3s unk352;
/* 0x358 */ Vec3s unk358;
/* 0x35E */ Vec3s unk35E;
/* 0x364 */ char unk364[0x12];
/* 0x376 */ s16 unk376[20];
/* 0x39E */ s16 unk39E[20];
/* 0x3C6 */ char unk3C6[0xBC];
+8 -8
View File
@@ -822,9 +822,9 @@ void func_80B5D160(EnOt* this, GlobalContext* globalCtx) {
}
}
s32 func_80B5D37C(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
s32 func_80B5D37C(GlobalContext* globalCtx, struct_8013DF3C_arg1* arg1) {
s32 pad;
EnOt* temp_s0 = (EnOt*)arg1->unk_48;
EnOt* temp_s0 = (EnOt*)arg1->actor;
f32 sp24;
f32 sp20;
@@ -843,10 +843,10 @@ s32 func_80B5D37C(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
return false;
}
s32 func_80B5D470(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
s32 func_80B5D470(GlobalContext* globalCtx, struct_8013DF3C_arg1* arg1) {
s32 pad;
s32 ret;
Actor* temp_s1 = arg1->unk_48;
Actor* temp_s1 = arg1->actor;
Vec3f sp50;
Vec3f sp44;
f32 temp;
@@ -871,14 +871,14 @@ s32 func_80B5D470(GlobalContext* globalCtx, EnDno_ActorUnkStruct* arg1) {
ret = true;
} else {
temp = SQ(temp_s1->speedXZ) / arg1->unk_50;
sp34 = ABS(arg1->unk_54 - temp_s1->world.rot.x);
sp34 = ABS(arg1->unk_54.x - temp_s1->world.rot.x);
sp2C = (s32)(sp34 * temp) + 0xAAA;
sp34 = ABS(arg1->unk_56 - temp_s1->world.rot.y);
sp34 = ABS(arg1->unk_54.y - temp_s1->world.rot.y);
Math_SmoothStepToS(&temp_s1->world.rot.x, arg1->unk_54, 1, sp2C, 0);
Math_SmoothStepToS(&temp_s1->world.rot.x, arg1->unk_54.x, 1, sp2C, 0);
sp2C = (s32)(sp34 * temp) + 0xAAA;
Math_SmoothStepToS(&temp_s1->world.rot.y, arg1->unk_56, 1, sp2C, 0);
Math_SmoothStepToS(&temp_s1->world.rot.y, arg1->unk_54.y, 1, sp2C, 0);
Math_SmoothStepToS(&temp_s1->shape.rot.y, temp_s1->world.rot.y, 2, sp2C, 0);
}
+1 -1
View File
@@ -36,7 +36,7 @@ typedef struct EnOt {
/* 0x01D8 */ Vec3s jointTable[19];
/* 0x024A */ Vec3s morphTable[19];
/* 0x02BC */ s32 animIdx;
/* 0x02C0 */ EnDno_ActorUnkStruct unk_2C0;
/* 0x02C0 */ struct_8013DF3C_arg1 unk_2C0;
/* 0x032C */ u16 unk_32C;
/* 0x0330 */ Vec3f unk_330;
/* 0x033C */ s32 unk_33C;
+2 -1
View File
@@ -1854,7 +1854,8 @@ void func_80AFAA44(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
}
}
void func_80AFABAC(GlobalContext* globalCtx, s32 arg1, EnPm* this, Gfx** gfx) {
void func_80AFABAC(GlobalContext* globalCtx, s32 arg1, Actor* thisx, Gfx** gfx) {
EnPm* this = THIS;
s32 phi_v0;
s32 phi_v1;
+1 -1
View File
@@ -18,7 +18,7 @@ typedef struct EnPm {
/* 0x01DC */ ColliderSphere colliderSphere;
/* 0x0234 */ Path* unk_234;
/* 0x0238 */ Vec3f unk_238;
/* 0x0244 */ s32 unk_244;
/* 0x0244 */ f32 unk_244;
/* 0x0248 */ s32 unk_248;
/* 0x024C */ s32 unk_24C;
/* 0x0250 */ s32 unk_250;
@@ -126,7 +126,7 @@ static DamageTable sDamageTable = {
/* Powder Keg */ DMG_ENTRY(1, 0xE),
};
static s16 D_80BAE800[] = {
static u16 D_80BAE800[] = {
4000, 4, 1, 3, 6000, 4, 1, 6, 4000, 4, 1, 3, 6000, 4, 1, 6,
};
@@ -496,15 +496,15 @@ void func_80BAB4F0(EnSuttari* this, GlobalContext* globalCtx) {
sp30.x = player->actor.world.pos.x;
sp30.y = player->bodyPartsPos[7].y + 3.0f;
sp30.z = player->actor.world.pos.z;
func_8013D2E0(&sp30, &this->actor.focus, &this->actor.shape, &this->unk2D6, &this->unk2DC, &this->unk2E2,
D_80BAE800);
func_8013D2E0(&sp30, &this->actor.focus.pos, &this->actor.shape.rot, &this->unk2D6, &this->unk2DC,
&this->unk2E2, D_80BAE800);
} else {
Math_SmoothStepToS(&this->unk2D6, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2D8, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2DC, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2DE, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2E2, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2E4, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2D6.x, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2D6.y, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2DC.x, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2DC.y, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2E2.x, 0, 4, 0x3E8, 1);
Math_SmoothStepToS(&this->unk2E2.y, 0, 4, 0x3E8, 1);
}
}
func_8013D9C8(globalCtx, this->unk2FA, this->unk31A, 16);
@@ -530,29 +530,26 @@ s16 func_80BAB698(Path* path, s32 idx, Vec3f* pos, f32* distSQ) {
s32 func_80BAB758(EnSuttari* this, Path* path, s32 arg2) {
Vec3s* sp5C = Lib_SegmentedToVirtual(path->points);
s32 sp58;
s32 sp58 = path->count;
s32 idx = arg2;
s32 ret = false;
f32 sp54;
s32 ret;
s32 pad4C;
f32 sp48;
f32 sp44;
f32 sp40;
f32 sp3C;
Vec3f sp30;
if (sp5C[arg2].x) {}
sp58 = path->count;
ret = false;
Math_Vec3s_ToVec3f(&sp30, &sp5C[arg2]);
if (arg2 == 0) {
Math_Vec3s_ToVec3f(&sp30, &sp5C[idx]);
if (idx == 0) {
sp54 = sp5C[1].x - sp5C[0].x;
sp48 = sp5C[1].z - sp5C[0].z;
} else if (arg2 == sp58 - 1) {
} else if (idx == sp58 - 1) {
sp54 = sp5C[sp58 - 1].x - sp5C[sp58 - 2].x;
sp48 = sp5C[sp58 - 1].z - sp5C[sp58 - 2].z;
} else {
sp54 = sp5C[arg2 + 1].x - sp5C[arg2 - 1].x;
sp48 = sp5C[arg2 + 1].z - sp5C[arg2 - 1].z;
sp54 = sp5C[idx + 1].x - sp5C[idx - 1].x;
sp48 = sp5C[idx + 1].z - sp5C[idx - 1].z;
}
func_8017B7F8(&sp30, RADF_TO_BINANG(func_80086B30(sp54, sp48)), &sp44, &sp40, &sp3C);
if (((sp44 * this->actor.world.pos.x) + (sp40 * this->actor.world.pos.z) + sp3C) > 0.0f) {
@@ -987,12 +984,12 @@ void func_80BACA14(EnSuttari* this, GlobalContext* globalCtx) {
func_80BAB434(this);
if (player->transformation == PLAYER_FORM_GORON || player->transformation == PLAYER_FORM_ZORA) {
if (this->actor.playerHeightRel < 60.0f && this->actor.xzDistToPlayer < 500.0f) {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
this->actionFunc = func_80BACBB0;
}
} else if ((player->transformation == PLAYER_FORM_HUMAN) && CUR_EQUIP_VALUE_VOID(EQUIP_SWORD) != 0) {
if (func_800B84D0(&this->actor, globalCtx)) {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
func_80BAAB78(this, globalCtx);
this->actionFunc = func_80BADA9C;
} else if (this->actor.xzDistToPlayer < 200.0f) {
@@ -1007,7 +1004,7 @@ void func_80BACBB0(EnSuttari* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
s16 target;
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
if (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_DEKU) {
this->actionFunc = func_80BACA14;
}
@@ -1037,7 +1034,7 @@ void func_80BACBB0(EnSuttari* this, GlobalContext* globalCtx) {
void func_80BACD2C(EnSuttari* this, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
if (player->transformation == PLAYER_FORM_HUMAN || player->transformation == PLAYER_FORM_DEKU) {
this->actionFunc = func_80BACA14;
}
@@ -1207,7 +1204,7 @@ void func_80BAD380(EnSuttari* this, GlobalContext* globalCtx) {
this->flags2 |= 4;
EnSuttari_SetNextEntrance(globalCtx, 0xD670);
} else {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
Math_ApproachF(&this->actor.speedXZ, 4.0f, 0.2f, 0.5f);
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
func_80BAB374(this, globalCtx);
@@ -1307,7 +1304,7 @@ void func_80BADA9C(EnSuttari* this, GlobalContext* globalCtx) {
s16 frameCount = Animation_GetLastFrame(sAnimations[this->animationIdx].animation);
if (this->flags1 & 1) {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
func_80BAA9B4(this);
} else if ((this->animationIdx == 7) && (curFrame == frameCount)) {
this->animationIdx = 1;
@@ -1383,14 +1380,14 @@ void func_80BADE14(EnSuttari* this, GlobalContext* globalCtx) {
if (this->unk1F4[1] == -0x63) {
this->actor.speedXZ = 0.0f;
} else {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
Math_ApproachF(&this->actor.speedXZ, 6.0f, 0.2f, 0.5f);
}
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
}
void func_80BADE8C(EnSuttari* this, GlobalContext* globalCtx) {
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0);
if (func_800B84D0(&this->actor, globalCtx)) {
this->actor.flags &= ~0x10000;
@@ -1407,7 +1404,7 @@ void func_80BADF3C(EnSuttari* this, GlobalContext* globalCtx) {
if (this->unk1F4[0] == -0x63) {
Actor_MarkForDeath(&this->actor);
}
this->unk3F2 = this->unk2DE;
this->unk3F2 = this->unk2DC.y;
if (DECR(this->unk3F6) == 0) {
Math_ApproachF(&this->actor.speedXZ, 6.0f, 0.2f, 0.5f);
}
@@ -1478,13 +1475,13 @@ s32 EnSuttari_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
if (!(this->flags1 & 4)) {
Matrix_InsertTranslation(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk3F2, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk2DC, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk2DC.x, MTXMODE_APPLY);
Matrix_InsertTranslation(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
}
}
if (limbIndex == 8) {
Matrix_InsertXRotation_s(-this->unk2E4, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk2E2, MTXMODE_APPLY);
Matrix_InsertXRotation_s(-this->unk2E2.y, MTXMODE_APPLY);
Matrix_InsertZRotation_s(-this->unk2E2.x, MTXMODE_APPLY);
}
if (limbIndex == 8 || limbIndex == 9 || limbIndex == 0xC) {
rot->y += (s16)(Math_SinS(this->unk2FA[limbIndex]) * 200.0f);
@@ -27,15 +27,10 @@ typedef struct EnSuttari {
/* 0x1FC */ UNK_TYPE1 unk_1FC[0x1A];
/* 0x216 */ Vec3s jointTable[16];
/* 0x276 */ Vec3s morphTable[16];
/* 0x2D6 */ s16 unk2D6;
/* 0x2D8 */ s16 unk2D8;
/* 0x2DA */ UNK_TYPE1 unk_2DA[0x2];
/* 0x2DC */ s16 unk2DC;
/* 0x2DE */ s16 unk2DE;
/* 0x2E0 */ UNK_TYPE1 unk_2E0[0x2];
/* 0x2E2 */ s16 unk2E2;
/* 0x2E4 */ s16 unk2E4;
/* 0x2E6 */ UNK_TYPE1 unk_2E6[0x14];
/* 0x2D6 */ Vec3s unk2D6;
/* 0x2DC */ Vec3s unk2DC;
/* 0x2E2 */ Vec3s unk2E2;
/* 0x2E8 */ UNK_TYPE1 unk_2E8[0x12];
/* 0x2FA */ s16 unk2FA[16];
/* 0x31A */ s16 unk31A[16];
/* 0x33A */ UNK_TYPE1 unk_33A[0xB6];
@@ -46,7 +41,7 @@ typedef struct EnSuttari {
/* 0x3F8 */ Vec3f unk3F8;
/* 0x404 */ Path* unk404;
/* 0x408 */ Vec3f unk408;
/* 0x414 */ s32 unk414;
/* 0x414 */ f32 unk414;
/* 0x418 */ s32 unk418;
/* 0x41C */ s32 unk41C;
/* 0x420 */ s32 unk420;
+2 -2
View File
@@ -934,7 +934,7 @@ void func_808DAA60(EnSw* this, GlobalContext* globalCtx) {
Vec3f sp34;
f32 temp_f16;
sp44 = (Vec3s*)Lib_SegmentedToVirtual(this->unk_1E4->unk_04);
sp44 = (Vec3s*)Lib_SegmentedToVirtual(this->unk_1E4->points);
sp40 = 0;
if (DECR(this->unk_454) == 0) {
@@ -1009,7 +1009,7 @@ void func_808DACF4(EnSw* this, GlobalContext* globalCtx) {
if ((temp_f6 != 0) && (temp_f6 < (s32)sp4C)) {
Math_Vec3f_Copy(&this->actor.world.pos, &this->unk_374);
this->unk_4A0 += this->unk_49C;
if ((this->unk_4A0 >= this->unk_1E4->unk_00) || (this->unk_4A0 < 0)) {
if ((this->unk_4A0 >= this->unk_1E4->count) || (this->unk_4A0 < 0)) {
this->unk_49C = -this->unk_49C;
this->unk_4A0 += this->unk_49C * 2;
}
+1 -6
View File
@@ -11,17 +11,12 @@ typedef void (*EnSwActionFunc)(struct EnSw*, GlobalContext*);
#define ENSW_GET_3FC(thisx) (((thisx)->params & 0x3FC) >> 2)
#define ENSW_GET_FF00(thisx) ((((thisx)->params & 0xFF00) >> 8) & 0xFF)
typedef struct {
u8 unk_00;
s32 unk_04;
} EnSwUnkStruct;
typedef struct EnSw {
/* 0x0000 */ Actor actor;
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ EnSwActionFunc actionFunc;
/* 0x018C */ ColliderSphere collider;
/* 0x01E4 */ EnSwUnkStruct* unk_1E4;
/* 0x01E4 */ Path* unk_1E4;
/* 0x01E8 */ Vec3s jointTable[30];
/* 0x029C */ Vec3s morphTable[30];
/* 0x0350 */ Vec3f unk_350;