[Scummvm-cvs-logs] SF.net SVN: scummvm:[36216] scummvm/trunk/engines/tinsel/play.cpp

joostp at users.sourceforge.net joostp at users.sourceforge.net
Wed Feb 4 18:08:04 CET 2009


Revision: 36216
          http://scummvm.svn.sourceforge.net/scummvm/?rev=36216&view=rev
Author:   joostp
Date:     2009-02-04 17:08:04 +0000 (Wed, 04 Feb 2009)

Log Message:
-----------
DW2 endian fixes

Modified Paths:
--------------
    scummvm/trunk/engines/tinsel/play.cpp

Modified: scummvm/trunk/engines/tinsel/play.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/play.cpp	2009-02-04 16:40:44 UTC (rev 36215)
+++ scummvm/trunk/engines/tinsel/play.cpp	2009-02-04 17:08:04 UTC (rev 36216)
@@ -237,8 +237,8 @@
 		PMULTI_INIT pmi;		// MULTI_INIT structure
 
 		pReel = GetReel(hFilm, actorCol - 1);
-		pmi = (PMULTI_INIT) LockMem(pReel->mobj);
-		_ctx->reelActor = pmi->mulID;
+		pmi = (PMULTI_INIT) LockMem(FROM_LE_32(pReel->mobj));
+		_ctx->reelActor = (int32)FROM_LE_32(pmi->mulID);
 	} else
 		_ctx->reelActor = 0;
 
@@ -254,27 +254,27 @@
 		pFilm = (FILM *)LockMem(hFilm);
 		pReel = &pFilm->reels[column];
 
-		pAni = (ANI_SCRIPT *)LockMem(pReel->script);
+		pAni = (ANI_SCRIPT *)LockMem(FROM_LE_32(pReel->script));
 
 		if (_ctx->speed == -1) {
 			_ctx->speed = (ONE_SECOND/pFilm->frate);
 
 			// Restored reel
 			for (;;) {
-				if (pAni[_ctx->frameNumber].op == ANI_END)
+				if (FROM_LE_32(pAni[_ctx->frameNumber].op) == ANI_END)
 					break;
-				else if (pAni[_ctx->frameNumber].op == ANI_JUMP) {
+				else if (FROM_LE_32(pAni[_ctx->frameNumber].op) == ANI_JUMP) {
 					_ctx->frameNumber++;
-					_ctx->frameNumber += pAni[_ctx->frameNumber].op;
+					_ctx->frameNumber += FROM_LE_32(pAni[_ctx->frameNumber].op);
 					break;
 				}
 				// Could check for the other stuff here
 				// but they really dont happen
 				// OH YES THEY DO
-				else if (pAni[_ctx->frameNumber].op == ANI_ADJUSTX
-					||	 pAni[_ctx->frameNumber].op == ANI_ADJUSTY) {
+				else if (FROM_LE_32(pAni[_ctx->frameNumber].op) == ANI_ADJUSTX
+					||	 FROM_LE_32(pAni[_ctx->frameNumber].op) == ANI_ADJUSTY) {
 					_ctx->frameNumber += 2;
-				} else if (pAni[_ctx->frameNumber].op == ANI_ADJUSTXY) {
+				} else if (FROM_LE_32(pAni[_ctx->frameNumber].op) == ANI_ADJUSTXY) {
 					_ctx->frameNumber += 3;
 				} else {
 					// ANI_STOP, ANI_HIDE, ANI_HFLIP,
@@ -284,7 +284,7 @@
 			}
 		}
 
-		switch (pAni[_ctx->frameNumber].op) {
+		switch (FROM_LE_32(pAni[_ctx->frameNumber].op)) {
 		case ANI_END:
 			// Stop this sample if repeating
 			if (_ctx->sampleNumber && _ctx->bLooped)
@@ -297,7 +297,7 @@
 
 			assert(pAni[_ctx->frameNumber].op < 0);
 
-			_ctx->frameNumber += pAni[_ctx->frameNumber].op;
+			_ctx->frameNumber += FROM_LE_32(pAni[_ctx->frameNumber].op);
 
 			assert(_ctx->frameNumber >= 0);
 			continue;
@@ -332,15 +332,15 @@
 			if (_ctx->sampleNumber)
 				_vm->_sound->stopSpecSample(_ctx->sampleNumber, 0);
 
-			_ctx->sampleNumber = pAni[_ctx->frameNumber++].op;
+			_ctx->sampleNumber = FROM_LE_32(pAni[_ctx->frameNumber++].op);
 			if (_ctx->sampleNumber > 0)
 				_ctx->bLooped = false;
 			else {
 				_ctx->sampleNumber = ~_ctx->sampleNumber;
 				_ctx->bLooped = true;
 			}
-			x = (short)(pAni[_ctx->frameNumber].op >> 16);
-			y = (short)(pAni[_ctx->frameNumber].op & 0xffff);
+			x = (short)(FROM_LE_32(pAni[_ctx->frameNumber].op) >> 16);
+			y = (short)(FROM_LE_32(pAni[_ctx->frameNumber].op) & 0xffff);
 
 			if (x == 0)
 				x = -1;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list