Shipwright/soh/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h

53 lines
1.5 KiB
C

#ifndef Z_DEMO_KANKYO_H
#define Z_DEMO_KANKYO_H
#include "ultra64.h"
#include "global.h"
struct DemoKankyo;
typedef void (*DemoKankyoActionFunc)(struct DemoKankyo*, GlobalContext*);
typedef enum {
/* 0x00 */ DEMOKANKYO_BLUE_RAIN,
/* 0x01 */ DEMOKANKYO_BLUE_RAIN_2,
/* 0x02 */ DEMOKANKYO_ROCK_1,
/* 0x03 */ DEMOKANKYO_ROCK_2,
/* 0x04 */ DEMOKANKYO_ROCK_3,
/* 0x05 */ DEMOKANKYO_ROCK_4,
/* 0x06 */ DEMOKANKYO_ROCK_5,
/* 0x07 */ DEMOKANKYO_CLOUDS,
/* 0x08 */ DEMOKANKYO_8, // These unnamed types are removed types that would have used object_gi_melody
/* 0x09 */ DEMOKANKYO_9,
/* 0x0A */ DEMOKANKYO_A,
/* 0x0B */ DEMOKANKYO_B,
/* 0x0C */ DEMOKANKYO_C,
/* 0x0D */ DEMOKANKYO_DOOR_OF_TIME,
/* 0x0E */ DEMOKANKYO_LIGHT_PLANE,
/* 0x0F */ DEMOKANKYO_WARP_OUT,
/* 0x10 */ DEMOKANKYO_WARP_IN,
/* 0x11 */ DEMOKANKYO_SPARKLES
} DemoKankyoType;
typedef struct {
/* 0x00 */ Vec3f unk_0;
/* 0x0C */ Vec3f unk_C;
/* 0x18 */ f32 unk_18; // For Door of Time, this is the amount to translate it by used for when it's opening
/* 0x1C */ f32 unk_1C;
/* 0x20 */ s16 unk_20;
/* 0x22 */ u8 unk_22; // mode ?
/* 0x23 */ u8 unk_23;
/* 0x24 */ s16 unk_24;
} DemoKankyoUnk150; // size = 0x28
typedef struct DemoKankyo {
/* 0x0000 */ Actor actor;
/* 0x014C */ u8 objBankIndex;
/* 0x014D */ u8 sparkleCounter;
/* 0x014E */ u8 warpTimer;
/* 0x0150 */ DemoKankyoUnk150 unk_150[30];
/* 0x0600 */ DemoKankyoActionFunc actionFunc;
} DemoKankyo; // size = 0x0604
#endif