[Scummvm-cvs-logs] SF.net SVN: scummvm: [27552] scummvm/trunk/engines/agos

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Wed Jun 20 03:01:30 CEST 2007


Revision: 27552
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27552&view=rev
Author:   Kirben
Date:     2007-06-19 18:01:29 -0700 (Tue, 19 Jun 2007)

Log Message:
-----------
Cleanup.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.cpp
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/res.cpp
    scummvm/trunk/engines/agos/string.cpp
    scummvm/trunk/engines/agos/vga_ff.cpp

Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp	2007-06-20 00:28:04 UTC (rev 27551)
+++ scummvm/trunk/engines/agos/agos.cpp	2007-06-20 01:01:29 UTC (rev 27552)
@@ -759,7 +759,7 @@
 	_itemMemSize = 20000;
 	_tableMemSize = 100000;
 	// Check whether to use MT-32 MIDI tracks in Simon the Sorcerer 2
-	if ((getGameType() == GType_SIMON2) && _nativeMT32)
+	if (getGameType() == GType_SIMON2 && _nativeMT32)
 		_musicIndexBase = (1128 + 612) / 4;
 	else
 		_musicIndexBase = 1128 / 4;

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2007-06-20 00:28:04 UTC (rev 27551)
+++ scummvm/trunk/engines/agos/agos.h	2007-06-20 01:01:29 UTC (rev 27552)
@@ -574,7 +574,7 @@
 	void setupStringTable(byte *mem, int num);
 	void setupLocalStringTable(byte *mem, int num);
 	void readGamePcText(Common::SeekableReadStream *in);
-	void readItemChildren(Common::SeekableReadStream *in, Item *item, uint tmp);
+	virtual void readItemChildren(Common::SeekableReadStream *in, Item *item, uint tmp);
 	void readItemFromGamePc(Common::SeekableReadStream *in, Item *item);
 	void loadGamePcFile();
 	void readGamePcFile(Common::SeekableReadStream *in);
@@ -1369,6 +1369,8 @@
 
 	const OpcodeEntryElvira2 *_opcodesElvira2;
 
+	virtual void readItemChildren(Common::SeekableReadStream *in, Item *item, uint tmp);
+
 	virtual bool loadGame(const char *filename, bool restartMode = false);
 	virtual bool saveGame(uint slot, const char *caption);
 

Modified: scummvm/trunk/engines/agos/res.cpp
===================================================================
--- scummvm/trunk/engines/agos/res.cpp	2007-06-20 00:28:04 UTC (rev 27551)
+++ scummvm/trunk/engines/agos/res.cpp	2007-06-20 01:01:29 UTC (rev 27552)
@@ -351,104 +351,130 @@
 
 void AGOSEngine::readItemChildren(Common::SeekableReadStream *in, Item *item, uint type) {
 	if (type == 1) {
-		if (getGameType() == GType_ELVIRA1) {
-			SubRoom *subRoom = (SubRoom *)allocateChildBlock(item, 1, sizeof(SubRoom));
-			subRoom->roomShort = in->readUint32BE();
-			subRoom->roomLong = in->readUint32BE();
-			subRoom->flags = in->readUint16BE();
-		} else {
-			uint fr1 = in->readUint16BE();
-			uint fr2 = in->readUint16BE();
-			uint i, size;
-			uint j, k;
-			SubRoom *subRoom;
+		SubRoom *subRoom = (SubRoom *)allocateChildBlock(item, 1, sizeof(SubRoom));
+		subRoom->roomShort = in->readUint32BE();
+		subRoom->roomLong = in->readUint32BE();
+		subRoom->flags = in->readUint16BE();
+	} else if (type == 2) {
+		SubObject *subObject = (SubObject *)allocateChildBlock(item, 2, sizeof(SubObject));
+		in->readUint32BE();
+		in->readUint32BE();
+		in->readUint32BE();
+		subObject->objectName = in->readUint32BE();
+		subObject->objectSize = in->readUint16BE();
+		subObject->objectWeight = in->readUint16BE();
+		subObject->objectFlags = in->readUint16BE();
+	} else if (type == 4) {
+		SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, 4, sizeof(SubGenExit));
+		genExit->dest[0] = (uint16)fileReadItemID(in);
+		genExit->dest[1] = (uint16)fileReadItemID(in);
+		genExit->dest[2] = (uint16)fileReadItemID(in);
+		genExit->dest[3] = (uint16)fileReadItemID(in);
+		genExit->dest[4] = (uint16)fileReadItemID(in);
+		genExit->dest[5] = (uint16)fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+	} else if (type == 7) {
+		SubContainer *container = (SubContainer *)allocateChildBlock(item, 7, sizeof(SubContainer));
+		container->volume = in->readUint16BE();
+		container->flags = in->readUint16BE();
+	} else if (type == 8) {
+		SubChain *chain = (SubChain *)allocateChildBlock(item, 8, sizeof(SubChain));
+		chain->chChained = (uint16)fileReadItemID(in);
+	} else if (type == 9) {
+		setUserFlag(item, 0, in->readUint16BE());
+		setUserFlag(item, 1, in->readUint16BE());
+		setUserFlag(item, 2, in->readUint16BE());
+		setUserFlag(item, 3, in->readUint16BE());
+		setUserFlag(item, 4, in->readUint16BE());
+		setUserFlag(item, 5, in->readUint16BE());
+		setUserFlag(item, 6, in->readUint16BE());
+		setUserFlag(item, 7, in->readUint16BE());
+		SubUserFlag *subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+		subUserFlag->userItems[0] = (uint16)fileReadItemID(in); 
+		fileReadItemID(in);
+		fileReadItemID(in);
+		fileReadItemID(in);
+	} else if (type == 255) {
+		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, 255, sizeof(SubInherit));
+		inherit->inMaster = (uint16)fileReadItemID(in);
+	} else {
+		error("readItemChildren: invalid type %d", type);
+	}
+}
 
-			size = SubRoom_SIZE;
-			for (i = 0, j = fr2; i != 6; i++, j >>= 2)
-				if (j & 3)
-					size += sizeof(subRoom->roomExit[0]);
+void AGOSEngine_Elvira2::readItemChildren(Common::SeekableReadStream *in, Item *item, uint type) {
+	if (type == 1) {
+		uint fr1 = in->readUint16BE();
+		uint fr2 = in->readUint16BE();
+		uint i, size;
+		uint j, k;
+		SubRoom *subRoom;
 
-			subRoom = (SubRoom *)allocateChildBlock(item, 1, size);
-			subRoom->subroutine_id = fr1;
-			subRoom->roomExitStates = fr2;
+		size = SubRoom_SIZE;
+		for (i = 0, j = fr2; i != 6; i++, j >>= 2)
+			if (j & 3)
+				size += sizeof(subRoom->roomExit[0]);
 
-			for (i = k = 0, j = fr2; i != 6; i++, j >>= 2)
-				if (j & 3)
-					subRoom->roomExit[k++] = (uint16)fileReadItemID(in);
-		}
+		subRoom = (SubRoom *)allocateChildBlock(item, 1, size);
+		subRoom->subroutine_id = fr1;
+		subRoom->roomExitStates = fr2;
+
+		for (i = k = 0, j = fr2; i != 6; i++, j >>= 2)
+			if (j & 3)
+				subRoom->roomExit[k++] = (uint16)fileReadItemID(in);
 	} else if (type == 2) {
-		if (getGameType() == GType_ELVIRA1) {
-			SubObject *subObject = (SubObject *)allocateChildBlock(item, 2, sizeof(SubObject));
-			in->readUint32BE();
-			in->readUint32BE();
-			in->readUint32BE();
-			subObject->objectName = in->readUint32BE();
-			subObject->objectSize = in->readUint16BE();
-			subObject->objectWeight = in->readUint16BE();
-			subObject->objectFlags = in->readUint16BE();
-		} else {
-			uint32 fr = in->readUint32BE();
-			uint i, k, size;
-			SubObject *subObject;
+		uint32 fr = in->readUint32BE();
+		uint i, k, size;
+		SubObject *subObject;
 
-			size = SubObject_SIZE;
-			for (i = 0; i != 16; i++)
-				if (fr & (1 << i))
-					size += sizeof(subObject->objectFlagValue[0]);
+		size = SubObject_SIZE;
+		for (i = 0; i != 16; i++)
+			if (fr & (1 << i))
+				size += sizeof(subObject->objectFlagValue[0]);
 
-			subObject = (SubObject *)allocateChildBlock(item, 2, size);
-			subObject->objectFlags = fr;
+		subObject = (SubObject *)allocateChildBlock(item, 2, size);
+		subObject->objectFlags = fr;
 
-			k = 0;
-			if (fr & 1) {
-				subObject->objectFlagValue[k++] = (uint16)in->readUint32BE();
-			}
-			for (i = 1; i != 16; i++)
-				if (fr & (1 << i))
-					subObject->objectFlagValue[k++] = in->readUint16BE();
+		k = 0;
+		if (fr & 1) {
+			subObject->objectFlagValue[k++] = (uint16)in->readUint32BE();
+		}
+		for (i = 1; i != 16; i++)
+			if (fr & (1 << i))
+				subObject->objectFlagValue[k++] = in->readUint16BE();
 
-			if (getGameType() != GType_ELVIRA2)
-				subObject->objectName = (uint16)in->readUint32BE();
-		}
+		if (getGameType() != GType_ELVIRA2)
+			subObject->objectName = (uint16)in->readUint32BE();
 	} else if (type == 4) {
-		if (getGameType() == GType_ELVIRA2) {
-			uint i, j, k, size;
-			uint id, x, y, z;
-			SubSuperRoom *subSuperRoom;
+		assert(getGameType() == GType_ELVIRA2);
 
-			id = in->readUint16BE();
-			x = in->readUint16BE();
-			y = in->readUint16BE();
-			z = in->readUint16BE();
+		uint i, j, k, size;
+		uint id, x, y, z;
+		SubSuperRoom *subSuperRoom;
 
-			j = x * y * z;
-			size = SubSuperRoom_SIZE;
-			for (i = 0; i != j; i++)
-				size += sizeof(subSuperRoom->roomExitStates[0]);
+		id = in->readUint16BE();
+		x = in->readUint16BE();
+		y = in->readUint16BE();
+		z = in->readUint16BE();
 
-			subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, 4, size);
-			subSuperRoom->subroutine_id = id;
-			subSuperRoom->roomX = x;
-			subSuperRoom->roomY = y;
-			subSuperRoom->roomZ = z;
+		j = x * y * z;
+		size = SubSuperRoom_SIZE;
+		for (i = 0; i != j; i++)
+			size += sizeof(subSuperRoom->roomExitStates[0]);
 
-			for (i = k = 0; i != j; i++)
-				subSuperRoom->roomExitStates[k++] = in->readUint16BE();
-		} else if (getGameType() == GType_ELVIRA1) {
-			SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, 4, sizeof(SubGenExit));
-			genExit->dest[0] = (uint16)fileReadItemID(in);
-			genExit->dest[1] = (uint16)fileReadItemID(in);
-			genExit->dest[2] = (uint16)fileReadItemID(in);
-			genExit->dest[3] = (uint16)fileReadItemID(in);
-			genExit->dest[4] = (uint16)fileReadItemID(in);
-			genExit->dest[5] = (uint16)fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-		}
+		subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, 4, size);
+		subSuperRoom->subroutine_id = id;
+		subSuperRoom->roomX = x;
+		subSuperRoom->roomY = y;
+		subSuperRoom->roomZ = z;
+
+		for (i = k = 0; i != j; i++)
+			subSuperRoom->roomExitStates[k++] = in->readUint16BE();
 	} else if (type == 7) {
 		SubContainer *container = (SubContainer *)allocateChildBlock(item, 7, sizeof(SubContainer));
 		container->volume = in->readUint16BE();
@@ -461,17 +487,6 @@
 		setUserFlag(item, 1, in->readUint16BE());
 		setUserFlag(item, 2, in->readUint16BE());
 		setUserFlag(item, 3, in->readUint16BE());
-		if (getGameType() == GType_ELVIRA1) {
-			setUserFlag(item, 4, in->readUint16BE());
-			setUserFlag(item, 5, in->readUint16BE());
-			setUserFlag(item, 6, in->readUint16BE());
-			setUserFlag(item, 7, in->readUint16BE());
-			SubUserFlag *subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
-			subUserFlag->userItems[0] = (uint16)fileReadItemID(in); 
-			fileReadItemID(in);
-			fileReadItemID(in);
-			fileReadItemID(in);
-		}
 	} else if (type == 255) {
 		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, 255, sizeof(SubInherit));
 		inherit->inMaster = (uint16)fileReadItemID(in);

Modified: scummvm/trunk/engines/agos/string.cpp
===================================================================
--- scummvm/trunk/engines/agos/string.cpp	2007-06-20 00:28:04 UTC (rev 27551)
+++ scummvm/trunk/engines/agos/string.cpp	2007-06-20 01:01:29 UTC (rev 27552)
@@ -304,7 +304,7 @@
 	lettersPerRowJustified = stringLength / (stringLength / lettersPerRow + 1) + 1;
 
 	talkDelay = (stringLength + 3) / 3;
-	if ((getGameType() == GType_SIMON1) && (getFeatures() & GF_TALKIE)) {
+	if (getGameType() == GType_SIMON1 && (getFeatures() & GF_TALKIE)) {
 		if (_variableArray[141] == 0)
 			_variableArray[141] = 9;
 		_variableArray[85] = _variableArray[141] * talkDelay;

Modified: scummvm/trunk/engines/agos/vga_ff.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga_ff.cpp	2007-06-20 00:28:04 UTC (rev 27551)
+++ scummvm/trunk/engines/agos/vga_ff.cpp	2007-06-20 01:01:29 UTC (rev 27552)
@@ -217,7 +217,7 @@
 	if (_scrollXMax == 0 || x == 0)
 		return;
 
-	if ((getGameType() == GType_FF) && (getBitFlag(80) || getBitFlag(82)))
+	if (getGameType() == GType_FF && (getBitFlag(80) || getBitFlag(82)))
 		return;
 
 	int16 tmp;


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