[Scummvm-cvs-logs] SF.net SVN: scummvm: [21699] scummvm/trunk/engines/cine

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sat Apr 8 12:27:05 CEST 2006


Revision: 21699
Author:   eriktorbjorn
Date:     2006-04-08 12:26:15 -0700 (Sat, 08 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21699&view=rev

Log Message:
-----------
Some more Operation Stealth changes. Mostly stubs.

Modified Paths:
--------------
    scummvm/trunk/engines/cine/main_loop.cpp
    scummvm/trunk/engines/cine/script.cpp
    scummvm/trunk/engines/cine/script.h
    scummvm/trunk/engines/cine/various.cpp
Modified: scummvm/trunk/engines/cine/main_loop.cpp
===================================================================
--- scummvm/trunk/engines/cine/main_loop.cpp	2006-04-08 17:51:20 UTC (rev 21698)
+++ scummvm/trunk/engines/cine/main_loop.cpp	2006-04-08 19:26:15 UTC (rev 21699)
@@ -245,6 +245,9 @@
 	unloadAllMasks();
 	freePrcLinkedList();
 	releaseObjectScripts();
+	// if (gameType == Cine::GID_OS) {
+	// 	freeUnkList();
+	// }
 	closeEngine7();
 	closePart();
 }

Modified: scummvm/trunk/engines/cine/script.cpp
===================================================================
--- scummvm/trunk/engines/cine/script.cpp	2006-04-08 17:51:20 UTC (rev 21698)
+++ scummvm/trunk/engines/cine/script.cpp	2006-04-08 19:26:15 UTC (rev 21699)
@@ -357,14 +357,14 @@
 		o1_stopSample,
 		o1_op71,
 		o1_op72,
-		o1_op73,
+		o1_op72,
 		/* 74 */
 		NULL,
 		NULL,
 		NULL,
 		o1_playSample,
 		/* 78 */
-		o1_playSample,
+		o2_op78,
 		o1_allowSystemMenu,
 		o1_loadMask5,
 		o1_unloadMask5,
@@ -400,7 +400,7 @@
 		NULL,
 		/* 94 */
 		NULL,
-		o2_op95,
+		o1_changeDataDisk,
 		NULL,
 		NULL,
 		/* 98 */
@@ -419,13 +419,13 @@
 		o2_opA2,
 		o2_opA3,
 		/* A4 */
-		o2_opA4,
-		o2_opA5,
+		o2_loadMask22,
+		o2_unloadMask22,
 		NULL,
 		NULL,
 		/* A8 */
 		NULL,
-		o2_opA9
+		o1_changeDataDisk
 	};
 
 	if (gameType == Cine::GID_FW) {
@@ -1689,6 +1689,11 @@
 
 void o1_op63() {
 	warning("STUB: o1_op63()");
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	// setupScreenParam
 }
 
 void o1_op64() {
@@ -1763,14 +1768,24 @@
 
 void o1_op71() {
 	warning("STUB: o1_op71()");
+	getNextByte();
+	getNextWord();
 }
 
 void o1_op72() {
 	warning("STUB: o1_op72()");
+	getNextWord();
+	getNextByte();
+	getNextWord();
 }
 
 void o1_op73() {
+	// I believe this opcode is identical to o1_op72(). In fact, Operation
+	// Stealth doesn't even have it. It uses o1_op72() instead.
 	warning("STUB: o1_op73()");
+	getNextWord();
+	getNextByte();
+	getNextWord();
 }
 
 void o1_playSample() {
@@ -1839,6 +1854,12 @@
 	DEBUG_SCRIPT(_currentLine, "loadPart(\"%s\")", param);
 }
 
+void o2_op78() {
+	warning("STUB: o2_op78()");
+	// This is probably wrong, but preserve the old behaviour for now.
+	o1_playSample();
+}
+
 void o2_addSeqListElement() {
 	byte param1 = getNextByte();
 	byte param2 = getNextByte();
@@ -1862,10 +1883,14 @@
 
 void o2_op81() {
 	warning("STUB: o2_op81()");
+	// freeUnkList();
 }
 
 void o2_op82() {
 	warning("STUB: o2_op82()");
+	getNextByte();
+	getNextByte();
+	getNextWord();
 }
 
 void o2_isSeqRunning() {
@@ -1975,6 +2000,15 @@
 
 void o2_op8D() {
 	warning("STUB: o2_op8D()");
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	// _currentScriptElement->compareResult = ...
 }
 
 void o2_addBackground() {
@@ -2031,20 +2065,28 @@
 	}
 }
 
-void o2_op95() {
-	warning("STUB: o2_op95()");
-}
-
 void o2_wasZoneChecked() {
 	warning("STUB: o2_wasZoneChecked()");
 }
 
 void o2_op9B() {
-	warning("STUB: o2_9B()");
+	warning("STUB: o2_op9B()");
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
 }
 
 void o2_op9C() {
-	warning("STUB: o2_9C()");
+	warning("STUB: o2_op9C()");
+	getNextWord();
+	getNextWord();
+	getNextWord();
+	getNextWord();
 }
 
 void o2_useBgScroll() {
@@ -2077,6 +2119,8 @@
 
 void o2_op9F() {
 	warning("o2_op9F()");
+	getNextWord();
+	getNextWord();
 }
 
 void o2_addGfxElementA0() {
@@ -2088,30 +2132,38 @@
 }
 
 void o2_opA1() {
-	_currentPosition += 4;
 	warning("STUB: o2_opA1()");
+	getNextWord();
+	getNextWord();
+	// removeGfxElementA0( ... );
 }
 
 void o2_opA2() {
-	_currentPosition += 4;
 	warning("STUB: o2_opA2()");
+	getNextWord();
+	getNextWord();
+	// addGfxElementA2();
 }
 
 void o2_opA3() {
-	_currentPosition += 4;
 	warning("STUB: o2_opA3()");
+	getNextWord();
+	getNextWord();
+	// removeGfxElementA2();
 }
 
-void o2_opA4() {
-	warning("STUB: o2_opA4()");
-}
+void o2_loadMask22() {
+	byte param = getNextByte();
 
-void o2_opA5() {
-	warning("STUB: o2_opA5()");
+	DEBUG_SCRIPT(_currentLine, "addOverlay22(%d)", param);
+	loadOverlayElement(param, 22);
 }
 
-void o2_opA9() {
-	warning("STUB: o2_opA9()");
+void o2_unloadMask22() {
+	byte param = getNextByte();
+
+	DEBUG_SCRIPT(_currentLine, "removeOverlay22(%d)", param);
+	freeOverlay(param, 22);
 }
 
 // ------------------------------------------------------------------------

Modified: scummvm/trunk/engines/cine/script.h
===================================================================
--- scummvm/trunk/engines/cine/script.h	2006-04-08 17:51:20 UTC (rev 21698)
+++ scummvm/trunk/engines/cine/script.h	2006-04-08 19:26:15 UTC (rev 21699)
@@ -146,6 +146,7 @@
 void o2_loadPart();
 void o2_addSeqListElement();
 void o2_removeSeq();
+void o2_op78(); 
 void o2_op81();
 void o2_op82();
 void o2_isSeqRunning();
@@ -162,7 +163,6 @@
 void o2_removeBackground();
 void o2_loadAbs();
 void o2_loadBg();
-void o2_op95();
 void o2_wasZoneChecked();
 void o2_op9B();
 void o2_op9C();
@@ -173,9 +173,8 @@
 void o2_opA1();
 void o2_opA2();
 void o2_opA3();
-void o2_opA4();
-void o2_opA5();
-void o2_opA9();
+void o2_loadMask22();
+void o2_unloadMask22();
 
 } // End of namespace Cine
 

Modified: scummvm/trunk/engines/cine/various.cpp
===================================================================
--- scummvm/trunk/engines/cine/various.cpp	2006-04-08 17:51:20 UTC (rev 21698)
+++ scummvm/trunk/engines/cine/various.cpp	2006-04-08 19:26:15 UTC (rev 21699)
@@ -510,6 +510,9 @@
 	g_sfxPlayer->stop();
 	freeAnimDataTable();
 	unloadAllMasks();
+	// if (gameType == Cine::GID_OS) {
+	// 	freeUnkList();
+	// }
 	freePrcLinkedList();
 	releaseObjectScripts();
 	closeEngine7();


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