mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
33 lines
1.5 KiB
C
33 lines
1.5 KiB
C
|
#ifndef Z_BG_GND_DARKMEIRO_H
|
||
|
#define Z_BG_GND_DARKMEIRO_H
|
||
|
|
||
|
#include "ultra64.h"
|
||
|
#include "global.h"
|
||
|
|
||
|
struct BgGndDarkmeiro;
|
||
|
|
||
|
typedef void (*BgGndDarkmeiroUpdateFunc)(struct BgGndDarkmeiro*, GlobalContext*);
|
||
|
|
||
|
typedef struct BgGndDarkmeiro {
|
||
|
/* 0x0000 */ DynaPolyActor dyna;
|
||
|
/* 0x0164 */ u16 actionFlags; // 0x8 for timer 2, 0x4 for timer 1, 0x2 for blocks.
|
||
|
/* 0x0166 */ s16 timer1; // Vanish countdown for clear blocks
|
||
|
/* 0x0168 */ s16 timer2; // Transparency flicker for clear blocks. Does not work.
|
||
|
/* 0x016C */ BgGndDarkmeiroUpdateFunc updateFunc;
|
||
|
} BgGndDarkmeiro; // size = 0x0170
|
||
|
|
||
|
typedef enum {
|
||
|
/* 0 */ DARKMEIRO_INVISIBLE_PATH, // Textures for the invisible path in shadow trial.
|
||
|
|
||
|
/* 1 */ DARKMEIRO_CLEAR_BLOCK, /* Clear blocks appear when their switch flag is set and
|
||
|
disappear 64 frames after their switch flag is cleared.
|
||
|
Clear blocks with flag 0x3F are always on. */
|
||
|
|
||
|
/* 2 */ DARKMEIRO_BLOCK_TIMER /* A block timer with switch flag N reacts to switch flags N+1
|
||
|
and N+2 being set, setting its own switch flag and a timer
|
||
|
for 304 frames. There are separate timers for N+1 and N+2,
|
||
|
and the timer sets flag N if either timer is above 64 frames. */
|
||
|
} DarkmeiroType;
|
||
|
|
||
|
#endif
|