[Scummvm-cvs-logs] CVS: scummvm scummvm.xpm,NONE,1.1 sdl.cpp,1.107,1.108
Lionel Ulmer
bbrox at users.sourceforge.net
Mon Apr 29 09:39:17 CEST 2002
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv24923
Modified Files:
sdl.cpp
Added Files:
scummvm.xpm
Log Message:
Added Jeremy's nice icon to the SDL port of ScummVM using a custom
hacky XPM loader :-)
--- NEW FILE: scummvm.xpm ---
/* XPM */
static char *scummvm_icon[] = {
/* columns rows colors chars-per-pixel */
"32 32 80 1",
" c black",
". c #030a01",
"X c #051101",
"o c #071801",
"O c #081504",
"+ c #091c04",
"@ c #0c2404",
"# c #0e2108",
"$ c #0c2a02",
"% c #0e3702",
"& c #102c07",
"* c #132a0b",
"= c #113306",
"- c #14320a",
"; c #123b04",
": c #173a0b",
"> c #18350f",
", c #183c0c",
"< c #1c3d11",
"1 c #144205",
"2 c #164208",
"3 c #154b03",
"4 c #19440c",
"5 c #194a07",
"6 c #1a4b0a",
"7 c #1d4310",
"8 c #1e4910",
"9 c #155202",
"0 c #185405",
"q c #1d530c",
"w c #185c02",
"e c #1a6302",
"r c #1b6e00",
"t c #1e7401",
"y c #1e7a00",
"u c #214615",
"i c #214c12",
"p c #254a19",
"a c #20510f",
"s c #205a0e",
"d c #235513",
"f c #255a13",
"g c #2a571b",
"h c #285d16",
"j c #2b5d1a",
"k c #266312",
"l c #296315",
"z c #2c631a",
"x c #286913",
"c c #2e6c19",
"v c #207d01",
"b c #30651e",
"n c #306c1c",
"m c #34711f",
"M c #346c21",
"N c #367223",
"B c #397325",
"V c #208200",
"C c #228a00",
"Z c #259201",
"A c #269b00",
"S c #289d01",
"D c #27a000",
"F c #28a400",
"G c #2aab00",
"H c #2cb200",
"J c #2eba00",
"K c #30be00",
"L c #2fc100",
"P c #30c400",
"I c #32cc00",
"U c #34d300",
"Y c #36da00",
"T c #38df00",
"R c #37e000",
"E c #38e400",
"W c #3aec00",
"Q c #3cf400",
"! c #3efb00",
"~ c None",
/* pixels */
"~~~~~~~~~~~~~~~~~~~~~!!!GGKKYE~~",
"~~~~~~~~~~~~~~~!!!!!!!!!!~~~~~~~",
"~~~~~~~~~~~~!!!!!!!!!Q!!!!!~~~~~",
"~~~~~~~~~~!!!!!!QTYUGAHR!!!!~~~~",
"~~~~~~~~~!!!!!!EC031;;;vIQ!!!~~~",
"~~~~~~~!!!!!WPSy;,4,d6:2eT!!!~~~",
"~~~~~~!!!!!ECq2=,dlzbi>f,ZQ!!~~~",
"~~~~~!!!!!Yv;dflhlzbMbgf4CQ!!~~~",
"~~~~~!!!!I9=>hhfq2#+uMza9JQ!~~~~",
"~~~~~!!!U3+-ld5eVw;X-cl4yUEQ~~~~",
"~~~~~!!QV+i,d5FITUG at dh65yUR~~~~~",
"~~~~~!!R3+hd2AYTRRU9 at +@eHYR~~~~~",
"~~~~~!!H$:hawPIJGHIPV$eJYR~~~~~~",
"~~~~!!QVo,j,1ww55q0VPFGUTR~~~~~~",
"~~~~!!Qe+*dgdsskxxkqwHYRR~~~~~~~",
"~~~~!!QS$:dfs4$-xlcxsePEW~~~~~~~",
"~~~~~!!RV%;19e+O7mmnk0FWQ~~~~~~~",
"~~~~~!QEUHFJIUy.dnzc46CQ!~~~~~~~",
"~~~~~!!WRUIUYU3+lmNh,5CWQ~~~~~~~",
"~~~~!!!QQRYTUZ%dnbMd43GEQ~~~~~~~",
"~~~!!!!!QQWLt6lcBjb7qwPEE~~~~~~~",
"~~!!!!!QLDGw6dcBBMj42SYEW~~~~~~~",
"~~!!!QUA3224<jBMMzh4eJUEQ~~~~~~~",
"~~!!!P0:46hz>uMihd40GIYEQ~~~~~~~",
"~~!!Qe&@.*jMu<ga4;eDJLTWQ~~~~~~~",
"~~!!E3++.<7Mg<42wZGHHLYE~~~~~~~~",
"~~!!QGVeo at 8<*@wZGHGGHL~~~~~~~~~~",
"~~~!!RLA;@=%#3DGGGGGH~~~~~~~~~~~",
"~~~~WUHFCrt3;yDGFGG~~~~~~~~~~~~~",
"~~~~~IHHGDSCVAFGGG~~~~~~~~~~~~~~",
"~~~~~~~HGDDSAAFG~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
};
Index: sdl.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sdl.cpp,v
retrieving revision 1.107
retrieving revision 1.108
diff -C2 -d -r1.107 -r1.108
*** sdl.cpp 28 Apr 2002 07:38:22 -0000 1.107
--- sdl.cpp 29 Apr 2002 16:01:31 -0000 1.108
***************
*** 27,30 ****
--- 27,32 ----
#include "gameDetector.h"
+ #include "scummvm.xpm"
+
#include <SDL.h>
***************
*** 181,184 ****
--- 183,188 ----
void get_320x200_image(byte *buf);
static uint32 autosave(uint32);
+
+ void setup_icon();
};
***************
*** 218,221 ****
--- 222,228 ----
SDL_SetTimer(5 * 60 * 1000, (SDL_TimerCallback) autosave);
+ /* Setup the icon */
+ syst->setup_icon();
+
/* Clean up on exit */
atexit(atexit_proc);
***************
*** 1186,1189 ****
--- 1193,1235 ----
cd_end_time = SDL_GetTicks() + cdrom->track[cd_track].length * 1000 / CD_FPS;
}
+ }
+
+ void OSystem_SDL::setup_icon() {
+ int w, h, ncols, nbytes, i;
+ unsigned int rgba[256], icon[32 * 32];
+
+ sscanf(scummvm_icon[0], "%d %d %d %d", &w, &h, &ncols, &nbytes);
+ if ((w != 32) || (h != 32) || (ncols > 255) || (nbytes > 1)) {
+ warning("Could not load the icon (%d %d %d %d)", w, h, ncols, nbytes);
+ return;
+ }
+ for (i = 0; i < ncols; i++) {
+ unsigned char code;
+ char color[32];
+ unsigned int col;
+ sscanf(scummvm_icon[1 + i], "%c c %s", &code, color);
+ if (!strcmp(color, "None"))
+ col = 0x00000000;
+ else if (!strcmp(color, "black"))
+ col = 0xFF000000;
+ else if (color[0] == '#') {
+ sscanf(color + 1, "%06x", &col);
+ col |= 0xFF000000;
+ } else {
+ warning("Could not load the icon (%d %s - %s) ", code, color, scummvm_icon[1 + i]);
+ return;
+ }
+
+ rgba[code] = col;
+ }
+ for (h = 0; h < 32; h++) {
+ char *line = scummvm_icon[1 + ncols + h];
+ for (w = 0; w < 32; w++) {
+ icon[w + 32 * h] = rgba[line[w]];
+ }
+ }
+
+ SDL_Surface *sdl_surf = SDL_CreateRGBSurfaceFrom(icon, 32, 32, 32, 32 * 4, 0xFF0000, 0x00FF00, 0x0000FF, 0xFF000000);
+ SDL_WM_SetIcon(sdl_surf, NULL);
}
More information about the Scummvm-git-logs
mailing list