mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
Custom buttons: Store them in an array, remove as many count restrictions as possible.
This commit is contained in:
parent
56e5cbee91
commit
73836e7bcb
@ -637,27 +637,27 @@ static const ConfigSetting controlSettings[] = {
|
|||||||
ConfigSetting("ShowTouchSquare", &g_Config.bShowTouchSquare, true, CfgFlag::PER_GAME),
|
ConfigSetting("ShowTouchSquare", &g_Config.bShowTouchSquare, true, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("ShowTouchTriangle", &g_Config.bShowTouchTriangle, true, CfgFlag::PER_GAME),
|
ConfigSetting("ShowTouchTriangle", &g_Config.bShowTouchTriangle, true, CfgFlag::PER_GAME),
|
||||||
|
|
||||||
ConfigSetting("Custom0Mapping", "Custom0Image", "Custom0Shape", "Custom0Toggle", "Custom0Repeat", &g_Config.CustomButton0, {0, 0, 0, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom0Mapping", "Custom0Image", "Custom0Shape", "Custom0Toggle", "Custom0Repeat", &g_Config.CustomButton[0], {0, 0, 0, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom1Mapping", "Custom1Image", "Custom1Shape", "Custom1Toggle", "Custom1Repeat", &g_Config.CustomButton1, {0, 1, 0, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom1Mapping", "Custom1Image", "Custom1Shape", "Custom1Toggle", "Custom1Repeat", &g_Config.CustomButton[1], {0, 1, 0, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom2Mapping", "Custom2Image", "Custom2Shape", "Custom2Toggle", "Custom2Repeat", &g_Config.CustomButton2, {0, 2, 0, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom2Mapping", "Custom2Image", "Custom2Shape", "Custom2Toggle", "Custom2Repeat", &g_Config.CustomButton[2], {0, 2, 0, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom3Mapping", "Custom3Image", "Custom3Shape", "Custom3Toggle", "Custom3Repeat", &g_Config.CustomButton3, {0, 3, 0, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom3Mapping", "Custom3Image", "Custom3Shape", "Custom3Toggle", "Custom3Repeat", &g_Config.CustomButton[3], {0, 3, 0, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom4Mapping", "Custom4Image", "Custom4Shape", "Custom4Toggle", "Custom4Repeat", &g_Config.CustomButton4, {0, 4, 0, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom4Mapping", "Custom4Image", "Custom4Shape", "Custom4Toggle", "Custom4Repeat", &g_Config.CustomButton[4], {0, 4, 0, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom5Mapping", "Custom5Image", "Custom5Shape", "Custom5Toggle", "Custom5Repeat", &g_Config.CustomButton5, {0, 0, 1, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom5Mapping", "Custom5Image", "Custom5Shape", "Custom5Toggle", "Custom5Repeat", &g_Config.CustomButton[5], {0, 0, 1, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom6Mapping", "Custom6Image", "Custom6Shape", "Custom6Toggle", "Custom6Repeat", &g_Config.CustomButton6, {0, 1, 1, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom6Mapping", "Custom6Image", "Custom6Shape", "Custom6Toggle", "Custom6Repeat", &g_Config.CustomButton[6], {0, 1, 1, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom7Mapping", "Custom7Image", "Custom7Shape", "Custom7Toggle", "Custom7Repeat", &g_Config.CustomButton7, {0, 2, 1, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom7Mapping", "Custom7Image", "Custom7Shape", "Custom7Toggle", "Custom7Repeat", &g_Config.CustomButton[7], {0, 2, 1, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom8Mapping", "Custom8Image", "Custom8Shape", "Custom8Toggle", "Custom8Repeat", &g_Config.CustomButton8, {0, 3, 1, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom8Mapping", "Custom8Image", "Custom8Shape", "Custom8Toggle", "Custom8Repeat", &g_Config.CustomButton[8], {0, 3, 1, false, false}, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("Custom9Mapping", "Custom9Image", "Custom9Shape", "Custom9Toggle", "Custom9Repeat", &g_Config.CustomButton9, {0, 4, 1, false, false}, CfgFlag::PER_GAME),
|
ConfigSetting("Custom9Mapping", "Custom9Image", "Custom9Shape", "Custom9Toggle", "Custom9Repeat", &g_Config.CustomButton[9], {0, 4, 1, false, false}, CfgFlag::PER_GAME),
|
||||||
// Combo keys are going to be something else, but I don't want to break the config.
|
// Combo keys are going to be something else, but I don't want to break the config.
|
||||||
ConfigSetting("fcombo0X", "fcombo0Y", "comboKeyScale0", "ShowComboKey0", &g_Config.touchCustom0, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo0X", "fcombo0Y", "comboKeyScale0", "ShowComboKey0", &g_Config.touchCustom[0], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo1X", "fcombo1Y", "comboKeyScale1", "ShowComboKey1", &g_Config.touchCustom1, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo1X", "fcombo1Y", "comboKeyScale1", "ShowComboKey1", &g_Config.touchCustom[1], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo2X", "fcombo2Y", "comboKeyScale2", "ShowComboKey2", &g_Config.touchCustom2, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo2X", "fcombo2Y", "comboKeyScale2", "ShowComboKey2", &g_Config.touchCustom[2], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo3X", "fcombo3Y", "comboKeyScale3", "ShowComboKey3", &g_Config.touchCustom3, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo3X", "fcombo3Y", "comboKeyScale3", "ShowComboKey3", &g_Config.touchCustom[3], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo4X", "fcombo4Y", "comboKeyScale4", "ShowComboKey4", &g_Config.touchCustom4, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo4X", "fcombo4Y", "comboKeyScale4", "ShowComboKey4", &g_Config.touchCustom[4], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo5X", "fcombo5Y", "comboKeyScale5", "ShowComboKey5", &g_Config.touchCustom5, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo5X", "fcombo5Y", "comboKeyScale5", "ShowComboKey5", &g_Config.touchCustom[5], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo6X", "fcombo6Y", "comboKeyScale6", "ShowComboKey6", &g_Config.touchCustom6, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo6X", "fcombo6Y", "comboKeyScale6", "ShowComboKey6", &g_Config.touchCustom[6], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo7X", "fcombo7Y", "comboKeyScale7", "ShowComboKey7", &g_Config.touchCustom7, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo7X", "fcombo7Y", "comboKeyScale7", "ShowComboKey7", &g_Config.touchCustom[7], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo8X", "fcombo8Y", "comboKeyScale8", "ShowComboKey8", &g_Config.touchCustom8, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo8X", "fcombo8Y", "comboKeyScale8", "ShowComboKey8", &g_Config.touchCustom[8], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
ConfigSetting("fcombo9X", "fcombo9Y", "comboKeyScale9", "ShowComboKey9", &g_Config.touchCustom9, defaultTouchPosHide, CfgFlag::PER_GAME),
|
ConfigSetting("fcombo9X", "fcombo9Y", "comboKeyScale9", "ShowComboKey9", &g_Config.touchCustom[9], defaultTouchPosHide, CfgFlag::PER_GAME),
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
// A win32 user seeing touch controls is likely using PPSSPP on a tablet. There it makes
|
// A win32 user seeing touch controls is likely using PPSSPP on a tablet. There it makes
|
||||||
@ -1707,16 +1707,9 @@ void Config::ResetControlLayout() {
|
|||||||
reset(g_Config.touchRKey);
|
reset(g_Config.touchRKey);
|
||||||
reset(g_Config.touchAnalogStick);
|
reset(g_Config.touchAnalogStick);
|
||||||
reset(g_Config.touchRightAnalogStick);
|
reset(g_Config.touchRightAnalogStick);
|
||||||
reset(g_Config.touchCustom0);
|
for (int i = 0; i < CUSTOM_BUTTON_COUNT; i++) {
|
||||||
reset(g_Config.touchCustom1);
|
reset(g_Config.touchCustom[i]);
|
||||||
reset(g_Config.touchCustom2);
|
}
|
||||||
reset(g_Config.touchCustom3);
|
|
||||||
reset(g_Config.touchCustom4);
|
|
||||||
reset(g_Config.touchCustom5);
|
|
||||||
reset(g_Config.touchCustom6);
|
|
||||||
reset(g_Config.touchCustom7);
|
|
||||||
reset(g_Config.touchCustom8);
|
|
||||||
reset(g_Config.touchCustom9);
|
|
||||||
g_Config.fLeftStickHeadScale = 1.0f;
|
g_Config.fLeftStickHeadScale = 1.0f;
|
||||||
g_Config.fRightStickHeadScale = 1.0f;
|
g_Config.fRightStickHeadScale = 1.0f;
|
||||||
}
|
}
|
||||||
|
@ -341,16 +341,9 @@ public:
|
|||||||
ConfigTouchPos touchAnalogStick;
|
ConfigTouchPos touchAnalogStick;
|
||||||
ConfigTouchPos touchRightAnalogStick;
|
ConfigTouchPos touchRightAnalogStick;
|
||||||
|
|
||||||
ConfigTouchPos touchCustom0;
|
enum { CUSTOM_BUTTON_COUNT = 10 };
|
||||||
ConfigTouchPos touchCustom1;
|
|
||||||
ConfigTouchPos touchCustom2;
|
ConfigTouchPos touchCustom[CUSTOM_BUTTON_COUNT];
|
||||||
ConfigTouchPos touchCustom3;
|
|
||||||
ConfigTouchPos touchCustom4;
|
|
||||||
ConfigTouchPos touchCustom5;
|
|
||||||
ConfigTouchPos touchCustom6;
|
|
||||||
ConfigTouchPos touchCustom7;
|
|
||||||
ConfigTouchPos touchCustom8;
|
|
||||||
ConfigTouchPos touchCustom9;
|
|
||||||
|
|
||||||
float fLeftStickHeadScale;
|
float fLeftStickHeadScale;
|
||||||
float fRightStickHeadScale;
|
float fRightStickHeadScale;
|
||||||
@ -364,16 +357,7 @@ public:
|
|||||||
bool bShowTouchTriangle;
|
bool bShowTouchTriangle;
|
||||||
bool bShowTouchSquare;
|
bool bShowTouchSquare;
|
||||||
|
|
||||||
ConfigCustomButton CustomButton0;
|
ConfigCustomButton CustomButton[CUSTOM_BUTTON_COUNT];
|
||||||
ConfigCustomButton CustomButton1;
|
|
||||||
ConfigCustomButton CustomButton2;
|
|
||||||
ConfigCustomButton CustomButton3;
|
|
||||||
ConfigCustomButton CustomButton4;
|
|
||||||
ConfigCustomButton CustomButton5;
|
|
||||||
ConfigCustomButton CustomButton6;
|
|
||||||
ConfigCustomButton CustomButton7;
|
|
||||||
ConfigCustomButton CustomButton8;
|
|
||||||
ConfigCustomButton CustomButton9;
|
|
||||||
|
|
||||||
// Ignored on iOS and other platforms that lack pause.
|
// Ignored on iOS and other platforms that lack pause.
|
||||||
bool bShowTouchPause;
|
bool bShowTouchPause;
|
||||||
|
@ -131,73 +131,10 @@ void CustomButtonMappingScreen::CreateViews() {
|
|||||||
ConfigCustomButton* cfg = nullptr;
|
ConfigCustomButton* cfg = nullptr;
|
||||||
bool* show = nullptr;
|
bool* show = nullptr;
|
||||||
memset(array, 0, sizeof(array));
|
memset(array, 0, sizeof(array));
|
||||||
switch (id_) {
|
cfg = &g_Config.CustomButton[id_];
|
||||||
case 0:
|
show = &g_Config.touchCustom[id_].show;
|
||||||
cfg = &g_Config.CustomButton0;
|
|
||||||
show = &g_Config.touchCustom0.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton0.key >> i) & 0x01));
|
array[i] = (0x01 == ((g_Config.CustomButton[id_].key >> i) & 0x01));
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
cfg = &g_Config.CustomButton1;
|
|
||||||
show = &g_Config.touchCustom1.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton1.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
cfg = &g_Config.CustomButton2;
|
|
||||||
show = &g_Config.touchCustom2.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton2.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
cfg = &g_Config.CustomButton3;
|
|
||||||
show = &g_Config.touchCustom3.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton3.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
cfg = &g_Config.CustomButton4;
|
|
||||||
show = &g_Config.touchCustom4.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton4.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
cfg = &g_Config.CustomButton5;
|
|
||||||
show = &g_Config.touchCustom5.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton5.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
cfg = &g_Config.CustomButton6;
|
|
||||||
show = &g_Config.touchCustom6.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton6.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
cfg = &g_Config.CustomButton7;
|
|
||||||
show = &g_Config.touchCustom7.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton7.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
cfg = &g_Config.CustomButton8;
|
|
||||||
show = &g_Config.touchCustom8.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton8.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
cfg = &g_Config.CustomButton9;
|
|
||||||
show = &g_Config.touchCustom9.show;
|
|
||||||
for (int i = 0; i < ARRAY_SIZE(customKeyList); i++)
|
|
||||||
array[i] = (0x01 == ((g_Config.CustomButton9.key >> i) & 0x01));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// This shouldn't happen, let's just not crash.
|
|
||||||
cfg = &g_Config.CustomButton0;
|
|
||||||
show = &g_Config.touchCustom0.show;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
leftColumn->Add(new ButtonPreview(g_Config.iTouchButtonStyle == 0 ? customKeyShapes[cfg->shape].i : customKeyShapes[cfg->shape].l,
|
leftColumn->Add(new ButtonPreview(g_Config.iTouchButtonStyle == 0 ? customKeyShapes[cfg->shape].i : customKeyShapes[cfg->shape].l,
|
||||||
customKeyImages[cfg->image].i, customKeyImages[cfg->image].r, customKeyShapes[cfg->shape].f, customKeyShapes[cfg->shape].r, 62, 82));
|
customKeyImages[cfg->image].i, customKeyImages[cfg->image].r, customKeyShapes[cfg->shape].f, customKeyShapes[cfg->shape].r, 62, 82));
|
||||||
@ -282,37 +219,8 @@ static uint64_t arrayToInt(const bool ary[ARRAY_SIZE(CustomKeyData::customKeyLis
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CustomButtonMappingScreen::saveArray() {
|
void CustomButtonMappingScreen::saveArray() {
|
||||||
switch (id_) {
|
if (id_ >= 0 && id_ < Config::CUSTOM_BUTTON_COUNT) {
|
||||||
case 0:
|
g_Config.CustomButton[id_].key = arrayToInt(array);
|
||||||
g_Config.CustomButton0.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
g_Config.CustomButton1.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
g_Config.CustomButton2.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
g_Config.CustomButton3.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
g_Config.CustomButton4.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
g_Config.CustomButton5.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
g_Config.CustomButton6.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
g_Config.CustomButton7.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
g_Config.CustomButton8.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
g_Config.CustomButton9.key = arrayToInt(array);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -738,46 +738,27 @@ void InitPadLayout(float xres, float yres, float globalScale) {
|
|||||||
int r_key_Y = l_key_Y;
|
int r_key_Y = l_key_Y;
|
||||||
initTouchPos(g_Config.touchRKey, r_key_X, r_key_Y);
|
initTouchPos(g_Config.touchRKey, r_key_X, r_key_Y);
|
||||||
|
|
||||||
//Combo key
|
struct { float x; float y; } customButtonPositions[10] = {
|
||||||
int combo_key_X = halfW + bottom_key_spacing * scale * 1.2f;
|
{ 1.2f, 0.5f },
|
||||||
int combo_key_Y = yres / 2;
|
{ 2.2f, 0.5f },
|
||||||
initTouchPos(g_Config.touchCustom0, combo_key_X, combo_key_Y);
|
{ 3.2f, 0.5f },
|
||||||
|
{ 1.2f, 0.333f },
|
||||||
|
{ 2.2f, 0.333f },
|
||||||
|
{ -1.2f, 0.5f },
|
||||||
|
{ -2.2f, 0.5f },
|
||||||
|
{ -3.2f, 0.5f },
|
||||||
|
{ -1.2f, 0.333f },
|
||||||
|
{ -2.2f, 0.333f },
|
||||||
|
};
|
||||||
|
|
||||||
int combo1_key_X = halfW + bottom_key_spacing * scale * 2.2f;
|
for (int i = 0; i < Config::CUSTOM_BUTTON_COUNT; i++) {
|
||||||
int combo1_key_Y = yres / 2;
|
float y_offset = (float)(i / 10) * 0.08333f;
|
||||||
initTouchPos(g_Config.touchCustom1, combo1_key_X, combo1_key_Y);
|
|
||||||
|
|
||||||
int combo2_key_X = halfW + bottom_key_spacing * scale * 3.2f;
|
int combo_key_X = halfW + bottom_key_spacing * scale * customButtonPositions[i % 10].x;
|
||||||
int combo2_key_Y = yres / 2;
|
int combo_key_Y = yres * (y_offset + customButtonPositions[i % 10].y);
|
||||||
initTouchPos(g_Config.touchCustom2, combo2_key_X, combo2_key_Y);
|
|
||||||
|
|
||||||
int combo3_key_X = halfW + bottom_key_spacing * scale * 1.2f;
|
initTouchPos(g_Config.touchCustom[i], combo_key_X, combo_key_Y);
|
||||||
int combo3_key_Y = yres / 3;
|
}
|
||||||
initTouchPos(g_Config.touchCustom3, combo3_key_X, combo3_key_Y);
|
|
||||||
|
|
||||||
int combo4_key_X = halfW + bottom_key_spacing * scale * 2.2f;
|
|
||||||
int combo4_key_Y = yres / 3;
|
|
||||||
initTouchPos(g_Config.touchCustom4, combo4_key_X, combo4_key_Y);
|
|
||||||
|
|
||||||
int combo5_key_X = halfW - bottom_key_spacing * scale * 1.2f;
|
|
||||||
int combo5_key_Y = yres / 2;
|
|
||||||
initTouchPos(g_Config.touchCustom5, combo5_key_X, combo5_key_Y);
|
|
||||||
|
|
||||||
int combo6_key_X = halfW - bottom_key_spacing * scale * 2.2f;
|
|
||||||
int combo6_key_Y = yres / 2;
|
|
||||||
initTouchPos(g_Config.touchCustom6, combo6_key_X, combo6_key_Y);
|
|
||||||
|
|
||||||
int combo7_key_X = halfW - bottom_key_spacing * scale * 3.2f;
|
|
||||||
int combo7_key_Y = yres / 2;
|
|
||||||
initTouchPos(g_Config.touchCustom7, combo7_key_X, combo7_key_Y);
|
|
||||||
|
|
||||||
int combo8_key_X = halfW - bottom_key_spacing * scale * 1.2f;
|
|
||||||
int combo8_key_Y = yres / 3;
|
|
||||||
initTouchPos(g_Config.touchCustom8, combo8_key_X, combo8_key_Y);
|
|
||||||
|
|
||||||
int combo9_key_X = halfW - bottom_key_spacing * scale * 2.2f;
|
|
||||||
int combo9_key_Y = yres / 3;
|
|
||||||
initTouchPos(g_Config.touchCustom9, combo9_key_X, combo9_key_Y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UI::ViewGroup *CreatePadLayout(float xres, float yres, bool *pause, bool showPauseButton, ControlMapper* controllMapper) {
|
UI::ViewGroup *CreatePadLayout(float xres, float yres, bool *pause, bool showPauseButton, ControlMapper* controllMapper) {
|
||||||
@ -884,16 +865,11 @@ UI::ViewGroup *CreatePadLayout(float xres, float yres, bool *pause, bool showPau
|
|||||||
root->Add(new PSPStick(stickBg, "Right analog stick", stickImage, ImageID("I_STICK"), 1, g_Config.touchRightAnalogStick.scale, buttonLayoutParams(g_Config.touchRightAnalogStick)));
|
root->Add(new PSPStick(stickBg, "Right analog stick", stickImage, ImageID("I_STICK"), 1, g_Config.touchRightAnalogStick.scale, buttonLayoutParams(g_Config.touchRightAnalogStick)));
|
||||||
}
|
}
|
||||||
|
|
||||||
addCustomButton(g_Config.CustomButton0, "Custom 1 button", g_Config.touchCustom0);
|
for (int i = 0; i < Config::CUSTOM_BUTTON_COUNT; i++) {
|
||||||
addCustomButton(g_Config.CustomButton1, "Custom 2 button", g_Config.touchCustom1);
|
char temp[64];
|
||||||
addCustomButton(g_Config.CustomButton2, "Custom 3 button", g_Config.touchCustom2);
|
snprintf(temp, sizeof(temp), "Custom %d button", i + 1);
|
||||||
addCustomButton(g_Config.CustomButton3, "Custom 4 button", g_Config.touchCustom3);
|
addCustomButton(g_Config.CustomButton[i], temp, g_Config.touchCustom[i]);
|
||||||
addCustomButton(g_Config.CustomButton4, "Custom 5 button", g_Config.touchCustom4);
|
}
|
||||||
addCustomButton(g_Config.CustomButton5, "Custom 6 button", g_Config.touchCustom5);
|
|
||||||
addCustomButton(g_Config.CustomButton6, "Custom 7 button", g_Config.touchCustom6);
|
|
||||||
addCustomButton(g_Config.CustomButton7, "Custom 8 button", g_Config.touchCustom7);
|
|
||||||
addCustomButton(g_Config.CustomButton8, "Custom 9 button", g_Config.touchCustom8);
|
|
||||||
addCustomButton(g_Config.CustomButton9, "Custom 10 button", g_Config.touchCustom9);
|
|
||||||
|
|
||||||
if (g_Config.bGestureControlEnabled)
|
if (g_Config.bGestureControlEnabled)
|
||||||
root->Add(new GestureGamepad(controllMapper));
|
root->Add(new GestureGamepad(controllMapper));
|
||||||
|
@ -44,7 +44,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
virtual float GetButtonOpacity();
|
virtual float GetButtonOpacity();
|
||||||
|
|
||||||
const char *key_;
|
std::string key_;
|
||||||
double lastFrameTime_;
|
double lastFrameTime_;
|
||||||
float secondsWithoutTouch_ = 0.0;
|
float secondsWithoutTouch_ = 0.0;
|
||||||
bool forceVisible_ = false;
|
bool forceVisible_ = false;
|
||||||
|
@ -520,16 +520,12 @@ void ControlLayoutView::CreateViews() {
|
|||||||
}
|
}
|
||||||
return b;
|
return b;
|
||||||
};
|
};
|
||||||
addDragCustomKey(g_Config.touchCustom0, "Custom 1 button", g_Config.CustomButton0);
|
|
||||||
addDragCustomKey(g_Config.touchCustom1, "Custom 2 button", g_Config.CustomButton1);
|
for (int i = 0; i < Config::CUSTOM_BUTTON_COUNT; i++) {
|
||||||
addDragCustomKey(g_Config.touchCustom2, "Custom 3 button", g_Config.CustomButton2);
|
char temp[64];
|
||||||
addDragCustomKey(g_Config.touchCustom3, "Custom 4 button", g_Config.CustomButton3);
|
snprintf(temp, sizeof(temp), "Custom %d button", i);
|
||||||
addDragCustomKey(g_Config.touchCustom4, "Custom 5 button", g_Config.CustomButton4);
|
addDragCustomKey(g_Config.touchCustom[i], temp, g_Config.CustomButton[i]);
|
||||||
addDragCustomKey(g_Config.touchCustom5, "Custom 6 button", g_Config.CustomButton5);
|
}
|
||||||
addDragCustomKey(g_Config.touchCustom6, "Custom 7 button", g_Config.CustomButton6);
|
|
||||||
addDragCustomKey(g_Config.touchCustom7, "Custom 8 button", g_Config.CustomButton7);
|
|
||||||
addDragCustomKey(g_Config.touchCustom8, "Custom 9 button", g_Config.CustomButton8);
|
|
||||||
addDragCustomKey(g_Config.touchCustom9, "Custom 10 button", g_Config.CustomButton9);
|
|
||||||
|
|
||||||
for (size_t i = 0; i < controls_.size(); i++) {
|
for (size_t i = 0; i < controls_.size(); i++) {
|
||||||
Add(controls_[i]);
|
Add(controls_[i]);
|
||||||
|
@ -89,46 +89,15 @@ void TouchControlVisibilityScreen::CreateViews() {
|
|||||||
return UI::EVENT_DONE;
|
return UI::EVENT_DONE;
|
||||||
}});
|
}});
|
||||||
toggles_.push_back({ "Fast-forward", &g_Config.touchFastForwardKey.show, ImageID::invalid(), nullptr });
|
toggles_.push_back({ "Fast-forward", &g_Config.touchFastForwardKey.show, ImageID::invalid(), nullptr });
|
||||||
toggles_.push_back({ "Custom 1", &g_Config.touchCustom0.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 0));
|
for (int i = 0; i < Config::CUSTOM_BUTTON_COUNT; i++) {
|
||||||
return UI::EVENT_DONE;
|
char temp[256];
|
||||||
}});
|
snprintf(temp, sizeof(temp), "Custom %d", i + 1);
|
||||||
toggles_.push_back({ "Custom 2", &g_Config.touchCustom1.show, ImageID::invalid(), [=](EventParams &e) {
|
toggles_.push_back({ temp, &g_Config.touchCustom[i].show, ImageID::invalid(), [=](EventParams &e) {
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 1));
|
screenManager()->push(new CustomButtonMappingScreen(gamePath_, i));
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 3", &g_Config.touchCustom2.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 2));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 4", &g_Config.touchCustom3.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 3));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 5", &g_Config.touchCustom4.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 4));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 6", &g_Config.touchCustom5.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 5));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 7", &g_Config.touchCustom6.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 6));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 8", &g_Config.touchCustom7.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 7));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 9", &g_Config.touchCustom8.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 8));
|
|
||||||
return UI::EVENT_DONE;
|
|
||||||
}});
|
|
||||||
toggles_.push_back({ "Custom 10", &g_Config.touchCustom9.show, ImageID::invalid(), [=](EventParams &e) {
|
|
||||||
screenManager()->push(new CustomButtonMappingScreen(gamePath_, 9));
|
|
||||||
return UI::EVENT_DONE;
|
return UI::EVENT_DONE;
|
||||||
} });
|
} });
|
||||||
|
}
|
||||||
|
|
||||||
auto mc = GetI18NCategory(I18NCat::MAPPABLECONTROLS);
|
auto mc = GetI18NCategory(I18NCat::MAPPABLECONTROLS);
|
||||||
for (auto toggle : toggles_) {
|
for (auto toggle : toggles_) {
|
||||||
|
@ -25,7 +25,7 @@ namespace UI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct TouchButtonToggle {
|
struct TouchButtonToggle {
|
||||||
const char *key;
|
std::string key;
|
||||||
bool *show;
|
bool *show;
|
||||||
ImageID img;
|
ImageID img;
|
||||||
std::function<UI::EventReturn(UI::EventParams&)> handle;
|
std::function<UI::EventReturn(UI::EventParams&)> handle;
|
||||||
|
Loading…
Reference in New Issue
Block a user