Mercurial > hg > openttd
changeset 14126:7bca289f89b7 draft
(svn r18673) -Fix (r17943): Deja vu: 3 byte structs are padded to a word on ARM.
author | peter1138 <peter1138@openttd.org> |
---|---|
date | Thu, 31 Dec 2009 07:39:05 +0000 |
parents | 16544b3aa89c |
children | 39a257893f4c |
files | src/screenshot.cpp |
diffstat | 1 files changed, 4 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -78,12 +78,6 @@ }; assert_compile(sizeof(RgbQuad) == 4); -/** Pixel data in 24bpp BMP */ -struct RgbTriplet { - byte b, g, r; -}; -assert_compile(sizeof(RgbTriplet) == 3); - /** * Generic .BMP writer * @param name file name including extension @@ -182,11 +176,11 @@ /* Convert from 'native' 32bpp to BMP-like 24bpp. * Works for both big and little endian machines */ Colour *src = ((Colour *)buff) + n * w; - RgbTriplet *dst = (RgbTriplet *)line; + byte *dst = line; for (uint i = 0; i < w; i++) { - dst[i].r = src[i].r; - dst[i].g = src[i].g; - dst[i].b = src[i].b; + dst[i * 3 ] = src[i].b; + dst[i * 3 + 1] = src[i].g; + dst[i * 3 + 2] = src[i].r; } } /* Write to file */