diff options
author | johndoe123 | 2011-09-19 13:00:54 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:39:39 +0200 |
commit | 17ad070a9c6c0fd86d1f60d90b331eb59b19cf7b (patch) | |
tree | 965633e6ee46a54448335727fd6fbf2186042647 /engines/neverhood/module.cpp | |
parent | a4c34cedd5b7e97104cfb53b90f9808c4204dcf1 (diff) | |
download | scummvm-rg350-17ad070a9c6c0fd86d1f60d90b331eb59b19cf7b.tar.gz scummvm-rg350-17ad070a9c6c0fd86d1f60d90b331eb59b19cf7b.tar.bz2 scummvm-rg350-17ad070a9c6c0fd86d1f60d90b331eb59b19cf7b.zip |
NEVERHOOD: Move createSceneXXX/updateSceneXXX methods
They are merged into createScene and updateScene for the other already
implemented modules (I hope I didn't break too much :)
Diffstat (limited to 'engines/neverhood/module.cpp')
-rw-r--r-- | engines/neverhood/module.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/neverhood/module.cpp b/engines/neverhood/module.cpp index 78775ceba1..c58c924c3a 100644 --- a/engines/neverhood/module.cpp +++ b/engines/neverhood/module.cpp @@ -28,7 +28,7 @@ namespace Neverhood { Module::Module(NeverhoodEngine *vm, Module *parentModule) : Entity(vm, 0), _parentModule(parentModule), _childObject(NULL), - _done(false) { + _done(false), _sceneType(kSceneTypeNormal) { SetMessageHandler(&Module::handleMessage); @@ -71,11 +71,13 @@ NavigationScene *Module::navigationScene() { } void Module::createNavigationScene(uint32 navigationListId, int navigationIndex, const byte *itemsTypes) { + _sceneType = kSceneTypeNavigation; _childObject = new NavigationScene(_vm, this, navigationListId, navigationIndex, itemsTypes); } void Module::createSmackerScene(uint32 fileHash, bool doubleSurface, bool flag1, bool canAbort) { SmackerScene *smackerScene; + _sceneType = kSceneTypeSmacker; smackerScene = new SmackerScene(_vm, this, doubleSurface, flag1, canAbort); smackerScene->setFileHash(fileHash); smackerScene->nextVideo(); @@ -87,8 +89,12 @@ bool Module::updateChild() { _childObject->handleUpdate(); if (_done) { _done = false; + // Save the last area type if it's a NavigationScene for further processing + if (_sceneType == kSceneTypeNavigation) + _navigationAreaType = navigationScene()->getNavigationAreaType(); delete _childObject; _childObject = NULL; + _sceneType = kSceneTypeNormal; return false; } } |