diff options
Diffstat (limited to 'include/roulette_util.h')
-rw-r--r-- | include/roulette_util.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/include/roulette_util.h b/include/roulette_util.h new file mode 100644 index 000000000..764a3df10 --- /dev/null +++ b/include/roulette_util.h @@ -0,0 +1,84 @@ +#ifndef GUARD_ROULETTE_H +#define GUARD_ROULETTE_H + +struct UnkStruct1 +{ + u16 var00; + u16 var02; + u8 var04; + u8 var05; + u8 var06; + s8 var07_0:5; + s8 var07_5:2; + s8 var07_7:1; +}; + +struct UnkStruct3 +{ + u8 var00_0:7; + u8 var00_7:1; + u8 var01; + s8 var02; + s8 var03; + struct UnkStruct1 var04; +}; + +struct UnkStruct0 +{ + u8 var00; + u8 var01; + u16 var02; //flag for each UnkStruct3 + struct UnkStruct3 var04[0x10]; +}; + +struct PulseBlendSettings +{ + u16 blendColor; + u16 paletteOffset; + u8 numColors; + u8 delay; + u8 numFadeCycles; + s8 maxBlendCoeff:4; + s8 fadeType:2; + s8 restorePaletteOnUnload:1; + s8 unk7_7:1; +}; + +struct PulseBlendPalette +{ + u8 paletteSelector; + u8 blendCoeff:4; + u8 fadeDirection:1; + s8 unk1_5:1; + s8 available:1; + u32 inUse:1; + u8 delayCounter; + u8 fadeCycleCounter; + struct PulseBlendSettings pulseBlendSettings; +}; + +struct PulseBlend +{ + u16 usedPulseBlendPalettes; + struct PulseBlendPalette pulseBlendPalettes[16]; +}; + +void sub_80D8BE4(struct UnkStruct0 *); +u8 sub_80D8BF8(struct UnkStruct0 *, u8, const struct UnkStruct1 *); +u8 sub_80D8C7C(struct UnkStruct0 *, u8); +u8 sub_80D8CB0(struct UnkStruct3 *); +u8 sub_80D8EB8(struct UnkStruct3 *); +void task_tutorial_controls_fadein(struct UnkStruct0 *); +void sub_80D8FB4(struct UnkStruct0 *, u16); +void sub_80D9008(struct UnkStruct0 *, u16); +void InitPulseBlend(struct PulseBlend *); +int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); +static void ClearPulseBlendPalettesSettings(struct PulseBlendPalette *); +void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void UpdatePulseBlend(struct PulseBlend *); +void sub_80D9574(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +void sub_80D95C4(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); + +#endif // GUARD_ROULETTE_H |