PA_PaletteDual.h

Go to the documentation of this file.
00001 #ifndef _PA_PaletteDual
00002 #define _PA_PaletteDual
00003 
00004 
00011 #include "PA_Palette.h"
00012 
00013 #define PAL_BG PAL_BG0
00014 #define PAL_SPRITE PAL_SPRITE0
00015 
00016 
00034 #define PA_DualLoadPal(palette, source)  {\
00035 DMA_Copy((void*)source, (void*)palette, 256, DMA_16NOW);\
00036 DMA_Copy((void*)(source+1024), (void*)palette, 256, DMA_16NOW);}
00037 
00038 
00039 
00040 
00056 #define PA_DualLoadPal16(palette, n_palette, source) {\
00057 DMA_Copy((void*)source, (void*)(palette + (n_palette << 5)), 16, DMA_16NOW);\
00058 DMA_Copy((void*)source, (void*)(palette + 1024 + (n_palette << 5)), 16, DMA_16NOW);}
00059 
00060 
00061 
00062 
00071 extern inline void PA_DualSetPalNeg(u32 palette) {
00072 u16* pal = (u16*)palette;
00073 u16 i;
00074        for (i = 0; i < 256; i++) {
00075               pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif...
00076        }
00077 }
00078 
00079 
00080 
00081 
00093 extern inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette) {
00094 u16* pal = (u16*)palette;
00095 u16 i;
00096        for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) {
00097               pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif...
00098        }
00099 }
00100 
00101 
00102 
00103 
00115 extern inline void PA_DualLoadSpriteExtPal(u8 palette_number, void* palette){
00116        PA_LoadSpriteExtPal(0, palette_number, palette);
00117        PA_LoadSpriteExtPal(1, palette_number, palette);
00118 }
00119 
00120 
00121 
00122  // end of Palette
00125 
00126 
00127 
00128 
00129 
00130 #endif
00131 
00132 

Generated on Wed Nov 16 11:56:25 2005 for PAlib by  doxygen 1.3.9.1