[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.503,2.504 script_v100he.cpp,2.158,2.159 script_v5.cpp,1.285,1.286 script_v6.cpp,1.440,1.441 script_v6he.cpp,2.158,2.159 script_v72he.cpp,2.298,2.299 script_v7he.cpp,2.157,2.158 script_v8.cpp,2.293,2.294 script_v80he.cpp,2.118,2.119 script_v90he.cpp,2.263,2.264

kirben kirben at users.sourceforge.net
Sat May 28 01:38:31 CEST 2005


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

Modified Files:
	intern.h script_v100he.cpp script_v5.cpp script_v6.cpp 
	script_v6he.cpp script_v72he.cpp script_v7he.cpp script_v8.cpp 
	script_v80he.cpp script_v90he.cpp 
Log Message:

Sync opcode names and add HE72+ version of o_systemOps.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.503
retrieving revision 2.504
diff -u -d -r2.503 -r2.504
--- intern.h	26 May 2005 16:39:39 -0000	2.503
+++ intern.h	28 May 2005 08:37:34 -0000	2.504
@@ -161,7 +161,7 @@
 	void o5_putActor();
 	void o5_putActorAtObject();
 	void o5_putActorInRoom();
-	void o5_quitPauseRestart();
+	void o5_systemOps();
 	void o5_resourceRoutines();
 	void o5_roomOps();
 	void o5_saveLoadGame();
@@ -671,7 +671,7 @@
 	void o6_getActorAnimCounter1();
 	void o6_soundKludge();
 	void o6_isAnyOf();
-	void o6_quitPauseRestart();
+	void o6_systemOps();
 	void o6_isActorInBox();
 	void o6_delay();
 	void o6_delaySeconds();
@@ -839,7 +839,7 @@
 	void o70_pickupObject();
 	void o70_getActorRoom();
 	void o70_resourceRoutines();
-	void o70_quitPauseRestart();
+	void o70_systemOps();
 	void o70_kernelSetFunctions();
 	void o70_seekFilePos();
 	void o70_copyString();
@@ -978,6 +978,7 @@
 	void o72_verbOps();
 	void o72_findObject();
 	void o72_arrayOps();
+	void o72_systemOps();
 	void o72_talkActor();
 	void o72_talkEgo();
 	void o72_dimArray();
@@ -1249,7 +1250,7 @@
 	void o100_startSound();
 	void o100_setSpriteInfo();
 	void o100_startScript();
-	void o100_quitPauseRestart();
+	void o100_systemOps();
 	void o100_cursorCommand();
 	void o100_wait();
 	void o100_writeFile();
@@ -1363,7 +1364,7 @@
 	void o8_cameraOps();
 	void o8_verbOps();
 	
-	void o8_system();
+	void o8_systemOps();
 	void o8_startVideo();
 	void o8_kernelSetFunctions();
 	void o8_kernelGetFunctions();

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.158
retrieving revision 2.159
diff -u -d -r2.158 -r2.159
--- script_v100he.cpp	23 May 2005 11:50:35 -0000	2.158
+++ script_v100he.cpp	28 May 2005 08:37:36 -0000	2.159
@@ -212,7 +212,7 @@
 		OPCODE(o6_wordArrayIndexedWrite),
 		OPCODE(o6_sub),
 		/* 88 */
-		OPCODE(o100_quitPauseRestart),
+		OPCODE(o100_systemOps),
 		OPCODE(o6_invalid),
 		OPCODE(o72_setTimer),
 		OPCODE(o100_cursorCommand),
@@ -2052,7 +2052,7 @@
 	runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args);
 }
 
-void ScummEngine_v100he::o100_quitPauseRestart() {
+void ScummEngine_v100he::o100_systemOps() {
 	byte subOp = fetchScriptByte();
 	subOp -= 61;
 
@@ -2072,7 +2072,7 @@
 		// Update palette
 		break;
 	default:
-		error("o100_quitPauseRestart invalid case %d", subOp);
+		error("o100_systemOps invalid case %d", subOp);
 	}
 }
 

Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.285
retrieving revision 1.286
diff -u -d -r1.285 -r1.286
--- script_v5.cpp	10 May 2005 23:17:33 -0000	1.285
+++ script_v5.cpp	28 May 2005 08:37:36 -0000	1.286
@@ -229,7 +229,7 @@
 		OPCODE(o5_getRandomNr),
 		OPCODE(o5_and),
 		/* 98 */
-		OPCODE(o5_quitPauseRestart),
+		OPCODE(o5_systemOps),
 		OPCODE(o5_doSentence),
 		OPCODE(o5_move),
 		OPCODE(o5_multiply),
@@ -1673,7 +1673,7 @@
 		a->putActor(0, 0, 0);
 }
 
-void ScummEngine_v5::o5_quitPauseRestart() {
+void ScummEngine_v5::o5_systemOps() {
 	byte subOp = fetchScriptByte();
 	switch (subOp) {
 	case 1:		// SO_RESTART
@@ -1686,7 +1686,7 @@
 		shutDown();
 		break;
 	default:
-		error("o5_quitPauseRestart: unknown subopcode %d", subOp);
+		error("o5_systemOps: unknown subopcode %d", subOp);
 	}
 }
 

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.440
retrieving revision 1.441
diff -u -d -r1.440 -r1.441
--- script_v6.cpp	26 May 2005 01:46:26 -0000	1.440
+++ script_v6.cpp	28 May 2005 08:37:43 -0000	1.441
@@ -266,7 +266,7 @@
 		/* AC */
 		OPCODE(o6_soundKludge),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o6_quitPauseRestart),
+		OPCODE(o6_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),
@@ -2266,7 +2266,7 @@
 	push(0);
 }
 
-void ScummEngine_v6::o6_quitPauseRestart() {
+void ScummEngine_v6::o6_systemOps() {
 	byte subOp = fetchScriptByte();
 	switch (subOp) {
 	case 158:		// SO_RESTART
@@ -2279,7 +2279,7 @@
 		shutDown();
 		break;
 	default:
-		error("o6_quitPauseRestart invalid case %d", subOp);
+		error("o6_systemOps invalid case %d", subOp);
 	}
 }
 

Index: script_v6he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6he.cpp,v
retrieving revision 2.158
retrieving revision 2.159
diff -u -d -r2.158 -r2.159
--- script_v6he.cpp	26 May 2005 14:14:28 -0000	2.158
+++ script_v6he.cpp	28 May 2005 08:37:43 -0000	2.159
@@ -285,7 +285,7 @@
 		/* AC */
 		OPCODE(o6_invalid),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o6_quitPauseRestart),
+		OPCODE(o6_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.298
retrieving revision 2.299
diff -u -d -r2.298 -r2.299
--- script_v72he.cpp	23 May 2005 03:33:08 -0000	2.298
+++ script_v72he.cpp	28 May 2005 08:37:43 -0000	2.299
@@ -261,7 +261,7 @@
 		/* AC */
 		OPCODE(o6_invalid),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o70_quitPauseRestart),
+		OPCODE(o72_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),
@@ -1563,6 +1563,42 @@
 	}
 }
 
+void ScummEngine_v72he::o72_systemOps() {
+	byte string[1024];
+
+	byte subOp = fetchScriptByte();
+
+	switch (subOp) {
+	case 22: // HE80+
+		clearDrawObjectQueue();
+		break;
+	case 26: // HE80+
+		gdi.copyVirtScreenBuffers(Common::Rect(_screenWidth, _screenHeight));
+		updatePalette();
+		break;
+	case 158:
+		restart();
+		break;
+	case 160:
+		// Confirm shutdown
+		shutDown();
+		break;
+	case 244:
+		shutDown();
+		break;
+	case 251:
+		copyScriptString(string, sizeof(string));
+		debug(0, "Start executable (%s)", string);
+		break;
+	case 252:
+		copyScriptString(string, sizeof(string));
+		debug(0, "Start game (%s)", string);
+		break;
+	default:
+		error("o72_systemOps invalid case %d", subOp);
+	}
+}
+
 void ScummEngine_v72he::o72_talkActor() {
 	Actor *a;
 

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.157
retrieving revision 2.158
diff -u -d -r2.157 -r2.158
--- script_v7he.cpp	26 May 2005 14:14:30 -0000	2.157
+++ script_v7he.cpp	28 May 2005 08:37:43 -0000	2.158
@@ -259,7 +259,7 @@
 		/* AC */
 		OPCODE(o6_invalid),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o70_quitPauseRestart),
+		OPCODE(o70_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),
@@ -666,41 +666,51 @@
 	}
 }
 
-void ScummEngine_v70he::o70_quitPauseRestart() {
+void ScummEngine_v70he::o70_systemOps() {
+	byte *src, string[256];
+	int id, len;
+
 	byte subOp = fetchScriptByte();
-	int par1;
 
 	switch (subOp) {
-	case 22: // HE80+
-		clearDrawObjectQueue();
-		break;
-	case 26: // HE80+
-		// Clear screen
-		// Update palette
-		break;
-	case 158:		// SO_RESTART
+	case 158:
 		restart();
 		break;
 	case 160:
-		// FIXME: check
+		// Confirm shutdown
 		shutDown();
 		break;
-	case 250:
-		par1 = pop();
-		warning("stub: o70_quitPauseRestart subOpcode %d", subOp);
-		break;
-	case 253:
-		par1 = pop();
-		warning("stub: o70_quitPauseRestart subOpcode %d", subOp);
-	case 244:		// SO_QUIT
+	case 244:
 		shutDown();
 		break;
+	case 250:
+		id = pop();
+		src = getStringAddress(id);
+		len = resStrLen(src) + 1;
+		memcpy(string, src, len);
+		debug(0, "Start executable (%s)", string);
+		break;
 	case 251:
+		convertMessageToString(_scriptPointer, string, sizeof(string));
+		len = resStrLen(_scriptPointer);
+		_scriptPointer += len + 1;
+		debug(0, "Start executable (%s)", string);
+		break;
 	case 252:
-		warning("stub: o70_quitPauseRestart subOpcode %d", subOp);
+		convertMessageToString(_scriptPointer, string, sizeof(string));
+		len = resStrLen(_scriptPointer);
+		_scriptPointer += len + 1;
+		debug(0, "Start game (%s)", string);
+		break;
+	case 253:
+		id = pop();
+		src = getStringAddress(id);
+		len = resStrLen(src) + 1;
+		memcpy(string, src, len);
+		debug(0, "Start game (%s)", string);
 		break;
 	default:
-		warning("o70_quitPauseRestart invalid case %d", subOp);
+		error("o70_systemOps invalid case %d", subOp);
 	}
 }
 

Index: script_v8.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v8.cpp,v
retrieving revision 2.293
retrieving revision 2.294
diff -u -d -r2.293 -r2.294
--- script_v8.cpp	27 May 2005 08:24:42 -0000	2.293
+++ script_v8.cpp	28 May 2005 08:37:43 -0000	2.294
@@ -265,7 +265,7 @@
 		OPCODE(o6_startMusic),
 		OPCODE(o6_stopSound),
 		OPCODE(o6_soundKludge),
-		OPCODE(o8_system),
+		OPCODE(o8_systemOps),
 		/* B4 */
 		OPCODE(o6_saveRestoreVerbs),
 		OPCODE(o6_setObjectName),
@@ -1177,7 +1177,7 @@
 	}
 }
 
-void ScummEngine_v8::o8_system() {
+void ScummEngine_v8::o8_systemOps() {
 	byte subOp = fetchScriptByte();
 	switch (subOp) {
 	case 0x28:		// SO_SYSTEM_RESTART Restart game
@@ -1187,7 +1187,7 @@
 		shutDown();
 		break;
 	default:
-		error("o8_system: invalid case 0x%x", subOp);
+		error("o8_systemOps: invalid case 0x%x", subOp);
 	}
 }
 

Index: script_v80he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v80he.cpp,v
retrieving revision 2.118
retrieving revision 2.119
diff -u -d -r2.118 -r2.119
--- script_v80he.cpp	25 May 2005 12:58:40 -0000	2.118
+++ script_v80he.cpp	28 May 2005 08:37:44 -0000	2.119
@@ -261,7 +261,7 @@
 		/* AC */
 		OPCODE(o80_drawWizPolygon),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o70_quitPauseRestart),
+		OPCODE(o72_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.263
retrieving revision 2.264
diff -u -d -r2.263 -r2.264
--- script_v90he.cpp	23 May 2005 11:50:35 -0000	2.263
+++ script_v90he.cpp	28 May 2005 08:37:44 -0000	2.264
@@ -260,7 +260,7 @@
 		/* AC */
 		OPCODE(o80_drawWizPolygon),
 		OPCODE(o6_isAnyOf),
-		OPCODE(o70_quitPauseRestart),
+		OPCODE(o72_systemOps),
 		OPCODE(o6_isActorInBox),
 		/* B0 */
 		OPCODE(o6_delay),





More information about the Scummvm-git-logs mailing list