aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorstrangerke2011-05-18 01:38:08 +0200
committerstrangerke2011-05-18 01:38:08 +0200
commit0ff48979386a93ba3d68e0c6fb2bacad9000a3d5 (patch)
tree1f994fb1f9ff645195dc7984f9c92c6d25a9b3e6 /engines/tsage
parenta47d2aaa6f38f4d413b5ebc7688ade7c515f6d64 (diff)
downloadscummvm-rg350-0ff48979386a93ba3d68e0c6fb2bacad9000a3d5.tar.gz
scummvm-rg350-0ff48979386a93ba3d68e0c6fb2bacad9000a3d5.tar.bz2
scummvm-rg350-0ff48979386a93ba3d68e0c6fb2bacad9000a3d5.zip
TSAGE: Fix a serie of bugs in scenes 4045 and 4000
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/ringworld_scenes5.cpp14
-rw-r--r--engines/tsage/ringworld_scenes5.h4
2 files changed, 9 insertions, 9 deletions
diff --git a/engines/tsage/ringworld_scenes5.cpp b/engines/tsage/ringworld_scenes5.cpp
index a65a6e1c03..17a682b4fd 100644
--- a/engines/tsage/ringworld_scenes5.cpp
+++ b/engines/tsage/ringworld_scenes5.cpp
@@ -985,7 +985,6 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_globals->_player.enableControl();
if (RING_INVENTORY._ladder._sceneNumber != 4000) {
- _hotspot8.postInit();
_hotspot8.setVisage(4017);
_hotspot8.animate(ANIM_MODE_1, NULL);
_hotspot8.setPosition(Common::Point(199, 188));
@@ -1005,8 +1004,9 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
_olo.setObjectWrapper(new SceneObjectWrapper());
_olo.setPosition(Common::Point(219, 150));
+ _sceneMode = 4010;
_globals->_player.disableControl();
- setAction(&_sequenceManager1, this, 4010, &_globals->_player, NULL);
+ setAction(&_sequenceManager1, this, 4010, &_globals->_player, &_olo, NULL);
}
if (_globals->_stripNum == 4000) {
@@ -1133,6 +1133,10 @@ void Scene4000::postInit(SceneObjectList *OwnerList) {
void Scene4000::signal() {
switch (_sceneMode) {
+ case 4010:
+ _globals->setFlag(38);
+ _olo.remove();
+ // Deliberate fall-through
case 4001:
_globals->_player.enableControl();
break;
@@ -1165,10 +1169,6 @@ void Scene4000::signal() {
case 4009:
_globals->_sceneManager.changeScene(2200);
break;
- case 4010:
- _globals->setFlag(38);
- _olo.remove();
- break;
case 4012:
_globals->_player.checkAngle(&_theTech);
_globals->_sceneManager.changeScene(4025);
@@ -1998,7 +1998,7 @@ void Scene4045::dispatch() {
}
/*--------------------------------------------------------------------------
- * Scene 4000 - Village - Temple
+ * Scene 4050 - Village - Outside
*
*--------------------------------------------------------------------------*/
diff --git a/engines/tsage/ringworld_scenes5.h b/engines/tsage/ringworld_scenes5.h
index 611ed8c4bc..a2991c7283 100644
--- a/engines/tsage/ringworld_scenes5.h
+++ b/engines/tsage/ringworld_scenes5.h
@@ -297,8 +297,8 @@ public:
DisplayHotspot _hotspot7, _hotspot8, _hotspot9, _hotspot10;
DisplayHotspot _hotspot11, _hotspot12, _hotspot13, _hotspot14;
Action1 _action1;
- Action _action2;
- Action _action3;
+ Action2 _action2;
+ Action3 _action3;
Scene4045();
virtual void postInit(SceneObjectList *OwnerList = NULL);