En_Ot ~~(1 non-matching)~~ (#302)

* En_Ot

* Fix
This commit is contained in:
Maide 2021-10-27 15:59:21 +01:00 committed by GitHub
parent c97a8e5225
commit de3fc29d51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1129 additions and 74 deletions

View File

@ -981,7 +981,7 @@ f32 func_800C3D50(s32 arg0, CollisionContext* colCtx, s32 arg2, CollisionPoly**
// void func_800C3FA0(void);
f32 func_800C4000(GlobalContext* globalCtx, CollisionContext* colCtx, s32* arg2, Vec3f* arg3);
// void func_800C4058(void);
// void func_800C40B4(void);
f32 func_800C40B4(CollisionContext* colCtx, CollisionPoly** arg1, s32* arg2, Vec3f* pos);
f32 func_800C411C(CollisionContext* colCtx, CollisionPoly** arg1, s32* arg2, Actor* actor, Vec3f* pos);
// void func_800C4188(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_800C41E4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
@ -2255,7 +2255,7 @@ s32 func_801240C8(Player* player);
// void func_8012422C(void);
// void func_80124258(void);
// void func_80124278(void);
// void func_801242B4(void);
s32 func_801242B4(Player* player);
// void func_801242DC(void);
// void func_80124420(void);
// void func_80124618(void);
@ -3304,7 +3304,7 @@ void func_80179B34(float fParm1, f32 fParm2, f32 fParm5, f32 fParm6, f32 param_5
// void func_80179D74(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);
void Math3D_ScaleAndAdd(Vec3f* a, Vec3f* b, f32 scale, Vec3f* dst);
void Math3D_Lerp(Vec3f* a, Vec3f* b, f32 t, Vec3f* dst);
s32 Math3D_Parallel(Vec3f* a, Vec3f* b);
f32 Math3D_Parallel(Vec3f* a, Vec3f* b);
s32 Math3D_AngleBetweenVectors(Vec3f* a, Vec3f* b, f32* angle);
void func_80179F64(Vec3f* param_1, Vec3f* param_2, Vec3f* param_3);
s32 Math3D_XZBoundCheck(f32 xMin, f32 xMax, f32 zMin, f32 zMax, f32 x, f32 z);

View File

@ -88,7 +88,8 @@ typedef struct EnDno_ActorUnkStruct {
/* 0x1D */ u8 unk_1D;
/* 0x20 */ Vec3f unk_20;
/* 0x2C */ Vec3f unk_2C;
/* 0x38 */ UNK_TYPE1 unk_38[0x10];
/* 0x38 */ Vec3f unk_38;
/* 0x44 */ UNK_TYPE1 unk_44[0x4];
/* 0x48 */ struct Actor* unk_48;
/* 0x4C */ f32 unk_4C;
/* 0x50 */ f32 unk_50;

4
spec
View File

@ -4198,9 +4198,7 @@ beginseg
name "ovl_En_Ot"
compress
include "build/src/overlays/actors/ovl_En_Ot/z_en_ot.o"
include "build/data/ovl_En_Ot/ovl_En_Ot.data.o"
include "build/data/ovl_En_Ot/ovl_En_Ot.bss.o"
include "build/data/ovl_En_Ot/ovl_En_Ot.reloc.o"
include "build/src/overlays/actors/ovl_En_Ot/ovl_En_Ot_reloc.o"
endseg
beginseg

File diff suppressed because it is too large Load Diff

View File

@ -7,10 +7,61 @@ struct EnOt;
typedef void (*EnOtActionFunc)(struct EnOt*, GlobalContext*);
#define ENOT_GET_7F(thisx) ((thisx)->params & 0x7F)
#define ENOT_GET_3F80(thisx) (((thisx)->params >> 7) & 0x7F)
#define ENOT_GET_3FFF(thisx) ((thisx)->params & 0x3FFF)
#define ENOT_GET_C000(thisx) (((thisx)->params >> 0xE) & 3)
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ UNK_TYPE1 unk_08[0x4];
/* 0x0C */ Vec3f unk_0C;
/* 0x18 */ UNK_TYPE1 unk_18[0x18];
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
/* 0x44 */ UNK_TYPE1 unk_44[0x8];
/* 0x4C */ u8 unk_4C;
/* 0x50 */ Vec3f unk_50;
} EnOtUnkStruct; // size = 0x5C
typedef struct EnOt {
/* 0x0000 */ Actor actor;
/* 0x0144 */ EnOtActionFunc actionFunc;
/* 0x0148 */ char unk_144[0x610];
/* 0x0148 */ SkelAnime skelAnime;
/* 0x018C */ ColliderCylinder collider;
/* 0x01D8 */ Vec3s jointTable[19];
/* 0x024A */ Vec3s morphTable[19];
/* 0x02BC */ s32 animIdx;
/* 0x02C0 */ EnDno_ActorUnkStruct unk_2C0;
/* 0x032C */ u16 unk_32C;
/* 0x0330 */ Vec3f unk_330;
/* 0x033C */ s32 unk_33C;
/* 0x0340 */ s32 unk_340;
/* 0x0344 */ s16 unk_344;
/* 0x0346 */ s16 unk_346;
/* 0x0348 */ Vec3f unk_348;
/* 0x0354 */ s16 unk_354;
/* 0x0356 */ s16 cutscenes[4];
/* 0x0360 */ struct EnOt* unk_360;
/* 0x0364 */ LightNode* lightNode;
/* 0x0368 */ LightInfo lightInfo;
/* 0x0378 */ Vec3f unk_378;
/* 0x0384 */ u8 unk_384;
/* 0x0388 */ s32 unk_388;
/* 0x038C */ s32 unk_38C;
/* 0x0390 */ s16 unk_390;
/* 0x0394 */ Vec3f unk_394;
/* 0x03A0 */ s16 unk_3A0;
/* 0x03A4 */ EnOtUnkStruct unk_3A4[10];
/* 0x073C */ s16 unk_73C;
/* 0x0740 */ f32 unk_740;
/* 0x0744 */ Color_RGB8 unk_744;
/* 0x0747 */ Color_RGB8 unk_747;
/* 0x074C */ Vec3f unk_74C;
} EnOt; // size = 0x758
extern const ActorInit En_Ot_InitVars;

View File

@ -14128,7 +14128,7 @@
0x80B5DAEC:("func_80B5DAEC",),
0x80B5DB6C:("func_80B5DB6C",),
0x80B5DD20:("EnOt_Draw",),
0x80B5DECC:("func_80B5DECC",),
0x80B5DECC:("EnOt_PostLimbDraw",),
0x80B5DF58:("func_80B5DF58",),
0x80B5E078:("func_80B5E078",),
0x80B5E1D8:("func_80B5E1D8",),

View File

@ -3066,6 +3066,8 @@ D_060004A0 = 0x060004A0;
D_060005F8 = 0x060005F8;
D_060008D8 = 0x060008D8;
D_06004800 = 0x06004800;
D_06000420 = 0x06000420;
D_06004B30 = 0x06004B30;
// ovl_En_Owl