aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_scripts.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2010-12-26 14:31:03 +0000
committerBastien Bouclet2010-12-26 14:31:03 +0000
commit6cd890aaac265654b3cad9af9ed3b6ca9de17cdb (patch)
tree25c02867b300d3a270378a648d3bda17c7d1e501 /engines/mohawk/myst_scripts.cpp
parent98783a15e870802e95b83d92bc85bbf66d5a7aa3 (diff)
downloadscummvm-rg350-6cd890aaac265654b3cad9af9ed3b6ca9de17cdb.tar.gz
scummvm-rg350-6cd890aaac265654b3cad9af9ed3b6ca9de17cdb.tar.bz2
scummvm-rg350-6cd890aaac265654b3cad9af9ed3b6ca9de17cdb.zip
MOHAWK: Merge classes MystVariables and MystSaveLoad to form MystGameState
svn-id: r55041
Diffstat (limited to 'engines/mohawk/myst_scripts.cpp')
-rw-r--r--engines/mohawk/myst_scripts.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index bf1aadcea0..f463014e61 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -27,7 +27,6 @@
#include "mohawk/myst.h"
#include "mohawk/graphics.h"
#include "mohawk/myst_areas.h"
-#include "mohawk/myst_saveload.h"
#include "mohawk/myst_scripts.h"
#include "mohawk/sound.h"
#include "mohawk/video.h"
@@ -79,7 +78,9 @@ const uint16 MystScriptParser::_startCard[11] = {
// NOTE: Credits Start Card is 10000
-MystScriptParser::MystScriptParser(MohawkEngine_Myst *vm) : _vm(vm) {
+MystScriptParser::MystScriptParser(MohawkEngine_Myst *vm) :
+ _vm(vm),
+ _globals(vm->_gameState->_globals) {
setupCommonOpcodes();
_invokingResource = NULL;
_savedCardId = 0;
@@ -225,13 +226,11 @@ MystScript MystScriptParser::readScript(Common::SeekableReadStream *stream, Myst
}
uint16 MystScriptParser::getVar(uint16 var) {
- MystVariables::Globals &globals = _vm->_saveLoad->_v->globals;
-
switch(var) {
case 105:
return _tempVar;
case 106:
- return globals.ending;
+ return _globals.ending;
default:
warning("Unimplemented var getter 0x%02x (%d)", var, var);
return _vm->_varStore->getVar(var);
@@ -333,22 +332,20 @@ void MystScriptParser::o_changeCardSwitch(uint16 op, uint16 var, uint16 argc, ui
}
void MystScriptParser::o_takePage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
- MystVariables::Globals &globals = _vm->_saveLoad->_v->globals;
-
uint16 cursorId = argv[0];
- uint16 oldPage = globals.heldPage;
+ uint16 oldPage = _globals.heldPage;
debugC(kDebugScript, "Opcode %d: takePage Var %d CursorId %d", op, var, cursorId);
// Take / drop page
toggleVar(var);
- if (oldPage != globals.heldPage) {
+ if (oldPage != _globals.heldPage) {
_vm->_cursor->hideCursor();
_vm->redrawArea(var);
// Set new cursor
- if (globals.heldPage)
+ if (_globals.heldPage)
_vm->setMainCursor(cursorId);
else
_vm->setMainCursor(kDefaultMystCursor);