summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/progs/duke3d/Engine/src/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sdl/progs/duke3d/Engine/src/display.c')
-rw-r--r--apps/plugins/sdl/progs/duke3d/Engine/src/display.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/plugins/sdl/progs/duke3d/Engine/src/display.c b/apps/plugins/sdl/progs/duke3d/Engine/src/display.c
index 3883803bce..501ffa411c 100644
--- a/apps/plugins/sdl/progs/duke3d/Engine/src/display.c
+++ b/apps/plugins/sdl/progs/duke3d/Engine/src/display.c
@@ -1368,9 +1368,13 @@ int VBE_setPalette(uint8_t *palettebuffer)
1368 memcpy(lastPalette, palettebuffer, 768); 1368 memcpy(lastPalette, palettebuffer, 768);
1369 1369
1370 for (i = 0; i < 256; i++){ 1370 for (i = 0; i < 256; i++){
1371 sdlp->b = (Uint8) ((((float) *p++) / 63.0) * 255.0); 1371 /* doesn't map perfectly */
1372 sdlp->g = (Uint8) ((((float) *p++) / 63.0) * 255.0); 1372 sdlp->b = (Uint8) (*p << 2) | (*p >> 4);
1373 sdlp->r = (Uint8) ((((float) *p++) / 63.0) * 255.0); 1373 p++;
1374 sdlp->g = (Uint8) (*p << 2) | (*p >> 4);
1375 p++;
1376 sdlp->r = (Uint8) (*p << 2) | (*p >> 4);
1377 p++;
1374 sdlp->unused = *p++; /* This byte is unused in BUILD, too. */ 1378 sdlp->unused = *p++; /* This byte is unused in BUILD, too. */
1375 sdlp++; 1379 sdlp++;
1376 } 1380 }