aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorPaul Gilbert2011-05-01 20:37:10 +1000
committerPaul Gilbert2011-05-01 20:38:24 +1000
commite1d6b9602c1519bb17386771f1ac5b3cb32e847f (patch)
tree9957f232c97e169475f42cf42bc652c5af8dde47 /engines/tsage
parent77161e231a047da4e9f9dc5912bed28729e8d87d (diff)
downloadscummvm-rg350-e1d6b9602c1519bb17386771f1ac5b3cb32e847f.tar.gz
scummvm-rg350-e1d6b9602c1519bb17386771f1ac5b3cb32e847f.tar.bz2
scummvm-rg350-e1d6b9602c1519bb17386771f1ac5b3cb32e847f.zip
TSAGE: Bugfixes for movement in Scene #9100
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/ringworld_scenes10.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/engines/tsage/ringworld_scenes10.cpp b/engines/tsage/ringworld_scenes10.cpp
index b33a199e17..5bceddc249 100644
--- a/engines/tsage/ringworld_scenes10.cpp
+++ b/engines/tsage/ringworld_scenes10.cpp
@@ -77,16 +77,16 @@ void Scene9100::dispatch() {
if (!_action) {
if (_globals->_player._position.x < 25) {
- if (!_globals->getFlag(11)) {
- scene->_sceneMode = 9106;
- } else {
- scene->_sceneMode = 9108;
+ _globals->_player.disableControl();
+ if (!_globals->getFlag(23) || _globals->getFlag(11))
+ _sceneMode = 9106;
+ else {
+ _sceneMode = 9108;
_globals->setFlag(11);
}
- } else {
- scene->_sceneMode = 9106;
+
+ scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, &_globals->_player, NULL);
}
- scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, &_globals->_player, 0);
} else {
Scene::dispatch();
}
@@ -115,8 +115,6 @@ void Scene9100::signal() {
}
void Scene9100::postInit(SceneObjectList *OwnerList) {
- Scene9100 *scene = (Scene9100 *)_globals->_sceneManager._scene;
-
Scene::postInit();
setZoomPercents(0, 100, 200, 100);
_object1.postInit();
@@ -146,7 +144,7 @@ void Scene9100::postInit(SceneObjectList *OwnerList) {
_object6.setVisage(9111);
_object6.setStrip(6);
_object6.setFrame(1);
- _object6.setPosition(Common::Point(138, 166), 0);
+ _object6.setPosition(Common::Point(138, 166));
_sceneHotspot3.setup(145, 125, 166, 156, 9100, 40, 43);
}
_sceneHotspot1.setup(140, 176, 185, 215, 9100, 36, 37);
@@ -163,17 +161,17 @@ void Scene9100::postInit(SceneObjectList *OwnerList) {
_sceneMode = 9107;
else
_sceneMode = 9109;
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object5, NULL);
} else {
_sceneMode = 9103;
_globals->_player.disableControl();
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, NULL);
_globals->setFlag(20);
}
} else {
_sceneMode = 9102;
_globals->_player.disableControl();
- setAction(&scene->_sequenceManager, scene, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, 0);
+ setAction(&_sequenceManager, this, _sceneMode, &_globals->_player, &_object2, &_object3, &_object4, &_object5, NULL);
}
}