z_hono_trap OK (#1437)

* match first couple of funcs

* Attempt all functions

* add flags, func_80930190 OK

* z_en_honotrap OK

* clean things up

* implement most suggestions

* space out OPEN/CLOSE_DISP

* more improvements

* implement suggestions

* implement alf suggestions

* u substitution

* nitpicky

* format
This commit is contained in:
mzxrules
2023-11-06 23:02:52 +11:00
committed by GitHub
parent 5b4fddf16e
commit ddb63dcec2
3 changed files with 760 additions and 83 deletions
+2 -3
View File
@@ -655,7 +655,7 @@ beginseg
include "build/src/overlays/gamestates/ovl_file_choose/z_file_choose_NES.o"
#ifdef NON_MATCHING
include "build/src/overlays/gamestates/ovl_file_choose/ovl_file_choose_reloc.o"
#else
#else
include "build/data/ovl_file_choose/ovl_file_choose.reloc.o"
#endif
endseg
@@ -1339,8 +1339,7 @@ beginseg
name "ovl_En_Honotrap"
compress
include "build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o"
include "build/data/ovl_En_Honotrap/ovl_En_Honotrap.data.o"
include "build/data/ovl_En_Honotrap/ovl_En_Honotrap.reloc.o"
include "build/src/overlays/actors/ovl_En_Honotrap/ovl_En_Honotrap_reloc.o"
endseg
beginseg
File diff suppressed because it is too large Load Diff
@@ -7,10 +7,49 @@ struct EnHonotrap;
typedef void (*EnHonotrapActionFunc)(struct EnHonotrap*, PlayState*);
typedef union {
struct {
/* 0x00 */ ColliderTris tris;
/* 0x20 */ ColliderTrisElement elements[2];
};
/* 0x00 */ ColliderCylinder cyl;
} EnHonotrapCollider; // size = 0xD8
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ f32 unkC;
/* 0x10 */ s16 flameScroll;
/* 0x12 */ u8 isDrawn;
} EnHonotrapFlameElement; // size = 0x14
typedef struct {
/* 0x0 */ f32 unk0;
/* 0x4 */ f32 unk4;
/* 0x8 */ f32 unk8;
/* 0xC */ EnHonotrapFlameElement flameList[6];
} EnHonotrapFlameGroup; // size = 0x84;
typedef struct EnHonotrap {
/* 0x000 */ Actor actor;
/* 0x144 */ EnHonotrapActionFunc actionFunc;
/* 0x148 */ char unk_148[0x17C];
/* 0x148 */ EnHonotrapCollider collider;
/* 0x220 */ s16 timer;
/* 0x222 */ s16 eyeState;
/* 0x224 */ s16 unk224;
/* 0x228 */ Vec3f targetPos;
/* 0x234 */ f32 speedMod;
/* 0x238 */ s16 bobPhase;
/* 0x23A */ s16 flameScroll;
/* 0x23C */ EnHonotrapFlameGroup flameGroup;
/* 0x2C0 */ u8 colChkFlags;
} EnHonotrap; // size = 0x2C4
typedef enum {
/* 0 */ HONOTRAP_TYPE_EYE,
/* 1 */ HONOTRAP_TYPE_FLAME_MOVE,
/* 2 */ HONOTRAP_TYPE_FLAME_DROP,
/* 3 */ HONOTRAP_TYPE_EYE_MUTI_FLAME,
/* 4 */ HONOTRAP_TYPE_FLAME_GROUP
} EnHonotrapType;
#endif // Z_EN_HONOTRAP_H