From a8e56e67c3545cf857f80e81b3e98a278224f421 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Fri, 27 Sep 2019 19:53:33 +0300 Subject: SL-6109 Cleanup, run commands, and preparation for tooltip support --- indra/newview/llviewerinput.cpp | 76 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'indra/newview/llviewerinput.cpp') diff --git a/indra/newview/llviewerinput.cpp b/indra/newview/llviewerinput.cpp index 11f430cda3..eff578cf26 100644 --- a/indra/newview/llviewerinput.cpp +++ b/indra/newview/llviewerinput.cpp @@ -648,6 +648,78 @@ bool start_gesture( EKeystate s ) return true; } +bool run_forward(EKeystate s) +{ + if (KEYSTATE_DOWN == s) + { + gAgent.setAlwaysRun(); + gAgent.setRunning(); + gAgent.sendWalkRun(true); + } + else if(KEYSTATE_UP == s) + { + gAgent.clearAlwaysRun(); + gAgent.clearRunning(); + gAgent.sendWalkRun(false); + } + agent_push_forward(s); + return true; +} + +bool run_backward(EKeystate s) +{ + if (KEYSTATE_DOWN == s) + { + gAgent.setAlwaysRun(); + gAgent.setRunning(); + gAgent.sendWalkRun(true); + } + else if (KEYSTATE_UP == s) + { + gAgent.clearAlwaysRun(); + gAgent.clearRunning(); + gAgent.sendWalkRun(false); + } + agent_push_backward(s); + return true; +} + +bool run_left(EKeystate s) +{ + if (KEYSTATE_DOWN == s) + { + gAgent.setAlwaysRun(); + gAgent.setRunning(); + gAgent.sendWalkRun(true); + } + else if (KEYSTATE_UP == s) + { + gAgent.clearAlwaysRun(); + gAgent.clearRunning(); + gAgent.sendWalkRun(false); + } + agent_slide_left(s); + return true; +} + +bool run_right(EKeystate s) +{ + if (KEYSTATE_DOWN == s) + { + gAgent.setAlwaysRun(); + gAgent.setRunning(); + gAgent.sendWalkRun(true); + } + else if (KEYSTATE_UP == s) + { + gAgent.clearAlwaysRun(); + gAgent.clearRunning(); + gAgent.sendWalkRun(false); + } + agent_slide_right(s); + return true; +} + bool toggle_run(EKeystate s) { if (KEYSTATE_DOWN != s) return true; @@ -789,6 +861,10 @@ REGISTER_KEYBOARD_ACTION("edit_avatar_move_backward", edit_avatar_move_backward) REGISTER_KEYBOARD_ACTION("stop_moving", stop_moving); REGISTER_KEYBOARD_ACTION("start_chat", start_chat); REGISTER_KEYBOARD_ACTION("start_gesture", start_gesture); +REGISTER_KEYBOARD_ACTION("run_forward", run_forward); +REGISTER_KEYBOARD_ACTION("run_backward", run_backward); +REGISTER_KEYBOARD_ACTION("run_left", run_left); +REGISTER_KEYBOARD_ACTION("run_right", run_right); REGISTER_KEYBOARD_ACTION("toggle_run", toggle_run); REGISTER_KEYBOARD_ACTION("toggle_sit", toggle_sit); REGISTER_KEYBOARD_ACTION("toggle_pause_media", toggle_pause_media); -- cgit v1.2.3