diff options
Diffstat (limited to 'include/palette.h')
-rw-r--r-- | include/palette.h | 70 |
1 files changed, 69 insertions, 1 deletions
diff --git a/include/palette.h b/include/palette.h index def12c70..7f14ddb4 100644 --- a/include/palette.h +++ b/include/palette.h @@ -3,8 +3,76 @@ #include "global.h" #include "filesystem.h" -#include "unk_02002F08.h" +struct PlttData +{ + u16 r : 5; // red + u16 g : 5; // green + u16 b : 5; // blue + u16 unused_15 : 1; +}; + +struct PaletteFadeControl +{ + u16 selectedPalettes; + + u16 delay : 6; + u16 y : 5; + u16 targetY : 5; + + u16 blendColor : 15; + u16 yDec : 1; + + u16 deltaY : 4; + u16 delayCounter : 6; + u16 unk06_a : 6; +}; + +struct Palette +{ + u16 *unfadedBuf; + u16 *fadedBuf; + u32 bufSize; + struct PaletteFadeControl fadeCtrl; +}; + +struct PaletteData +{ + struct Palette pltt[14]; + + u16 unk118_0 : 2; + u16 activeFadePalettes : 14; + u16 unk11a_0 : 14; + u16 unk11a_e : 1; + u16 unk11a_f : 1; + u8 unk11c; + u8 unk11d; + u16 unk11e; +}; + +struct PaletteData *FUN_02002FD0(u32 heap_id); +void FUN_02002FEC(struct PaletteData *ptr); +void PaletteData_SetBuffers( + struct PaletteData *paletteData, u32 index, void *unfadedBuf, void *fadedBuf, u32 size); +void PaletteData_AllocBuffers(struct PaletteData *paletteData, u32 index, u32 size, u32 heap_id); +void PaletteData_FreeBuffers(struct PaletteData *paletteData, u32 index); +void PaletteData_LoadPalette( + struct PaletteData *paletteData, const void *src, u32 index, u32 offset, u16 size); +void PaletteData_LoadFromNarc(struct PaletteData *paletteData, + NarcId narcId, + s32 memberId, + u32 heap_id, + u32 index, + u32 size, + u16 offset, + u16 param7); +void PaletteData_LoadNarc(struct PaletteData *paletteData, + NarcId narcId, + s32 memberId, + u32 heap_id, + u32 index, + u32 size, + u16 offset); void FUN_02003108(struct PaletteData *paletteData, u32 index, u16 offset, u32 size); void CopyPaletteFromNarc( NarcId narcId, s32 memberId, u32 heap_id, u32 size, u16 offset, void *dest); |