* En_Owl

* a

* PR

* a

* Rebase
This commit is contained in:
Maide 2021-10-11 02:36:24 +01:00 committed by GitHub
parent 00fe40be51
commit f059baa87f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1153 additions and 78 deletions

View File

@ -2196,7 +2196,7 @@ void func_8011C808(GlobalContext* globalCtx);
// void func_80121F94(void); // void func_80121F94(void);
void func_80121FC4(GlobalContext* globalCtx); void func_80121FC4(GlobalContext* globalCtx);
s32 func_801224E0(s32 param_1, s16 param_2, s16 param_3); s32 func_801224E0(s32 param_1, s16 param_2, s16 param_3);
// void func_80122524(void); f32 func_80122524(Actor* actor, Path* path, s16 arg2, s16* arg3);
// void func_801225CC(void); // void func_801225CC(void);
// void func_80122660(void); // void func_80122660(void);
// UNK_TYPE4 func_80122670(s32* param_1, Input* input); // UNK_TYPE4 func_80122670(s32* param_1, Input* input);

3
spec
View File

@ -1682,8 +1682,7 @@ beginseg
name "ovl_En_Owl" name "ovl_En_Owl"
compress compress
include "build/src/overlays/actors/ovl_En_Owl/z_en_owl.o" include "build/src/overlays/actors/ovl_En_Owl/z_en_owl.o"
include "build/data/ovl_En_Owl/ovl_En_Owl.data.o" include "build/src/overlays/actors/ovl_En_Owl/ovl_En_Owl_reloc.o"
include "build/data/ovl_En_Owl/ovl_En_Owl.reloc.o"
endseg endseg
beginseg beginseg

File diff suppressed because it is too large Load Diff

View File

@ -6,12 +6,54 @@
struct EnOwl; struct EnOwl;
typedef void (*EnOwlActionFunc)(struct EnOwl*, GlobalContext*); typedef void (*EnOwlActionFunc)(struct EnOwl*, GlobalContext*);
typedef void (*EnOwlFunc)(struct EnOwl*);
#define ENOWL_GET_F000(thisx) (((thisx)->params & 0xF000) >> 0xC)
#define ENOWL_GET_TYPE(thisx) (((thisx)->params & 0xF80) >> 7)
#define ENOWL_GET_SWITCHFLAG(thisx) ((thisx)->params & 0x7F)
typedef enum {
/* 0x001 */ ENOWL_GET_TYPE_1 = 1,
/* 0x002 */ ENOWL_GET_TYPE_2,
/* 0x003 */ ENOWL_GET_TYPE_3,
/* 0x01E */ ENOWL_GET_TYPE_30 = 30,
/* 0x3E8 */ ENOWL_GET_TYPE_1000 = 1000,
} EnOwlType;
typedef struct EnOwl { typedef struct EnOwl {
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x2CC]; /* 0x0144 */ ColliderCylinder collider;
/* 0x0190 */ SkelAnime skelAnime1;
/* 0x01D4 */ Vec3s jointTable1[21];
/* 0x0252 */ Vec3s morphTable1[21];
/* 0x02D0 */ SkelAnime skelAnime2;
/* 0x0314 */ Vec3s jointTable2[16];
/* 0x0374 */ Vec3s morphTable2[16];
/* 0x03D4 */ SkelAnime* skelAnime3;
/* 0x03D8 */ s16 unk_3D8;
/* 0x03DA */ s16 unk_3DA;
/* 0x03DC */ s16 unk_3DC;
/* 0x03DE */ s16 unk_3DE;
/* 0x03E0 */ s16 eyeTexIndex;
/* 0x03E2 */ s16 blinkTimer;
/* 0x03E4 */ f32 unk_3E4;
/* 0x03E8 */ u16 actionFlags;
/* 0x03EA */ s16 unk_3EA;
/* 0x03EC */ s16 unk_3EC;
/* 0x03F0 */ f32 unk_3F0;
/* 0x03F4 */ Path* path;
/* 0x03F8 */ s32 unk_3F8;
/* 0x03FC */ s32 unk_3FC;
/* 0x0400 */ s16 unk_400[3];
/* 0x0406 */ s16 unk_406;
/* 0x0408 */ u8 unk_408;
/* 0x0409 */ u8 unk_409;
/* 0x040A */ u8 unk_40A;
/* 0x040B */ u8 unk_40B;
/* 0x040C */ u8 unk_40C;
/* 0x040D */ u8 unk_40D;
/* 0x0410 */ EnOwlActionFunc actionFunc; /* 0x0410 */ EnOwlActionFunc actionFunc;
/* 0x0414 */ char unk_414[0x4]; /* 0x0414 */ EnOwlFunc unk_414;
} EnOwl; // size = 0x418 } EnOwl; // size = 0x418
extern const ActorInit En_Owl_InitVars; extern const ActorInit En_Owl_InitVars;

View File

@ -7758,11 +7758,11 @@
0x8095C568:("func_8095C568",), 0x8095C568:("func_8095C568",),
0x8095C654:("EnOwl_Update",), 0x8095C654:("EnOwl_Update",),
0x8095CCF4:("func_8095CCF4",), 0x8095CCF4:("func_8095CCF4",),
0x8095CE18:("func_8095CE18",), 0x8095CE18:("EnOwl_OverrideLimbDraw",),
0x8095CF44:("func_8095CF44",), 0x8095CF44:("EnOwl_PostLimbDraw",),
0x8095CFC8:("EnOwl_Draw",), 0x8095CFC8:("EnOwl_Draw",),
0x8095D074:("func_8095D074",), 0x8095D074:("func_8095D074",),
0x8095D24C:("func_8095D24C",), 0x8095D24C:("EnOwl_ChangeMode",),
0x8095D6E0:("func_8095D6E0",), 0x8095D6E0:("func_8095D6E0",),
0x8095D758:("func_8095D758",), 0x8095D758:("func_8095D758",),
0x8095D804:("func_8095D804",), 0x8095D804:("func_8095D804",),

View File

@ -3053,6 +3053,9 @@ D_0600C6D4 = 0x0600C6D4;
D_0600CB94 = 0x0600CB94; D_0600CB94 = 0x0600CB94;
D_0600CDB0 = 0x0600CDB0; D_0600CDB0 = 0x0600CDB0;
D_060105C0 = 0x060105C0; D_060105C0 = 0x060105C0;
D_06008EB8 = 0x06008EB8;
D_060092B8 = 0x060092B8;
D_060096B8 = 0x060096B8;
// ovl_En_Pamera // ovl_En_Pamera