Shipwright/soh/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.h
M4xw 39cc86c260 git subrepo clone https://github.com/HarbourMasters/soh.git
subrepo:
  subdir:   "soh"
  merged:   "ba904bbd0"
upstream:
  origin:   "https://github.com/HarbourMasters/soh.git"
  branch:   "master"
  commit:   "ba904bbd0"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2022-03-22 02:51:23 +01:00

47 lines
1.2 KiB
C

#ifndef Z_EN_PO_FIELD_H
#define Z_EN_PO_FIELD_H
#include "ultra64.h"
#include "global.h"
struct EnPoField;
typedef void (*EnPoFieldActionFunc)(struct EnPoField*, GlobalContext*);
typedef enum {
EN_PO_FIELD_SMALL,
EN_PO_FIELD_BIG
} EnPoFieldSize;
typedef struct {
/* 0x0000 */ Color_RGB8 primColor;
/* 0x0003 */ Color_RGB8 lightColor;
/* 0x0006 */ Color_RGB8 envColor;
/* 0x0009 */ s8 unk_9;
/* 0x000C */ void* soulTexture;
} EnPoFieldInfo; // size = 0x10
typedef struct EnPoField {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnPoFieldActionFunc actionFunc;
/* 0x0194 */ u8 unk_194;
/* 0x0195 */ u8 spawnFlagIndex;
/* 0x0196 */ s16 actionTimer;
/* 0x0198 */ s16 flameRotation;
/* 0x019A */ s16 flameTimer;
/* 0x019C */ Vec3s jointTable[10];
/* 0x01D8 */ Vec3s morphTable[10];
/* 0x0214 */ Color_RGBA8 lightColor;
/* 0x0214 */ Color_RGBA8 soulColor;
/* 0x021C */ f32 scaleModifier;
/* 0x0220 */ f32 flameScale;
/* 0x0224 */ Vec3f flamePosition;
/* 0x0230 */ LightNode* lightNode;
/* 0x0234 */ LightInfo lightInfo;
/* 0x0244 */ ColliderCylinder collider;
/* 0x0290 */ ColliderCylinder flameCollider;
} EnPoField; // size = 0x02DC
#endif