[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.193,2.194 script_v72he.cpp,2.13,2.14

Travis Howell kirben at users.sourceforge.net
Tue Aug 24 19:35:06 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25437/scumm

Modified Files:
	intern.h script_v72he.cpp 
Log Message:

Add back change that were reverted by last commit.
Add comment


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.193
retrieving revision 2.194
diff -u -d -r2.193 -r2.194
--- intern.h	25 Aug 2004 02:12:03 -0000	2.193
+++ intern.h	25 Aug 2004 02:34:17 -0000	2.194
@@ -648,9 +648,9 @@
 		int32 type;      //0
 		int32 dim1start; //4
 		int32 dim1end;   //8
-		int32 dim2start; //0c
+		int32 dim2start; //0C
 		int32 dim2end;   //10
-		byte data[1];
+		byte data[1];    //14
 	} GCC_PACK;
 
 #if !defined(__GNUC__)

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.13
retrieving revision 2.14
diff -u -d -r2.13 -r2.14
--- script_v72he.cpp	25 Aug 2004 02:12:03 -0000	2.13
+++ script_v72he.cpp	25 Aug 2004 02:34:17 -0000	2.14
@@ -48,7 +48,7 @@
 		/* 00 */
 		OPCODE(o6_pushByte),
 		OPCODE(o6_pushWord),
-		OPCODE(o6_pushByteVar),
+		OPCODE(o72_pushDWordVar),
 		OPCODE(o6_pushWordVar),
 		/* 04 */
 		OPCODE(o72_getString),
@@ -151,8 +151,8 @@
 		OPCODE(o6_invalid),
 		OPCODE(o6_wordArrayInc),
 		/* 54 */
-		OPCODE(o6_getObjectX),
-		OPCODE(o6_getObjectY),
+		OPCODE(o72_objectX),
+		OPCODE(o72_objectY),
 		OPCODE(o6_byteVarDec),
 		OPCODE(o6_wordVarDec),
 		/* 58 */
@@ -488,6 +488,18 @@
 	}
 }
 
+void ScummEngine_v72he::o72_pushDWordVar() {
+	int a;
+	if (*_lastCodePtr + sizeof(MemBlkHeader) != _scriptOrgPointer) {
+		uint32 oldoffs = _scriptPointer - _scriptOrgPointer;
+		getScriptBaseAddress();
+		_scriptPointer = _scriptOrgPointer + oldoffs;
+	}
+	a = READ_LE_UINT32(_scriptPointer);
+	_scriptPointer += 4;
+	push(a);
+}
+
 void ScummEngine_v72he::o72_getString() {
 	int len;
 	
@@ -504,7 +516,7 @@
 	int value = pop();
 
 	if (num) {
-		for (i = 1; i < 128; i++) {
+		for (i = 1; i < num; i++) {
 			if (args[i] == value) {
 				push(1);
 				break;
@@ -515,6 +527,31 @@
 	}
 }
 
+void ScummEngine_v72he::o72_objectX() {
+	int object = pop();
+	int objnum = getObjectIndex(object);
+
+	if (objnum == -1) {
+		push(0);
+		return;
+	}
+
+	push(_objs[objnum].x_pos);
+}
+
+
+void ScummEngine_v72he::o72_objectY() {
+	int object = pop();
+	int objnum = getObjectIndex(object);
+
+	if (objnum == -1) {
+		push(0);
+		return;
+	}
+
+	push(_objs[objnum].y_pos);
+}
+
 void ScummEngine_v72he::o72_startScript() {
 	int args[16];
 	int script, flags;





More information about the Scummvm-git-logs mailing list