aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Skovlund2011-05-27 17:34:43 +0200
committerLars Skovlund2011-05-27 17:34:43 +0200
commitcb990e68a170f354a7e3e2db3be05e0a2ce46a04 (patch)
tree5379c28e3c8b42bf2d75875d575503cec33cddbe
parentff62a6050aedca96e69cb284c5406833e59ca588 (diff)
downloadscummvm-rg350-cb990e68a170f354a7e3e2db3be05e0a2ce46a04.tar.gz
scummvm-rg350-cb990e68a170f354a7e3e2db3be05e0a2ce46a04.tar.bz2
scummvm-rg350-cb990e68a170f354a7e3e2db3be05e0a2ce46a04.zip
SCI: Fix access to variables (gc_interval etc.) from the console
-rw-r--r--engines/sci/console.cpp3
-rw-r--r--engines/sci/sci.cpp5
2 files changed, 6 insertions, 2 deletions
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index e6b5c3c1d4..ac87b3f6f6 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -74,6 +74,9 @@ static int parse_reg_t(EngineState *s, const char *str, reg_t *dest, bool mayBeV
Console::Console(SciEngine *engine) : GUI::Debugger(),
_engine(engine), _debugState(engine->_debugState) {
+ assert(_engine);
+ assert(_engine->_gamestate);
+
// Variables
DVar_Register("sleeptime_factor", &g_debug_sleeptime_factor, DVAR_INT, 0);
DVar_Register("gc_interval", &engine->_gamestate->scriptGCInterval, DVAR_INT, 0);
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index cf46d41382..cc9042ceb7 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -213,8 +213,6 @@ Common::Error SciEngine::run() {
_gfxScreen = new GfxScreen(_resMan);
_gfxScreen->enableUndithering(ConfMan.getBool("disable_dithering"));
- // Create debugger console. It requires GFX to be initialized
- _console = new Console(this);
_kernel = new Kernel(_resMan, segMan);
_features = new GameFeatures(segMan, _kernel);
@@ -227,6 +225,9 @@ Common::Error SciEngine::run() {
_gamestate = new EngineState(segMan);
_eventMan = new EventManager(_resMan->detectFontExtended());
+ // Create debugger console. It requires GFX and _gamestate to be initialized
+ _console = new Console(this);
+
// The game needs to be initialized before the graphics system is initialized, as
// the graphics code checks parts of the seg manager upon initialization (e.g. for
// the presence of the fastCast object)