From f4e2cda89dc7d627ad6d1f6b91b3892cdacd2620 Mon Sep 17 00:00:00 2001 From: strangerke Date: Tue, 29 Mar 2011 21:14:16 +0200 Subject: [PATCH] TSAGE: Cast fmt into a SceneObject in Scene7700. This makes the drawers useable, even if there's still a problem with _globals->_parent._field8C (the animation displayed is always a closing drawer) --- engines/tsage/ringworld_scenes8.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/engines/tsage/ringworld_scenes8.cpp b/engines/tsage/ringworld_scenes8.cpp index 8dda2a8738d..dc28dc6ba7b 100644 --- a/engines/tsage/ringworld_scenes8.cpp +++ b/engines/tsage/ringworld_scenes8.cpp @@ -1591,25 +1591,20 @@ void Scene7600::postInit(SceneObjectList *OwnerList) { void Scene7700::Action1::signal() { Scene7700 *scene = (Scene7700 *)_globals->_sceneManager._scene; - warning("TODO: Scene7700::Action1::signal - Find the SceneObject behind _fmt"); - + SceneObject *fmtObj = (SceneObject *) _fmt; switch (_actionIndex++) { case 0: { PlayerMover *mover1 = new PlayerMover(); -// Common::Point pt = Common::Point(_fmt._position.x, _fmt._position.y + 30); - Common::Point pt = Common::Point(scene->_object1._position.x, scene->_object1._position.y + 30); + Common::Point pt = Common::Point(fmtObj->_position.x, fmtObj->_position.y + 30); _globals->_player.addMover(mover1, &pt, this); break; } case 1: -// _globals->_player.checkAngle(&_fmt); - _globals->_player.checkAngle(&scene->_object1); + _globals->_player.checkAngle(fmtObj); if (_globals->_player._field8C == 0) -// _fmt.animate(ANIM_MODE_5, this); - scene->_object1.animate(ANIM_MODE_5, this); + fmtObj->animate(ANIM_MODE_5, this); else -// _fmt.animate(ANIM_MODE_6, this); - scene->_object1.animate(ANIM_MODE_6, this); + fmtObj->animate(ANIM_MODE_6, this); break; case 2: remove();