mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
45e5e5ca72
* Experimental 60 fps * Fix compile error * Fix compile error * Fix compile error
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#ifndef Z_OBJECT_KANKYO_H
|
|
#define Z_OBJECT_KANKYO_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
|
|
struct ObjectKankyo;
|
|
|
|
typedef void (*ObjectKankyoActionFunc)(struct ObjectKankyo*, GlobalContext*);
|
|
|
|
typedef struct ObjectKankyoEffect {
|
|
/* 0x00 */ u8 state;
|
|
/* 0x04 */ Vec3f pos; // relative to base
|
|
/* 0x10 */ Vec3f prevPos;
|
|
/* 0x1C */ Vec3f base;
|
|
/* 0x28 */ Vec3f dirPhase; // input to sin/cos for movement direction
|
|
/* 0x34 */ f32 speed;
|
|
/* 0x38 */ f32 targetSpeed;
|
|
/* 0x3C */ u16 alphaTimer;
|
|
/* 0x3E */ u16 angle;
|
|
/* 0x40 */ u8 alpha;
|
|
/* 0x44 */ f32 size;
|
|
/* 0x48 */ u16 angleVel;
|
|
/* 0x4A */ u16 flightRadius;
|
|
/* 0x4C */ f32 amplitude;
|
|
/* 0x50 */ u16 timer;
|
|
u32 epoch;
|
|
} ObjectKankyoEffect; // size = 0x54
|
|
|
|
typedef struct ObjectKankyo {
|
|
/* 0x0000 */ Actor actor;
|
|
/* 0x014C */ ObjectKankyoEffect effects[64];
|
|
/* 0x164C */ Vec3f prevEyePos;
|
|
/* 0x1658 */ u8 requiredObjBankIndex;
|
|
/* 0x1659 */ u8 requiredObjectLoaded;
|
|
/* 0x165C */ ObjectKankyoActionFunc actionFunc;
|
|
} ObjectKankyo; // size = 0x1660
|
|
|
|
#endif
|