PA_Palette.h

Go to the documentation of this file.
00001 #ifndef _PA_Palette
00002 #define _PA_Palette
00003 
00004 
00005 void PA_LoadSpriteExtPal(bool screen, u16 palette_number, void* palette);
00006 void PA_LoadBgExtPal(bool screen, u16 palette_number, void* palette);
00007 
00008 
00015 //#include "../PA.h"
00016 
00017 
00019 // Système pour les palettes
00021 #define PAL_BG0 0x05000000 
00022 #define PAL_SPRITE0 0x05000200 
00023 #define PAL_BG1 0x05000400 
00024 #define PAL_SPRITE1 0x05000600 
00025 
00026 #define REG_BRIGHT 0x0400006C  // Brightness
00027 
00028 
00029 
00047 #define PA_LoadPal(palette, source) {\
00048        DMA_Copy((void*)source, (void*)palette, 256, DMA_16NOW);\
00049        if (palette == PAL_SPRITE0) PA_LoadSpritePal(0, 0, (void*)source);\
00050        if (palette == PAL_SPRITE1) PA_LoadSpritePal(1, 0, (void*)source);\
00051        if (palette == PAL_BG0) {u8 itemp; for (itemp = 0; itemp < 4; itemp++) PA_LoadBgPal(0, itemp, (void*)source);}\
00052        if (palette == PAL_BG1) {u8 itemp; for (itemp = 0; itemp < 4; itemp++) PA_LoadBgPal(1, itemp, (void*)source);}}
00053 
00054 
00070 #define PA_LoadPal16(palette, n_palette, source)   DMA_Copy((void*)source, (void*)(palette + (n_palette << 5)), 16, DMA_16NOW);
00071 
00072 
00088 #define PA_RGB(r,g,b) ((1 << 15) + (r) + ((g)<<5) + ((b)<<10))
00089 
00103 void PA_SetBrightness(bool screen, s8 bright);
00104 
00105 
00106 
00115 extern inline void PA_SetPalNeg(u32 palette) {
00116 u16* pal = (u16*)palette;
00117 u16 i;
00118 
00119 for (i = 0; i < 256; i++) pal[i] = ~pal[i]; // On fout le négatif...
00120 }
00121 
00122 
00123 
00124 
00136 extern inline void PA_SetPal16Neg(u32 palette, u8 n_palette) {
00137 u16* pal = (u16*)palette;
00138 u16 i;
00139 
00140 for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) pal[i] = ~pal[i]; // On fout le négatif...
00141 }
00142 
00143 
00149 void PA_InitSpriteExtPal(void);
00150 
00151 
00152 
00158 void PA_InitBgExtPal(void);
00159 
00160 
00161 
00176 extern inline void PA_LoadSpritePal(bool screen, u8 palette_number, void* palette)
00177 {
00178        PA_LoadSpriteExtPal(screen, palette_number, palette);
00179 }
00180 
00181 
00182 
00183 
00198 extern inline void PA_LoadBgPal(bool screen, u16 bg_number, void* palette){
00199        PA_LoadBgExtPal(screen, bg_number, palette);
00200 }
00201 
00202 
00203 
00218 #define PA_SetBgPalCol(screen, color_number, colorRGB) BG_PALETTE[color_number + (screen << 9)] = colorRGB
00219 
00234 #define PA_SetSpritePalCol(screen, color_number, colorRGB) BG_PALETTE[256 + color_number + (screen << 9)] = colorRGB
00235 
00236 
00237 
00249 extern inline void PA_SetBgColor(bool screen, u16 color){
00250        BG_PALETTE[screen<<7] = color;
00251 } 
00252 
00253 
00254  // end of Palette
00257 
00258 
00259 
00260 
00261 #endif
00262 
00263 

Generated on Wed Dec 14 11:50:31 2005 for PAlib by  doxygen 1.3.9.1