1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-19 21:11:32 +00:00

Refactor actions order setup

This commit is contained in:
Andrei Kortunov 2020-05-10 10:13:19 +04:00
parent a6514e7740
commit 41beca8125

View file

@ -417,57 +417,89 @@ namespace MWInput
std::string BindingsManager::getActionDescription(int action) std::string BindingsManager::getActionDescription(int action)
{ {
std::map<int, std::string> descriptions; switch (action)
{
if (action == A_Screenshot) case A_Screenshot:
return "Screenshot"; return "Screenshot";
else if (action == A_ZoomIn) case A_ZoomIn:
return "Zoom In"; return "Zoom In";
else if (action == A_ZoomOut) case A_ZoomOut:
return "Zoom Out"; return "Zoom Out";
else if (action == A_ToggleHUD) case A_ToggleHUD:
return "Toggle HUD"; return "Toggle HUD";
case A_Use:
descriptions[A_Use] = "sUse"; return "#{sUse}";
descriptions[A_Activate] = "sActivate"; case A_Activate:
descriptions[A_MoveBackward] = "sBack"; return "#{sActivate}";
descriptions[A_MoveForward] = "sForward"; case A_MoveBackward:
descriptions[A_MoveLeft] = "sLeft"; return "#{sBack}";
descriptions[A_MoveRight] = "sRight"; case A_MoveForward:
descriptions[A_ToggleWeapon] = "sReady_Weapon"; return "#{sForward}";
descriptions[A_ToggleSpell] = "sReady_Magic"; case A_MoveLeft:
descriptions[A_CycleSpellLeft] = "sPrevSpell"; return "#{sLeft}";
descriptions[A_CycleSpellRight] = "sNextSpell"; case A_MoveRight:
descriptions[A_CycleWeaponLeft] = "sPrevWeapon"; return "#{sRight}";
descriptions[A_CycleWeaponRight] = "sNextWeapon"; case A_ToggleWeapon:
descriptions[A_Console] = "sConsoleTitle"; return "#{sReady_Weapon}";
descriptions[A_Run] = "sRun"; case A_ToggleSpell:
descriptions[A_Sneak] = "sCrouch_Sneak"; return "#{sReady_Magic}";
descriptions[A_AutoMove] = "sAuto_Run"; case A_CycleSpellLeft:
descriptions[A_Jump] = "sJump"; return "#{sPrevSpell}";
descriptions[A_Journal] = "sJournal"; case A_CycleSpellRight:
descriptions[A_Rest] = "sRestKey"; return "#{sNextSpell}";
descriptions[A_Inventory] = "sInventory"; case A_CycleWeaponLeft:
descriptions[A_TogglePOV] = "sTogglePOVCmd"; return "#{sPrevWeapon}";
descriptions[A_QuickKeysMenu] = "sQuickMenu"; case A_CycleWeaponRight:
descriptions[A_QuickKey1] = "sQuick1Cmd"; return "#{sNextWeapon}";
descriptions[A_QuickKey2] = "sQuick2Cmd"; case A_Console:
descriptions[A_QuickKey3] = "sQuick3Cmd"; return "#{sConsoleTitle}";
descriptions[A_QuickKey4] = "sQuick4Cmd"; case A_Run:
descriptions[A_QuickKey5] = "sQuick5Cmd"; return "#{sRun}";
descriptions[A_QuickKey6] = "sQuick6Cmd"; case A_Sneak:
descriptions[A_QuickKey7] = "sQuick7Cmd"; return "#{sCrouch_Sneak}";
descriptions[A_QuickKey8] = "sQuick8Cmd"; case A_AutoMove:
descriptions[A_QuickKey9] = "sQuick9Cmd"; return "#{sAuto_Run}";
descriptions[A_QuickKey10] = "sQuick10Cmd"; case A_Jump:
descriptions[A_AlwaysRun] = "sAlways_Run"; return "#{sJump}";
descriptions[A_QuickSave] = "sQuickSaveCmd"; case A_Journal:
descriptions[A_QuickLoad] = "sQuickLoadCmd"; return "#{sJournal}";
case A_Rest:
if (descriptions[action].empty()) return "#{sRestKey}";
case A_Inventory:
return "#{sInventory}";
case A_TogglePOV:
return "#{sTogglePOVCmd}";
case A_QuickKeysMenu:
return "#{sQuickMenu}";
case A_QuickKey1:
return "#{sQuick1Cmd}";
case A_QuickKey2:
return "#{sQuick2Cmd}";
case A_QuickKey3:
return "#{sQuick3Cmd}";
case A_QuickKey4:
return "#{sQuick4Cmd}";
case A_QuickKey5:
return "#{sQuick5Cmd}";
case A_QuickKey6:
return "#{sQuick6Cmd}";
case A_QuickKey7:
return "#{sQuick7Cmd}";
case A_QuickKey8:
return "#{sQuick8Cmd}";
case A_QuickKey9:
return "#{sQuick9Cmd}";
case A_QuickKey10:
return "#{sQuick10Cmd}";
case A_AlwaysRun:
return "#{sAlways_Run}";
case A_QuickSave:
return "#{sQuickSaveCmd}";
case A_QuickLoad:
return "#{sQuickLoadCmd}";
default:
return std::string(); // not configurable return std::string(); // not configurable
}
return "#{" + descriptions[action] + "}";
} }
std::string BindingsManager::getActionKeyBindingName(int action) std::string BindingsManager::getActionKeyBindingName(int action)
@ -519,86 +551,30 @@ namespace MWInput
std::vector<int> BindingsManager::getActionKeySorting() std::vector<int> BindingsManager::getActionKeySorting()
{ {
std::vector<int> ret; static const std::vector<int> actions
ret.push_back(A_MoveForward); {
ret.push_back(A_MoveBackward); A_MoveForward, A_MoveBackward, A_MoveLeft, A_MoveRight, A_TogglePOV, A_ZoomIn, A_ZoomOut,
ret.push_back(A_MoveLeft); A_Run, A_AlwaysRun, A_Sneak, A_Activate, A_Use, A_ToggleWeapon, A_ToggleSpell,
ret.push_back(A_MoveRight); A_CycleSpellLeft, A_CycleSpellRight, A_CycleWeaponLeft, A_CycleWeaponRight, A_AutoMove,
ret.push_back(A_TogglePOV); A_Jump, A_Inventory, A_Journal, A_Rest, A_Console, A_QuickSave, A_QuickLoad,
ret.push_back(A_ZoomIn); A_ToggleHUD, A_Screenshot, A_QuickKeysMenu, A_QuickKey1, A_QuickKey2, A_QuickKey3,
ret.push_back(A_ZoomOut); A_QuickKey4, A_QuickKey5, A_QuickKey6, A_QuickKey7, A_QuickKey8, A_QuickKey9, A_QuickKey10
ret.push_back(A_Run); };
ret.push_back(A_AlwaysRun);
ret.push_back(A_Sneak);
ret.push_back(A_Activate);
ret.push_back(A_Use);
ret.push_back(A_ToggleWeapon);
ret.push_back(A_ToggleSpell);
ret.push_back(A_CycleSpellLeft);
ret.push_back(A_CycleSpellRight);
ret.push_back(A_CycleWeaponLeft);
ret.push_back(A_CycleWeaponRight);
ret.push_back(A_AutoMove);
ret.push_back(A_Jump);
ret.push_back(A_Inventory);
ret.push_back(A_Journal);
ret.push_back(A_Rest);
ret.push_back(A_Console);
ret.push_back(A_QuickSave);
ret.push_back(A_QuickLoad);
ret.push_back(A_ToggleHUD);
ret.push_back(A_Screenshot);
ret.push_back(A_QuickKeysMenu);
ret.push_back(A_QuickKey1);
ret.push_back(A_QuickKey2);
ret.push_back(A_QuickKey3);
ret.push_back(A_QuickKey4);
ret.push_back(A_QuickKey5);
ret.push_back(A_QuickKey6);
ret.push_back(A_QuickKey7);
ret.push_back(A_QuickKey8);
ret.push_back(A_QuickKey9);
ret.push_back(A_QuickKey10);
return ret; return actions;
} }
std::vector<int> BindingsManager::getActionControllerSorting() std::vector<int> BindingsManager::getActionControllerSorting()
{ {
std::vector<int> ret; static const std::vector<int> actions
ret.push_back(A_TogglePOV); {
ret.push_back(A_ZoomIn); A_TogglePOV, A_ZoomIn, A_ZoomOut, A_Sneak, A_Activate, A_Use, A_ToggleWeapon, A_ToggleSpell,
ret.push_back(A_ZoomOut); A_AutoMove, A_Jump, A_Inventory, A_Journal, A_Rest, A_QuickSave, A_QuickLoad, A_ToggleHUD,
ret.push_back(A_Sneak); A_Screenshot, A_QuickKeysMenu, A_QuickKey1, A_QuickKey2, A_QuickKey3, A_QuickKey4,
ret.push_back(A_Activate); A_QuickKey5, A_QuickKey6, A_QuickKey7, A_QuickKey8, A_QuickKey9, A_QuickKey10,
ret.push_back(A_Use); A_CycleSpellLeft, A_CycleSpellRight, A_CycleWeaponLeft, A_CycleWeaponRight
ret.push_back(A_ToggleWeapon); };
ret.push_back(A_ToggleSpell);
ret.push_back(A_AutoMove);
ret.push_back(A_Jump);
ret.push_back(A_Inventory);
ret.push_back(A_Journal);
ret.push_back(A_Rest);
ret.push_back(A_QuickSave);
ret.push_back(A_QuickLoad);
ret.push_back(A_ToggleHUD);
ret.push_back(A_Screenshot);
ret.push_back(A_QuickKeysMenu);
ret.push_back(A_QuickKey1);
ret.push_back(A_QuickKey2);
ret.push_back(A_QuickKey3);
ret.push_back(A_QuickKey4);
ret.push_back(A_QuickKey5);
ret.push_back(A_QuickKey6);
ret.push_back(A_QuickKey7);
ret.push_back(A_QuickKey8);
ret.push_back(A_QuickKey9);
ret.push_back(A_QuickKey10);
ret.push_back(A_CycleSpellLeft);
ret.push_back(A_CycleSpellRight);
ret.push_back(A_CycleWeaponLeft);
ret.push_back(A_CycleWeaponRight);
return ret; return actions;
} }
void BindingsManager::enableDetectingBindingMode(int action, bool keyboard) void BindingsManager::enableDetectingBindingMode(int action, bool keyboard)