diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-17 13:22:46 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-17 13:22:46 -0800 |
commit | b849ce93dbafac8e4961b531ab40585c0fdd103a (patch) | |
tree | 1cfd5cf3b7223a8e91dd0a0d4e6e112bd3458d8b /include/palette.h | |
parent | 3ddda066d91cbbd377584acacaea62a9deba8873 (diff) |
decompile main
Diffstat (limited to 'include/palette.h')
-rw-r--r-- | include/palette.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/include/palette.h b/include/palette.h new file mode 100644 index 000000000..d3bcd2271 --- /dev/null +++ b/include/palette.h @@ -0,0 +1,71 @@ +#ifndef GUARD_PALETTE_H +#define GUARD_PALETTE_H + +#include "global.h" + +#define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade +#define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade +#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade +#define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade + +#define PLTT_BUFFER_SIZE 0x200 +#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2) + +enum +{ + FAST_FADE_IN_FROM_WHITE, + FAST_FADE_OUT_TO_WHTIE, + FAST_FADE_IN_FROM_BLACK, + FAST_FADE_OUT_TO_BLACK, +}; + +struct PaletteFadeControl +{ + u32 multipurpose1; + u8 delayCounter:6; + u16 y:5; // blend coefficient + u16 targetY:5; // target blend coefficient + u16 blendColor:15; + u16 active:1; + u16 multipurpose2:6; + u16 yDec:1; // whether blend coefficient is decreasing + u16 bufferTransferDisabled:1; + u16 mode:2; + u16 shouldResetBlendRegisters:1; + u16 hardwareFadeFinishing:1; + u16 softwareFadeFinishingCounter:5; + u16 softwareFadeFinishing:1; + u16 objPaletteToggle:1; + u8 deltaY:4; // rate of change of blend coefficient +}; + +extern struct PaletteFadeControl gPaletteFade; +extern u32 gPlttBufferTransferPending; +extern u8 gPaletteDecompressionBuffer[]; +extern u16 gPlttBufferUnfaded[]; +extern u16 gPlttBufferFaded[]; + +void LoadCompressedPalette(const void *, u16, u16); +void LoadPalette(const void *, u16, u16); +void FillPalette(u16, u16, u16); +void TransferPlttBuffer(void); +u8 UpdatePaletteFade(void); +void ResetPaletteFade(void); +void ReadPlttIntoBuffers(void); +bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); +bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); +void unref_sub_8073D84(u8, u32 *); +void ResetPaletteStructByUid(u16); +void ResetPaletteStruct(u8); +void ResetPaletteFadeControl(); +void unref_sub_8074168(u16); +void unref_sub_8074194(u16); +void InvertPlttBuffer(u32); +void TintPlttBuffer(u32, s8, s8, s8); +void UnfadePlttBuffer(u32); +void BeginFastPaletteFade(u8); +void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); +void BlendPalettes(u32, u8, u16); +void BlendPalettesUnfaded(u32, u8, u16); + +#endif // GUARD_PALETTE_H |