aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/agi.cpp
diff options
context:
space:
mode:
authorJussi Pitkanen2011-06-13 22:15:13 +0300
committerEugene Sandulenko2011-08-13 23:26:51 +0100
commita4e0cd53f01afeac9f6cf0467a6b4174bf64215e (patch)
tree147a8c9b9fac4bb7a32877f46be32add92fd859f /engines/agi/agi.cpp
parente1153cf11fd0ddddfdc326d0ff677799fd0bb4db (diff)
downloadscummvm-rg350-a4e0cd53f01afeac9f6cf0467a6b4174bf64215e.tar.gz
scummvm-rg350-a4e0cd53f01afeac9f6cf0467a6b4174bf64215e.tar.bz2
scummvm-rg350-a4e0cd53f01afeac9f6cf0467a6b4174bf64215e.zip
AGI: Refactor interpreter core (somewhat akin to SCI)
* Instruction tables are now defined in opcodes.{cpp,h}. * Move opcode handlers from Agi::AgiEngine to Agi * Opcode handlers take as parameter a pointer to AGI state (AgiGame)
Diffstat (limited to 'engines/agi/agi.cpp')
-rw-r--r--engines/agi/agi.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 0eefbab04d..4cb45e8b20 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -536,6 +536,8 @@ AgiEngine::AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) : AgiBas
memset(&_debug, 0, sizeof(struct AgiDebug));
memset(&_mouse, 0, sizeof(struct Mouse));
+ _game._vm = this;
+
_game.clockEnabled = false;
_game.state = STATE_INIT;
@@ -571,7 +573,7 @@ AgiEngine::AgiEngine(OSystem *syst, const AGIGameDescription *gameDesc) : AgiBas
_game.controllerOccured[i] = false;
setupOpcodes();
- _curLogic = NULL;
+ _game._curLogic = NULL;
_timerHack = 0;
}