Merge pull request #43 from AyaneStorm/pr-feat-camera-roll-key-bindings

Add key bindings for Camera Roll
master
Beq Janus 2024-09-18 10:47:23 +01:00 committed by GitHub
commit b9fa7f2dab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 59 additions and 0 deletions

View File

@ -35,6 +35,10 @@
<binding key="E" mask="NONE" command="jump"/>
<binding key="C" mask="NONE" command="push_down"/>
<!-- <FS:Chanayane> Camera roll key bindings -->
<binding key="R" mask="NONE" command="roll_left"/>
<binding key="T" mask="NONE" command="roll_right"/>
<!-- </FS:Chanayane> -->
<binding key="F" mask="NONE" command="toggle_fly"/>
<binding key="SPACE" mask="NONE" command="stop_moving"/>
@ -121,6 +125,11 @@
<binding key="E" mask="NONE" command="spin_over_sitting"/>
<binding key="C" mask="NONE" command="spin_under_sitting"/>
<!-- <FS:Chanayane> Camera roll key bindings -->
<binding key="R" mask="NONE" command="roll_left" />
<binding key="T" mask="NONE" command="roll_right" />
<!-- </FS:Chanayane> -->
<binding key="LEFT" mask="NONE" command="spin_around_cw_sitting"/>
<binding key="RIGHT" mask="NONE" command="spin_around_ccw_sitting"/>
<binding key="UP" mask="NONE" command="move_forward_sitting"/>

View File

@ -813,6 +813,10 @@ void LLKeyConflictHandler::generatePlaceholders(ESourceMode load_mode)
registerTemporaryControl("pan_out");
registerTemporaryControl("spin_around_ccw");
registerTemporaryControl("spin_around_cw");
// <FS:Chanayane> Camera roll key bindings
registerTemporaryControl("roll_left");
registerTemporaryControl("roll_right");
// </FS:Chanayane>
// control_table_contents_editing.xml
registerTemporaryControl("edit_avatar_spin_ccw");

View File

@ -586,6 +586,24 @@ bool camera_pan_out( EKeystate s )
return true;
}
// <FS:Chanayane> 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;
}
// </FS:Chanayane>
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);
// <FS:Chanayane> Camera roll key bindings
REGISTER_KEYBOARD_ACTION("roll_left", camera_roll_left);
REGISTER_KEYBOARD_ACTION("roll_right", camera_roll_right);
// </FS:Chanayane>
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);

View File

@ -175,6 +175,30 @@
tool_tip="Camera spin around clockwise"
value="Clockwise" />
</rows>
<!-- <FS:Chanayane> Camera roll key bindings -->
<rows
name="roll_left"
value="roll_left">
<columns
column="lst_action"
font="SansSerif"
halign="left"
name="lst_action"
tool_tip="Camera roll left"
value="Roll left" />
</rows>
<rows
name="roll_right"
value="roll_right">
<columns
column="lst_action"
font="SansSerif"
halign="left"
name="lst_action"
tool_tip="Camera roll right"
value="Roll right" />
</rows>
<!-- </FS:Chanayane> -->
<rows
name="move_forward_sitting"
value="move_forward_sitting">