mirror of
https://github.com/zeldaret/oot
synced 2026-08-23 07:09:48 -04:00
[cc0 oot] object_tp and z_en_tp (#2785)
* [cc0 oot] object_tp and z_en_tp * docs * fixup
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -4,36 +4,36 @@
|
||||
#include "ultra64.h"
|
||||
#include "actor.h"
|
||||
|
||||
struct EnTp;
|
||||
|
||||
typedef void (*EnTpActionFunc)(struct EnTp*, struct PlayState*);
|
||||
|
||||
typedef struct EnTp {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ s32 actionIndex;
|
||||
/* 0x0150 */ s32 unk_150; // Some kind of state indicator
|
||||
/* 0x0154 */ EnTpActionFunc actionFunc;
|
||||
/* 0x0158 */ u8 damageReaction; // Used to propagate the reaction to the other segments' actors
|
||||
/* 0x015A */ s16 timer;
|
||||
/* 0x015C */ s16 unk_15C; // Multipurpose, used to change the horizontal position of tail segments
|
||||
/* 0x015E */ s16 alpha; // The dying types fade away
|
||||
/* 0x0160 */ s16 red;
|
||||
/* 0x0162 */ s16 kiraSpawnTimer;
|
||||
/* 0x0164 */ s16 unk_164; // Used once, never set to nonzero
|
||||
/* 0x0168 */ f32 heightPhase;
|
||||
/* 0x016C */ f32 horizontalVariation;
|
||||
/* 0x0170 */ f32 extraHeightVariation;
|
||||
/* 0x0174 */ ColliderJntSph collider;
|
||||
/* 0x0194 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01D4 */ struct EnTp* head;
|
||||
} EnTp; // size = 0x01D8
|
||||
|
||||
typedef enum EnTpType {
|
||||
/* -1 */ TAILPASARAN_HEAD = -1, // Used when scenes spawn them: code only cares about < 0
|
||||
/* 0 */ TAILPASARAN_TAIL,
|
||||
/* 10 */ TAILPASARAN_FRAGMENT = 10,
|
||||
/* 11 */ TAILPASARAN_TAIL_DYING,
|
||||
/* 12 */ TAILPASARAN_HEAD_DYING
|
||||
ENTP_TYPE_HEAD = -1, // To be used for the initial spawn
|
||||
ENTP_TYPE_BODYELEM,
|
||||
ENTP_TYPE_BODYELEMREMNANT = 10,
|
||||
ENTP_TYPE_BODYELEM_DYING,
|
||||
ENTP_TYPE_HEAD_DYING
|
||||
} EnTpType;
|
||||
|
||||
struct EnTp;
|
||||
|
||||
typedef struct EnTp {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x14C */ s32 action;
|
||||
/* 0x150 */ s32 modeVar;
|
||||
/* 0x154 */ void (*actionFunc)(struct EnTp*, struct PlayState*);
|
||||
/* 0x158 */ u8 unk_158;
|
||||
/* 0x159 */ char pad_159[1];
|
||||
/* 0x15A */ s16 timer;
|
||||
/* 0x15C */ s16 timer2;
|
||||
/* 0x15E */ s16 bodyElemAlpha;
|
||||
/* 0x160 */ s16 redShineAmount;
|
||||
/* 0x162 */ s16 sparkTimer;
|
||||
/* 0x164 */ s16 unk_164;
|
||||
/* 0x166 */ char pad_166[2];
|
||||
/* 0x168 */ f32 unk_168;
|
||||
/* 0x16C */ f32 bodyElemDist;
|
||||
/* 0x170 */ f32 unk_170;
|
||||
/* 0x174 */ ColliderJntSph collider;
|
||||
/* 0x194 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x1D4 */ struct EnTp* headInstance;
|
||||
} EnTp; // size = 0x1D8
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user