From 4de23007a5485289073fb18d90cbe40f63e56cdc Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Wed, 11 Jan 2012 11:04:12 -0500 Subject: [PATCH] Added crouch toggle, global bool called isCrouch, function agent_toggle_down bound to toggle_down. Shift+crouch=toggle, crouch doesn't work while toggle crouched, at the moment. Formatted keys.ini to be completely aligned. --- indra/newview/app_settings/keys.ini | 424 ++++++++++++++-------------- indra/newview/llagent.cpp | 1 + indra/newview/llappviewer.cpp | 2 + indra/newview/llviewerkeyboard.cpp | 24 +- indra/newview/llviewerkeyboard.h | 2 +- 5 files changed, 239 insertions(+), 214 deletions(-) diff --git a/indra/newview/app_settings/keys.ini b/indra/newview/app_settings/keys.ini index b79e5bf50..2cdc5e8d9 100644 --- a/indra/newview/app_settings/keys.ini +++ b/indra/newview/app_settings/keys.ini @@ -23,13 +23,13 @@ FIRST_PERSON E NONE jump FIRST_PERSON C NONE push_down FIRST_PERSON F NONE toggle_fly -FIRST_PERSON LEFT NONE slide_left -FIRST_PERSON RIGHT NONE slide_right +FIRST_PERSON LEFT NONE slide_left +FIRST_PERSON RIGHT NONE slide_right FIRST_PERSON UP NONE push_forward -FIRST_PERSON DOWN NONE push_backward -FIRST_PERSON PGUP NONE jump -FIRST_PERSON PGDN NONE push_down -FIRST_PERSON HOME NONE toggle_fly +FIRST_PERSON DOWN NONE push_backward +FIRST_PERSON PGUP NONE jump +FIRST_PERSON PGDN NONE push_down +FIRST_PERSON HOME NONE toggle_fly FIRST_PERSON PAD_LEFT NONE slide_left FIRST_PERSON PAD_RIGHT NONE slide_right @@ -47,26 +47,26 @@ FIRST_PERSON D SHIFT slide_right FIRST_PERSON W SHIFT push_forward FIRST_PERSON S SHIFT push_backward FIRST_PERSON E SHIFT jump -FIRST_PERSON C SHIFT push_down +FIRST_PERSON C SHIFT toggle_down FIRST_PERSON F SHIFT toggle_fly -FIRST_PERSON SPACE NONE stop_moving -FIRST_PERSON ENTER NONE start_chat -FIRST_PERSON DIVIDE NONE start_gesture +FIRST_PERSON SPACE NONE stop_moving +FIRST_PERSON ENTER NONE start_chat +FIRST_PERSON DIVIDE NONE start_gesture -FIRST_PERSON LEFT SHIFT slide_left -FIRST_PERSON RIGHT SHIFT slide_right +FIRST_PERSON LEFT SHIFT slide_left +FIRST_PERSON RIGHT SHIFT slide_right FIRST_PERSON UP SHIFT push_forward -FIRST_PERSON DOWN SHIFT push_backward -FIRST_PERSON PGUP SHIFT jump -FIRST_PERSON PGDN SHIFT push_down +FIRST_PERSON DOWN SHIFT push_backward +FIRST_PERSON PGUP SHIFT jump +FIRST_PERSON PGDN SHIFT toggle_down FIRST_PERSON PAD_LEFT SHIFT slide_left FIRST_PERSON PAD_RIGHT SHIFT slide_right FIRST_PERSON PAD_UP SHIFT push_forward FIRST_PERSON PAD_DOWN SHIFT push_backward FIRST_PERSON PAD_PGUP SHIFT jump -FIRST_PERSON PAD_PGDN SHIFT push_down +FIRST_PERSON PAD_PGDN SHIFT toggle_down FIRST_PERSON PAD_HOME SHIFT toggle_fly FIRST_PERSON PAD_ENTER SHIFT start_chat FIRST_PERSON PAD_DIVIDE SHIFT start_gesture @@ -82,29 +82,29 @@ THIRD_PERSON S SHIFT push_backward THIRD_PERSON E NONE jump THIRD_PERSON C NONE push_down THIRD_PERSON E SHIFT jump -THIRD_PERSON C SHIFT push_down +THIRD_PERSON C SHIFT toggle_down THIRD_PERSON F NONE toggle_fly THIRD_PERSON F SHIFT toggle_fly -THIRD_PERSON SPACE NONE stop_moving -THIRD_PERSON ENTER NONE start_chat -THIRD_PERSON DIVIDE NONE start_gesture +THIRD_PERSON SPACE NONE stop_moving +THIRD_PERSON ENTER NONE start_chat +THIRD_PERSON DIVIDE NONE start_gesture -THIRD_PERSON LEFT NONE turn_left -THIRD_PERSON LEFT SHIFT slide_left -THIRD_PERSON RIGHT NONE turn_right -THIRD_PERSON RIGHT SHIFT slide_right +THIRD_PERSON LEFT NONE turn_left +THIRD_PERSON LEFT SHIFT slide_left +THIRD_PERSON RIGHT NONE turn_right +THIRD_PERSON RIGHT SHIFT slide_right THIRD_PERSON UP NONE push_forward -THIRD_PERSON DOWN NONE push_backward +THIRD_PERSON DOWN NONE push_backward THIRD_PERSON UP SHIFT push_forward -THIRD_PERSON DOWN SHIFT push_backward -THIRD_PERSON PGUP NONE jump -THIRD_PERSON PGDN NONE push_down -THIRD_PERSON PGUP SHIFT jump -THIRD_PERSON PGDN SHIFT push_down -THIRD_PERSON HOME SHIFT toggle_fly -THIRD_PERSON HOME NONE toggle_fly +THIRD_PERSON DOWN SHIFT push_backward +THIRD_PERSON PGUP NONE jump +THIRD_PERSON PGDN NONE push_down +THIRD_PERSON PGUP SHIFT jump +THIRD_PERSON PGDN SHIFT toggle_down +THIRD_PERSON HOME SHIFT toggle_fly +THIRD_PERSON HOME NONE toggle_fly THIRD_PERSON PAD_LEFT NONE turn_left THIRD_PERSON PAD_LEFT SHIFT slide_left @@ -117,7 +117,7 @@ THIRD_PERSON PAD_DOWN SHIFT push_backward THIRD_PERSON PAD_PGUP NONE jump THIRD_PERSON PAD_PGDN NONE push_down THIRD_PERSON PAD_PGUP SHIFT jump -THIRD_PERSON PAD_PGDN SHIFT push_down +THIRD_PERSON PAD_PGDN SHIFT toggle_down THIRD_PERSON PAD_HOME NONE toggle_fly THIRD_PERSON PAD_HOME SHIFT toggle_fly THIRD_PERSON PAD_CENTER NONE stop_moving @@ -128,52 +128,52 @@ THIRD_PERSON PAD_DIVIDE NONE start_gesture THIRD_PERSON PAD_DIVIDE SHIFT start_gesture # Camera controls in third person on Alt -THIRD_PERSON LEFT ALT spin_around_cw -THIRD_PERSON RIGHT ALT spin_around_ccw -THIRD_PERSON UP ALT move_forward -THIRD_PERSON DOWN ALT move_backward -THIRD_PERSON PGUP ALT spin_over -THIRD_PERSON PGDN ALT spin_under +THIRD_PERSON LEFT ALT spin_around_cw +THIRD_PERSON RIGHT ALT spin_around_ccw +THIRD_PERSON UP ALT move_forward +THIRD_PERSON DOWN ALT move_backward +THIRD_PERSON PGUP ALT spin_over +THIRD_PERSON PGDN ALT spin_under -THIRD_PERSON A ALT spin_around_cw -THIRD_PERSON D ALT spin_around_ccw -THIRD_PERSON W ALT move_forward -THIRD_PERSON S ALT move_backward -THIRD_PERSON E ALT spin_over -THIRD_PERSON C ALT spin_under +THIRD_PERSON A ALT spin_around_cw +THIRD_PERSON D ALT spin_around_ccw +THIRD_PERSON W ALT move_forward +THIRD_PERSON S ALT move_backward +THIRD_PERSON E ALT spin_over +THIRD_PERSON C ALT spin_under -THIRD_PERSON PAD_LEFT ALT spin_around_cw -THIRD_PERSON PAD_RIGHT ALT spin_around_ccw -THIRD_PERSON PAD_UP ALT move_forward -THIRD_PERSON PAD_DOWN ALT move_backward -THIRD_PERSON PAD_PGUP ALT spin_over -THIRD_PERSON PAD_PGDN ALT spin_under -THIRD_PERSON PAD_ENTER ALT start_chat -THIRD_PERSON PAD_DIVIDE ALT start_gesture +THIRD_PERSON PAD_LEFT ALT spin_around_cw +THIRD_PERSON PAD_RIGHT ALT spin_around_ccw +THIRD_PERSON PAD_UP ALT move_forward +THIRD_PERSON PAD_DOWN ALT move_backward +THIRD_PERSON PAD_PGUP ALT spin_over +THIRD_PERSON PAD_PGDN ALT spin_under +THIRD_PERSON PAD_ENTER ALT start_chat +THIRD_PERSON PAD_DIVIDE ALT start_gesture # mimic alt zoom behavior with keyboard only -THIRD_PERSON A CTL_ALT spin_around_cw -THIRD_PERSON D CTL_ALT spin_around_ccw -THIRD_PERSON W CTL_ALT spin_over -THIRD_PERSON S CTL_ALT spin_under -THIRD_PERSON E CTL_ALT spin_over -THIRD_PERSON C CTL_ALT spin_under +THIRD_PERSON A CTL_ALT spin_around_cw +THIRD_PERSON D CTL_ALT spin_around_ccw +THIRD_PERSON W CTL_ALT spin_over +THIRD_PERSON S CTL_ALT spin_under +THIRD_PERSON E CTL_ALT spin_over +THIRD_PERSON C CTL_ALT spin_under -THIRD_PERSON LEFT CTL_ALT spin_around_cw -THIRD_PERSON RIGHT CTL_ALT spin_around_ccw -THIRD_PERSON UP CTL_ALT spin_over -THIRD_PERSON DOWN CTL_ALT spin_under -THIRD_PERSON PGUP CTL_ALT spin_over -THIRD_PERSON PGDN CTL_ALT spin_under +THIRD_PERSON LEFT CTL_ALT spin_around_cw +THIRD_PERSON RIGHT CTL_ALT spin_around_ccw +THIRD_PERSON UP CTL_ALT spin_over +THIRD_PERSON DOWN CTL_ALT spin_under +THIRD_PERSON PGUP CTL_ALT spin_over +THIRD_PERSON PGDN CTL_ALT spin_under -THIRD_PERSON PAD_LEFT CTL_ALT spin_around_cw -THIRD_PERSON PAD_RIGHT CTL_ALT spin_around_ccw -THIRD_PERSON PAD_UP CTL_ALT spin_over -THIRD_PERSON PAD_DOWN CTL_ALT spin_under -THIRD_PERSON PAD_PGUP CTL_ALT spin_over -THIRD_PERSON PAD_PGDN CTL_ALT spin_under -THIRD_PERSON PAD_ENTER CTL_ALT start_chat -THIRD_PERSON PAD_DIVIDE CTL_ALT start_gesture +THIRD_PERSON PAD_LEFT CTL_ALT spin_around_cw +THIRD_PERSON PAD_RIGHT CTL_ALT spin_around_ccw +THIRD_PERSON PAD_UP CTL_ALT spin_over +THIRD_PERSON PAD_DOWN CTL_ALT spin_under +THIRD_PERSON PAD_PGUP CTL_ALT spin_over +THIRD_PERSON PAD_PGDN CTL_ALT spin_under +THIRD_PERSON PAD_ENTER CTL_ALT start_chat +THIRD_PERSON PAD_DIVIDE CTL_ALT start_gesture # Therefore pan on Alt-Shift THIRD_PERSON A CTL_ALT_SHIFT pan_left @@ -181,10 +181,10 @@ THIRD_PERSON D CTL_ALT_SHIFT pan_right THIRD_PERSON W CTL_ALT_SHIFT pan_up THIRD_PERSON S CTL_ALT_SHIFT pan_down -THIRD_PERSON LEFT CTL_ALT_SHIFT pan_left -THIRD_PERSON RIGHT CTL_ALT_SHIFT pan_right +THIRD_PERSON LEFT CTL_ALT_SHIFT pan_left +THIRD_PERSON RIGHT CTL_ALT_SHIFT pan_right THIRD_PERSON UP CTL_ALT_SHIFT pan_up -THIRD_PERSON DOWN CTL_ALT_SHIFT pan_down +THIRD_PERSON DOWN CTL_ALT_SHIFT pan_down THIRD_PERSON PAD_LEFT CTL_ALT_SHIFT pan_left THIRD_PERSON PAD_RIGHT CTL_ALT_SHIFT pan_right @@ -194,164 +194,164 @@ THIRD_PERSON PAD_ENTER CTL_ALT_SHIFT start_chat THIRD_PERSON PAD_DIVIDE CTL_ALT_SHIFT start_gesture # Basic editing camera control -EDIT A NONE spin_around_cw -EDIT D NONE spin_around_ccw -EDIT W NONE move_forward -EDIT S NONE move_backward -EDIT E NONE spin_over -EDIT C NONE spin_under -EDIT ENTER NONE start_chat -EDIT DIVIDE NONE start_gesture -EDIT PAD_ENTER NONE start_chat -EDIT PAD_DIVIDE NONE start_gesture +EDIT A NONE spin_around_cw +EDIT D NONE spin_around_ccw +EDIT W NONE move_forward +EDIT S NONE move_backward +EDIT E NONE spin_over +EDIT C NONE spin_under +EDIT ENTER NONE start_chat +EDIT DIVIDE NONE start_gesture +EDIT PAD_ENTER NONE start_chat +EDIT PAD_DIVIDE NONE start_gesture -EDIT LEFT NONE spin_around_cw -EDIT RIGHT NONE spin_around_ccw -EDIT UP NONE move_forward -EDIT DOWN NONE move_backward -EDIT PGUP NONE spin_over -EDIT PGDN NONE spin_under +EDIT LEFT NONE spin_around_cw +EDIT RIGHT NONE spin_around_ccw +EDIT UP NONE move_forward +EDIT DOWN NONE move_backward +EDIT PGUP NONE spin_over +EDIT PGDN NONE spin_under -EDIT A SHIFT pan_left -EDIT D SHIFT pan_right -EDIT W SHIFT pan_up -EDIT S SHIFT pan_down +EDIT A SHIFT pan_left +EDIT D SHIFT pan_right +EDIT W SHIFT pan_up +EDIT S SHIFT pan_down -EDIT LEFT SHIFT pan_left -EDIT RIGHT SHIFT pan_right -EDIT UP SHIFT pan_up -EDIT DOWN SHIFT pan_down +EDIT LEFT SHIFT pan_left +EDIT RIGHT SHIFT pan_right +EDIT UP SHIFT pan_up +EDIT DOWN SHIFT pan_down # Walking works with ALT held down. -EDIT A ALT slide_left -EDIT D ALT slide_right -EDIT W ALT push_forward -EDIT S ALT push_backward -EDIT E ALT jump -EDIT C ALT push_down +EDIT A ALT slide_left +EDIT D ALT slide_right +EDIT W ALT push_forward +EDIT S ALT push_backward +EDIT E ALT jump +EDIT C ALT push_down -EDIT LEFT ALT slide_left -EDIT RIGHT ALT slide_right -EDIT UP ALT push_forward -EDIT DOWN ALT push_backward -EDIT PGUP ALT jump -EDIT PGDN ALT push_down -EDIT HOME ALT toggle_fly +EDIT LEFT ALT slide_left +EDIT RIGHT ALT slide_right +EDIT UP ALT push_forward +EDIT DOWN ALT push_backward +EDIT PGUP ALT jump +EDIT PGDN ALT push_down +EDIT HOME ALT toggle_fly -EDIT PAD_LEFT ALT slide_left -EDIT PAD_RIGHT ALT slide_right -EDIT PAD_UP ALT push_forward -EDIT PAD_DOWN ALT push_backward -EDIT PAD_PGUP ALT jump -EDIT PAD_PGDN ALT push_down -EDIT PAD_ENTER ALT start_chat -EDIT PAD_DIVIDE ALT start_gesture +EDIT PAD_LEFT ALT slide_left +EDIT PAD_RIGHT ALT slide_right +EDIT PAD_UP ALT push_forward +EDIT PAD_DOWN ALT push_backward +EDIT PAD_PGUP ALT jump +EDIT PAD_PGDN ALT push_down +EDIT PAD_ENTER ALT start_chat +EDIT PAD_DIVIDE ALT start_gesture -SITTING A ALT spin_around_cw -SITTING D ALT spin_around_ccw -SITTING W ALT move_forward -SITTING S ALT move_backward -SITTING E ALT spin_over_sitting -SITTING C ALT spin_under_sitting +SITTING A ALT spin_around_cw +SITTING D ALT spin_around_ccw +SITTING W ALT move_forward +SITTING S ALT move_backward +SITTING E ALT spin_over_sitting +SITTING C ALT spin_under_sitting -SITTING LEFT ALT spin_around_cw -SITTING RIGHT ALT spin_around_ccw -SITTING UP ALT move_forward -SITTING DOWN ALT move_backward -SITTING PGUP ALT spin_over -SITTING PGDN ALT spin_under +SITTING LEFT ALT spin_around_cw +SITTING RIGHT ALT spin_around_ccw +SITTING UP ALT move_forward +SITTING DOWN ALT move_backward +SITTING PGUP ALT spin_over +SITTING PGDN ALT spin_under -SITTING A CTL_ALT spin_around_cw -SITTING D CTL_ALT spin_around_ccw -SITTING W CTL_ALT spin_over -SITTING S CTL_ALT spin_under -SITTING E CTL_ALT spin_over -SITTING C CTL_ALT spin_under +SITTING A CTL_ALT spin_around_cw +SITTING D CTL_ALT spin_around_ccw +SITTING W CTL_ALT spin_over +SITTING S CTL_ALT spin_under +SITTING E CTL_ALT spin_over +SITTING C CTL_ALT spin_under -SITTING LEFT CTL_ALT spin_around_cw -SITTING RIGHT CTL_ALT spin_around_ccw -SITTING UP CTL_ALT spin_over -SITTING DOWN CTL_ALT spin_under -SITTING PGUP CTL_ALT spin_over -SITTING PGDN CTL_ALT spin_under +SITTING LEFT CTL_ALT spin_around_cw +SITTING RIGHT CTL_ALT spin_around_ccw +SITTING UP CTL_ALT spin_over +SITTING DOWN CTL_ALT spin_under +SITTING PGUP CTL_ALT spin_over +SITTING PGDN CTL_ALT spin_under -SITTING A NONE spin_around_cw_sitting -SITTING D NONE spin_around_ccw_sitting -SITTING W NONE move_forward_sitting -SITTING S NONE move_backward_sitting -SITTING E NONE spin_over_sitting -SITTING C NONE spin_under_sitting +SITTING A NONE spin_around_cw_sitting +SITTING D NONE spin_around_ccw_sitting +SITTING W NONE move_forward_sitting +SITTING S NONE move_backward_sitting +SITTING E NONE spin_over_sitting +SITTING C NONE spin_under_sitting -SITTING LEFT NONE spin_around_cw_sitting -SITTING RIGHT NONE spin_around_ccw_sitting -SITTING UP NONE move_forward_sitting -SITTING DOWN NONE move_backward_sitting -SITTING PGUP NONE spin_over_sitting -SITTING PGDN NONE spin_under_sitting +SITTING LEFT NONE spin_around_cw_sitting +SITTING RIGHT NONE spin_around_ccw_sitting +SITTING UP NONE move_forward_sitting +SITTING DOWN NONE move_backward_sitting +SITTING PGUP NONE spin_over_sitting +SITTING PGDN NONE spin_under_sitting -SITTING PAD_LEFT NONE spin_around_cw_sitting -SITTING PAD_RIGHT NONE spin_around_ccw_sitting -SITTING PAD_UP NONE move_forward_sitting -SITTING PAD_DOWN NONE move_backward_sitting -SITTING PAD_PGUP NONE spin_over_sitting -SITTING PAD_PGDN NONE spin_under_sitting -SITTING PAD_CENTER NONE stop_moving -SITTING PAD_ENTER NONE start_chat -SITTING PAD_DIVIDE NONE start_gesture +SITTING PAD_LEFT NONE spin_around_cw_sitting +SITTING PAD_RIGHT NONE spin_around_ccw_sitting +SITTING PAD_UP NONE move_forward_sitting +SITTING PAD_DOWN NONE move_backward_sitting +SITTING PAD_PGUP NONE spin_over_sitting +SITTING PAD_PGDN NONE spin_under_sitting +SITTING PAD_CENTER NONE stop_moving +SITTING PAD_ENTER NONE start_chat +SITTING PAD_DIVIDE NONE start_gesture # these are for passing controls when sitting on vehicles -SITTING A SHIFT slide_left -SITTING D SHIFT slide_right -SITTING LEFT SHIFT slide_left -SITTING RIGHT SHIFT slide_right +SITTING A SHIFT slide_left +SITTING D SHIFT slide_right +SITTING LEFT SHIFT slide_left +SITTING RIGHT SHIFT slide_right -SITTING PAD_LEFT SHIFT slide_left -SITTING PAD_RIGHT SHIFT slide_right -SITTING PAD_ENTER SHIFT start_chat -SITTING PAD_DIVIDE SHIFT start_gesture +SITTING PAD_LEFT SHIFT slide_left +SITTING PAD_RIGHT SHIFT slide_right +SITTING PAD_ENTER SHIFT start_chat +SITTING PAD_DIVIDE SHIFT start_gesture # pan on Alt-Shift -SITTING A CTL_ALT_SHIFT pan_left -SITTING D CTL_ALT_SHIFT pan_right -SITTING W CTL_ALT_SHIFT pan_up -SITTING S CTL_ALT_SHIFT pan_down +SITTING A CTL_ALT_SHIFT pan_left +SITTING D CTL_ALT_SHIFT pan_right +SITTING W CTL_ALT_SHIFT pan_up +SITTING S CTL_ALT_SHIFT pan_down -SITTING LEFT CTL_ALT_SHIFT pan_left -SITTING RIGHT CTL_ALT_SHIFT pan_right -SITTING UP CTL_ALT_SHIFT pan_up -SITTING DOWN CTL_ALT_SHIFT pan_down +SITTING LEFT CTL_ALT_SHIFT pan_left +SITTING RIGHT CTL_ALT_SHIFT pan_right +SITTING UP CTL_ALT_SHIFT pan_up +SITTING DOWN CTL_ALT_SHIFT pan_down -SITTING PAD_LEFT CTL_ALT_SHIFT pan_left -SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right -SITTING PAD_UP CTL_ALT_SHIFT pan_up -SITTING PAD_DOWN CTL_ALT_SHIFT pan_down -SITTING PAD_ENTER CTL_ALT_SHIFT start_chat -SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture +SITTING PAD_LEFT CTL_ALT_SHIFT pan_left +SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right +SITTING PAD_UP CTL_ALT_SHIFT pan_up +SITTING PAD_DOWN CTL_ALT_SHIFT pan_down +SITTING PAD_ENTER CTL_ALT_SHIFT start_chat +SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture -SITTING ENTER NONE start_chat -SITTING DIVIDE NONE start_gesture +SITTING ENTER NONE start_chat +SITTING DIVIDE NONE start_gesture # Avatar editing camera controls -EDIT_AVATAR A NONE edit_avatar_spin_cw -EDIT_AVATAR D NONE edit_avatar_spin_ccw -EDIT_AVATAR W NONE edit_avatar_move_forward -EDIT_AVATAR S NONE edit_avatar_move_backward -EDIT_AVATAR E NONE edit_avatar_spin_over -EDIT_AVATAR C NONE edit_avatar_spin_under -EDIT_AVATAR LEFT NONE edit_avatar_spin_cw -EDIT_AVATAR RIGHT NONE edit_avatar_spin_ccw -EDIT_AVATAR UP NONE edit_avatar_move_forward -EDIT_AVATAR DOWN NONE edit_avatar_move_backward -EDIT_AVATAR PGUP NONE edit_avatar_spin_over -EDIT_AVATAR PGDN NONE edit_avatar_spin_under -EDIT_AVATAR ENTER NONE start_chat -EDIT_AVATAR DIVIDE NONE start_gesture -EDIT_AVATAR PAD_LEFT NONE edit_avatar_spin_cw -EDIT_AVATAR PAD_RIGHT NONE edit_avatar_spin_ccw -EDIT_AVATAR PAD_UP NONE edit_avatar_move_forward -EDIT_AVATAR PAD_DOWN NONE edit_avatar_move_backward -EDIT_AVATAR PAD_PGUP NONE edit_avatar_spin_over -EDIT_AVATAR PAD_PGDN NONE edit_avatar_spin_under -EDIT_AVATAR PAD_ENTER NONE start_chat -EDIT_AVATAR PAD_DIVIDE NONE start_gesture +EDIT_AVATAR A NONE edit_avatar_spin_cw +EDIT_AVATAR D NONE edit_avatar_spin_ccw +EDIT_AVATAR W NONE edit_avatar_move_forward +EDIT_AVATAR S NONE edit_avatar_move_backward +EDIT_AVATAR E NONE edit_avatar_spin_over +EDIT_AVATAR C NONE edit_avatar_spin_under +EDIT_AVATAR LEFT NONE edit_avatar_spin_cw +EDIT_AVATAR RIGHT NONE edit_avatar_spin_ccw +EDIT_AVATAR UP NONE edit_avatar_move_forward +EDIT_AVATAR DOWN NONE edit_avatar_move_backward +EDIT_AVATAR PGUP NONE edit_avatar_spin_over +EDIT_AVATAR PGDN NONE edit_avatar_spin_under +EDIT_AVATAR ENTER NONE start_chat +EDIT_AVATAR DIVIDE NONE start_gesture +EDIT_AVATAR PAD_LEFT NONE edit_avatar_spin_cw +EDIT_AVATAR PAD_RIGHT NONE edit_avatar_spin_ccw +EDIT_AVATAR PAD_UP NONE edit_avatar_move_forward +EDIT_AVATAR PAD_DOWN NONE edit_avatar_move_backward +EDIT_AVATAR PAD_PGUP NONE edit_avatar_spin_over +EDIT_AVATAR PAD_PGDN NONE edit_avatar_spin_under +EDIT_AVATAR PAD_ENTER NONE start_chat +EDIT_AVATAR PAD_DIVIDE NONE start_gesture diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index a2721a511..a80cb3b43 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -69,6 +69,7 @@ #include "llviewercontrol.h" #include "llviewerdisplay.h" #include "llviewerjoystick.h" +#include "llviewerkeyboard.h" //For crouch toggle #include "llviewermediafocus.h" #include "llviewermenu.h" #include "llviewerobjectlist.h" diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2b24eabe0..ed43400df 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1098,6 +1098,8 @@ bool LLAppViewer::mainLoop() && !gFocusMgr.focusLocked()) { joystick->scanJoystick(); + if(isCrouch) + gAgent.moveUp(-1); gKeyboard->scanKeyboard(); } diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp index 622063aa9..e9289ad09 100644 --- a/indra/newview/llviewerkeyboard.cpp +++ b/indra/newview/llviewerkeyboard.cpp @@ -45,6 +45,7 @@ #include "lltoolfocus.h" #include "llviewerwindow.h" #include "llvoavatarself.h" +#include "lllslconstants.h" // // Constants @@ -60,12 +61,14 @@ const F32 YAW_NUDGE_RATE = 0.05f; // fraction of normal speed LLViewerKeyboard gViewerKeyboard; +bool isCrouch = 0; //Shouldn't start crouched. + void agent_jump( EKeystate s ) { if( KEYSTATE_UP == s ) return; F32 time = gKeyboard->getCurKeyElapsedTime(); S32 frame_count = llround(gKeyboard->getCurKeyElapsedFrameCount()); - + if(isCrouch) isCrouch=0; if( time < FLY_TIME || frame_count <= FLY_FRAMES || gAgent.upGrabbed() @@ -79,6 +82,23 @@ void agent_jump( EKeystate s ) gAgent.moveUp(1); } } +void agent_toggle_down( EKeystate s ) +{ + if(KEYSTATE_UP == s) return; + else if(KEYSTATE_DOWN == s && !(gAgent.getControlFlags() & AGENT_SITTING)) + if(isCrouch) isCrouch=0; + else if(!gAgent.getFlying()) + { + isCrouch=1; + gAgent.moveUp(-1); + } + else + gAgent.moveUp(-1); + else + { + gAgent.moveUp(-1); + } +} void agent_push_down( EKeystate s ) { @@ -226,6 +246,7 @@ void agent_toggle_fly( EKeystate s ) if (KEYSTATE_DOWN == s ) { gAgent.toggleFlying(); + if(isCrouch) isCrouch=0; } } @@ -530,6 +551,7 @@ void bind_keyboard_functions() gViewerKeyboard.bindNamedFunction("push_backward", agent_push_backward); gViewerKeyboard.bindNamedFunction("look_up", agent_look_up); gViewerKeyboard.bindNamedFunction("look_down", agent_look_down); + gViewerKeyboard.bindNamedFunction("toggle_down", agent_toggle_down); gViewerKeyboard.bindNamedFunction("toggle_fly", agent_toggle_fly); gViewerKeyboard.bindNamedFunction("turn_left", agent_turn_left); gViewerKeyboard.bindNamedFunction("turn_right", agent_turn_right); diff --git a/indra/newview/llviewerkeyboard.h b/indra/newview/llviewerkeyboard.h index e5d834597..b52b738bd 100644 --- a/indra/newview/llviewerkeyboard.h +++ b/indra/newview/llviewerkeyboard.h @@ -93,5 +93,5 @@ protected: }; extern LLViewerKeyboard gViewerKeyboard; - +extern bool isCrouch; #endif // LL_LLVIEWERKEYBOARD_H