properly fixed parallax layers in BE systems

svn-id: r10193
This commit is contained in:
Max Horn 2003-09-12 20:26:54 +00:00
parent 9dc282f1d5
commit 2ce7c27f0b
2 changed files with 32 additions and 36 deletions

View file

@ -162,12 +162,6 @@ _parallax *FetchBackgroundParallaxLayer(uint8 *screenFile, int layer) // Chris 0
_parallax *parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->bg_parallax[layer]);
// FIXME: this shouldn't be here
#if defined(SCUMM_BIG_ENDIAN)
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
#endif
return parallax;
}
//---------------------------------------------------------------
@ -182,12 +176,6 @@ _parallax *FetchBackgroundLayer(uint8 *screenFile) // Chris 04Oct96
_parallax *parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->screen + sizeof(_screenHeader));
// FIXME: this shouldn't be here
#if defined(SCUMM_BIG_ENDIAN)
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
#endif
return parallax;
}
//---------------------------------------------------------------
@ -202,12 +190,6 @@ _parallax *FetchForegroundParallaxLayer(uint8 *screenFile, int layer) // Chris 0
_parallax *parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->fg_parallax[layer]);
// FIXME: this shouldn't be here
#if defined(SCUMM_BIG_ENDIAN)
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
#endif
return parallax;
}
//---------------------------------------------------------------

View file

@ -456,32 +456,46 @@ void resMan::convertEndian(uint8 *file) {
}
// FIXME: byte swapping should be done here instead of in protocol.cpp
/*
// backgroundParallaxLayer
_parallax *parallax;
parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->bg_parallax[0]);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
int offset;
offset = mscreenHeader->bg_parallax[0];
if (offset > 0) {
parallax = (_parallax *) ((uint8 *) mscreenHeader + offset);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
}
parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->bg_parallax[1]);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
offset = mscreenHeader->bg_parallax[1];
if (offset > 0) {
parallax = (_parallax *) ((uint8 *) mscreenHeader + offset);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
}
// backgroundLayer
parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->screen + sizeof(_screenHeader));
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
offset = mscreenHeader->screen + (int)sizeof(_screenHeader);
if (offset > 0) {
parallax = (_parallax *) ((uint8 *) mscreenHeader + offset);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
}
// foregroundParallaxLayer
parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->fg_parallax[0]);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
parallax = (_parallax *) ((uint8 *) mscreenHeader + mscreenHeader->fg_parallax[1]);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
*/
offset = mscreenHeader->fg_parallax[0];
if (offset > 0) {
parallax = (_parallax *) ((uint8 *) mscreenHeader + offset);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
}
offset = mscreenHeader->fg_parallax[1];
if (offset > 0) {
parallax = (_parallax *) ((uint8 *) mscreenHeader + offset);
parallax->w = SWAP_BYTES_16(parallax->w);
parallax->h = SWAP_BYTES_16(parallax->h);
}
break;
}
case GAME_OBJECT: {