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

kirben at users.sourceforge.net kirben at users.sourceforge.net
Sun Nov 5 09:27:23 CET 2006


Revision: 24626
          http://svn.sourceforge.net/scummvm/?rev=24626&view=rev
Author:   kirben
Date:     2006-11-05 00:27:15 -0800 (Sun, 05 Nov 2006)

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

Modified Paths:
--------------
    scummvm/trunk/engines/agos/intern.h
    scummvm/trunk/engines/agos/res.cpp
    scummvm/trunk/engines/agos/rooms.cpp
    scummvm/trunk/engines/agos/saveload.cpp

Modified: scummvm/trunk/engines/agos/intern.h
===================================================================
--- scummvm/trunk/engines/agos/intern.h	2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/intern.h	2006-11-05 08:27:15 UTC (rev 24626)
@@ -45,8 +45,7 @@
 	uint16 roomX;
 	uint16 roomY;
 	uint16 roomZ;
-	uint16 *roomExitStates;
-	uint16 roomExit[1];
+	uint16 roomExitStates[1];
 };
 
 struct SubObject : Child {

Modified: scummvm/trunk/engines/agos/res.cpp
===================================================================
--- scummvm/trunk/engines/agos/res.cpp	2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/res.cpp	2006-11-05 08:27:15 UTC (rev 24626)
@@ -402,17 +402,16 @@
 			j = x * y * z;
 			size = SubSuperRoom_SIZE;
 			for (i = 0; i != j; i++)
-				size += sizeof(subSuperRoom->roomExit[0]);
+				size += sizeof(subSuperRoom->roomExitStates[0]);
 
 			subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, 4, size);
 			subSuperRoom->subroutine_id = id;
 			subSuperRoom->roomX = x;
 			subSuperRoom->roomY = y;
 			subSuperRoom->roomZ = z;
-			subSuperRoom->roomExitStates = (uint16 *)calloc(j, sizeof(uint16));
 
 			for (i = k = 0; i != j; i++)
-					subSuperRoom->roomExit[k++] = in->readUint16BE();
+				subSuperRoom->roomExitStates[k++] = in->readUint16BE();
 		} else if (getGameType() == GType_ELVIRA1) {
 			SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, 4, sizeof(SubGenExit));
 			genExit->dest[0] = (uint16)fileReadItemID(in);

Modified: scummvm/trunk/engines/agos/rooms.cpp
===================================================================
--- scummvm/trunk/engines/agos/rooms.cpp	2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/rooms.cpp	2006-11-05 08:27:15 UTC (rev 24626)
@@ -193,7 +193,6 @@
 // Elvira 2 specific
 int AGOSEngine::changeExitStates(SubSuperRoom *sr, int n, int d, uint16 s) {
 	int b, bd;
-	uint16 *c;
 	uint16 mask = 3;
 	uint16 bs = s;
 
@@ -238,22 +237,18 @@
 			return 0;
 	}
 	n--;
-	c = sr->roomExitStates;
-	c += n;
 	d <<= 1;
 	mask <<= d;
 	s <<= d;
-	*c &= ~mask;
-	*c |= s;
+	sr->roomExitStates[n] &= ~mask;
+	sr->roomExitStates[n] |= s;
 	mask = 3;
 	n += b;
-	c = sr->roomExitStates;
-	c += n;
 	bd <<= 1;
 	mask <<= bd;
 	bs <<= bd;
-	*c &= ~mask;
-	*c |= bs;
+	sr->roomExitStates[n] &= ~mask;
+	sr->roomExitStates[n] |= bs;
 	return 1;
 }
 
@@ -261,17 +256,14 @@
 	SubSuperRoom *sr;
 	uint16 mask = 3;
 	uint16 n;
-	uint16 *c;
 
 	sr = (SubSuperRoom *)findChildOfType(i, 4);
 	if (sr == NULL)
 	    return 0;
 
-	c = sr->roomExitStates;
-	c += x - 1;
 	d <<= 1;
 	mask <<= d;
-	n = *c & mask;
+	n = sr->roomExitStates[x - 1] & mask;
 	n >>= d;
 	return n;
 }
@@ -283,19 +275,16 @@
 }
 
 void AGOSEngine::setSRExit(Item *i, int n, int d, uint16 s) {
-	uint16 *c;
 	uint16 mask = 3;
 
 	SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4);
 	if (sr) {
 		n--;
-		c = sr->roomExitStates;
-		c += n;
 		d <<= 1;
 		mask <<= d;
 		s <<= d;
-		*c &= ~mask;
-		*c |= s;
+		sr->roomExitStates[n] &= ~mask;
+		sr->roomExitStates[n] |= s;
 	}
 }
 
@@ -316,7 +305,7 @@
 				case 0: a = -(sr->roomX); break;
 				case 1: a = 1; break;
 				case 2: a = sr->roomX; break;
-				case 3: a = (uint16)-1; break;
+				case 3: a = 0xFFFF; break;
 				case 4: a = -(sr->roomX * sr->roomY); break;
 				case 5: a = (sr->roomX * sr->roomY); break;
 				default: return;

Modified: scummvm/trunk/engines/agos/saveload.cpp
===================================================================
--- scummvm/trunk/engines/agos/saveload.cpp	2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/saveload.cpp	2006-11-05 08:27:15 UTC (rev 24626)
@@ -134,8 +134,8 @@
 
 void AGOSEngine::quickLoadOrSave() {
 	// Quick load & save is only supported complete version of Simon the Sorcerer 1/2
-	if (getGameType() != GType_SIMON1 && getGameType() != GType_SIMON2 &&
-		!(getFeatures() & GF_DEMO)) {
+	if (getGameType() != GType_SIMON1 && getGameType() != GType_SIMON2 ||
+		(getFeatures() & GF_DEMO)) {
 		return;
 	}
 
@@ -617,8 +617,8 @@
 	killAllTimers();
 	for (num = f->readUint32BE(); num; num--) {
 		uint32 timeout = f->readUint32BE();
-		uint16 func_to_call = f->readUint16BE();
-		addTimeEvent(timeout, func_to_call);
+		uint16 subroutine_id = f->readUint16BE();
+		addTimeEvent(timeout, subroutine_id);
 	}
 
 	item_index = 1;
@@ -814,8 +814,8 @@
 	killAllTimers();
 	for (num = f->readUint32BE(); num; num--) {
 		uint32 timeout = f->readUint32BE();
-		uint16 func_to_call = f->readUint16BE();
-		addTimeEvent(timeout, func_to_call);
+		uint16 subroutine_id = f->readUint16BE();
+		addTimeEvent(timeout, subroutine_id);
 	}
 
 	item_index = 1;
@@ -845,9 +845,8 @@
 		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
 		if (sr) {
 			uint16 n = sr->roomX * sr->roomY * sr->roomZ;
-			uint16 *c = sr->roomExitStates;
-			while(n--)
-				*c++ = f->readUint16BE();
+ 			for (i = j = 0; i != n; i++)
+				sr->roomExitStates[j++] = f->readUint16BE();
 		}
 
 		SubObject *o = (SubObject *)findChildOfType(item, 2);
@@ -975,9 +974,8 @@
 		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
 		if (sr) {
 			uint16 n = sr->roomX * sr->roomY * sr->roomZ;
-			uint16 *c = sr->roomExitStates;
-			while(n--)
-				f->writeUint16BE(*c++);
+ 			for (i = j = 0; i != n; i++)
+				f->writeUint16BE(sr->roomExitStates[j++]);
 		}
 
 		SubObject *o = (SubObject *)findChildOfType(item, 2);


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