diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/palette.h | 73 | ||||
-rw-r--r-- | include/unk_02002F08.h | 89 |
2 files changed, 140 insertions, 22 deletions
diff --git a/include/palette.h b/include/palette.h new file mode 100644 index 00000000..469c680f --- /dev/null +++ b/include/palette.h @@ -0,0 +1,73 @@ +#ifndef POKEDIAMOND_PALETTE_H +#define POKEDIAMOND_PALETTE_H + +#include "global.h" +#include "filesystem.h" +#include "unk_02002F08.h" + +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); +void PaletteData_CopyPalette(struct PaletteData *paletteData, + u32 srcIdx, + u16 srcOffset, + u32 destIdx, + u16 destOffset, + u16 size); +u16 *PaletteData_GetUnfadedBuf(struct PaletteData *paletteData, u32 index); +u16 *PaletteData_GetFadedBuf(struct PaletteData *paletteData, u32 index); +u32 FUN_02003210(struct PaletteData *paletteData, + u16 param1, + u16 param2, + s16 delay, + u8 startY, + u8 targetY, + u16 color); +u8 IsPaletteSelected(u16 selectedPalettes, u16 index); +void FUN_02003328(struct PaletteData *param0, u16 param1); +void FUN_02003368(s32 param0, struct Palette *param1, u16 *param2); +void FUN_020033A4(struct PaletteFadeControl *paletteFade, + u16 selectedPalettes, + s16 delay, + u8 startY, + u8 targetY, + u16 color); +void FUN_02003464(u32 param0, struct PaletteData *param1); +void FUN_02003500(struct PaletteData *param0); +void FUN_02003520(struct PaletteData *param0); +void FUN_02003540(struct PaletteData *paletteData, u8 index, u32 param2); +void FUN_0200359C(struct PaletteData *paletteData, u32 index, u32 param2); +void FUN_020035F8(u16 *src, u16 *dest, struct PaletteFadeControl *fadeCtrl, u32 numEntries); +void FUN_02003684(struct PaletteData *paletteData, u8 index, struct PaletteFadeControl *fadeCtrl); +void FUN_0200372C(struct PaletteData *paletteData); +u16 FUN_020038E4(struct PaletteData *paletteData); +void FUN_020038F0(struct PaletteData *paletteData, u32 param1); +void PaletteData_FillPalette(struct PaletteData *paletteData, + u32 index, + u32 selection, + u16 value, + u16 startOffset, + u16 endOffset); +void BlendPalette(u16 *src, u16 *dest, u16 numEntries, u8 coeff, u16 blendColor); +void BlendPaletteUnfaded(struct PaletteData *paletteData, + u32 index, + u16 offset, + u16 numEntries, + u8 coeff, + u16 blendColor); +void BlendPalettes(u16 *src, u16 *dest, u16 selectedPalettes, u8 coeff, u16 blendColor); +void BlendPalettesUnfaded( + struct PaletteData *paletteData, u32 index, u16 selectedPalettes, u8 coeff, u16 blendColor); +void TintPalette_CustomTone(u16 *palette, u32 count, u32 rTone, u32 gTone, u32 bTone); +void FUN_02003B40(struct PaletteData *paletteData, + NarcId narcId, + s32 memberId, + u32 heap_id, + u32 index, + u32 size, + u16 offset, + u32 rTone, + u32 gTone, + u32 bTone); + +#endif // POKEDIAMOND_PALETTE_H diff --git a/include/unk_02002F08.h b/include/unk_02002F08.h index 773d9246..be551dc4 100644 --- a/include/unk_02002F08.h +++ b/include/unk_02002F08.h @@ -5,20 +5,50 @@ #include "gf_gfx_loader.h" #include "string16.h" +struct PlttData +{ + u16 r : 5; // red + u16 g : 5; // green + u16 b : 5; // blue + u16 unused_15 : 1; +}; -struct UnkStruct_02002F08 +struct PaletteFadeControl { - struct - { - u16 *unk00; - u16 *unk04; - u32 unk08; - u32 unk0c; - u32 unk10; - } unk000[14]; - - u32 unk118; - u32 unk11c; + 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; }; s32 FUN_02002F08(u32 param0, struct String *str, u32 param2); @@ -26,13 +56,28 @@ u32 FUN_02002F40(u32 param0, struct String *str, u32 param2, u32 param3); u32 FUN_02002F58(const u16 *str); u32 FUN_02002F90(struct String *str); s32 FUN_02002F9C(u32 param0, struct String *str); -struct UnkStruct_02002F08 *FUN_02002FD0(u32 heap_id); -void FUN_02002FEC(struct UnkStruct_02002F08 *ptr); -void FUN_02002FF4(struct UnkStruct_02002F08 *param0, u32 param1, void *param2, void *param3, u32 size); -void FUN_02003008(struct UnkStruct_02002F08 *param0, u32 param1, u32 size, u32 heap_id); -void FUN_02003038(struct UnkStruct_02002F08 *param0, u32 param1); -void FUN_02003054(struct UnkStruct_02002F08 *param0, const void *param1, u32 param2, u32 offset, u16 size); -void FUN_02003084(struct UnkStruct_02002F08 *param0, NarcId narcId, s32 memberId, u32 heap_id, u32 param4, u32 size, u16 offset, u16 param7); -void FUN_020030E8(struct UnkStruct_02002F08 *param0, NarcId narcId, s32 memberId, u32 heap_id, u32 param4, u32 size, u16 offset); - -#endif //POKEDIAMOND_UNK_02002F08_H +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); + +#endif // POKEDIAMOND_UNK_02002F08_H |