`En_Po_Sisters`: most suggeted changes

Changed formatting based on review.
Will attempt moving suggested static vars when toolchain issue and mismatch are resolved.
This commit is contained in:
blackgamma7 2025-12-08 10:18:47 -05:00
parent a65b55b9f4
commit 8db70d33bd
2 changed files with 274 additions and 271 deletions

File diff suppressed because it is too large Load Diff

View File

@ -18,12 +18,12 @@ typedef struct EnPoSisters {
/* 0x0196 */ u8 hoverPulse;
/* 0x0197 */ u8 vanishTimer;
/* 0x0198 */ u8 torchFlames; // number of torch flames to draw
/* 0x0199 */ u8 sisFlags; // uses EnPoSisFlags
/* 0x019A */ s16 sisTimer; // timer used for various situations
/* 0x0199 */ u8 sisterFlags; // uses EnPoSisFlags
/* 0x019A */ s16 sisterTimer; // timer used for various situations
/* 0x019C */ s16 megVar; // Meg and her decoys use it as a behaviour timer
/* 0x019E */ Vec3s jointTable[12];
/* 0x01E6 */ Vec3s morphTable[12];
/* 0x022E */ Color_RGBA8 sisColor; // (rgb) for eyes, (a) for rest of body
/* 0x022E */ Color_RGBA8 sisterColor; // (rgb) for eyes, (a) for rest of body
/* 0x0234 */ Vec3f torchPos[8]; // positions of the torch flame and smaller circling flames
/* 0x0294 */ f32 circleDist; // distance of Meg when circling Link.
/* 0x0298 */ LightNode* lightNode;
@ -32,27 +32,15 @@ typedef struct EnPoSisters {
/* 0x02F8 */ MtxF torchMtx;
} EnPoSisters; // size = 0x0338
typedef enum EnPoSisNames {
EN_POESIS_MEG, // purple sister, circles Link with decoys
EN_POESIS_JOELLE, // red sister, hides in portraits
EN_POESIS_BETH, // blue sister, hides in portraits
EN_POESIS_AMY, // green sister, hides in block puzzle
} EnPoSisNames;
typedef enum EnPoSisterNames {
EN_PO_SISTERS_MEG, // purple sister, circles Link with decoys
EN_PO_SISTERS_JOELLE, // red sister, hides in portraits
EN_PO_SISTERS_BETH, // blue sister, hides in portraits
EN_PO_SISTERS_AMY, // green sister, hides in block puzzle
} EnPoSisterNames;
typedef enum EnPoSisFlags {
EN_POESIS_FLAG_ACCOL=1<<0, // set AC collision
EN_POESIS_FLAG_ROTATE=1<<1, // set shape.rot.y to world.rot.y
EN_POESIS_FLAG_VANISH=1<<2, // tick vanishTimer, then disappear if 0.
EN_POESIS_FLAG_HOVER=1<<3, // hover up and down a few inches
EN_POESIS_FLAG_BGCHECK=1<<4,// BGCheck floors and walls
EN_POESIS_FLAG_UPDATEMASK=(EN_POESIS_FLAG_ACCOL|EN_POESIS_FLAG_ROTATE|
EN_POESIS_FLAG_VANISH|EN_POESIS_FLAG_HOVER|EN_POESIS_FLAG_BGCHECK),
EN_POESIS_FLAG_TORCH=1<<5, // manipulate torch flames
EN_POESIS_FLAG_SPIN=1<<6, // the real Meg spins as a tell
EN_POESIS_FLAG_NOMTXF=1<<7, //don't read or write torchMtx
} EnPoSisFlags;
#define EN_POESIS_DECOY_PARAM 1<<10 // param for Meg's decoys
#define EN_POESIS_INTRO_PARAM 1<<12 // param for Poe Sisters when first entering foyer
#define EN_PO_SISTERS_DECOY_PARAM (1 << 10) // param for Meg's decoys
#define EN_PO_SISTERS_INTRO_PARAM (1 << 12) // param for Poe Sisters when first entering foyer
#endif