dsgmLib/include/DSGM_palette.h
CTurt 0f812eb0fe Revert "Lock and unlock sprite palette only when extended"
This reverts commit d3664700863220e1ad3a13f49f0e1e02448e95c0.
2014-10-27 11:03:28 +00:00

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);