[cc0 oot] Keese (#2798)

* [cc0 oot] Keese

* bodyType -> bodyElementalType

* cleanup EnFirefly

* keese cleanup
This commit is contained in:
Dragorn421
2026-08-31 17:29:52 +02:00
committed by GitHub
parent e9b8786fcb
commit 761db13884
3 changed files with 423 additions and 442 deletions
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