[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