[Scummvm-cvs-logs] CVS: scummvm/bs2 protocol.cpp,1.7,1.8 resman.cpp,1.21,1.22
Max Horn
fingolfin at users.sourceforge.net
Fri Sep 12 13:28:07 CEST 2003
Update of /cvsroot/scummvm/scummvm/bs2
In directory sc8-pr-cvs1:/tmp/cvs-serv11342
Modified Files:
protocol.cpp resman.cpp
Log Message:
properly fixed parallax layers in BE systems
Index: protocol.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/protocol.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- protocol.cpp 12 Sep 2003 18:52:52 -0000 1.7
+++ protocol.cpp 12 Sep 2003 20:26:54 -0000 1.8
@@ -162,12 +162,6 @@
_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 *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;
}
//---------------------------------------------------------------
@@ -201,12 +189,6 @@
#endif
_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;
}
Index: resman.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/resman.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- resman.cpp 12 Sep 2003 18:52:52 -0000 1.21
+++ resman.cpp 12 Sep 2003 20:26:54 -0000 1.22
@@ -456,32 +456,46 @@
}
// 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: {
More information about the Scummvm-git-logs
mailing list