diff options
author | Johannes Schickel | 2010-10-13 03:57:44 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-10-13 03:57:44 +0000 |
commit | 75e8452b6e6a2bf4fb2f588aa00b428a60d873b5 (patch) | |
tree | f29541d55309487a94bd1d38e8b53bb3dde9aec6 /engines/m4/mads_scene.cpp | |
parent | 48ee83b88957dab86bc763e9ef21a70179fa8679 (diff) | |
parent | e9f50882ea5b6beeefa994040be9d3bab6a1f107 (diff) | |
download | scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.tar.gz scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.tar.bz2 scummvm-rg350-75e8452b6e6a2bf4fb2f588aa00b428a60d873b5.zip |
OPENGL: Merged from trunk, from rev 52105 to 53396.
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.
Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.
svn-id: r53399
Diffstat (limited to 'engines/m4/mads_scene.cpp')
-rw-r--r-- | engines/m4/mads_scene.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/m4/mads_scene.cpp b/engines/m4/mads_scene.cpp index d44fa2a753..641ee756e3 100644 --- a/engines/m4/mads_scene.cpp +++ b/engines/m4/mads_scene.cpp @@ -62,12 +62,14 @@ void SceneNode::load(Common::SeekableReadStream *stream) { MadsScene::MadsScene(MadsEngine *vm): _sceneResources(), Scene(vm, &_sceneResources), MadsView(this) { _vm = vm; _activeAnimation = NULL; + _animActive = false; MadsView::_bgSurface = Scene::_backgroundSurface; MadsView::_depthSurface = Scene::_walkSurface; _interfaceSurface = new MadsInterfaceView(vm); _showMousePos = false; _mouseMsgIndex = -1; + _previousScene = -1; } MadsScene::~MadsScene() { @@ -174,7 +176,7 @@ void MadsScene::loadScene(int sceneNumber) { // Do any scene specific setup if (_vm->getGameType() == GType_RexNebular) - _sceneLogic.enterScene(); + _sceneLogic.doEnterScene(); // Miscellaneous player setup _madsVm->_player._destPos = _madsVm->_player._destPos; @@ -215,6 +217,7 @@ void MadsScene::leaveScene() { if (_activeAnimation) { delete _activeAnimation; _activeAnimation = NULL; + _animActive = false; } Scene::leaveScene(); @@ -383,6 +386,7 @@ void MadsScene::updateState() { if (((MadsAnimation *) _activeAnimation)->freeFlag() || freeFlag) { delete _activeAnimation; _activeAnimation = NULL; + _animActive = false; } } @@ -454,6 +458,7 @@ void MadsScene::freeAnimation() { delete _activeAnimation; _activeAnimation = NULL; + _animActive = false; } @@ -573,6 +578,7 @@ void MadsScene::loadAnimation(const Common::String &animName, int abortTimers) { MadsAnimation *anim = new MadsAnimation(_vm, this); anim->load(animName.c_str(), abortTimers); _activeAnimation = anim; + _animActive = true; } bool MadsScene::getDepthHighBit(const Common::Point &pt) { |