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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Jun 30 18:25:59 CEST 2007


Revision: 27792
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27792&view=rev
Author:   fingolfin
Date:     2007-06-30 09:25:59 -0700 (Sat, 30 Jun 2007)

Log Message:
-----------
AGOS: Introduced ChildType enum

Modified Paths:
--------------
    scummvm/trunk/engines/agos/contain.cpp
    scummvm/trunk/engines/agos/debugger.cpp
    scummvm/trunk/engines/agos/intern.h
    scummvm/trunk/engines/agos/items.cpp
    scummvm/trunk/engines/agos/res.cpp
    scummvm/trunk/engines/agos/rooms.cpp
    scummvm/trunk/engines/agos/saveload.cpp
    scummvm/trunk/engines/agos/script.cpp
    scummvm/trunk/engines/agos/script_e1.cpp
    scummvm/trunk/engines/agos/script_e2.cpp
    scummvm/trunk/engines/agos/script_ff.cpp
    scummvm/trunk/engines/agos/script_s1.cpp
    scummvm/trunk/engines/agos/script_ww.cpp
    scummvm/trunk/engines/agos/string.cpp

Modified: scummvm/trunk/engines/agos/contain.cpp
===================================================================
--- scummvm/trunk/engines/agos/contain.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/contain.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -34,8 +34,8 @@
 	Item *z = derefItem(x->parent);
 
 	if (getGameType() == GType_ELVIRA1) {
-		SubPlayer *p = (SubPlayer *)findChildOfType(y, 3);
-		SubContainer *c = (SubContainer *)findChildOfType(y, 7);
+		SubPlayer *p = (SubPlayer *)findChildOfType(y, kPlayerType);
+		SubContainer *c = (SubContainer *)findChildOfType(y, kContainerType);
 		int cap = 0;
 		int wt;
 
@@ -59,7 +59,7 @@
 				return -2;	/* Too heavy */
 		}
 	} else {
-		SubObject *o = (SubObject *)findChildOfType(y, 2);
+		SubObject *o = (SubObject *)findChildOfType(y, kObjectType);
 		int ct;
 		int cap = 0;
 
@@ -120,11 +120,11 @@
 }
 
 int AGOSEngine::sizeOfRec(Item *i, int d) {
-	SubObject *o = (SubObject *)findChildOfType(i, 2);
+	SubObject *o = (SubObject *)findChildOfType(i, kObjectType);
 
 	if (getGameType() == GType_ELVIRA1) {
-		SubPlayer *p = (SubPlayer *)findChildOfType(i, 3);
-		SubContainer *c = (SubContainer *)findChildOfType(i, 7);
+		SubPlayer *p = (SubPlayer *)findChildOfType(i, kPlayerType);
+		SubContainer *c = (SubContainer *)findChildOfType(i, kContainerType);
 
 		if ((c) && (c->flags & 1)) {
 			if (o)
@@ -174,10 +174,10 @@
 }
 
 int AGOSEngine::weightOf(Item *x) {
-	SubObject *o = (SubObject *)findChildOfType(x, 2);
+	SubObject *o = (SubObject *)findChildOfType(x, kObjectType);
 
 	if (getGameType() == GType_ELVIRA1) {
-		SubPlayer *p = (SubPlayer *)findChildOfType(x, 3);
+		SubPlayer *p = (SubPlayer *)findChildOfType(x, kPlayerType);
 		if (o)
 			return o->objectWeight;
 		if (p)

Modified: scummvm/trunk/engines/agos/debugger.cpp
===================================================================
--- scummvm/trunk/engines/agos/debugger.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/debugger.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -174,7 +174,7 @@
 		prop = atoi(argv[2]);
 
 		if (obj >= 1 && obj < _vm->_itemArraySize) {
-			SubObject *o = (SubObject *)_vm->findChildOfType(_vm->derefItem(obj), 2);
+			SubObject *o = (SubObject *)_vm->findChildOfType(_vm->derefItem(obj), kObjectType);
 			if (o != NULL) {
 				if (o->objectFlags & (1 << prop) && prop < 16) {
 					uint offs = _vm->getOffsetOfChild2Param(o, 1 << prop);

Modified: scummvm/trunk/engines/agos/intern.h
===================================================================
--- scummvm/trunk/engines/agos/intern.h	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/intern.h	2007-06-30 16:25:59 UTC (rev 27792)
@@ -28,6 +28,21 @@
 
 namespace AGOS {
 
+enum ChildType {
+	kRoomType = 1,
+	kObjectType = 2,
+	kPlayerType = 3,
+	kSuperRoomType = 4,
+
+	kGenExitType = 4,	// FIXME: Clash with kSuperRoomType ?!?
+	
+	kContainerType = 7,
+	kChainType = 8,
+	kUserFlagType = 9,
+	
+	kInheritType = 255
+};
+
 struct Child {
 	Child *next;
 	uint16 type;

Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/items.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -66,7 +66,7 @@
 	if (getGameType() == GType_ELVIRA1) {
 		return (getUserFlag(item, 7) != 0);
 	} else {
-		SubObject *child = (SubObject *)findChildOfType(item, 2);
+		SubObject *child = (SubObject *)findChildOfType(item, kObjectType);
 		return (child && (child->objectFlags & kOFIcon) != 0);
 	}
 }
@@ -75,7 +75,7 @@
 	if (getGameType() == GType_ELVIRA1) {
 		return getUserFlag(item, 7);
 	} else {
-		SubObject *child = (SubObject *)findChildOfType(item, 2);
+		SubObject *child = (SubObject *)findChildOfType(item, kObjectType);
 		uint offs;
 
 		if (child == NULL || !(child->objectFlags & kOFIcon))
@@ -97,7 +97,7 @@
 	_currentPlayer->adjective = -1;
 	_currentPlayer->noun = 10000;
 
-	p = (SubPlayer *)allocateChildBlock(_currentPlayer, 3, sizeof(SubPlayer));
+	p = (SubPlayer *)allocateChildBlock(_currentPlayer, kPlayerType, sizeof(SubPlayer));
 	if (p == NULL)
 		error("createPlayer: player create failure");
 
@@ -135,14 +135,14 @@
 int AGOSEngine::getUserFlag(Item *item, int a) {
 	SubUserFlag *subUserFlag;
 
-	subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+	subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 	if (subUserFlag == NULL)
 		return 0;
 
 	if (a < 0 || a > 7)
 		return 0;
 
-	return	subUserFlag->userFlags[a];
+	return subUserFlag->userFlags[a];
 }
 
 int AGOSEngine::getUserFlag1(Item *item, int a) {
@@ -151,7 +151,7 @@
 	if (item == NULL || item == _dummyItem2 || item == _dummyItem3)
 		return -1;
 
-	subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+	subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 	if (subUserFlag == NULL)
 		return 0;
 
@@ -164,9 +164,9 @@
 void AGOSEngine::setUserFlag(Item *item, int a, int b) {
 	SubUserFlag *subUserFlag;
 
-	subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+	subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 	if (subUserFlag == NULL) {
-		subUserFlag = (SubUserFlag *) allocateChildBlock(item, 9, sizeof(SubUserFlag));
+		subUserFlag = (SubUserFlag *)allocateChildBlock(item, kUserFlagType, sizeof(SubUserFlag));
 	}
 
 	if (a < 0 || a > 7)
@@ -178,7 +178,7 @@
 int AGOSEngine::getUserItem(Item *item, int n) {
 	SubUserFlag *subUserFlag;
 
-	subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+	subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 	if (subUserFlag == NULL)
 		return 0;
 
@@ -191,9 +191,9 @@
 void AGOSEngine::setUserItem(Item *item, int n, int m) {
 	SubUserFlag *subUserFlag;
 
-	subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+	subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 	if (subUserFlag == NULL) {
-		subUserFlag = (SubUserFlag *) allocateChildBlock(item, 9, sizeof(SubUserFlag));
+		subUserFlag = (SubUserFlag *)allocateChildBlock(item, kUserFlagType, sizeof(SubUserFlag));
 	}
 
 	if (n == 0)
@@ -201,15 +201,15 @@
 }
 
 bool AGOSEngine::isRoom(Item *item) {
-	return findChildOfType(item, 1) != NULL;
+	return findChildOfType(item, kRoomType) != NULL;
 }
 
 bool AGOSEngine::isObject(Item *item) {
-	return findChildOfType(item, 2) != NULL;
+	return findChildOfType(item, kObjectType) != NULL;
 }
 
 bool AGOSEngine::isPlayer(Item *item) {
-	return findChildOfType(item, 3) != NULL;
+	return findChildOfType(item, kPlayerType) != NULL;
 }
 
 uint AGOSEngine::getOffsetOfChild2Param(SubObject *child, uint prop) {

Modified: scummvm/trunk/engines/agos/res.cpp
===================================================================
--- scummvm/trunk/engines/agos/res.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/res.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -350,13 +350,13 @@
 }
 
 void AGOSEngine::readItemChildren(Common::SeekableReadStream *in, Item *item, uint type) {
-	if (type == 1) {
-		SubRoom *subRoom = (SubRoom *)allocateChildBlock(item, 1, sizeof(SubRoom));
+	if (type == kRoomType) {
+		SubRoom *subRoom = (SubRoom *)allocateChildBlock(item, kRoomType, 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));
+	} else if (type == kObjectType) {
+		SubObject *subObject = (SubObject *)allocateChildBlock(item, kObjectType, sizeof(SubObject));
 		in->readUint32BE();
 		in->readUint32BE();
 		in->readUint32BE();
@@ -364,8 +364,8 @@
 		subObject->objectSize = in->readUint16BE();
 		subObject->objectWeight = in->readUint16BE();
 		subObject->objectFlags = in->readUint16BE();
-	} else if (type == 4) {
-		SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, 4, sizeof(SubGenExit));
+	} else if (type == kGenExitType) {
+		SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, kGenExitType, sizeof(SubGenExit));
 		genExit->dest[0] = (uint16)fileReadItemID(in);
 		genExit->dest[1] = (uint16)fileReadItemID(in);
 		genExit->dest[2] = (uint16)fileReadItemID(in);
@@ -378,14 +378,14 @@
 		fileReadItemID(in);
 		fileReadItemID(in);
 		fileReadItemID(in);
-	} else if (type == 7) {
-		SubContainer *container = (SubContainer *)allocateChildBlock(item, 7, sizeof(SubContainer));
+	} else if (type == kContainerType) {
+		SubContainer *container = (SubContainer *)allocateChildBlock(item, kContainerType, sizeof(SubContainer));
 		container->volume = in->readUint16BE();
 		container->flags = in->readUint16BE();
-	} else if (type == 8) {
-		SubChain *chain = (SubChain *)allocateChildBlock(item, 8, sizeof(SubChain));
+	} else if (type == kChainType) {
+		SubChain *chain = (SubChain *)allocateChildBlock(item, kChainType, sizeof(SubChain));
 		chain->chChained = (uint16)fileReadItemID(in);
-	} else if (type == 9) {
+	} else if (type == kUserFlagType) {
 		setUserFlag(item, 0, in->readUint16BE());
 		setUserFlag(item, 1, in->readUint16BE());
 		setUserFlag(item, 2, in->readUint16BE());
@@ -394,13 +394,13 @@
 		setUserFlag(item, 5, in->readUint16BE());
 		setUserFlag(item, 6, in->readUint16BE());
 		setUserFlag(item, 7, in->readUint16BE());
-		SubUserFlag *subUserFlag = (SubUserFlag *) findChildOfType(item, 9);
+		SubUserFlag *subUserFlag = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 		subUserFlag->userItems[0] = (uint16)fileReadItemID(in); 
 		fileReadItemID(in);
 		fileReadItemID(in);
 		fileReadItemID(in);
-	} else if (type == 255) {
-		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, 255, sizeof(SubInherit));
+	} else if (type == kInheritType) {
+		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, kInheritType, sizeof(SubInherit));
 		inherit->inMaster = (uint16)fileReadItemID(in);
 	} else {
 		error("readItemChildren: invalid type %d", type);
@@ -408,7 +408,7 @@
 }
 
 void AGOSEngine_Elvira2::readItemChildren(Common::SeekableReadStream *in, Item *item, uint type) {
-	if (type == 1) {
+	if (type == kRoomType) {
 		uint fr1 = in->readUint16BE();
 		uint fr2 = in->readUint16BE();
 		uint i, size;
@@ -420,14 +420,14 @@
 			if (j & 3)
 				size += sizeof(subRoom->roomExit[0]);
 
-		subRoom = (SubRoom *)allocateChildBlock(item, 1, size);
+		subRoom = (SubRoom *)allocateChildBlock(item, kRoomType, 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) {
+	} else if (type == kObjectType) {
 		uint32 fr = in->readUint32BE();
 		uint i, k, size;
 		SubObject *subObject;
@@ -437,7 +437,7 @@
 			if (fr & (1 << i))
 				size += sizeof(subObject->objectFlagValue[0]);
 
-		subObject = (SubObject *)allocateChildBlock(item, 2, size);
+		subObject = (SubObject *)allocateChildBlock(item, kObjectType, size);
 		subObject->objectFlags = fr;
 
 		k = 0;
@@ -450,7 +450,7 @@
 
 		if (getGameType() != GType_ELVIRA2)
 			subObject->objectName = (uint16)in->readUint32BE();
-	} else if (type == 4) {
+	} else if (type == kSuperRoomType) {
 		assert(getGameType() == GType_ELVIRA2);
 
 		uint i, j, k, size;
@@ -467,7 +467,7 @@
 		for (i = 0; i != j; i++)
 			size += sizeof(subSuperRoom->roomExitStates[0]);
 
-		subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, 4, size);
+		subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, kSuperRoomType, size);
 		subSuperRoom->subroutine_id = id;
 		subSuperRoom->roomX = x;
 		subSuperRoom->roomY = y;
@@ -475,20 +475,20 @@
 
 		for (i = k = 0; i != j; i++)
 			subSuperRoom->roomExitStates[k++] = in->readUint16BE();
-	} else if (type == 7) {
-		SubContainer *container = (SubContainer *)allocateChildBlock(item, 7, sizeof(SubContainer));
+	} else if (type == kContainerType) {
+		SubContainer *container = (SubContainer *)allocateChildBlock(item, kContainerType, sizeof(SubContainer));
 		container->volume = in->readUint16BE();
 		container->flags = in->readUint16BE();
-	} else if (type == 8) {
-		SubChain *chain = (SubChain *)allocateChildBlock(item, 8, sizeof(SubChain));
+	} else if (type == kChainType) {
+		SubChain *chain = (SubChain *)allocateChildBlock(item, kChainType, sizeof(SubChain));
 		chain->chChained = (uint16)fileReadItemID(in);
-	} else if (type == 9) {
+	} else if (type == kUserFlagType) {
 		setUserFlag(item, 0, in->readUint16BE());
 		setUserFlag(item, 1, in->readUint16BE());
 		setUserFlag(item, 2, in->readUint16BE());
 		setUserFlag(item, 3, in->readUint16BE());
-	} else if (type == 255) {
-		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, 255, sizeof(SubInherit));
+	} else if (type == kInheritType) {
+		SubInherit *inherit = (SubInherit *)allocateChildBlock(item, kInheritType, sizeof(SubInherit));
 		inherit->inMaster = (uint16)fileReadItemID(in);
 	} else {
 		error("readItemChildren: invalid type %d", type);

Modified: scummvm/trunk/engines/agos/rooms.cpp
===================================================================
--- scummvm/trunk/engines/agos/rooms.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/rooms.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -49,7 +49,7 @@
 	uint16 mask = 3;
 	uint16 n;
 
-	SubRoom *subRoom = (SubRoom *)findChildOfType(item, 1);
+	SubRoom *subRoom = (SubRoom *)findChildOfType(item, kRoomType);
 	if (subRoom == NULL)
 	    return 0;
 
@@ -66,7 +66,7 @@
 	uint16 x;
 	uint16 y = 0;
 
-	subRoom = (SubRoom *)findChildOfType(item, 1);
+	subRoom = (SubRoom *)findChildOfType(item, kRoomType);
 	if (subRoom == NULL)
 		return 0;
 	x = d;
@@ -93,7 +93,7 @@
 	uint16 d1;
 	uint16 y = 0;
 
-	r = (SubRoom *)findChildOfType(i, 1);
+	r = (SubRoom *)findChildOfType(i, kRoomType);
 	if (r == NULL)
 	    return;
 	d1 = d;
@@ -107,7 +107,7 @@
 	j = derefItem(r->roomExit[d1]);
 	if (j == NULL)
 		return;
-	r1 = (SubRoom *)findChildOfType(j, 1);
+	r1 = (SubRoom *)findChildOfType(j, kRoomType);
 	if (r1 == NULL)
 	    return;
 	d = getBackExit(d);
@@ -130,7 +130,7 @@
 	SubGenExit *g;
 	Item *x;
 
-	g = (SubGenExit *)findChildOfType(i, 4);
+	g = (SubGenExit *)findChildOfType(i, kGenExitType);
 	if (g == NULL)
 		return 0;
 
@@ -146,7 +146,7 @@
 	SubGenExit *g;
 	Item *x;
 
-	g = (SubGenExit *)findChildOfType(item, 4);
+	g = (SubGenExit *)findChildOfType(item, kGenExitType);
 	if (g == NULL)
 		return 0;
 
@@ -192,10 +192,10 @@
 		return;
 
 	p = derefItem(i->parent);
-	if (findChildOfType(p, 4)) {
+	if (findChildOfType(p, kSuperRoomType)) {
 		n = getExitState(p, _superRoomNumber,x);
 		if (n == 1) {
-			sr = (SubSuperRoom *)findChildOfType(p, 4);
+			sr = (SubSuperRoom *)findChildOfType(p, kSuperRoomType);
 			switch (x) {
 				case 0: a = -(sr->roomX); break;
 				case 1: a = 1; break;
@@ -319,7 +319,7 @@
 	uint16 mask = 3;
 	uint16 n;
 
-	sr = (SubSuperRoom *)findChildOfType(i, 4);
+	sr = (SubSuperRoom *)findChildOfType(i, kSuperRoomType);
 	if (sr == NULL)
 	    return 0;
 
@@ -331,7 +331,7 @@
 }
 
 void AGOSEngine_Elvira2::setExitState(Item *i, uint16 n, uint16 d, uint16 s) {
-	SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4);
+	SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, kSuperRoomType);
 	if (sr)
 		changeExitStates(sr, n, d, s);
 }
@@ -339,7 +339,7 @@
 void AGOSEngine_Elvira2::setSRExit(Item *i, int n, int d, uint16 s) {
 	uint16 mask = 3;
 
-	SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4);
+	SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, kSuperRoomType);
 	if (sr) {
 		n--;
 		d <<= 1;

Modified: scummvm/trunk/engines/agos/saveload.cpp
===================================================================
--- scummvm/trunk/engines/agos/saveload.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/saveload.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -999,13 +999,13 @@
 		item->state = f->readUint16BE();
 		item->classFlags = f->readUint16BE();
 
-		SubObject *o = (SubObject *)findChildOfType(item, 2);
+		SubObject *o = (SubObject *)findChildOfType(item, kObjectType);
 		if (o) {
 			o->objectSize = f->readUint16BE();
 			o->objectWeight = f->readUint16BE();
 		}
 
-		SubPlayer *p = (SubPlayer *)findChildOfType(item, 3);
+		SubPlayer *p = (SubPlayer *)findChildOfType(item, kPlayerType);
 		if (p) {
 			p->score = f->readUint32BE();
 			p->level = f->readUint16BE();
@@ -1014,7 +1014,7 @@
 			p->strength = f->readUint16BE();
 		}
 
-		SubUserFlag *u = (SubUserFlag *) findChildOfType(item, 9);
+		SubUserFlag *u = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 		if (u) {
 			for (i = 0; i != 8; i++) {
 				u->userFlags[i] = f->readUint16BE();
@@ -1083,13 +1083,13 @@
 		f->writeUint16BE(item->state);
 		f->writeUint16BE(item->classFlags);
 
-		SubObject *o = (SubObject *)findChildOfType(item, 2);
+		SubObject *o = (SubObject *)findChildOfType(item, kObjectType);
 		if (o) {
 			f->writeUint16BE(o->objectSize);
 			f->writeUint16BE(o->objectWeight);
 		}
 
-		SubPlayer *p = (SubPlayer *)findChildOfType(item, 3);
+		SubPlayer *p = (SubPlayer *)findChildOfType(item, kPlayerType);
 		if (p) {
 			f->writeUint32BE(p->score);
 			f->writeUint16BE(p->level);
@@ -1098,7 +1098,7 @@
 			f->writeUint16BE(p->strength);
 		}
 
-		SubUserFlag *u = (SubUserFlag *) findChildOfType(item, 9);
+		SubUserFlag *u = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 		if (u) {
 			for (i = 0; i != 8; i++) {
 				f->writeUint16BE(u->userFlags[i]);
@@ -1204,19 +1204,19 @@
 		item->state = f->readUint16BE();
 		item->classFlags = f->readUint16BE();
 
-		SubRoom *r = (SubRoom *)findChildOfType(item, 1);
+		SubRoom *r = (SubRoom *)findChildOfType(item, kRoomType);
 		if (r) {
 			r->roomExitStates = f->readUint16BE();
 		}
 
-		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
+		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, kSuperRoomType);
 		if (sr) {
 			uint16 n = sr->roomX * sr->roomY * sr->roomZ;
  			for (i = j = 0; i != n; i++)
 				sr->roomExitStates[j++] = f->readUint16BE();
 		}
 
-		SubObject *o = (SubObject *)findChildOfType(item, 2);
+		SubObject *o = (SubObject *)findChildOfType(item, kObjectType);
 		if (o) {
 			o->objectFlags = f->readUint32BE();
 			i = o->objectFlags & 1;
@@ -1228,7 +1228,7 @@
 			}
 		}
 
-		SubUserFlag *u = (SubUserFlag *) findChildOfType(item, 9);
+		SubUserFlag *u = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 		if (u) {
 			for (i = 0; i != 4; i++) {
 				u->userFlags[i] = f->readUint16BE();
@@ -1345,19 +1345,19 @@
 		f->writeUint16BE(item->state);
 		f->writeUint16BE(item->classFlags);
 
-		SubRoom *r = (SubRoom *)findChildOfType(item, 1);
+		SubRoom *r = (SubRoom *)findChildOfType(item, kRoomType);
 		if (r) {
 			f->writeUint16BE(r->roomExitStates);
 		}
 
-		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
+		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, kSuperRoomType);
 		if (sr) {
 			uint16 n = sr->roomX * sr->roomY * sr->roomZ;
  			for (i = j = 0; i != n; i++)
 				f->writeUint16BE(sr->roomExitStates[j++]);
 		}
 
-		SubObject *o = (SubObject *)findChildOfType(item, 2);
+		SubObject *o = (SubObject *)findChildOfType(item, kObjectType);
 		if (o) {
 			f->writeUint32BE(o->objectFlags);
 			i = o->objectFlags & 1;
@@ -1369,7 +1369,7 @@
 			}
 		}
 
-		SubUserFlag *u = (SubUserFlag *)findChildOfType(item, 9);
+		SubUserFlag *u = (SubUserFlag *)findChildOfType(item, kUserFlagType);
 		if (u) {
 			for (i = 0; i != 4; i++) {
 				f->writeUint16BE(u->userFlags[i]);

Modified: scummvm/trunk/engines/agos/script.cpp
===================================================================
--- scummvm/trunk/engines/agos/script.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -206,7 +206,7 @@
 
 void AGOSEngine::o_oflag() {
 	// 28: item has prop
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	uint num = getVarOrByte();
 	setScriptCondition(subObject != NULL && (subObject->objectFlags & (1 << num)) != 0);
 }
@@ -326,7 +326,7 @@
 
 void AGOSEngine::o_oset() {
 	// 56: set child2 fr bit
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	int value = getVarOrByte();
 	if (subObject != NULL && value >= 16)
 		subObject->objectFlags |= (1 << value);
@@ -334,7 +334,7 @@
 
 void AGOSEngine::o_oclear() {
 	// 57: clear child2 fr bit
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	int value = getVarOrByte();
 	if (subObject != NULL && value >= 16)
 		subObject->objectFlags &= ~(1 << value);
@@ -426,7 +426,7 @@
 
 void AGOSEngine::o_isCalled() {
 	// 79: childstruct fr2 is
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	uint stringId = getNextStringID();
 	setScriptCondition((subObject != NULL) && subObject->objectName == stringId);
 }
@@ -985,10 +985,10 @@
 }
 
 void AGOSEngine::synchChain(Item *i) {
-	SubChain *c = (SubChain *)findChildOfType(i, 8);
+	SubChain *c = (SubChain *)findChildOfType(i, kChainType);
 	while (c) {
 		setItemState(derefItem(c->chChained), i->state);
-		c = (SubChain *)nextSub((Child *)c, 8);
+		c = (SubChain *)nextSub((Child *)c, kChainType);
 	}
 }
 

Modified: scummvm/trunk/engines/agos/script_e1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e1.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script_e1.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -419,7 +419,7 @@
 void AGOSEngine_Elvira1::oe1_worn() {
 	// 4: worn
 	Item *item = getNextItemPtr();
-	SubObject *subObject = (SubObject *)findChildOfType(item, 2);
+	SubObject *subObject = (SubObject *)findChildOfType(item, kObjectType);
 
 	if (item->parent != getItem1ID() || subObject == NULL)
 		setScriptCondition(false);
@@ -430,7 +430,7 @@
 void AGOSEngine_Elvira1::oe1_notWorn() {
 	// 5: not worn
 	Item *item = getNextItemPtr();
-	SubObject *subObject = (SubObject *)findChildOfType(item, 2);
+	SubObject *subObject = (SubObject *)findChildOfType(item, kObjectType);
 
 	if (item->parent != getItem1ID() || subObject == NULL)
 		setScriptCondition(false);
@@ -532,7 +532,7 @@
 
 void AGOSEngine_Elvira1::oe1_score() {
 	// 90: score
-	SubPlayer *p = (SubPlayer *) findChildOfType(me(), 3);
+	SubPlayer *p = (SubPlayer *)findChildOfType(me(), kPlayerType);
 	showMessageFormat("Your score is %ld.\n", p->score);
 }
 
@@ -542,9 +542,9 @@
 	if (i == NULL)
 		return;
 
-	SubRoom *r = (SubRoom *)findChildOfType(i, 1);
-	SubObject *o = (SubObject *)findChildOfType(i, 2);
-	SubPlayer *p = (SubPlayer *)findChildOfType(i, 3);
+	SubRoom *r = (SubRoom *)findChildOfType(i, kRoomType);
+	SubObject *o = (SubObject *)findChildOfType(i, kObjectType);
+	SubPlayer *p = (SubPlayer *)findChildOfType(i, kPlayerType);
 	if (p == NULL)
 		return;
 
@@ -594,7 +594,7 @@
 
 void AGOSEngine_Elvira1::oe1_pObj() {
 	// 112: print object
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	getVarOrWord();
 
 	if (subObject != NULL)
@@ -624,7 +624,7 @@
 
 void AGOSEngine_Elvira1::oe1_cFlag() {
 	// 162: check container flag
-	SubContainer *c = (SubContainer *)findChildOfType(getNextItemPtr(), 7);
+	SubContainer *c = (SubContainer *)findChildOfType(getNextItemPtr(), kContainerType);
 	uint bit = getVarOrWord();
 
 	if (c == NULL)
@@ -678,7 +678,7 @@
 	int16 f = getVarOrWord();
 	int16 ct = 0;
 
-	c = (SubChain *)findChildOfType(d, 8);
+	c = (SubChain *)findChildOfType(d, kChainType);
 	if (c)
 		a = derefItem(c->chChained);
 	while (ct < 6) {
@@ -986,7 +986,7 @@
 }
 
 int16 AGOSEngine::levelOf(Item *item) {
-	SubPlayer *p = (SubPlayer *) findChildOfType(item, 3);
+	SubPlayer *p = (SubPlayer *)findChildOfType(item, kPlayerType);
 	if (p == NULL)
 		return 0;
 
@@ -998,7 +998,7 @@
 	i = derefItem(i->next);
 
 	while (i) {
-		o = (SubObject *)findChildOfType(i, 2);
+		o = (SubObject *)findChildOfType(i, kObjectType);
 		if ((o) && (o->objectFlags & 1))
 			goto l1;
 		if (i != me())
@@ -1014,7 +1014,7 @@
 	SubObject *o;
 
 	while (i) {
-		o = (SubObject *)findChildOfType(i, 2);
+		o = (SubObject *)findChildOfType(i, kObjectType);
 		if ((o) && (o->objectFlags & 1))
 			goto l1;
 		if (i == me())

Modified: scummvm/trunk/engines/agos/script_e2.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e2.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script_e2.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -309,7 +309,7 @@
 
 void AGOSEngine_Elvira2::oe2_pObj() {
 	// 73: print object
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 
 	if (subObject != NULL && subObject->objectFlags & kOFText)
 		showMessageFormat("%s\n", (const char *)getStringPtrByID(subObject->objectFlagValue[0])); // Difference
@@ -348,7 +348,7 @@
 	// 143: start item sub
 	Item *i = getNextItemPtr();
 
-	SubRoom *r = (SubRoom *)findChildOfType(i, 1);
+	SubRoom *r = (SubRoom *)findChildOfType(i, kRoomType);
 	if (r != NULL) {
 		Subroutine *sub = getSubroutineByID(r->subroutine_id);
 		if (sub) {
@@ -358,7 +358,7 @@
 	}
 
 	if (getGameType() == GType_ELVIRA2) {
-		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4);
+		SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, kSuperRoomType);
 		if (sr != NULL) {
 			Subroutine *sub = getSubroutineByID(sr->subroutine_id);
 			if (sub) {
@@ -485,7 +485,7 @@
 void AGOSEngine_Elvira2::oe2_getOValue() {
 	// 157: get item int prop
 	Item *item = getNextItemPtr();
-	SubObject *subObject = (SubObject *)findChildOfType(item, 2);
+	SubObject *subObject = (SubObject *)findChildOfType(item, kObjectType);
 	uint prop = getVarOrByte();
 
 	if (subObject != NULL && subObject->objectFlags & (1 << prop) && prop < 16) {
@@ -499,7 +499,7 @@
 void AGOSEngine_Elvira2::oe2_setOValue() {
 	// 158: set item prop
 	Item *item = getNextItemPtr();
-	SubObject *subObject = (SubObject *)findChildOfType(item, 2);
+	SubObject *subObject = (SubObject *)findChildOfType(item, kObjectType);
 	uint prop = getVarOrByte();
 	int value = getVarOrWord();
 

Modified: scummvm/trunk/engines/agos/script_ff.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_ff.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script_ff.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -528,7 +528,7 @@
 	TextLocation *tl = NULL;
 	char buf[256];
 
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	if (subObject != NULL && subObject->objectFlags & kOFText) {
 		string_ptr = (const char *)getStringPtrByID(subObject->objectFlagValue[0]);
 		tl = getTextLocation(vgaSpriteId);

Modified: scummvm/trunk/engines/agos/script_s1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_s1.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script_s1.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -419,7 +419,7 @@
 	uint vgaSpriteId = getVarOrByte();
 	uint color = getVarOrByte();
 
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 	if (getFeatures() & GF_TALKIE) {
 		if (subObject != NULL && subObject->objectFlags & kOFVoice) {
 			uint offs = getOffsetOfChild2Param(subObject, kOFVoice);

Modified: scummvm/trunk/engines/agos/script_ww.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_ww.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/script_ww.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -419,7 +419,7 @@
 
 void AGOSEngine_Waxworks::oww_boxPObj() {
 	// 188: print object name to box
-	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+	SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), kObjectType);
 
 	if (subObject != NULL && subObject->objectFlags & kOFText)
 		boxTextMsg((const char *)getStringPtrByID(subObject->objectFlagValue[0]));

Modified: scummvm/trunk/engines/agos/string.cpp
===================================================================
--- scummvm/trunk/engines/agos/string.cpp	2007-06-30 16:11:20 UTC (rev 27791)
+++ scummvm/trunk/engines/agos/string.cpp	2007-06-30 16:25:59 UTC (rev 27792)
@@ -274,7 +274,7 @@
 	if (item == 0 || item == _dummyItem2 || item == _dummyItem3)
 		return false;
 
-	subObject = (SubObject *)findChildOfType(item, 2);
+	subObject = (SubObject *)findChildOfType(item, kObjectType);
 	if (subObject == NULL)
 		return false;
 


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