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

joostp at users.sourceforge.net joostp at users.sourceforge.net
Mon Feb 2 15:54:08 CET 2009


Revision: 36198
          http://scummvm.svn.sourceforge.net/scummvm/?rev=36198&view=rev
Author:   joostp
Date:     2009-02-02 14:54:08 +0000 (Mon, 02 Feb 2009)

Log Message:
-----------
t2PlayReel() 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-02 12:36:41 UTC (rev 36197)
+++ scummvm/trunk/engines/tinsel/play.cpp	2009-02-02 14:54:08 UTC (rev 36198)
@@ -709,16 +709,16 @@
 
 	// Get the reel and MULTI_INIT structure
 	_ctx->pFreel = GetReel(hFilm, column);
-	_ctx->pmi = (MULTI_INIT *)LockMem(_ctx->pFreel->mobj);
+	_ctx->pmi = (MULTI_INIT *)LockMem(FROM_LE_32(_ctx->pFreel->mobj));
 
-	if (_ctx->pmi->mulID == -2) {
+	if ((int32)FROM_LE_32(_ctx->pmi->mulID) == -2) {
 		CORO_INVOKE_ARGS(SoundReel, (CORO_SUBCTX, hFilm, column, speed, myescEvent,
 			_ctx->pmi->otherFlags & OTH_RELATEDACTOR));
 		return;
 	}
 
 	// Save actor's ID
-	_ctx->reelActor = _ctx->pmi->mulID;
+	_ctx->reelActor = FROM_LE_32(_ctx->pmi->mulID);
 
 	UpdateActorEsc(_ctx->reelActor, myescEvent);
 
@@ -762,8 +762,8 @@
 
 	// Set ghost bit if wanted
 	if (ActorIsGhost(_ctx->reelActor)) {
-		assert(_ctx->pmi->mulFlags == DMA_WNZ || _ctx->pmi->mulFlags == (DMA_WNZ | DMA_GHOST));
-		_ctx->pmi->mulFlags |= DMA_GHOST;
+		assert(FROM_LE_32(_ctx->pmi->mulFlags) == DMA_WNZ || FROM_LE_32(_ctx->pmi->mulFlags) == (DMA_WNZ | DMA_GHOST));
+		_ctx->pmi->mulFlags = TO_LE_32(FROM_LE_32(_ctx->pmi->mulFlags) | DMA_GHOST);
 	}
 
 	// Set up and insert the multi-object
@@ -796,10 +796,10 @@
 	/*
 	 * Sort out x and y
 	 */
-	assert( ((_ctx->pmi->otherFlags & OTH_RELATIVE) && !(_ctx->pmi->otherFlags & OTH_ABSOLUTE))
-		|| ((_ctx->pmi->otherFlags & OTH_ABSOLUTE) && !(_ctx->pmi->otherFlags & OTH_RELATIVE)) );
+	assert( ((FROM_LE_32(_ctx->pmi->otherFlags) & OTH_RELATIVE) && !(FROM_LE_32(_ctx->pmi->otherFlags) & OTH_ABSOLUTE))
+		|| ((FROM_LE_32(_ctx->pmi->otherFlags) & OTH_ABSOLUTE) && !(FROM_LE_32(_ctx->pmi->otherFlags) & OTH_RELATIVE)) );
 
-	_ctx->bRelative = _ctx->pmi->otherFlags & OTH_RELATIVE;
+	_ctx->bRelative = FROM_LE_32(_ctx->pmi->otherFlags) & OTH_RELATIVE;
 
 	if (_ctx->bRelative) {
 		// Use actor's position. If (x, y) specified, move the actor.
@@ -811,7 +811,7 @@
 		x = y = 0;		// Use (0,0) if no specified
 
 	// Add embedded co-ords
-	MultiSetAniXY(_ctx->pPlayObj, x + _ctx->pmi->mulX, y + _ctx->pmi->mulY);
+	MultiSetAniXY(_ctx->pPlayObj, x + FROM_LE_32(_ctx->pmi->mulX), y + FROM_LE_32(_ctx->pmi->mulY));
 
 	/*
 	 * Sort out z
@@ -826,10 +826,10 @@
 
 		// N.B. It HAS been ensured that the first column gets here first
 
-		if (_ctx->pmi->mulZ != -1) {
+		if ((int32)FROM_LE_32(_ctx->pmi->mulZ) != -1) {
 			// Z override in script
 
-			baseZfact = _ctx->pmi->mulZ;
+			baseZfact = FROM_LE_32(_ctx->pmi->mulZ);
 			baseZposn = (baseZfact << ZSHIFT) + MultiLowest(_ctx->pPlayObj);
 			if (bTop)
 				baseZposn += Z_TOPPLAY;
@@ -852,7 +852,7 @@
 	 * another reel starts up for this actor,
 	 * or the actor gets killed.
 	 */
-	InitStepAnimScript(&_ctx->thisAnim, _ctx->pPlayObj, _ctx->pFreel->script, speed);
+	InitStepAnimScript(&_ctx->thisAnim, _ctx->pPlayObj, FROM_LE_32(_ctx->pFreel->script), speed);
 
 	if (bRestore || (ActorEsc(_ctx->reelActor) == true &&
 				ActorEev(_ctx->reelActor) != GetEscEvents())) {


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