diff options
-rw-r--r-- | engines/tsage/ringworld_scenes1.cpp | 23 | ||||
-rw-r--r-- | engines/tsage/ringworld_scenes1.h | 25 |
2 files changed, 25 insertions, 23 deletions
diff --git a/engines/tsage/ringworld_scenes1.cpp b/engines/tsage/ringworld_scenes1.cpp index 4497d6af75..c78bc12d94 100644 --- a/engines/tsage/ringworld_scenes1.cpp +++ b/engines/tsage/ringworld_scenes1.cpp @@ -622,6 +622,29 @@ void Scene20::signal() { * *--------------------------------------------------------------------------*/ +void Scene30::BeamObject::doAction(int action) { + if (action == OBJECT_SCANNER) + display(30, 14, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); + else if (action == CURSOR_LOOK) + display(30, 2, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); + else if (action == CURSOR_USE) { + Scene30 *parent = (Scene30 *)_globals->_sceneManager._scene; + parent->setAction(&parent->_beamAction); + } else + SceneObject::doAction(action); +} + +void Scene30::DoorObject::doAction(int action) { + if (action == OBJECT_SCANNER) + display(30, 13, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); + else if (action == CURSOR_LOOK) + display(30, 1, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); + else if (action == CURSOR_USE) + display(30, 7, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); + else + SceneObject::doAction(action); +} + void Scene30::BeamAction::signal() { Scene30 *scene = (Scene30 *)_globals->_sceneManager._scene; diff --git a/engines/tsage/ringworld_scenes1.h b/engines/tsage/ringworld_scenes1.h index b567aeea2d..66f7282684 100644 --- a/engines/tsage/ringworld_scenes1.h +++ b/engines/tsage/ringworld_scenes1.h @@ -114,34 +114,13 @@ class Scene30 : public Scene { // Doorway beam sensor class BeamObject : public SceneObject { public: - virtual void doAction(int action) { - if (action == OBJECT_SCANNER) - display(30, 14, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); - else if (action == CURSOR_LOOK) - display(30, 2, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); - else if (action == CURSOR_USE) { - Scene30 *parent = (Scene30 *)_globals->_sceneManager._scene; - parent->setAction(&parent->_beamAction); - } else - SceneObject::doAction(action); - } + virtual void doAction(int action); }; - // Doorway object class DoorObject : public SceneObject { public: - virtual void doAction(int action) { - if (action == OBJECT_SCANNER) - display(30, 13, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); - else if (action == CURSOR_LOOK) - display(30, 1, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); - else if (action == CURSOR_USE) - display(30, 7, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END); - else - SceneObject::doAction(action); - } + virtual void doAction(int action); }; - // Kzin object class KzinObject : public SceneObject { public: |