mirror of
https://github.com/zeldaret/oot
synced 2026-09-04 02:19:37 -04:00
[cc0 oot] Keese (#2798)
* [cc0 oot] Keese * bodyType -> bodyElementalType * cleanup EnFirefly * keese cleanup
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -4,32 +4,41 @@
|
||||
#include "ultra64.h"
|
||||
#include "actor.h"
|
||||
|
||||
#include "assets/objects/object_firefly/object_firefly.h"
|
||||
|
||||
typedef enum EnFireflyType {
|
||||
EN_FIREFLY_TYPE_FIRE,
|
||||
EN_FIREFLY_TYPE_FIRE_CAN_PERCH, // Can perch when no longer on fire
|
||||
EN_FIREFLY_TYPE_NORMAL,
|
||||
EN_FIREFLY_TYPE_NORMAL_PERCHED,
|
||||
EN_FIREFLY_TYPE_ICE
|
||||
} EnFireflyType;
|
||||
|
||||
struct EnFirefly;
|
||||
|
||||
typedef enum EnFireflyBodyPart {
|
||||
/* 0 */ EN_FIREFLY_BODY_PART_LEFT_WING,
|
||||
/* 1 */ EN_FIREFLY_BODY_PART_RIGHT_WING,
|
||||
/* 2 */ EN_FIREFLY_BODY_PART_BODY,
|
||||
/* 3 */ EN_FIREFLY_BODY_PART_MAX
|
||||
} EnFireflyBodyPart;
|
||||
|
||||
typedef void (*EnFireflyActionFunc)(struct EnFirefly*, struct PlayState*);
|
||||
|
||||
typedef struct EnFirefly {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ Vec3f bodyPartsPos[3];
|
||||
/* 0x0170 */ SkelAnime skelAnime;
|
||||
/* 0x01B4 */ EnFireflyActionFunc actionFunc;
|
||||
/* 0x01B8 */ u8 auraType;
|
||||
/* 0x01B9 */ u8 onFire;
|
||||
/* 0x01BA */ s16 timer;
|
||||
/* 0x01BC */ s16 targetPitch;
|
||||
/* 0x01BE */ Vec3s jointTable[28];
|
||||
/* 0x0266 */ Vec3s morphTable[28];
|
||||
/* 0x0310 */ f32 maxAltitude;
|
||||
/* 0x0314 */ ColliderJntSph collider;
|
||||
/* 0x0344 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x14C */ Vec3f bodyPartsPos[EN_FIREFLY_BODY_PART_MAX];
|
||||
/* 0x170 */ SkelAnime skelAnime;
|
||||
/* 0x1B4 */ EnFireflyActionFunc actionFunc;
|
||||
/* 0x1B8 */ u8 effectsElementalType;
|
||||
/* 0x1B9 */ u8 bodyElementalType;
|
||||
/* 0x1BA */ s16 timer;
|
||||
/* 0x1BC */ s16 targetPitch;
|
||||
/* 0x1BE */ Vec3s jointTable[KEESE_LIMB_MAX];
|
||||
/* 0x266 */ Vec3s morphTable[KEESE_LIMB_MAX];
|
||||
/* 0x310 */ f32 homeY;
|
||||
/* 0x314 */ ColliderJntSph collider;
|
||||
/* 0x334 */ ColliderJntSphElement colliderElements[1];
|
||||
} EnFirefly; // size = 0x0374
|
||||
|
||||
typedef enum KeeseType {
|
||||
/* 0 */ KEESE_FIRE_FLY,
|
||||
/* 1 */ KEESE_FIRE_PERCH,
|
||||
/* 2 */ KEESE_NORMAL_FLY,
|
||||
/* 3 */ KEESE_NORMAL_PERCH,
|
||||
/* 4 */ KEESE_ICE_FLY
|
||||
} KeeseType;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user