* En_Pm

* Format

* PR

* a

* a

* Finally fixed?

* PR

* Fix enum
This commit is contained in:
Maide 2021-11-12 01:41:59 +00:00 committed by GitHub
parent a5d8165cd1
commit 602f348928
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 1894 additions and 88 deletions

View File

@ -1308,7 +1308,7 @@ s16 Camera_ClearFlags(Camera* camera, s16 flags);
// UNK_TYPE4 func_800E0228(void);
// void func_800E0238(void);
void func_800E02AC(Camera* camera, Actor* actor);
// void func_800E0308(void);
void func_800E0308(Camera* camera, Actor* actor);
// void func_800E031C(void);
void func_800E0348(Camera* camera);
DamageTable* DamageTable_Get(s32 index);
@ -2675,17 +2675,17 @@ void func_8013A46C(s32 flag);
u32 func_8013A4C4(s32 flag);
s16 func_8013A504(s16 val);
s32 func_8013A530(GlobalContext* globalCtx, Actor* actor, s32 flag, Vec3f* pos, Vec3s* rot, f32 distanceMin, f32 distanceMax, s16 angleError);
// void func_8013A7C0(void);
Actor* func_8013A7C0(GlobalContext* globalCtx, s32 arg1);
// void func_8013A860(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10);
Gfx* func_8013AB00(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, void* func1, void* func2, void* func3, Actor* actor, Gfx* gfx);
s32 func_8013AD6C(GlobalContext* globalCtx);
// void func_8013AD9C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
void func_8013AD9C(s16 arg0, s16 arg1, Vec3f* arg2, Vec3s* arg3, s32 arg4, s32 arg5);
void func_8013AED4(u16* param_1, u16 param_2, u16 param_3);
void func_8013AF00(UNK_PTR arg0, UNK_TYPE arg1, UNK_TYPE arg2);
void func_8013AF00(f32 arg0[], UNK_TYPE arg1, UNK_TYPE arg2);
// void func_8013B010(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_8013B0C8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_8013B350(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
s32 func_8013B6B0(Path* path, UNK_PTR arg1, s32* arg2, s32 arg3, s32 arg4, s32* arg5, UNK_PTR arg6, Vec3f* arg7, s16 arg8);
s32 func_8013B6B0(Path* path, UNK_PTR arg1, s32* arg2, s32 arg3, s32 arg4, s32* arg5, f32 arg6[], Vec3f* arg7, s16 arg8);
void func_8013B878(GlobalContext* globalCtx, Path* path, s32 arg2, Vec3f* arg3);
Path* func_8013BB34(GlobalContext* globalCtx, u8 arg1, s32 arg2);
Actor* func_8013BB7C(Actor* actor, GlobalContext* globalCtx, s32 actorCategory, s32 actorId);
@ -2709,7 +2709,7 @@ UNK_TYPE func_8013D768(Actor* actor, UNK_PTR arg1, s16 arg2);
// void func_8013D83C(void);
s32 func_8013D8DC(s8 arg0, GlobalContext* globalCtx);
s8 func_8013D924(s32 arg0, GlobalContext* globalCtx);
Actor* func_ActorCategoryIterateById(GlobalContext* globalCtx, Actor* actorListStart, s32 actorCategory, s32 actorId);
Actor* func_ActorCategoryIterateById(GlobalContext* globalCtx, Actor* actorListStart, u8 actorCategory, s16 actorId);
void func_8013D9C8(GlobalContext* globalCtx, s16* arg1, s16* arg2, UNK_TYPE arg3);
u8 func_8013DB90(GlobalContext* globalCtx, UNK_PTR arg1, f32 arg2);
// void func_8013DC40(void);

View File

@ -3272,7 +3272,7 @@ extern u8 D_801F4E30;
// extern UNK_TYPE1 D_801F4E68;
extern f32 D_801F4E70;
// extern UNK_TYPE1 D_801F4E74;
// extern UNK_TYPE1 D_801F4E78;
extern u16 D_801F4E78;
extern s16 D_801F4E7A;
// extern UNK_TYPE1 D_801F4E80;
// extern UNK_TYPE1 D_801F4EE0;

3
spec
View File

@ -3828,8 +3828,7 @@ beginseg
name "ovl_En_Pm"
compress
include "build/src/overlays/actors/ovl_En_Pm/z_en_pm.o"
include "build/data/ovl_En_Pm/ovl_En_Pm.data.o"
include "build/data/ovl_En_Pm/ovl_En_Pm.reloc.o"
include "build/src/overlays/actors/ovl_En_Pm/ovl_En_Pm_reloc.o"
endseg
beginseg

View File

@ -7,7 +7,7 @@ struct EnDno;
typedef void (*EnDnoActionFunc)(struct EnDno*, GlobalContext*);
#define ENDNO_GET_F(thisx) (u32)((thisx)->params & 0xF)
#define ENDNO_GET_F(thisx) ((thisx)->params & 0xF)
#define ENDNO_GET_7F(thisx) ((thisx)->params & 0x7F)
#define ENDNO_GET_7F0(thisx) (((thisx)->params >> 4) & 0x7F)
#define ENDNO_GET_3F80(thisx) (((thisx)->params >> 7) & 0x7F)

File diff suppressed because it is too large Load Diff

View File

@ -6,12 +6,56 @@
struct EnPm;
typedef void (*EnPmActionFunc)(struct EnPm*, GlobalContext*);
typedef s32 (*EnPmFunc)(struct EnPm*, GlobalContext*);
typedef s32 (*EnPmFunc2)(struct EnPm*, GlobalContext*);
typedef struct EnPm {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x44];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ EnPmActionFunc actionFunc;
/* 0x018C */ char unk_18C[0x214];
/* 0x018C */ EnPmFunc2 unk_18C;
/* 0x0190 */ ColliderCylinder colliderCylinder;
/* 0x01DC */ ColliderSphere colliderSphere;
/* 0x0234 */ Path* unk_234;
/* 0x0238 */ Vec3f unk_238;
/* 0x0244 */ s32 unk_244;
/* 0x0248 */ s32 unk_248;
/* 0x024C */ s32 unk_24C;
/* 0x0250 */ s32 unk_250;
/* 0x0254 */ s32 unk_254;
/* 0x0258 */ u8 unk_258;
/* 0x026C */ UNK_TYPE* unk_25C;
/* 0x0260 */ s8 unk_260;
/* 0x0264 */ s32 unk_264;
/* 0x0268 */ Actor* unk_268;
/* 0x0268 */ Vec3f unk_26C;
/* 0x0278 */ Vec3f unk_278;
/* 0x0284 */ Vec3f unk_284;
/* 0x0290 */ Vec3s unk_290;
/* 0x0296 */ Vec3s jointTable[16];
/* 0x02F6 */ Vec3s morphTable[16];
/* 0x0356 */ u16 unk_356;
/* 0x0358 */ u16 unk_358;
/* 0x035C */ f32 unk_35C;
/* 0x0360 */ f32 unk_360;
/* 0x0364 */ f32 unk_364;
/* 0x0368 */ f32 unk_368;
/* 0x036C */ s16 unk_36C;
/* 0x036E */ s16 unk_36E;
/* 0x0370 */ s16 unk_370;
/* 0x0372 */ s16 unk_372;
/* 0x0374 */ s16 unk_374;
/* 0x0376 */ s16 unk_376;
/* 0x0378 */ s16 unk_378;
/* 0x037C */ EnPmFunc unk_37C;
/* 0x0380 */ s32 unk_380;
/* 0x0384 */ s32 unk_384;
/* 0x0388 */ s32 unk_388;
/* 0x038C */ s32 unk_38C;
/* 0x0390 */ UNK_TYPE1 unk390[0x4];
/* 0x0394 */ s32 unk_394;
/* 0x0398 */ s32 unk_398;
/* 0x039C */ UNK_TYPE1 unk39C[0x4];
} EnPm; // size = 0x3A0
extern const ActorInit En_Pm_InitVars;

View File

@ -748,20 +748,18 @@ s32 func_80BABF64(EnSuttari* this, GlobalContext* globalCtx, struct_80133038_arg
}
s32 func_80BABFD4(EnSuttari* this, GlobalContext* globalCtx) {
UNK_TYPE1 sp7C[0x424];
f32 sp7C[265];
Vec3f sp70;
Vec3f sp64;
Vec3f sp58;
s32 sp54;
s32 sp50;
s32 sp54 = 0;
s32 sp50 = 0;
s32 pad;
sp54 = 0;
sp50 = 0;
func_8013AF00(&sp7C, 3, this->unk404->count + 3);
func_8013AF00(sp7C, 3, this->unk404->count + 3);
if (this->unk42C == 0) {
sp58 = D_801D15B0;
func_8013B6B0(this->unk404, &this->unk414, &this->unk424, this->unk41C, this->unk418, &this->unk420, &sp7C,
func_8013B6B0(this->unk404, &this->unk414, &this->unk424, this->unk41C, this->unk418, &this->unk420, sp7C,
&sp58, this->unk42A);
func_8013B878(globalCtx, this->unk404, this->unk420, &sp58);
this->actor.world.pos.y = sp58.y;
@ -777,7 +775,7 @@ s32 func_80BABFD4(EnSuttari* this, GlobalContext* globalCtx) {
sp58 = this->actor.world.pos;
}
this->unk408 = D_801D15B0;
if (func_8013B6B0(this->unk404, &this->unk414, &this->unk424, this->unk41C, this->unk418, &this->unk420, &sp7C,
if (func_8013B6B0(this->unk404, &this->unk414, &this->unk424, this->unk41C, this->unk418, &this->unk420, sp7C,
&this->unk408, this->unk42A)) {
this->unk430 = 1;
} else {

View File

@ -3187,6 +3187,20 @@ D_06008348 = 0x06008348;
D_060083E0 = 0x060083E0;
D_060085C8 = 0x060085C8;
D_060096E8 = 0x060096E8;
D_06002238 = 0x06002238;
D_0600A4E0 = 0x0600A4E0;
D_0600B09C = 0x0600B09C;
D_0600BA78 = 0x0600BA78;
D_0600C32C = 0x0600C32C;
D_060099B4 = 0x060099B4;
D_06000FC4 = 0x06000FC4;
D_0600A8D8 = 0x0600A8D8;
D_0600099C = 0x0600099C;
D_06001F84 = 0x06001F84;
D_06000468 = 0x06000468;
D_0600C640 = 0x0600C640;
D_06002950 = 0x06002950;
D_06002750 = 0x06002750;
// ovl_En_Poh