summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/palette.h73
-rw-r--r--include/unk_02002F08.h89
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