[Scummvm-cvs-logs] SF.net SVN: scummvm:[44779] scummvm/trunk/engines/scumm/resource_v4.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Thu Oct 8 11:33:20 CEST 2009


Revision: 44779
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44779&view=rev
Author:   Kirben
Date:     2009-10-08 09:33:20 +0000 (Thu, 08 Oct 2009)

Log Message:
-----------
The layout of global object data is different in the PCE version of Loom.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/resource_v4.cpp

Modified: scummvm/trunk/engines/scumm/resource_v4.cpp
===================================================================
--- scummvm/trunk/engines/scumm/resource_v4.cpp	2009-10-08 09:29:42 UTC (rev 44778)
+++ scummvm/trunk/engines/scumm/resource_v4.cpp	2009-10-08 09:33:20 UTC (rev 44779)
@@ -199,14 +199,28 @@
 
 	uint32 bits;
 	byte tmp;
-	for (i = 0; i != num; i++) {
-		bits = _fileHandle->readByte();
-		bits |= _fileHandle->readByte() << 8;
-		bits |= _fileHandle->readByte() << 16;
-		_classData[i] = bits;
-		tmp = _fileHandle->readByte();
-		_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
-		_objectStateTable[i] = tmp >> OF_STATE_SHL;
+	if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine) {
+		for (i = 0; i != num; i++) {
+			bits = _fileHandle->readByte();
+			bits |= _fileHandle->readByte() << 8;
+			bits |= _fileHandle->readByte() << 16;
+			_classData[i] = bits;
+		}
+		for (i = 0; i != num; i++) {
+			tmp = _fileHandle->readByte();
+			_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
+			_objectStateTable[i] = tmp >> OF_STATE_SHL;
+		}
+	} else {
+		for (i = 0; i != num; i++) {
+			bits = _fileHandle->readByte();
+			bits |= _fileHandle->readByte() << 8;
+			bits |= _fileHandle->readByte() << 16;
+			_classData[i] = bits;
+			tmp = _fileHandle->readByte();
+			_objectOwnerTable[i] = tmp & OF_OWNER_MASK;
+			_objectStateTable[i] = tmp >> OF_STATE_SHL;
+		}
 	}
 
 	// FIXME: Indy3 FM-TOWNS has 32 extra bytes of unknown meaning


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