summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/roulette_util.h84
-rw-r--r--include/util.h1
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