deimplementation complete

This commit is contained in:
petrie911
2022-09-30 19:35:52 -05:00
parent 1be5a7d2c7
commit 8b4b404a99
4 changed files with 634 additions and 4663 deletions
+4 -1
View File
@@ -3846,7 +3846,10 @@ beginseg
name "ovl_En_Invadepoh"
compress
include "build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.o"
include "build/src/overlays/actors/ovl_En_Invadepoh/ovl_En_Invadepoh_reloc.o"
include "build/data/ovl_En_Invadepoh/ovl_En_Invadepoh.data.o"
include "build/data/ovl_En_Invadepoh/ovl_En_Invadepoh.bss.o"
include "build/data/ovl_En_Invadepoh/ovl_En_Invadepoh.reloc.o"
// include "build/src/overlays/actors/ovl_En_Invadepoh/ovl_En_Invadepoh_reloc.o"
endseg
beginseg
File diff suppressed because it is too large Load Diff
@@ -1,157 +1,22 @@
#ifndef Z_EN_INVADEPOH_H
#define Z_EN_INVADEPOH_H
#include "global.h"
#include <global.h>
struct EnInvadepoh;
typedef void (*EnInvadepohInitFunc)(struct EnInvadepoh*, PlayState*);
typedef void (*EnInvadepohDestroyFunc)(struct EnInvadepoh*, PlayState*);
typedef void (*EnInvadepohActionFunc)(struct EnInvadepoh*, PlayState*);
#define INVADEPOH_TYPE(thisx) (((thisx)->params >> 4) & 0xF)
typedef enum{
/* 0 */ TYPE_UNK0,
/* 1 */ TYPE_ALIEN,
/* 2 */ TYPE_PARENT_COW,
/* 3 */ TYPE_CHILD_COW,
/* 4 */ TYPE_ROMANI,
/* 5 */ TYPE_ROMANI1,
/* 6 */ TYPE_UNK6,
/* 7 */ TYPE_ROMANI2,
/* 8 */ TYPE_ROMANI3,
/* 9 */ TYPE_ROMANI4,
/* 10 */ TYPE_DOG,
/* 11 */ TYPE_CREMIA,
/* 12 */ TYPE_ROMANI5,
/* 13 */ TYPE_ALIEN_CARRYING_COW
} EnInvadepohType;
typedef enum {
/* -1 */ DIRECTION_BACKWARD = -1,
/* 1 */ DIRECTION_FORWARD = 1,
} EnInvadepohDirection;
typedef struct unkStruct80B50350 {
/* 0x0 */ s8 unk0;
/* 0x1 */ s8 unk1;
/* 0x2 */ u8 unk2;
/* 0x4 */ Vec3f unk4;
} unkStruct80B50350; // size = 0x10;
typedef struct {
/* 0x0 */ s8* unk00;
/* 0x4 */ s8 unk04;
} unkstructInvadepoh0; // size = 0x8
typedef struct {
/* 0x0 */ s8 unk00;
/* 0x4 */ f32 unk04;
} unkstructInvadepoh1; // size = 0x8
typedef struct {
/* 0x0 */ s8 unk00;
/* 0x4 */ unkstructInvadepoh0* unk04;
} unkstructInvadepoh2; // size = 0x8
typedef struct {
/* 0x0 */ s8 unk0;
/* 0x4 */ unkstructInvadepoh0* unk4;
/* 0x8 */ s8 unk8;
/* 0xC */ unkstructInvadepoh1* unkC;
} unkstructInvadepoh3; // size = 0x10
typedef struct {
/* 0x00 */ s8 unk00;
/* 0x04 */ unkstructInvadepoh0* unk04;
/* 0x08 */ s8 unk08;
/* 0x0C */ unkstructInvadepoh1* unk0C;
/* 0x10 */ s16 unk10;
/* 0x12 */ s16 unk12;
} unkstructInvadepoh4; // size = 0x14
typedef struct {
/* 0x0 */ f32 unk00;
/* 0x4 */ s16 unk04;
/* 0x6 */ s16 unk06;
} unkstruct80B4EE0C; // size = 0x8
typedef struct EnInvadePohStruct {
/* 0x0 */ unkstructInvadepoh4* unk0;
/* 0x4 */ s8 unk4;
/* 0x8 */ unkstructInvadepoh4* unk8;
/* 0xC */ s16 unkC;
/* 0xE */ s8 unkE;
/* 0xF */ s8 unkF;
} EnInvadePohStruct; // size = 0x10;
typedef struct AlienBehaviorInfo {
/* 0x00 */ EnInvadePohStruct unk0;
/* 0x10 */ EnInvadePohStruct unk10;
/* 0x20 */ Vec3s unk20;
/* 0x26 */ Vec3s unk26;
/* 0x2C */ s16 unk2C;
/* 0x2E */ u16 unk2E;
/* 0x30 */ f32 unk30;
/* 0x34 */ f32 unk34;
/* 0x38 */ f32 unk38;
/* 0x3C */ f32 unk3C;
/* 0x40 */ s16 unk40;
/* 0x42 */ s16 unk42;
/* 0x44 */ f32 unk44;
/* 0x48 */ s16 unk48;
/* 0x4A */ UNK_TYPE1 unk4A[0x2];
/* 0x4C */ s16 unk4C;
/* 0x4E */ s16 unk4E;
} AlienBehaviorInfo; // size = 0x50
typedef void (*EnInvadepohActionFunc)(struct EnInvadepoh* this, PlayState* play);
typedef void (*EnInvadepohInitFunc)(struct EnInvadepoh* this, PlayState* play);
typedef void (*EnInvadepohDestFunc)(struct EnInvadepoh* this, PlayState* play);
typedef struct EnInvadepoh {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[23];
/* 0x212 */ Vec3s morphTable[23];
/* 0x29C */ s8 animPlayFlag;
/* 0x2A0 */ ColliderCylinder collider;
/* 0x2EC */ EnInvadepohActionFunc actionFunc;
/* 0x2F0 */ s16 actionTimer;
/* 0x2F2 */ s16 counter; // general counter variable
/* 0x2F4 */ s8 bankIndex;
/* 0x2F8 */ f32 xzPosAdjFactor;
/* 0x2FC */ UNK_TYPE unk2FC; // unused
/* 0x300 */ f32 velocityStep;
/* 0x304 */ s16 unk304; // angle of some sort
/* 0x306 */ s16 unk306;
/* 0x308 */ s8 endPoint;
/* 0x309 */ s8 pathIndex;
/* 0x30A */ s8 direction; // only ever 1 or -1
/* 0x30C */ Vec3s* pathPoints;
/* 0x310 */ f32 pathTotalDist;
/* 0x314 */ Vec3f curPathPos;
/* 0x320 */ f32 clockTime;
/* 0x324 */ AlienBehaviorInfo behaviorInfo;
/* 0x374 */ s8 rand;
/* 0x376 */ u16 textId;
/* 0x378 */ s8 unk378;
/* 0x379 */ s8 unk379;
/* 0x37C */ f32 unk37C[3];
/* 0x388 */ s8 unk388; // unused
/* 0x389 */ u8 alienAlpha;
/* 0x38A */ s8 unk38A; // bool
/* 0x38B */ s8 drawAlien;
/* 0x38C */ s8 drawAlienDeathEffect;
/* 0x38D */ u8 alienBeamAlpha;
/* 0x390 */ Vec3f alienDeathEffectScale;
/* 0x39C */ f32 scaleFactorAdj;
/* 0x3A0 */ f32 scaleTarget;
/* 0x3A4 */ f32 scaleStep;
/* 0x3A8 */ s16 scaleAdjAngle;
/* 0x3AA */ s16 unk3AA;
/* 0x3AC */ s8 unk3AC; // index for D_80B4EDD0
/* 0x3AD */ UNK_TYPE1 unk3AD[0xF];
/* 0x3BC */ s8 unk3BC;
/* 0x144 */ char unk_144[0x15C];
/* 0x2A0 */ ColliderCylinder unk_2A0;
/* 0x2EC */ EnInvadepohActionFunc unk_2EC;
/* 0x2F0 */ char unk_2F0[0xD0];
} EnInvadepoh; // size = 0x3C0
extern const ActorInit En_Invadepoh_InitVars;
#endif // Z_EN_INVADEPOH_H
#endif // Z_EN_INVADEPOH_H
+10 -10
View File
@@ -13735,9 +13735,9 @@
0x80B43DD4:("func_80B43DD4",),
0x80B43E6C:("func_80B43E6C",),
0x80B43F0C:("func_80B43F0C",),
0x80B43F70:("EnInvadepoh_GetTotalPathDistance",),
0x80B43F70:("func_80B43F70",),
0x80B44024:("func_80B44024",),
0x80B4407C:("EnInvadepoh_SetPathPointToWorldPos",),
0x80B4407C:("func_80B4407C",),
0x80B440B8:("func_80B440B8",),
0x80B44234:("func_80B44234",),
0x80B442E4:("func_80B442E4",),
@@ -13771,9 +13771,9 @@
0x80B453F4:("func_80B453F4",),
0x80B45460:("func_80B45460",),
0x80B454BC:("func_80B454BC",),
0x80B45518:("EnInvadepoh_SetSysMatrix",),
0x80B45518:("func_80B45518",),
0x80B45550:("func_80B45550",),
0x80B4560C:("EnInvadepoh_SetTextID",),
0x80B4560C:("func_80B4560C",),
0x80B45648:("func_80B45648",),
0x80B456A8:("func_80B456A8",),
0x80B457A0:("func_80B457A0",),
@@ -13791,13 +13791,13 @@
0x80B46184:("func_80B46184",),
0x80B461DC:("func_80B461DC",),
0x80B4627C:("func_80B4627C",),
0x80B46414:("EnInvadepoh_InitAlien",),
0x80B46520:("EnInvadepoh_InitParentCow",),
0x80B465CC:("EnInvadepoh_InitChildCow",),
0x80B46644:("EnInvadepoh_InitRomani",),
0x80B46414:("func_80B46414",),
0x80B46520:("func_80B46520",),
0x80B465CC:("func_80B465CC",),
0x80B46644:("func_80B46644",),
0x80B468B4:("func_80B468B4",),
0x80B469C4:("EnInvadepoh_InitDog",),
0x80B46A80:("EnInvadepoh_InitCremia",),
0x80B469C4:("func_80B469C4",),
0x80B46A80:("func_80B46A80",),
0x80B46B74:("EnInvadepoh_Init",),
0x80B46BB0:("func_80B46BB0",),
0x80B46BC0:("func_80B46BC0",),