[Scummvm-cvs-logs] SF.net SVN: scummvm:[54982] scummvm/trunk/engines/mohawk/myst_stacks

tdhs at users.sourceforge.net tdhs at users.sourceforge.net
Tue Dec 21 02:09:14 CET 2010


Revision: 54982
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54982&view=rev
Author:   tdhs
Date:     2010-12-21 01:09:14 +0000 (Tue, 21 Dec 2010)

Log Message:
-----------
MOHAWK: Add Framework of getVar(), setVar() and toggleVar() to Myst Stoneship Script Parser.

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/myst_stacks/stoneship.cpp
    scummvm/trunk/engines/mohawk/myst_stacks/stoneship.h

Modified: scummvm/trunk/engines/mohawk/myst_stacks/stoneship.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_stacks/stoneship.cpp	2010-12-20 21:46:28 UTC (rev 54981)
+++ scummvm/trunk/engines/mohawk/myst_stacks/stoneship.cpp	2010-12-21 01:09:14 UTC (rev 54982)
@@ -26,6 +26,7 @@
 #include "mohawk/myst.h"
 #include "mohawk/graphics.h"
 #include "mohawk/myst_areas.h"
+#include "mohawk/myst_saveload.h"
 #include "mohawk/sound.h"
 #include "mohawk/video.h"
 #include "mohawk/myst_stacks/stoneship.h"
@@ -90,6 +91,90 @@
 	opcode_209_run();
 }
 
+uint16 MystScriptParser_Stoneship::getVar(uint16 var) {
+	MystVariables::Globals &globals = _vm->_saveLoad->_v->globals;
+	MystVariables::Stoneship &stoneship = _vm->_saveLoad->_v->stoneship;
+
+	switch(var) {
+//case 0: // Water Drained From Lighthouse / Right Button Of Pump
+//	return 0; // Water Present / Button Dark
+//	return 1; // Water Drained / Button Lit & Released
+//	return 2; // Button Lit & Depressed
+//case 1: // Water Drained From Tunnels To Brothers' Rooms / Middle Button Of Pump
+//	return 0; // Water Present / Button Dark
+//	return 1; // Water Drained / Button Lit & Released
+//	return 2; // Button Lit & Depressed
+//case 2: // Water Drained From Ship Cabin Tunnel / Left Button Of Pump
+//	return 0; // Water Present / Button Dark
+//	return 1; // Water Drained / Button Lit & Released
+//	return 2; // Button Lit & Depressed
+//case 3: // Lighthouse Chest Floating(?)
+//	return 0;
+//	return 1;
+//case 4: // Lighthouse State - Close Up
+//	return 0; // Flooded
+//	return 1; // Drained
+//	return 2; // Flooded, Chest Floating
+//case 5: // Lighthouse Trapdoor State
+//	return 0; // Closed, No Lock
+//	return 1; // Open
+//	return 2; // Closed, Lock
+//case 7:
+//	return;
+//case 11:
+//	return;
+//case 12:
+//	return;
+//case 13: // State Of Tunnels To Brothers' Rooms - Close Up
+//	return 0; Dark, Flooded
+//	return 1; Dark, Drained
+//	return 2; Lit, Flooded
+//	return 3; Lit, Drained
+//case 14: // State Of Tunnels To Brothers' Rooms - Far
+//	return 0; // Lights Off
+//	return 1; // Lights On
+//	return 2; // Lights Off
+//case 16: // Ship Chamber Light State
+//	return 0; // Off
+//	return 1; // On
+//case 20: // Ship Chamber Table/Book State
+//	return 0;
+//	return 1;
+//case 28: // Telescope Angle Position
+//	return;
+//case 36: // Ship Chamber Door State
+//	return 0; // Closed
+//	return 1; // Open, Light Off
+//	return 2; // Open, Light On
+	default:
+		return MystScriptParser::getVar(var);
+	}
+}
+
+void MystScriptParser_Stoneship::toggleVar(uint16 var) {
+	MystVariables::Globals &globals = _vm->_saveLoad->_v->globals;
+	MystVariables::Stoneship &stoneship = _vm->_saveLoad->_v->stoneship;
+
+	switch(var) {
+	default:
+		MystScriptParser::toggleVar(var);
+		break;
+	}
+}
+
+bool MystScriptParser_Stoneship::setVarValue(uint16 var, uint16 value) {
+	MystVariables::Stoneship &stoneship = _vm->_saveLoad->_v->stoneship;
+	bool refresh = false;
+
+	switch (var) {
+	default:
+		refresh = MystScriptParser::setVarValue(var, value);
+		break;
+	}
+
+	return refresh;
+}
+
 void MystScriptParser_Stoneship::opcode_100(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
 	// Used for Cards 2185 (Water Pump)
 	varUnusedCheck(op, var);

Modified: scummvm/trunk/engines/mohawk/myst_stacks/stoneship.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst_stacks/stoneship.h	2010-12-20 21:46:28 UTC (rev 54981)
+++ scummvm/trunk/engines/mohawk/myst_stacks/stoneship.h	2010-12-21 01:09:14 UTC (rev 54982)
@@ -47,6 +47,9 @@
 
 private:
 	void setupOpcodes();
+	uint16 getVar(uint16 var);
+	void toggleVar(uint16 var);
+	bool setVarValue(uint16 var, uint16 value);
 
 	void opcode_200_run();
 	void opcode_200_disable();


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