From 22b5b6b0741a5e0831cc78ffaef7c1f6407044f0 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 29 Jul 2020 04:46:58 -0400 Subject: Start documenting roulette --- include/constants/coins.h | 1 + include/constants/roulette.h | 7 +++++++ include/graphics.h | 12 ++++++------ include/roulette_util.h | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 include/constants/roulette.h (limited to 'include') diff --git a/include/constants/coins.h b/include/constants/coins.h index 3ae3bb23f..e65e981d6 100644 --- a/include/constants/coins.h +++ b/include/constants/coins.h @@ -2,5 +2,6 @@ #define GUARD_CONSTANTS_COINS_H #define MAX_COINS 9999 +#define MAX_COIN_DIGITS 4 #endif // GUARD_CONSTANTS_COINS_H diff --git a/include/constants/roulette.h b/include/constants/roulette.h new file mode 100644 index 000000000..2ab17e476 --- /dev/null +++ b/include/constants/roulette.h @@ -0,0 +1,7 @@ +#ifndef GUARD_CONSTANTS_ROULETTE_H +#define GUARD_CONSTANTS_ROULETTE_H + +// Flag set in gSpecialVar_0x8004 when playing Roulette on a Game Corner service day +#define ROULETTE_SPECIAL_RATE (1 << 7) + +#endif // GUARD_CONSTANTS_ROULETTE_H diff --git a/include/graphics.h b/include/graphics.h index 8514d49bd..cf2abb825 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4919,13 +4919,13 @@ extern const u32 gPartyMenuPokeball_Pal[]; extern const u32 gStatusPal_Icons[]; // Roulette -extern const u32 gRouletteMenuTiles[]; -extern const u32 gRouletteWheelTiles[]; +extern const u32 gRouletteMenu_Gfx[]; +extern const u32 gRouletteWheel_Gfx[]; extern const u32 gRouletteCenter_Gfx[]; -extern const u32 gRouletteHeadersTiles[]; -extern const u32 gRouletteCreditTiles[]; -extern const u32 gRouletteNumbersTiles[]; -extern const u32 gRouletteMultiplierTiles[]; +extern const u32 gRouletteHeaders_Gfx[]; +extern const u32 gRouletteCredit_Gfx[]; +extern const u32 gRouletteNumbers_Gfx[]; +extern const u32 gRouletteMultiplier_Gfx[]; // Contest util extern const u32 gContestResults_Gfx[]; diff --git a/include/roulette_util.h b/include/roulette_util.h index 76752fe74..85b8de1f3 100644 --- a/include/roulette_util.h +++ b/include/roulette_util.h @@ -41,8 +41,8 @@ void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UpdatePulseBlend(struct PulseBlend *); -void sub_8152008(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); -void sub_8152058(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); +void ClearGridSelectionRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +void SetGridSelectionRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); void task_tutorial_controls_fadein(struct UnkStruct0 *r0); void sub_8151678(struct UnkStruct0 *r0); u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2); -- cgit v1.2.3 From b40cee540e6e4268dcae990c6a08ebba50b3cec9 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 31 Jul 2020 14:55:42 -0400 Subject: Continue documenting roulette --- include/roulette_util.h | 4 ++-- include/strings.h | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/roulette_util.h b/include/roulette_util.h index 85b8de1f3..2153b19f6 100644 --- a/include/roulette_util.h +++ b/include/roulette_util.h @@ -41,8 +41,8 @@ void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UpdatePulseBlend(struct PulseBlend *); -void ClearGridSelectionRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); -void SetGridSelectionRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); +void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); void task_tutorial_controls_fadein(struct UnkStruct0 *r0); void sub_8151678(struct UnkStruct0 *r0); u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2); diff --git a/include/strings.h b/include/strings.h index 702392efa..31ab2023e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -84,6 +84,19 @@ extern const u8 gText_SoSo[]; extern const u8 gText_Bad[]; extern const u8 gText_TheWorst[]; +extern const u8 Roulette_Text_ControlsInstruction[]; +extern const u8 Roulette_Text_KeepPlaying[]; +extern const u8 Roulette_Text_Jackpot[]; +extern const u8 Roulette_Text_ItsAHit[]; +extern const u8 Roulette_Text_NothingDoing[]; +extern const u8 Roulette_Text_YouveWonXCoins[]; +extern const u8 Roulette_Text_BoardWillBeCleared[]; +extern const u8 Roulette_Text_CoinCaseIsFull[]; +extern const u8 Roulette_Text_NoCoinsLeft[]; +extern const u8 Roulette_Text_PlayMinimumWagerIsX[]; +extern const u8 Roulette_Text_SpecialRateTable[]; +extern const u8 Roulette_Text_NotEnoughCoins[]; + extern const u8 gText_Slots[]; extern const u8 gText_Roulette[]; extern const u8 gText_Jackpot[]; -- cgit v1.2.3 From 868f831167cc20d47cd26292cf55f58dd862d4ae Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 3 Aug 2020 17:31:34 -0400 Subject: More roulette doc --- include/roulette.h | 30 +----------------------------- include/roulette_util.h | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 31 deletions(-) (limited to 'include') diff --git a/include/roulette.h b/include/roulette.h index 71100d0d3..c753f671c 100755 --- a/include/roulette.h +++ b/include/roulette.h @@ -1,34 +1,6 @@ #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]; -}; +void PlayRoulette(void); #endif // GUARD_ROULETTE_H diff --git a/include/roulette_util.h b/include/roulette_util.h index 2153b19f6..d18d22d0f 100644 --- a/include/roulette_util.h +++ b/include/roulette_util.h @@ -1,8 +1,6 @@ #ifndef GUARD_ROULETTE_UTIL_H #define GUARD_ROULETTE_UTIL_H -#include "roulette.h" - struct PulseBlendSettings { u16 blendColor; @@ -35,6 +33,36 @@ struct PulseBlend struct PulseBlendPalette pulseBlendPalettes[16]; }; +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; + bool8 active: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]; +}; + int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); void InitPulseBlend(struct PulseBlend *); void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -- cgit v1.2.3 From 8e800e206138d00220c44af8acf69ce79103dc9c Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 4 Aug 2020 19:19:36 -0400 Subject: Document roulette flash util --- include/roulette_util.h | 55 ++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 26 deletions(-) (limited to 'include') diff --git a/include/roulette_util.h b/include/roulette_util.h index d18d22d0f..2864ee464 100644 --- a/include/roulette_util.h +++ b/include/roulette_util.h @@ -33,34 +33,37 @@ struct PulseBlend struct PulseBlendPalette pulseBlendPalettes[16]; }; -struct UnkStruct1 + +#define FLASHUTIL_USE_EXISTING_COLOR (1 << 15) + +struct RouletteFlashSettings { - u16 var00; - u16 var02; - u8 var04; - u8 var05; - u8 var06; - s8 var07_0:5; - s8 var07_5:2; - s8 var07_7:1; + u16 color; + u16 paletteOffset; + u8 numColors; + u8 delay; + s8 unk6; // Set but never used + s8 numFadeCycles:5; + s8 unk7_5:2; // Set but never used + s8 colorDeltaDir:1; }; -struct UnkStruct3 +struct RouletteFlashPalette { - u8 var00_0:7; - bool8 active:1; - u8 var01; - s8 var02; - s8 var03; - struct UnkStruct1 var04; + u8 state:7; + bool8 available:1; + u8 delayCounter; + s8 fadeCycleCounter; + s8 colorDelta; + struct RouletteFlashSettings settings; }; -struct UnkStruct0 +struct RouletteFlashUtil { - u8 var00; - u8 var01; - u16 var02; //flag for each UnkStruct3 - struct UnkStruct3 var04[0x10]; + u8 enabled; + u8 unused; + u16 flags; + struct RouletteFlashPalette palettes[16]; }; int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); @@ -71,10 +74,10 @@ void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); void UpdatePulseBlend(struct PulseBlend *); void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); -void task_tutorial_controls_fadein(struct UnkStruct0 *r0); -void sub_8151678(struct UnkStruct0 *r0); -u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, const struct UnkStruct1 *r2); -void sub_8151A9C(struct UnkStruct0 *r0, u16 r1); -void sub_8151A48(struct UnkStruct0 *r0, u16 r1); +void RouletteFlash_Run(struct RouletteFlashUtil *r0); +void RouletteFlash_Reset(struct RouletteFlashUtil *r0); +u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2); +void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1); +void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1); #endif // GUARD_ROULETTE_UTIL_H -- cgit v1.2.3 From f8f6575360e6ef4c27a5b65dcbda342ec9665f32 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 4 Aug 2020 19:24:36 -0400 Subject: Rename roulette_util to palette_util --- include/palette_util.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ include/roulette_util.h | 83 ------------------------------------------------- 2 files changed, 83 insertions(+), 83 deletions(-) create mode 100644 include/palette_util.h delete mode 100644 include/roulette_util.h (limited to 'include') diff --git a/include/palette_util.h b/include/palette_util.h new file mode 100644 index 000000000..46468c0a6 --- /dev/null +++ b/include/palette_util.h @@ -0,0 +1,83 @@ +#ifndef GUARD_PALETTE_UTIL_H +#define GUARD_PALETTE_UTIL_H + +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]; +}; + + +#define FLASHUTIL_USE_EXISTING_COLOR (1 << 15) + +struct RouletteFlashSettings +{ + u16 color; + u16 paletteOffset; + u8 numColors; + u8 delay; + s8 unk6; // Set but never used + s8 numFadeCycles:5; + s8 unk7_5:2; // Set but never used + s8 colorDeltaDir:1; +}; + +struct RouletteFlashPalette +{ + u8 state:7; + bool8 available:1; + u8 delayCounter; + s8 fadeCycleCounter; + s8 colorDelta; + struct RouletteFlashSettings settings; +}; + +struct RouletteFlashUtil +{ + u8 enabled; + u8 unused; + u16 flags; + struct RouletteFlashPalette palettes[16]; +}; + +int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); +void InitPulseBlend(struct PulseBlend *); +void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); +void UpdatePulseBlend(struct PulseBlend *); +void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); +void RouletteFlash_Run(struct RouletteFlashUtil *r0); +void RouletteFlash_Reset(struct RouletteFlashUtil *r0); +u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2); +void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1); +void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1); + +#endif // GUARD_PALETTE_UTIL_H diff --git a/include/roulette_util.h b/include/roulette_util.h deleted file mode 100644 index 2864ee464..000000000 --- a/include/roulette_util.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef GUARD_ROULETTE_UTIL_H -#define GUARD_ROULETTE_UTIL_H - -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]; -}; - - -#define FLASHUTIL_USE_EXISTING_COLOR (1 << 15) - -struct RouletteFlashSettings -{ - u16 color; - u16 paletteOffset; - u8 numColors; - u8 delay; - s8 unk6; // Set but never used - s8 numFadeCycles:5; - s8 unk7_5:2; // Set but never used - s8 colorDeltaDir:1; -}; - -struct RouletteFlashPalette -{ - u8 state:7; - bool8 available:1; - u8 delayCounter; - s8 fadeCycleCounter; - s8 colorDelta; - struct RouletteFlashSettings settings; -}; - -struct RouletteFlashUtil -{ - u8 enabled; - u8 unused; - u16 flags; - struct RouletteFlashPalette palettes[16]; -}; - -int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); -void InitPulseBlend(struct PulseBlend *); -void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UpdatePulseBlend(struct PulseBlend *); -void ClearTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); -void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); -void RouletteFlash_Run(struct RouletteFlashUtil *r0); -void RouletteFlash_Reset(struct RouletteFlashUtil *r0); -u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2); -void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1); -void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1); - -#endif // GUARD_ROULETTE_UTIL_H -- cgit v1.2.3