diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-01-25 19:36:54 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-26 14:15:57 (GMT) |
| commit | 7593f01389116a06e6b31365b818fde1542f259e (patch) | |
| tree | 9d2b0aa998ae91f381f16d23915f95fa23419b46 /src/save.c | |
| parent | 35270d1e37eec4976e7ad654917908ed3b8d2367 (diff) | |
| download | powder-7593f01389116a06e6b31365b818fde1542f259e.zip powder-7593f01389116a06e6b31365b818fde1542f259e.tar.gz | |
Fix deco colour in prerender_save to work with other pixel formats
Diffstat (limited to 'src/save.c')
| -rw-r--r-- | src/save.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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 |
