From 7593f01389116a06e6b31365b818fde1542f259e Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Thu, 26 Jan 2012 03:36:54 +0800 Subject: [PATCH] Fix deco colour in prerender_save to work with other pixel formats --- src/save.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/save.c b/src/save.c index 37eab7533..781ed1575 100644 --- a/src/save.c +++ b/src/save.c @@ -276,11 +276,13 @@ pixel *prerender_save_OPS(void *save, int size, int *width, int *height) //Read dcolour if(fieldDescriptor & 0x40) { + unsigned char r, g, b; if(i+3 >= partsDataLen) goto fail; - i++; //vidBuf[(fullY+y)*fullW+(fullX+x)] = (unsigned)partsData[i++]<<24; - vidBuf[(fullY+y)*fullW+(fullX+x)] = (unsigned)partsData[i++]<<16; - vidBuf[(fullY+y)*fullW+(fullX+x)] |= (unsigned)partsData[i++]<<8; - vidBuf[(fullY+y)*fullW+(fullX+x)] |= (unsigned)partsData[i++]; + i++;//Skip alpha + r = partsData[i++]; + g = partsData[i++]; + b = partsData[i++]; + vidBuf[(fullY+y)*fullW+(fullX+x)] = PIXRGB(r, g, b); } //Skip vx