Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ControllerEmu: Convert Translatability to enum class #11942

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
30 changes: 16 additions & 14 deletions Source/Core/Core/FreeLookManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,31 +81,33 @@ enum GyroButtons

FreeLookController::FreeLookController(const unsigned int index) : m_index(index)
{
using Translatability = ControllerEmu::Translatability;

groups.emplace_back(m_move_buttons = new ControllerEmu::Buttons(_trans("Move")));

m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Up"));
m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Down"));
m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Left"));
m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Right"));
m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Forward"));
m_move_buttons->AddInput(ControllerEmu::Translate, _trans("Backward"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Up"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Down"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Left"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Right"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Forward"));
m_move_buttons->AddInput(Translatability::Translate, _trans("Backward"));

groups.emplace_back(m_speed_buttons = new ControllerEmu::Buttons(_trans("Speed")));

m_speed_buttons->AddInput(ControllerEmu::Translate, _trans("Decrease"));
m_speed_buttons->AddInput(ControllerEmu::Translate, _trans("Increase"));
m_speed_buttons->AddInput(ControllerEmu::Translate, _trans("Reset"));
m_speed_buttons->AddInput(Translatability::Translate, _trans("Decrease"));
m_speed_buttons->AddInput(Translatability::Translate, _trans("Increase"));
m_speed_buttons->AddInput(Translatability::Translate, _trans("Reset"));

groups.emplace_back(m_other_buttons = new ControllerEmu::Buttons(_trans("Other")));

m_other_buttons->AddInput(ControllerEmu::Translate, _trans("Reset View"));
m_other_buttons->AddInput(Translatability::Translate, _trans("Reset View"));

groups.emplace_back(m_fov_buttons = new ControllerEmu::Buttons(_trans("Field of View")));

m_fov_buttons->AddInput(ControllerEmu::Translate, _trans("Increase X"));
m_fov_buttons->AddInput(ControllerEmu::Translate, _trans("Decrease X"));
m_fov_buttons->AddInput(ControllerEmu::Translate, _trans("Increase Y"));
m_fov_buttons->AddInput(ControllerEmu::Translate, _trans("Decrease Y"));
m_fov_buttons->AddInput(Translatability::Translate, _trans("Increase X"));
m_fov_buttons->AddInput(Translatability::Translate, _trans("Decrease X"));
m_fov_buttons->AddInput(Translatability::Translate, _trans("Increase Y"));
m_fov_buttons->AddInput(Translatability::Translate, _trans("Decrease Y"));

groups.emplace_back(m_rotation_gyro = new ControllerEmu::IMUGyroscope(
_trans("Incremental Rotation"), _trans("Incremental Rotation")));
Expand Down
8 changes: 5 additions & 3 deletions Source/Core/Core/HW/GBAPadEmu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,24 @@ static const u16 button_bitmasks[] = {PAD_BUTTON_B, PAD_BUTTON_A, PAD_TRIGGER_

GBAPad::GBAPad(const unsigned int index) : m_reset_pending(false), m_index(index)
{
using Translatability = ControllerEmu::Translatability;

// Buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(BUTTONS_GROUP));
for (const char* named_button : {B_BUTTON, A_BUTTON, L_BUTTON, R_BUTTON})
{
m_buttons->AddInput(ControllerEmu::DoNotTranslate, named_button);
m_buttons->AddInput(Translatability::DoNotTranslate, named_button);
}
for (const char* named_button : {SELECT_BUTTON, START_BUTTON})
{
m_buttons->AddInput(ControllerEmu::Translate, named_button);
m_buttons->AddInput(Translatability::Translate, named_button);
}

// DPad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(DPAD_GROUP));
for (const char* named_direction : named_directions)
{
m_dpad->AddInput(ControllerEmu::Translate, named_direction);
m_dpad->AddInput(Translatability::Translate, named_direction);
}
}

Expand Down
14 changes: 8 additions & 6 deletions Source/Core/Core/HW/GCKeyboardEmu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,30 +51,32 @@ static const char* const named_keys5[] = {"LEFT", "DOWN", "UP", "RIGHT", "ENTER"

GCKeyboard::GCKeyboard(const unsigned int index) : m_index(index)
{
using Translatability = ControllerEmu::Translatability;

// buttons
groups.emplace_back(m_keys0x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys0)
m_keys0x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys0x->AddInput(Translatability::DoNotTranslate, key);

groups.emplace_back(m_keys1x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys1)
m_keys1x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys1x->AddInput(Translatability::DoNotTranslate, key);

groups.emplace_back(m_keys2x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys2)
m_keys2x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys2x->AddInput(Translatability::DoNotTranslate, key);

groups.emplace_back(m_keys3x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys3)
m_keys3x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys3x->AddInput(Translatability::DoNotTranslate, key);

groups.emplace_back(m_keys4x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys4)
m_keys4x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys4x->AddInput(Translatability::DoNotTranslate, key);

groups.emplace_back(m_keys5x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys5)
m_keys5x->AddInput(ControllerEmu::DoNotTranslate, key);
m_keys5x->AddInput(Translatability::DoNotTranslate, key);
}

std::string GCKeyboard::GetName() const
Expand Down
14 changes: 8 additions & 6 deletions Source/Core/Core/HW/GCPadEmu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@ static const u16 dpad_bitmasks[] = {PAD_BUTTON_UP, PAD_BUTTON_DOWN, PAD_BUTTON_L

GCPad::GCPad(const unsigned int index) : m_index(index)
{
using Translatability = ControllerEmu::Translatability;

// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(BUTTONS_GROUP));
for (const char* named_button : {A_BUTTON, B_BUTTON, X_BUTTON, Y_BUTTON, Z_BUTTON})
{
m_buttons->AddInput(ControllerEmu::DoNotTranslate, named_button);
m_buttons->AddInput(Translatability::DoNotTranslate, named_button);
}
// i18n: The START/PAUSE button on GameCube controllers
m_buttons->AddInput(ControllerEmu::Translate, START_BUTTON, _trans("START"));
m_buttons->AddInput(Translatability::Translate, START_BUTTON, _trans("START"));

// sticks
groups.emplace_back(m_main_stick = new ControllerEmu::OctagonAnalogStick(
Expand All @@ -57,23 +59,23 @@ GCPad::GCPad(const unsigned int index) : m_index(index)
groups.emplace_back(m_triggers = new ControllerEmu::MixedTriggers(TRIGGERS_GROUP));
for (const char* named_trigger : {L_DIGITAL, R_DIGITAL, L_ANALOG, R_ANALOG})
{
m_triggers->AddInput(ControllerEmu::Translate, named_trigger);
m_triggers->AddInput(Translatability::Translate, named_trigger);
}

// dpad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(DPAD_GROUP));
for (const char* named_direction : named_directions)
{
m_dpad->AddInput(ControllerEmu::Translate, named_direction);
m_dpad->AddInput(Translatability::Translate, named_direction);
}

// Microphone
groups.emplace_back(m_mic = new ControllerEmu::Buttons(MIC_GROUP));
m_mic->AddInput(ControllerEmu::Translate, _trans("Button"));
m_mic->AddInput(Translatability::Translate, _trans("Button"));

// rumble
groups.emplace_back(m_rumble = new ControllerEmu::ControlGroup(RUMBLE_GROUP));
m_rumble->AddOutput(ControllerEmu::Translate, _trans("Motor"));
m_rumble->AddOutput(Translatability::Translate, _trans("Motor"));

// options
groups.emplace_back(m_options = new ControllerEmu::ControlGroup(OPTIONS_GROUP));
Expand Down
10 changes: 6 additions & 4 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Classic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,16 @@ constexpr std::array<u16, 4> classic_dpad_bitmasks{{

Classic::Classic() : Extension1stParty("Classic", _trans("Classic Controller"))
{
using Translatability = ControllerEmu::Translatability;

// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(BUTTONS_GROUP));
for (auto& button_name :
{A_BUTTON, B_BUTTON, X_BUTTON, Y_BUTTON, ZL_BUTTON, ZR_BUTTON, MINUS_BUTTON, PLUS_BUTTON})
{
m_buttons->AddInput(ControllerEmu::DoNotTranslate, button_name);
m_buttons->AddInput(Translatability::DoNotTranslate, button_name);
}
m_buttons->AddInput(ControllerEmu::DoNotTranslate, HOME_BUTTON, "HOME");
m_buttons->AddInput(Translatability::DoNotTranslate, HOME_BUTTON, "HOME");

// sticks
constexpr auto gate_radius = ControlState(STICK_GATE_RADIUS) / CAL_STICK_RADIUS;
Expand All @@ -73,14 +75,14 @@ Classic::Classic() : Extension1stParty("Classic", _trans("Classic Controller"))
groups.emplace_back(m_triggers = new ControllerEmu::MixedTriggers(TRIGGERS_GROUP));
for (const char* trigger_name : {L_DIGITAL, R_DIGITAL, L_ANALOG, R_ANALOG})
{
m_triggers->AddInput(ControllerEmu::Translate, trigger_name);
m_triggers->AddInput(Translatability::Translate, trigger_name);
}

// dpad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(DPAD_GROUP));
for (const char* named_direction : named_directions)
{
m_dpad->AddInput(ControllerEmu::Translate, named_direction);
m_dpad->AddInput(Translatability::Translate, named_direction);
}
}

Expand Down
5 changes: 3 additions & 2 deletions Source/Core/Core/HW/WiimoteEmu/Extension/DrawsomeTablet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ DrawsomeTablet::DrawsomeTablet() : Extension3rdParty("Drawsome", _trans("Drawsom

// Touch
groups.emplace_back(m_touch = new ControllerEmu::Triggers(_trans("Touch")));
m_touch->AddInput(ControllerEmu::Translate, _trans("Pressure"));
m_touch->AddInput(ControllerEmu::Translate, _trans("Lift"));
using Translatability = ControllerEmu::Translatability;
m_touch->AddInput(Translatability::Translate, _trans("Pressure"));
m_touch->AddInput(Translatability::Translate, _trans("Lift"));
}

void DrawsomeTablet::BuildDesiredExtensionState(DesiredExtensionState* target_state)
Expand Down
8 changes: 5 additions & 3 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Drums.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,13 @@ constexpr std::array<u8, 2> drum_button_bitmasks{{

Drums::Drums() : Extension1stParty("Drums", _trans("Drum Kit"))
{
using Translatability = ControllerEmu::Translatability;

// Pads.
groups.emplace_back(m_pads = new ControllerEmu::Buttons(_trans("Pads")));
for (auto& drum_pad_name : drum_pad_names)
{
m_pads->AddInput(ControllerEmu::Translate, drum_pad_name);
m_pads->AddInput(Translatability::Translate, drum_pad_name);
}

m_pads->AddSetting(&m_hit_strength_setting,
Expand All @@ -71,8 +73,8 @@ Drums::Drums() : Extension1stParty("Drums", _trans("Drum Kit"))

// Buttons.
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "-");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "+");
m_buttons->AddInput(Translatability::DoNotTranslate, "-");
m_buttons->AddInput(Translatability::DoNotTranslate, "+");

// Stick.
groups.emplace_back(m_stick =
Expand Down
14 changes: 8 additions & 6 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Guitar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,22 +65,24 @@ constexpr std::array<u16, 2> guitar_strum_bitmasks{{

Guitar::Guitar() : Extension1stParty(_trans("Guitar"))
{
using Translatability = ControllerEmu::Translatability;

// frets
groups.emplace_back(m_frets = new ControllerEmu::Buttons(_trans("Frets")));
for (auto& guitar_fret_name : guitar_fret_names)
{
m_frets->AddInput(ControllerEmu::Translate, guitar_fret_name);
m_frets->AddInput(Translatability::Translate, guitar_fret_name);
}

// strum
groups.emplace_back(m_strum = new ControllerEmu::Buttons(_trans("Strum")));
m_strum->AddInput(ControllerEmu::Translate, _trans("Up"));
m_strum->AddInput(ControllerEmu::Translate, _trans("Down"));
m_strum->AddInput(Translatability::Translate, _trans("Up"));
m_strum->AddInput(Translatability::Translate, _trans("Down"));

// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "-");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "+");
m_buttons->AddInput(Translatability::DoNotTranslate, "-");
m_buttons->AddInput(Translatability::DoNotTranslate, "+");

// stick
constexpr auto gate_radius = ControlState(STICK_GATE_RADIUS) / STICK_RADIUS;
Expand All @@ -89,7 +91,7 @@ Guitar::Guitar() : Extension1stParty(_trans("Guitar"))

// whammy
groups.emplace_back(m_whammy = new ControllerEmu::Triggers(_trans("Whammy")));
m_whammy->AddInput(ControllerEmu::Translate, _trans("Bar"));
m_whammy->AddInput(Translatability::Translate, _trans("Bar"));

// slider bar
groups.emplace_back(m_slider_bar = new ControllerEmu::Slider(_trans("Slider Bar")));
Expand Down
5 changes: 3 additions & 2 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Nunchuk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ Nunchuk::Nunchuk() : Extension1stParty(_trans("Nunchuk"))
{
// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(BUTTONS_GROUP));
m_buttons->AddInput(ControllerEmu::DoNotTranslate, C_BUTTON);
m_buttons->AddInput(ControllerEmu::DoNotTranslate, Z_BUTTON);
using Translatability = ControllerEmu::Translatability;
m_buttons->AddInput(Translatability::DoNotTranslate, C_BUTTON);
m_buttons->AddInput(Translatability::DoNotTranslate, Z_BUTTON);

// stick
constexpr auto gate_radius = ControlState(STICK_GATE_RADIUS) / STICK_RADIUS;
Expand Down
28 changes: 15 additions & 13 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Shinkansen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,35 +22,37 @@ constexpr std::array<u8, 6> shinkansen_id{{0x00, 0x00, 0xa4, 0x20, 0x01, 0x10}};

Shinkansen::Shinkansen() : Extension3rdParty("Shinkansen", _trans("Shinkansen Controller"))
{
using Translatability = ControllerEmu::Translatability;

// Button layout on the controller:
//
// Up Select Start D
// Left Right A C
// Down B
//
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->AddInput(ControllerEmu::Translate, _trans("Up"));
m_buttons->AddInput(ControllerEmu::Translate, _trans("Down"));
m_buttons->AddInput(ControllerEmu::Translate, _trans("Left"));
m_buttons->AddInput(ControllerEmu::Translate, _trans("Right"));
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "A");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "B");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "C");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "D");
m_buttons->AddInput(ControllerEmu::Translate, _trans("SELECT"));
m_buttons->AddInput(ControllerEmu::Translate, _trans("START"));
m_buttons->AddInput(Translatability::Translate, _trans("Up"));
m_buttons->AddInput(Translatability::Translate, _trans("Down"));
m_buttons->AddInput(Translatability::Translate, _trans("Left"));
m_buttons->AddInput(Translatability::Translate, _trans("Right"));
m_buttons->AddInput(Translatability::DoNotTranslate, "A");
m_buttons->AddInput(Translatability::DoNotTranslate, "B");
m_buttons->AddInput(Translatability::DoNotTranslate, "C");
m_buttons->AddInput(Translatability::DoNotTranslate, "D");
m_buttons->AddInput(Translatability::Translate, _trans("SELECT"));
m_buttons->AddInput(Translatability::Translate, _trans("START"));

// For easier axis mapping the right lever is inverted in Dolphin,
// so that the train coasts when no trigger is squeezed.
groups.emplace_back(m_levers = new ControllerEmu::Triggers(_trans("Levers")));
m_levers->AddInput(ControllerEmu::Translate, _trans("L"));
m_levers->AddInput(ControllerEmu::Translate, _trans("R"));
m_levers->AddInput(Translatability::Translate, _trans("L"));
m_levers->AddInput(Translatability::Translate, _trans("R"));

// i18n: Noun. This is used as a label for a control group that represents lights on controllers.
groups.emplace_back(m_led = new ControllerEmu::ControlGroup(_trans("Light")));
// i18n: A light on the Shinkansen controller that lights up when the train doors are locked.
// Labeled 戸じめ (in Japanese) on the actual controller.
m_led->AddOutput(ControllerEmu::Translate, _trans("Doors Locked"));
m_led->AddOutput(Translatability::Translate, _trans("Doors Locked"));
}

void Shinkansen::BuildDesiredExtensionState(DesiredExtensionState* target_state)
Expand Down
6 changes: 4 additions & 2 deletions Source/Core/Core/HW/WiimoteEmu/Extension/TaTaCon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,17 @@ constexpr std::array<const char*, 2> position_names{{
// i18n: The drum controller used in "Taiko no Tatsujin" games. Also known as a "TaTaCon".
TaTaCon::TaTaCon() : Extension3rdParty("TaTaCon", _trans("Taiko Drum"))
{
using Translatability = ControllerEmu::Translatability;

// i18n: Refers to the "center" of a TaTaCon drum.
groups.emplace_back(m_center = new ControllerEmu::Buttons(_trans("Center")));
for (auto& name : position_names)
m_center->AddInput(ControllerEmu::Translate, name);
m_center->AddInput(Translatability::Translate, name);

// i18n: Refers to the "rim" of a TaTaCon drum.
groups.emplace_back(m_rim = new ControllerEmu::Buttons(_trans("Rim")));
for (auto& name : position_names)
m_rim->AddInput(ControllerEmu::Translate, name);
m_rim->AddInput(Translatability::Translate, name);
}

void TaTaCon::BuildDesiredExtensionState(DesiredExtensionState* target_state)
Expand Down
10 changes: 6 additions & 4 deletions Source/Core/Core/HW/WiimoteEmu/Extension/Turntable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,20 @@ constexpr std::array<const char*, 6> turntable_button_names{{

Turntable::Turntable() : Extension1stParty("Turntable", _trans("DJ Turntable"))
{
using Translatability = ControllerEmu::Translatability;

// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
for (auto& turntable_button_name : turntable_button_names)
{
m_buttons->AddInput(ControllerEmu::Translate, turntable_button_name);
m_buttons->AddInput(Translatability::Translate, turntable_button_name);
}

m_buttons->AddInput(ControllerEmu::DoNotTranslate, "-");
m_buttons->AddInput(ControllerEmu::DoNotTranslate, "+");
m_buttons->AddInput(Translatability::DoNotTranslate, "-");
m_buttons->AddInput(Translatability::DoNotTranslate, "+");

// i18n: This button name refers to a gameplay element in DJ Hero
m_buttons->AddInput(ControllerEmu::Translate, _trans("Euphoria"));
m_buttons->AddInput(Translatability::Translate, _trans("Euphoria"));

// turntables
// i18n: "Table" refers to a turntable
Expand Down