mirror of
https://github.com/CTurt/dsgmLib.git
synced 2025-06-18 22:55:33 -04:00
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#pragma once
|
|
|
|
#define DSGM_NO_PALETTE -1
|
|
|
|
#define DSGM_GetPalette(palette)\
|
|
DSGM_Palettes[palette]
|
|
|
|
#define DSGM_FORM_RAM_PALETTE(palette)\
|
|
{ (u8 *)&palette##_Pal_bin, (u32 *)&palette##_Pal_bin_size, NULL, { DSGM_NO_PALETTE, DSGM_NO_PALETTE } }
|
|
|
|
#define DSGM_FORM_NITRO_PALETTE(palette)\
|
|
{ NULL, 0, #palette "_Pal.bin", { DSGM_NO_PALETTE, DSGM_NO_PALETTE } }
|
|
|
|
#define DSGM_FORM_FAT_PALETTE(palette)\
|
|
{ NULL, 0, "fat:/" #palette "_Pal.bin", { DSGM_NO_PALETTE, DSGM_NO_PALETTE } }
|
|
|
|
typedef struct {
|
|
u8 *palette;
|
|
u32 *paletteLength;
|
|
char *nitroFilename;
|
|
|
|
int paletteNumber[2];
|
|
} DSGM_Palette;
|
|
|
|
extern int DSGM_nextPalette[2];
|
|
|
|
inline void DSGM_UnlockSpritePalette(u8 screen);
|
|
inline void DSGM_LockSpritePalette(u8 screen);
|
|
inline u16 *DSGM_GetPaletteData(u8 screen, DSGM_Palette *palette);
|
|
|
|
inline int DSGM_NextFreePalette(u8 screen);
|
|
|
|
inline bool DSGM_PaletteLoaded(u8 screen, DSGM_Palette *palette);
|
|
|
|
inline bool DSGM_PaletteIsNitro(DSGM_Palette *palette);
|
|
|
|
void DSGM_ClearPalettes(DSGM_Palette *palettes, int paletteCount);
|
|
|
|
void DSGM_LoadPaletteFull(u8 screen, DSGM_Palette *Palette);
|