diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/roulette_util.h | 84 | ||||
-rw-r--r-- | include/util.h | 1 |
2 files changed, 85 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 diff --git a/include/util.h b/include/util.h index e0034d816..884bd8f33 100644 --- a/include/util.h +++ b/include/util.h @@ -15,5 +15,6 @@ int CountTrailingZeroBits(u32 value); u16 CalcCRC16(const u8 *data, s32 length); u16 CalcCRC16WithTable(const u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); +void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); #endif // GUARD_UTIL_H |