ControllerEmu: Use enum instead of bool for translatability

This commit is contained in:
JosJuice
2018-04-10 17:22:30 +02:00
parent 3f13dbe087
commit 7ed28297b2
23 changed files with 123 additions and 77 deletions

View File

@ -56,27 +56,27 @@ GCKeyboard::GCKeyboard(const unsigned int index) : m_index(index)
// buttons
groups.emplace_back(m_keys0x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys0)
m_keys0x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys0x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
groups.emplace_back(m_keys1x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys1)
m_keys1x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys1x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
groups.emplace_back(m_keys2x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys2)
m_keys2x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys2x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
groups.emplace_back(m_keys3x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys3)
m_keys3x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys3x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
groups.emplace_back(m_keys4x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys4)
m_keys4x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys4x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
groups.emplace_back(m_keys5x = new ControllerEmu::Buttons(_trans("Keys")));
for (const char* key : named_keys5)
m_keys5x->controls.emplace_back(new ControllerEmu::Input(false, key));
m_keys5x->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, key));
// options
groups.emplace_back(m_options = new ControllerEmu::ControlGroup(_trans("Options")));

View File

@ -53,9 +53,11 @@ GCPad::GCPad(const unsigned int index) : m_index(index)
for (const char* named_button : named_buttons)
{
const bool is_start = named_button == std::string("Start");
const ControllerEmu::Translatability translate =
is_start ? ControllerEmu::Translate : ControllerEmu::DoNotTranslate;
// i18n: The START/PAUSE button on GameCube controllers
const std::string& ui_name = is_start ? _trans("START") : named_button;
m_buttons->controls.emplace_back(new ControllerEmu::Input(is_start, named_button, ui_name));
m_buttons->controls.emplace_back(new ControllerEmu::Input(translate, named_button, ui_name));
}
// sticks
@ -67,20 +69,28 @@ GCPad::GCPad(const unsigned int index) : m_index(index)
// triggers
groups.emplace_back(m_triggers = new ControllerEmu::MixedTriggers(_trans("Triggers")));
for (const char* named_trigger : named_triggers)
m_triggers->controls.emplace_back(new ControllerEmu::Input(true, named_trigger));
{
m_triggers->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, named_trigger));
}
// rumble
groups.emplace_back(m_rumble = new ControllerEmu::ControlGroup(_trans("Rumble")));
m_rumble->controls.emplace_back(new ControllerEmu::Output(true, _trans("Motor")));
m_rumble->controls.emplace_back(
new ControllerEmu::Output(ControllerEmu::Translate, _trans("Motor")));
// Microphone
groups.emplace_back(m_mic = new ControllerEmu::Buttons(_trans("Microphone")));
m_mic->controls.emplace_back(new ControllerEmu::Input(true, _trans("Button")));
m_mic->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, _trans("Button")));
// dpad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(_trans("D-Pad")));
for (const char* named_direction : named_directions)
m_dpad->controls.emplace_back(new ControllerEmu::Input(true, named_direction));
{
m_dpad->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, named_direction));
}
// options
groups.emplace_back(m_options = new ControllerEmu::ControlGroup(_trans("Options")));

View File

@ -98,7 +98,8 @@ Classic::Classic(ExtensionReg& reg) : Attachment(_trans("Classic"), reg)
for (const char* button_name : classic_button_names)
{
const std::string& ui_name = (button_name == std::string("Home")) ? "HOME" : button_name;
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, button_name, ui_name));
m_buttons->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::DoNotTranslate, button_name, ui_name));
}
// sticks
@ -110,12 +111,18 @@ Classic::Classic(ExtensionReg& reg) : Attachment(_trans("Classic"), reg)
// triggers
groups.emplace_back(m_triggers = new ControllerEmu::MixedTriggers(_trans("Triggers")));
for (const char* trigger_name : classic_trigger_names)
m_triggers->controls.emplace_back(new ControllerEmu::Input(true, trigger_name));
{
m_triggers->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, trigger_name));
}
// dpad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(_trans("D-Pad")));
for (const char* named_direction : named_directions)
m_dpad->controls.emplace_back(new ControllerEmu::Input(true, named_direction));
{
m_dpad->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, named_direction));
}
// Set up register
m_calibration = classic_calibration;

View File

@ -47,7 +47,10 @@ Drums::Drums(ExtensionReg& reg) : Attachment(_trans("Drums"), reg)
// pads
groups.emplace_back(m_pads = new ControllerEmu::Buttons(_trans("Pads")));
for (auto& drum_pad_name : drum_pad_names)
m_pads->controls.emplace_back(new ControllerEmu::Input(true, drum_pad_name));
{
m_pads->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, drum_pad_name));
}
// stick
groups.emplace_back(
@ -55,8 +58,8 @@ Drums::Drums(ExtensionReg& reg) : Attachment(_trans("Drums"), reg)
// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "+"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "+"));
// set up register
m_id = drums_id;

View File

@ -66,17 +66,21 @@ Guitar::Guitar(ExtensionReg& reg) : Attachment(_trans("Guitar"), reg)
// frets
groups.emplace_back(m_frets = new ControllerEmu::Buttons(_trans("Frets")));
for (auto& guitar_fret_name : guitar_fret_names)
m_frets->controls.emplace_back(new ControllerEmu::Input(true, guitar_fret_name));
{
m_frets->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, guitar_fret_name));
}
// strum
groups.emplace_back(m_strum = new ControllerEmu::Buttons(_trans("Strum")));
m_strum->controls.emplace_back(new ControllerEmu::Input(true, _trans("Up")));
m_strum->controls.emplace_back(new ControllerEmu::Input(true, _trans("Down")));
m_strum->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("Up")));
m_strum->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, _trans("Down")));
// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "+"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "+"));
// stick
groups.emplace_back(
@ -84,7 +88,8 @@ Guitar::Guitar(ExtensionReg& reg) : Attachment(_trans("Guitar"), reg)
// whammy
groups.emplace_back(m_whammy = new ControllerEmu::Triggers(_trans("Whammy")));
m_whammy->controls.emplace_back(new ControllerEmu::Input(true, _trans("Bar")));
m_whammy->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, _trans("Bar")));
// slider bar
groups.emplace_back(m_slider_bar = new ControllerEmu::Slider(_trans("Slider Bar")));

View File

@ -32,8 +32,8 @@ Nunchuk::Nunchuk(ExtensionReg& reg) : Attachment(_trans("Nunchuk"), reg)
{
// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "C"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "Z"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "C"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "Z"));
// stick
groups.emplace_back(
@ -48,11 +48,11 @@ Nunchuk::Nunchuk(ExtensionReg& reg) : Attachment(_trans("Nunchuk"), reg)
// shake
groups.emplace_back(m_shake = new ControllerEmu::Buttons(_trans("Shake")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("X")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("X")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("Y")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("Y")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("Z")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("Z")));
m_id = nunchuk_id;
}

View File

@ -48,13 +48,17 @@ Turntable::Turntable(ExtensionReg& reg) : Attachment(_trans("Turntable"), reg)
// buttons
groups.emplace_back(m_buttons = new ControllerEmu::Buttons(_trans("Buttons")));
for (auto& turntable_button_name : turntable_button_names)
m_buttons->controls.emplace_back(new ControllerEmu::Input(true, turntable_button_name));
{
m_buttons->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, turntable_button_name));
}
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, "+"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "-"));
m_buttons->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::DoNotTranslate, "+"));
// i18n: This button name refers to a gameplay element in DJ Hero
m_buttons->controls.emplace_back(new ControllerEmu::Input(true, _trans("Euphoria")));
m_buttons->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, _trans("Euphoria")));
// turntables
// i18n: "Table" refers to a turntable
@ -69,7 +73,8 @@ Turntable::Turntable(ExtensionReg& reg) : Attachment(_trans("Turntable"), reg)
// effect dial
groups.emplace_back(m_effect_dial = new ControllerEmu::Triggers(_trans("Effect")));
m_effect_dial->controls.emplace_back(new ControllerEmu::Input(true, _trans("Dial")));
m_effect_dial->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, _trans("Dial")));
// crossfade
groups.emplace_back(m_crossfade = new ControllerEmu::Slider(_trans("Crossfade")));

View File

@ -261,7 +261,8 @@ Wiimote::Wiimote(const unsigned int index) : m_index(index), ir_sin(0), ir_cos(1
for (const char* named_button : named_buttons)
{
const std::string& ui_name = (named_button == std::string("Home")) ? "HOME" : named_button;
m_buttons->controls.emplace_back(new ControllerEmu::Input(false, named_button, ui_name));
m_buttons->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::DoNotTranslate, named_button, ui_name));
}
// ir
@ -277,11 +278,11 @@ Wiimote::Wiimote(const unsigned int index) : m_index(index), ir_sin(0), ir_cos(1
// shake
groups.emplace_back(m_shake = new ControllerEmu::Buttons(_trans("Shake")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("X")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("X")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("Y")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("Y")));
// i18n: Refers to a 3D axis (used when mapping motion controls)
m_shake->controls.emplace_back(new ControllerEmu::Input(true, _trans("Z")));
m_shake->controls.emplace_back(new ControllerEmu::Input(ControllerEmu::Translate, _trans("Z")));
// extension
groups.emplace_back(m_extension = new ControllerEmu::Extension(_trans("Extension")));
@ -294,12 +295,16 @@ Wiimote::Wiimote(const unsigned int index) : m_index(index), ir_sin(0), ir_cos(1
// rumble
groups.emplace_back(m_rumble = new ControllerEmu::ControlGroup(_trans("Rumble")));
m_rumble->controls.emplace_back(m_motor = new ControllerEmu::Output(true, _trans("Motor")));
m_rumble->controls.emplace_back(
m_motor = new ControllerEmu::Output(ControllerEmu::Translate, _trans("Motor")));
// dpad
groups.emplace_back(m_dpad = new ControllerEmu::Buttons(_trans("D-Pad")));
for (const char* named_direction : named_directions)
m_dpad->controls.emplace_back(new ControllerEmu::Input(true, named_direction));
{
m_dpad->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, named_direction));
}
// options
groups.emplace_back(m_options = new ControllerEmu::ControlGroup(_trans("Options")));

View File

@ -270,7 +270,8 @@ HotkeyManager::HotkeyManager()
groups.emplace_back(m_hotkey_groups[group]);
for (int key = groups_info[group].first; key <= groups_info[group].last; key++)
{
m_keys[group]->controls.emplace_back(new ControllerEmu::Input(true, hotkey_labels[key]));
m_keys[group]->controls.emplace_back(
new ControllerEmu::Input(ControllerEmu::Translate, hotkey_labels[key]));
}
}
}