diff options
author | Paul Gilbert | 2011-10-22 00:54:23 +1100 |
---|---|---|
committer | Paul Gilbert | 2011-10-22 08:14:07 +1100 |
commit | 11dc5be873eba16ffd4e4f44137dbab791acb0e3 (patch) | |
tree | bfcd2512d17e6ab086972a972737ecb08e746086 /engines/tsage | |
parent | 5c0ba0f6e2ce78b8855f93cf1690026193e11254 (diff) | |
download | scummvm-rg350-11dc5be873eba16ffd4e4f44137dbab791acb0e3.tar.gz scummvm-rg350-11dc5be873eba16ffd4e4f44137dbab791acb0e3.tar.bz2 scummvm-rg350-11dc5be873eba16ffd4e4f44137dbab791acb0e3.zip |
TSAGE: Cleanup and bugfix to start cutscene in BF Scene 900 on Day 5
Diffstat (limited to 'engines/tsage')
-rw-r--r-- | engines/tsage/blue_force/blueforce_scenes9.cpp | 79 | ||||
-rw-r--r-- | engines/tsage/blue_force/blueforce_scenes9.h | 8 |
2 files changed, 44 insertions, 43 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp index 15541126e8..d4637ca3c9 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.cpp +++ b/engines/tsage/blue_force/blueforce_scenes9.cpp @@ -174,31 +174,29 @@ bool Scene900::Dog::startAction(CursorType action, Event &event) { } } -bool Scene900::Object6::startAction(CursorType action, Event &event) { +bool Scene900::Lyle::startAction(CursorType action, Event &event) { Scene900 *scene = (Scene900 *)BF_GLOBALS._sceneManager._scene; if (action == CURSOR_TALK) { - if (BF_GLOBALS._sceneManager._sceneLoadCount == 0) { - if (!_action) { - if (scene->_dog._flag) { - if (BF_GLOBALS._v4CEC0 == 0) - scene->_stripManager.start(9004, &BF_GLOBALS._stripProxy); - else { - if (scene->_door._flag == 1) { - if (BF_GLOBALS._v4CEC0 == 2) - scene->_stripManager.start(9005, &BF_GLOBALS._stripProxy); - else - scene->_stripManager.start(9001, &BF_GLOBALS._stripProxy); - } else + if (!_action) { + if (scene->_dog._flag) { + if (BF_GLOBALS._v4CEC0 == 0) + scene->_stripManager.start(9004, &BF_GLOBALS._stripProxy); + else { + if (scene->_door._flag == 1) { + if (BF_GLOBALS._v4CEC0 == 2) + scene->_stripManager.start(9005, &BF_GLOBALS._stripProxy); + else scene->_stripManager.start(9001, &BF_GLOBALS._stripProxy); - } - } else { - if (scene->_field1974) - scene->_stripManager.start(9003, &BF_GLOBALS._stripProxy); - else { - ++scene->_field1974; - scene->_stripManager.start(9002, &BF_GLOBALS._stripProxy); - } + } else + scene->_stripManager.start(9001, &BF_GLOBALS._stripProxy); + } + } else { + if (scene->_field1974) + scene->_stripManager.start(9003, &BF_GLOBALS._stripProxy); + else { + ++scene->_field1974; + scene->_stripManager.start(9002, &BF_GLOBALS._stripProxy); } } } @@ -207,7 +205,7 @@ bool Scene900::Object6::startAction(CursorType action, Event &event) { return NamedObject::startAction(action, event); } -bool Scene900::Object7::startAction(CursorType action, Event &event) { +bool Scene900::Body::startAction(CursorType action, Event &event) { Scene900 *scene = (Scene900 *)BF_GLOBALS._sceneManager._scene; if (action == CURSOR_USE) { @@ -438,11 +436,11 @@ void Scene900::postInit(SceneObjectList *OwnerList) { } _dog._flag = 0; if (BF_GLOBALS._bookmark >= bFinishedWGreen) { - _object7.postInit(); - _object7.fixPriority(120); - _object7.setVisage(901); - _object7.setPosition(Common::Point(159,128)); - _object7.setDetails(900, 15, 16, 17, ANIM_MODE_1, NULL); + _body.postInit(); + _body.fixPriority(120); + _body.setVisage(901); + _body.setPosition(Common::Point(159,128)); + _body.setDetails(900, 15, 16, 17, ANIM_MODE_1, NULL); } if (BF_GLOBALS._sceneManager._previousScene == 910) { _sceneBounds.moveTo(639, 0); @@ -530,18 +528,21 @@ void Scene900::postInit(SceneObjectList *OwnerList) { setAction(&_sequenceManager1, this, 9013, &BF_GLOBALS._player, &_lyle, NULL); BF_GLOBALS._bookmark = bAmbushed; BF_GLOBALS.setFlag(fWithLyle); - } else if (BF_GLOBALS._bookmark > bFinishedWGreen) { - _lyle.postInit(); - _lyle.setVisage(811); - _lyle.setPosition(Common::Point(780, 153)); - _lyle._moveDiff.y = 7; - _lyle._flags |= 0x1000; - _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, NULL); - _lyle.animate(ANIM_MODE_1, NULL); - _lyle.setObjectWrapper(new SceneObjectWrapper()); - } // no else on purpose - _sceneMode = 9000; - setAction(&_sequenceManager1, this, 9000, &BF_GLOBALS._player, NULL); + } else { + if (BF_GLOBALS._bookmark > bFinishedWGreen) { + _lyle.postInit(); + _lyle.setVisage(811); + _lyle.setPosition(Common::Point(780, 153)); + _lyle._moveDiff.y = 7; + _lyle._flags |= 0x1000; + _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, NULL); + _lyle.animate(ANIM_MODE_1, NULL); + _lyle.setObjectWrapper(new SceneObjectWrapper()); + } + + _sceneMode = 9000; + setAction(&_sequenceManager1, this, 9000, &BF_GLOBALS._player, NULL); + } } else { _door._flag = 0; _door.setFrame(_door.getFrameCount()); diff --git a/engines/tsage/blue_force/blueforce_scenes9.h b/engines/tsage/blue_force/blueforce_scenes9.h index 5f5854f664..2f704a8a00 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.h +++ b/engines/tsage/blue_force/blueforce_scenes9.h @@ -62,11 +62,11 @@ class Scene900: public PalettedScene { public: virtual bool startAction(CursorType action, Event &event); }; - class Object6: public NamedObject { + class Lyle: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; - class Object7: public NamedObject { + class Body: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; @@ -102,8 +102,8 @@ public: NamedHotspot _item3; NamedObject _object4; NamedObject _object5; - Object6 _lyle; - Object7 _object7; + Lyle _lyle; + Body _body; Item4 _item4; ASoundExt _sound1; Action1 _action1; |