blob: 1c7b5defc2b448bda311bf6dd3fe1662df97d726 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef Z_EN_MARUTA_H
#define Z_EN_MARUTA_H
#include "global.h"
struct EnMaruta;
typedef void (*EnMarutaActionFunc)(struct EnMaruta*, PlayState*);
#define ENMARUTA_GET_TYPE(thisx) ((thisx)->params & 0xFF)
#define ENMARUTA_GET_SHAPE(thisx) (((thisx)->params & 0xFF00) >> 8)
#define ENMARUTA_INIT_ON_FLOOR 0xFF // Hypothetical only
typedef struct EnMaruta {
/* 0x000 */ Actor actor;
/* 0x144 */ EnMarutaActionFunc actionFunc;
/* 0x148 */ ColliderCylinder collider;
/* 0x194 */ Vec3f recoilSpinAxis;
/* 0x1A0 */ Vec3f* relativeHitboxPoints;
/* 0x1A4 */ Vec3f hitboxPoints[8];
/* 0x204 */ Vec3f centerPos;
/* 0x210 */ s32 shape;
/* 0x214 */ s32 lowestPointIndex;
/* 0x218 */ s16 recoilSpinAngle;
/* 0x21A */ s16 recoilSpinRate;
/* 0x21C */ s16 endingBounces;
/* 0x21E */ s16 timer;
/* 0x220 */ s16 isRetracting;
} EnMaruta; // size = 0x224
#endif // Z_EN_MARUTA_H
|