From: Sébastien G. <kx...@us...> - 2004-09-15 22:11:30
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27930 Modified Files: Util.cpp Log Message: moved common system palette initialization to Util.cpp and cleaned up DirectDrawDisplay, GDIDisplay, Direct3D and OpenGLDisplay (+plus the SDL version) Index: Util.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/Util.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** Util.cpp 20 May 2004 21:01:29 -0000 1.23 --- Util.cpp 15 Sep 2004 22:11:19 -0000 1.24 *************** *** 48,54 **** #endif // ! _MSC_VER ! static int (*utilGzWriteFunc)(gzFile, const voidp, unsigned int) = NULL; ! static int (*utilGzReadFunc)(gzFile, voidp, unsigned int) = NULL; ! static int (*utilGzCloseFunc)(gzFile) = NULL; bool utilWritePNGFile(const char *fileName, int w, int h, u8 *pix) --- 48,62 ---- #endif // ! _MSC_VER ! extern int systemColorDepth; ! extern int systemRedShift; ! extern int systemGreenShift; ! extern int systemBlueShift; ! ! extern u16 systemColorMap16[0x10000]; ! extern u32 systemColorMap32[0x10000]; ! ! static int (ZEXPORT *utilGzWriteFunc)(gzFile, const voidp, unsigned int) = NULL; ! static int (ZEXPORT *utilGzReadFunc)(gzFile, voidp, unsigned int) = NULL; ! static int (ZEXPORT *utilGzCloseFunc)(gzFile) = NULL; bool utilWritePNGFile(const char *fileName, int w, int h, u8 *pix) *************** *** 985,989 **** gzFile utilGzOpen(const char *file, const char *mode) { ! utilGzWriteFunc = (int (*)(void *,void * const, unsigned int))gzwrite; utilGzReadFunc = gzread; utilGzCloseFunc = gzclose; --- 993,997 ---- gzFile utilGzOpen(const char *file, const char *mode) { ! utilGzWriteFunc = (int (ZEXPORT *)(void *,void * const, unsigned int))gzwrite; utilGzReadFunc = gzread; utilGzCloseFunc = gzclose; *************** *** 1068,1069 **** --- 1076,1102 ---- flashSetSize(flashSize); } + + void utilUpdateSystemColorMaps() + { + switch(systemColorDepth) { + case 16: + { + for(int i = 0; i < 0x10000; i++) { + systemColorMap16[i] = ((i & 0x1f) << systemRedShift) | + (((i & 0x3e0) >> 5) << systemGreenShift) | + (((i & 0x7c00) >> 10) << systemBlueShift); + } + } + break; + case 24: + case 32: + { + for(int i = 0; i < 0x10000; i++) { + systemColorMap32[i] = ((i & 0x1f) << systemRedShift) | + (((i & 0x3e0) >> 5) << systemGreenShift) | + (((i & 0x7c00) >> 10) << systemBlueShift); + } + } + break; + } + } |