(svn r13571) -Codechange: define channels in struct Colour in different order on LE and BE machines

This commit is contained in:
smatz
2008-06-18 21:19:04 +00:00
parent bc12e5453c
commit 7a7ff65ac5
7 changed files with 32 additions and 24 deletions

View File

@@ -428,20 +428,15 @@ static bool MakePCXImage(const char *name, ScreenshotCallback *callb, void *user
return false;
}
if (sizeof(*palette) == 3) {
success = fwrite(palette, 256 * sizeof(*palette), 1, f) == 1;
} else {
/* If the palette is word-aligned, copy it to a temporary byte array */
byte tmp[256 * 3];
uint i;
/* Palette is word-aligned, copy it to a temporary byte array */
byte tmp[256 * 3];
for (i = 0; i < 256; i++) {
tmp[i * 3 + 0] = palette[i].r;
tmp[i * 3 + 1] = palette[i].g;
tmp[i * 3 + 2] = palette[i].b;
}
success = fwrite(tmp, sizeof(tmp), 1, f) == 1;
for (uint i = 0; i < 256; i++) {
tmp[i * 3 + 0] = palette[i].r;
tmp[i * 3 + 1] = palette[i].g;
tmp[i * 3 + 2] = palette[i].b;
}
success = fwrite(tmp, sizeof(tmp), 1, f) == 1;
fclose(f);