diff options
author | Strangerke | 2012-10-10 08:26:41 +0200 |
---|---|---|
committer | Strangerke | 2012-10-10 08:26:41 +0200 |
commit | b164cbb571fc4e0f2a6f002760a851d8ac592540 (patch) | |
tree | 4d25f2e1f8241f6f3352fd9fb1135f5faa36dfd4 /engines/gob/game.cpp | |
parent | b2f2f8d7b08b40e43702e8db325f8136066f10be (diff) | |
parent | 1e200620d673af4acdd2d128ed6e390df001aacf (diff) | |
download | scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.tar.gz scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.tar.bz2 scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.zip |
Merge branch 'master' of github.com:scummvm/scummvm into mortevielle
Conflicts:
base/plugins.cpp
configure
Diffstat (limited to 'engines/gob/game.cpp')
-rw-r--r-- | engines/gob/game.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp index 502a440005..de0c3f2d5c 100644 --- a/engines/gob/game.cpp +++ b/engines/gob/game.cpp @@ -64,7 +64,7 @@ void Environments::clear() { // Deleting unique variables, script and resources for (uint i = 0; i < kEnvironmentCount; i++) { - if (_environments[i].variables == _vm->_inter->_variables) + if (_vm->_inter && (_environments[i].variables == _vm->_inter->_variables)) continue; if (!has(_environments[i].variables, i + 1)) @@ -167,6 +167,13 @@ bool Environments::has(Resources *resources, uint8 startEnv, int16 except) const return false; } +void Environments::deleted(Variables *variables) { + for (uint i = 0; i < kEnvironmentCount; i++) { + if (_environments[i].variables == variables) + _environments[i].variables = 0; + } +} + bool Environments::clearMedia(uint8 env) { if (env >= kEnvironmentCount) return false; @@ -947,6 +954,10 @@ void Game::switchTotSub(int16 index, int16 function) { _environments.get(_curEnvironment); } +void Game::deletedVars(Variables *variables) { + _environments.deleted(variables); +} + void Game::clearUnusedEnvironment() { if (!_environments.has(_script)) { delete _script; |