diff --git a/doc/building_windows.md b/doc/building_windows.md index 7ae61cdf5e..1e366b643f 100644 --- a/doc/building_windows.md +++ b/doc/building_windows.md @@ -134,8 +134,6 @@ cd \firestorm git clone https://github.com/FirestormViewer/phoenix-firestorm.git ``` -This can take a bit, it's a rather large download. - ## Prepare third party libraries Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open). diff --git a/indra/newview/app_settings/key_bindings.xml b/indra/newview/app_settings/key_bindings.xml index 9a1e8e753b..94585916b9 100644 --- a/indra/newview/app_settings/key_bindings.xml +++ b/indra/newview/app_settings/key_bindings.xml @@ -35,6 +35,10 @@ + + + + @@ -121,6 +125,11 @@ + + + + + diff --git a/indra/newview/llkeyconflict.cpp b/indra/newview/llkeyconflict.cpp index 666ab4f5d0..215714efed 100644 --- a/indra/newview/llkeyconflict.cpp +++ b/indra/newview/llkeyconflict.cpp @@ -813,6 +813,10 @@ void LLKeyConflictHandler::generatePlaceholders(ESourceMode load_mode) registerTemporaryControl("pan_out"); registerTemporaryControl("spin_around_ccw"); registerTemporaryControl("spin_around_cw"); +// Camera roll key bindings + registerTemporaryControl("roll_left"); + registerTemporaryControl("roll_right"); +// // control_table_contents_editing.xml registerTemporaryControl("edit_avatar_spin_ccw"); diff --git a/indra/newview/llviewerinput.cpp b/indra/newview/llviewerinput.cpp index 198e02db66..9fef4a6272 100644 --- a/indra/newview/llviewerinput.cpp +++ b/indra/newview/llviewerinput.cpp @@ -586,6 +586,24 @@ bool camera_pan_out( EKeystate s ) return true; } +// Camera roll key bindings +bool camera_roll_left( EKeystate s ) +{ + if( KEYSTATE_UP == s ) return true; + gAgentCamera.unlockView(); + gAgentCamera.setRollLeftKey(get_orbit_rate()); + return true; +} + +bool camera_roll_right( EKeystate s ) +{ + if( KEYSTATE_UP == s ) return true; + gAgentCamera.unlockView(); + gAgentCamera.setRollRightKey(get_orbit_rate()); + return true; +} +// + bool camera_move_forward_fast( EKeystate s ) { if( KEYSTATE_UP == s ) return true; @@ -1040,6 +1058,10 @@ REGISTER_KEYBOARD_ACTION("pan_left", camera_pan_left); REGISTER_KEYBOARD_ACTION("pan_right", camera_pan_right); REGISTER_KEYBOARD_ACTION("pan_in", camera_pan_in); REGISTER_KEYBOARD_ACTION("pan_out", camera_pan_out); +// Camera roll key bindings +REGISTER_KEYBOARD_ACTION("roll_left", camera_roll_left); +REGISTER_KEYBOARD_ACTION("roll_right", camera_roll_right); +// REGISTER_KEYBOARD_ACTION("move_forward_fast", camera_move_forward_fast); REGISTER_KEYBOARD_ACTION("move_backward_fast", camera_move_backward_fast); REGISTER_KEYBOARD_ACTION("edit_avatar_spin_ccw", edit_avatar_spin_ccw); diff --git a/indra/newview/skins/default/xui/de/control_table_contents_camera.xml b/indra/newview/skins/default/xui/de/control_table_contents_camera.xml index 984a6aa87e..2e756448da 100644 --- a/indra/newview/skins/default/xui/de/control_table_contents_camera.xml +++ b/indra/newview/skins/default/xui/de/control_table_contents_camera.xml @@ -51,6 +51,12 @@ + + + + + + diff --git a/indra/newview/skins/default/xui/en/control_table_contents_camera.xml b/indra/newview/skins/default/xui/en/control_table_contents_camera.xml index 74e8b9e5f9..e4f6309e34 100644 --- a/indra/newview/skins/default/xui/en/control_table_contents_camera.xml +++ b/indra/newview/skins/default/xui/en/control_table_contents_camera.xml @@ -175,6 +175,30 @@ tool_tip="Camera spin around clockwise" value="Clockwise" /> + + + + + + + +