Skip to content
Snippets Groups Projects
Commit 152ce1e4 authored by Rye Mutt's avatar Rye Mutt :bread:
Browse files

Butcher in BD joystick control scheme

parent a181d9ef
No related branches found
No related tags found
No related merge requests found
Showing
with 1039 additions and 328 deletions
...@@ -2066,5 +2066,159 @@ ...@@ -2066,5 +2066,159 @@
<key>Value</key> <key>Value</key>
<integer>2</integer> <integer>2</integer>
</map> </map>
<key>BlackDragonControls</key>
<map>
<key>Comment</key>
<string>Use BlackDragon style joystick controls</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>JoystickButtonFlycam</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>7</integer>
</map>
<key>JoystickButtonJump</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>JoystickButtonFly</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>2</integer>
</map>
<key>JoystickButtonCrouch</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>JoystickButtonRunToggle</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>8</integer>
</map>
<key>JoystickButtonMouselook</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>9</integer>
</map>
<key>JoystickButtonZoomIn</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>4</integer>
</map>
<key>JoystickButtonZoomOut</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>5</integer>
</map>
<key>JoystickButtonZoomDefault</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>6</integer>
</map>
<key>JoystickButtonRollLeft</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>JoystickButtonRollRight</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>JoystickButtonRollDefault</key>
<map>
<key>Comment</key>
<string>Test</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>JoystickInvertPitch</key>
<map>
<key>Comment</key>
<string>Invert pitch axis in all joystick modes.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map> </map>
</llsd> </llsd>
...@@ -134,6 +134,15 @@ void LLFloaterJoystick::draw() ...@@ -134,6 +134,15 @@ void LLFloaterJoystick::draw()
} }
} }
for (U32 i = 0; i < 16; i++)
{
U32 value = joystick->getJoystickButton(i);
if (!mAxisButton[i]->getEnabled() && value)
{
mAxisButton[i]->setEnabled(TRUE);
}
mAxisButton[i]->setToggleState(value);
}
LLFloater::draw(); LLFloater::draw();
} }
...@@ -154,6 +163,12 @@ BOOL LLFloaterJoystick::postBuild() ...@@ -154,6 +163,12 @@ BOOL LLFloaterJoystick::postBuild()
} }
} }
for (U32 i = 0; i < 16; i++)
{
std::string btn_name = llformat("btn%d", i);
mAxisButton[i] = getChild<LLButton>(btn_name);
}
mJoysticksCombo = getChild<LLComboBox>("joystick_combo"); mJoysticksCombo = getChild<LLComboBox>("joystick_combo");
childSetCommitCallback("joystick_combo",onCommitJoystickEnabled,this); childSetCommitCallback("joystick_combo",onCommitJoystickEnabled,this);
mCheckFlycamEnabled = getChild<LLCheckBoxCtrl>("JoystickFlycamEnabled"); mCheckFlycamEnabled = getChild<LLCheckBoxCtrl>("JoystickFlycamEnabled");
......
...@@ -100,6 +100,8 @@ class LLFloaterJoystick final : public LLFloater ...@@ -100,6 +100,8 @@ class LLFloaterJoystick final : public LLFloater
// stats view // stats view
LLStatBar* mAxisStatsBar[6]; LLStatBar* mAxisStatsBar[6];
LLButton* mAxisButton[16];
}; };
#endif #endif
This diff is collapsed.
...@@ -46,6 +46,67 @@ typedef enum e_joystick_driver_state ...@@ -46,6 +46,67 @@ typedef enum e_joystick_driver_state
JDS_INITIALIZING JDS_INITIALIZING
} EJoystickDriverState; } EJoystickDriverState;
typedef enum E_Buttons
{
ROLL_LEFT = 0,
ROLL_RIGHT,
ROLL_DEFAULT ,
ZOOM_IN,
ZOOM_OUT,
ZOOM_DEFAULT,
JUMP,
CROUCH,
FLY,
MOUSELOOK,
FLYCAM,
TOGGLE_RUN,
MAX_BUTTONS
} E_buttons;
typedef enum E_Axes
{
X_AXIS = 0,
Y_AXIS = 1,
Z_AXIS = 2,
CAM_X_AXIS = 3,
CAM_Y_AXIS = 4,
CAM_Z_AXIS = 5,
CAM_W_AXIS = 6,
MAX_AXES = 7
} E_Axes;
typedef enum E_AVScalings
{
AV_AXIS_0 = 0,
AV_AXIS_1,
AV_AXIS_2,
AV_AXIS_3,
AV_AXIS_4,
AV_AXIS_5,
} E_AVScalings;
typedef enum E_BuildScalings
{
BUILD_AXIS_0 = 0,
BUILD_AXIS_1,
BUILD_AXIS_2,
BUILD_AXIS_3,
BUILD_AXIS_4,
BUILD_AXIS_5,
} E_BuildScalings;
typedef enum E_FlycamScalings
{
FLYCAM_AXIS_0 = 0,
FLYCAM_AXIS_1,
FLYCAM_AXIS_2,
FLYCAM_AXIS_3,
FLYCAM_AXIS_4,
FLYCAM_AXIS_5,
FLYCAM_AXIS_6,
} E_FlycamScalings;
class LLViewerJoystick final : public LLSingleton<LLViewerJoystick> class LLViewerJoystick final : public LLSingleton<LLViewerJoystick>
{ {
LLSINGLETON(LLViewerJoystick); LLSINGLETON(LLViewerJoystick);
...@@ -132,6 +193,7 @@ class LLViewerJoystick final : public LLSingleton<LLViewerJoystick> ...@@ -132,6 +193,7 @@ class LLViewerJoystick final : public LLSingleton<LLViewerJoystick>
bool mAvatarEnabled; bool mAvatarEnabled;
bool mBuildEnabled; bool mBuildEnabled;
bool mFlycamEnabled; bool mFlycamEnabled;
S32 mMappedButtons[MAX_BUTTONS];
F32 mAvatarAxisScale[6]; F32 mAvatarAxisScale[6];
F32 mBuildAxisScale[6]; F32 mBuildAxisScale[6];
F32 mFlycamAxisScale[7]; F32 mFlycamAxisScale[7];
......
...@@ -967,4 +967,25 @@ with the same filename but different name ...@@ -967,4 +967,25 @@ with the same filename but different name
<texture name="Cam_Recall" file_name="icons/Cam_Recall.png"/> <texture name="Cam_Recall" file_name="icons/Cam_Recall.png"/>
<texture name="Cam_Save" file_name="icons/Cam_Save.png"/> <texture name="Cam_Save" file_name="icons/Cam_Save.png"/>
<texture name="Button_A" file_name="xbox/button_a.png" preload="false" />
<texture name="Button_B" file_name="xbox/button_b.png" preload="false" />
<texture name="Button_Y" file_name="xbox/button_y.png" preload="false" />
<texture name="Button_X" file_name="xbox/button_x.png" preload="false" />
<texture name="Button_Back" file_name="xbox/button_back.png" preload="false" />
<texture name="Button_Start" file_name="xbox/button_start.png" preload="false" />
<texture name="Left_Button" file_name="xbox/left_button.png" preload="false" />
<texture name="Right_Button" file_name="xbox/right_button.png" preload="false" />
<texture name="Left_Thumb" file_name="xbox/left_thumb.png" preload="false" />
<texture name="Right_Thumb" file_name="xbox/right_thumb.png" preload="false" />
<texture name="Left_Thumb_Press" file_name="xbox/left_thumb_press.png" preload="false" />
<texture name="Right_Thumb_Press" file_name="xbox/right_thumb_press.png" preload="false" />
<texture name="Left_Thumb_X" file_name="xbox/left_thumb_x.png" preload="false" />
<texture name="Right_Thumb_X" file_name="xbox/right_thumb_x.png" preload="false" />
<texture name="Left_Thumb_Y" file_name="xbox/left_thumb_y.png" preload="false" />
<texture name="Right_Thumb_Y" file_name="xbox/right_thumb_y.png" preload="false" />
<texture name="Left_Trigger" file_name="xbox/left_trigger.png" preload="false" />
<texture name="Right_Trigger" file_name="xbox/right_trigger.png" preload="false" />
<texture name="Triggers" file_name="xbox/triggers.png" preload="false" />
<texture name="None" file_name="xbox/none.png" preload="false" />
</textures> </textures>
indra/newview/skins/default/textures/xbox/button_a.png

1.33 KiB

indra/newview/skins/default/textures/xbox/button_b.png

1.33 KiB

indra/newview/skins/default/textures/xbox/button_back.png

1.3 KiB

indra/newview/skins/default/textures/xbox/button_start.png

1.18 KiB

indra/newview/skins/default/textures/xbox/button_x.png

1.35 KiB

indra/newview/skins/default/textures/xbox/button_y.png

1.3 KiB

indra/newview/skins/default/textures/xbox/left_button.png

1.1 KiB

indra/newview/skins/default/textures/xbox/left_thumb.png

1.35 KiB

indra/newview/skins/default/textures/xbox/left_thumb_press.png

1.45 KiB

indra/newview/skins/default/textures/xbox/left_thumb_x.png

13 KiB

indra/newview/skins/default/textures/xbox/left_thumb_y.png

12.8 KiB

indra/newview/skins/default/textures/xbox/left_trigger.png

1.11 KiB

indra/newview/skins/default/textures/xbox/none.png

1.27 KiB

indra/newview/skins/default/textures/xbox/right_button.png

1.11 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment