From b21534b5d11db2022c3dbdf94000f9f035a66853 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 7 Oct 2013 17:30:25 -0400 Subject: TSAGE: Fixes for not allowing walk cursor to be selected when walking disabled --- engines/tsage/core.cpp | 4 ++-- engines/tsage/ringworld2/ringworld2_dialogs.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 8 +++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 22c7e32492..488eacceab 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -4259,11 +4259,11 @@ void SceneHandler::process(Event &event) { g_vm->_debugger->onFrame(); } - if ((event.eventType == EVENT_KEYPRESS) && g_globals->_player._enabled && g_globals->_player._canWalk) { + if ((event.eventType == EVENT_KEYPRESS) && g_globals->_player._enabled) { // Keyboard shortcuts for different actions switch (event.kbd.keycode) { case Common::KEYCODE_w: - g_globals->_events.setCursor(CURSOR_WALK); + g_globals->_events.setCursor(GLOBALS._player._canWalk ? CURSOR_WALK : CURSOR_USE); event.handled = true; break; case Common::KEYCODE_l: diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp index 057d91a46e..4ebbdd602d 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp +++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp @@ -165,7 +165,7 @@ void RightClickDialog::execute() { break; case 1: // Walk action - cursorNum = CURSOR_WALK; + cursorNum = R2_GLOBALS._player._canWalk ? CURSOR_WALK : CURSOR_USE; break; case 2: // Use action diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index fb67c9e181..fb7e42f643 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -3281,7 +3281,7 @@ void Scene300::postInit(SceneObjectList *OwnerList) { _mirandaWorkstation1.setDetails(Rect(4, 128, 69, 167), 300, 33, 31, 35, 1, NULL); switch (R2_GLOBALS._player._characterIndex) { - case 1: + case R2_QUINN: _miranda.postInit(); _miranda.setup(302, 2, 1); _miranda.setPosition(Common::Point(47, 128)); @@ -3303,7 +3303,7 @@ void Scene300::postInit(SceneObjectList *OwnerList) { R2_GLOBALS._player.disableControl(); break; - case 2: + case R2_SEEKER: _miranda.postInit(); _miranda.setup(302, 2, 1); _miranda.setPosition(Common::Point(47, 128)); @@ -3323,9 +3323,10 @@ void Scene300::postInit(SceneObjectList *OwnerList) { R2_GLOBALS._player.setPosition(Common::Point(158, 108)); R2_GLOBALS._player.fixPriority(130); R2_GLOBALS._player.enableControl(CURSOR_USE); + R2_GLOBALS._player._canWalk = false; break; - case 3: + case R2_MIRANDA: if ((R2_GLOBALS._player._characterScene[R2_SEEKER] == 300) || (R2_GLOBALS._player._characterScene[R2_SEEKER] == 325)) { _seeker.postInit(); _seeker.setVisage(302); @@ -3347,6 +3348,7 @@ void Scene300::postInit(SceneObjectList *OwnerList) { R2_GLOBALS._player.setup(302, 2, 1); R2_GLOBALS._player.setPosition(Common::Point(47, 128)); R2_GLOBALS._player.enableControl(CURSOR_USE); + R2_GLOBALS._player._canWalk = false; break; default: -- cgit v1.2.3