diff options
-rw-r--r-- | src/core/ControllerConfig.cpp | 135 |
1 files changed, 49 insertions, 86 deletions
diff --git a/src/core/ControllerConfig.cpp b/src/core/ControllerConfig.cpp index 4a901d17..576a58b1 100644 --- a/src/core/ControllerConfig.cpp +++ b/src/core/ControllerConfig.cpp @@ -1613,30 +1613,25 @@ bool CControllerConfigManager::GetIsMouseButtonUp(RsKeyCodes keycode) return false; } +#define CLEAR_ACTION_IF_NEEDED(action) \ +if (key == GetControllerKeyAssociatedWithAction(action, type))\ + ClearSettingsAssociatedWithAction(action, type); + void CControllerConfigManager::DeleteMatchingCommonControls(e_ControllerAction action, int32 key, eControllerType type) { if (!GetIsKeyBlank(key, type)) { - if (key == GetControllerKeyAssociatedWithAction(CAMERA_CHANGE_VIEW_ALL_SITUATIONS,type)) - ClearSettingsAssociatedWithAction(CAMERA_CHANGE_VIEW_ALL_SITUATIONS, type); + CLEAR_ACTION_IF_NEEDED(CAMERA_CHANGE_VIEW_ALL_SITUATIONS); #ifndef BIND_VEHICLE_FIREWEAPON - if (key == GetControllerKeyAssociatedWithAction(PED_FIREWEAPON, type)) - ClearSettingsAssociatedWithAction(PED_FIREWEAPON, type); + CLEAR_ACTION_IF_NEEDED(PED_FIREWEAPON); #endif - if (key == GetControllerKeyAssociatedWithAction(GO_LEFT, type)) - ClearSettingsAssociatedWithAction(GO_LEFT, type); - if (key == GetControllerKeyAssociatedWithAction(GO_RIGHT, type)) - ClearSettingsAssociatedWithAction(GO_RIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(NETWORK_TALK, type)) - ClearSettingsAssociatedWithAction(NETWORK_TALK, type); - if (key == GetControllerKeyAssociatedWithAction(SWITCH_DEBUG_CAM_ON, type)) - ClearSettingsAssociatedWithAction(SWITCH_DEBUG_CAM_ON, type); - if (key == GetControllerKeyAssociatedWithAction(TOGGLE_DPAD, type)) - ClearSettingsAssociatedWithAction(TOGGLE_DPAD, type); - if (key == GetControllerKeyAssociatedWithAction(TAKE_SCREEN_SHOT, type)) - ClearSettingsAssociatedWithAction(TAKE_SCREEN_SHOT, type); - if (key == GetControllerKeyAssociatedWithAction(SHOW_MOUSE_POINTER_TOGGLE, type)) - ClearSettingsAssociatedWithAction(SHOW_MOUSE_POINTER_TOGGLE, type); + CLEAR_ACTION_IF_NEEDED(GO_LEFT); + CLEAR_ACTION_IF_NEEDED(GO_RIGHT); + CLEAR_ACTION_IF_NEEDED(NETWORK_TALK); + CLEAR_ACTION_IF_NEEDED(SWITCH_DEBUG_CAM_ON); + CLEAR_ACTION_IF_NEEDED(TOGGLE_DPAD); + CLEAR_ACTION_IF_NEEDED(TAKE_SCREEN_SHOT); + CLEAR_ACTION_IF_NEEDED(SHOW_MOUSE_POINTER_TOGGLE); } } @@ -1644,25 +1639,17 @@ void CControllerConfigManager::DeleteMatching3rdPersonControls(e_ControllerActio { if (!GetIsKeyBlank(key, type)) { - if (key == GetControllerKeyAssociatedWithAction(PED_LOOKBEHIND, type)) - ClearSettingsAssociatedWithAction(PED_LOOKBEHIND, type); - if (key == GetControllerKeyAssociatedWithAction(PED_CYCLE_WEAPON_LEFT, type)) - ClearSettingsAssociatedWithAction(PED_CYCLE_WEAPON_LEFT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_CYCLE_WEAPON_RIGHT, type)) - ClearSettingsAssociatedWithAction(PED_CYCLE_WEAPON_RIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_JUMPING, type)) - ClearSettingsAssociatedWithAction(PED_JUMPING, type); - if (key == GetControllerKeyAssociatedWithAction(PED_SPRINT, type)) - ClearSettingsAssociatedWithAction(PED_SPRINT, type); + CLEAR_ACTION_IF_NEEDED(PED_LOOKBEHIND); + CLEAR_ACTION_IF_NEEDED(PED_CYCLE_WEAPON_LEFT); + CLEAR_ACTION_IF_NEEDED(PED_CYCLE_WEAPON_RIGHT); + CLEAR_ACTION_IF_NEEDED(PED_JUMPING); + CLEAR_ACTION_IF_NEEDED(PED_SPRINT); if (CMenuManager::m_ControlMethod == CONTROL_CLASSIC) { - if (key == GetControllerKeyAssociatedWithAction(PED_CYCLE_TARGET_LEFT, type)) - ClearSettingsAssociatedWithAction(PED_CYCLE_TARGET_LEFT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_CYCLE_TARGET_RIGHT, type)) - ClearSettingsAssociatedWithAction(PED_CYCLE_TARGET_RIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_CENTER_CAMERA_BEHIND_PLAYER, type)) - ClearSettingsAssociatedWithAction(PED_CENTER_CAMERA_BEHIND_PLAYER, type); + CLEAR_ACTION_IF_NEEDED(PED_CYCLE_TARGET_LEFT); + CLEAR_ACTION_IF_NEEDED(PED_CYCLE_TARGET_RIGHT); + CLEAR_ACTION_IF_NEEDED(PED_CENTER_CAMERA_BEHIND_PLAYER); } } } @@ -1672,26 +1659,18 @@ void CControllerConfigManager::DeleteMatching1rst3rdPersonControls(e_ControllerA if (!GetIsKeyBlank(key, type)) { #ifdef BIND_VEHICLE_FIREWEAPON - if (key == GetControllerKeyAssociatedWithAction(PED_FIREWEAPON, type)) - ClearSettingsAssociatedWithAction(PED_FIREWEAPON, type); + CLEAR_ACTION_IF_NEEDED(PED_FIREWEAPON); #endif - if (key == GetControllerKeyAssociatedWithAction(PED_LOCK_TARGET, type)) - ClearSettingsAssociatedWithAction(PED_LOCK_TARGET, type); - if (key == GetControllerKeyAssociatedWithAction(GO_FORWARD, type)) - ClearSettingsAssociatedWithAction(GO_FORWARD, type); - if (key == GetControllerKeyAssociatedWithAction(GO_BACK, type)) - ClearSettingsAssociatedWithAction(GO_BACK, type); + CLEAR_ACTION_IF_NEEDED(PED_LOCK_TARGET); + CLEAR_ACTION_IF_NEEDED(GO_FORWARD); + CLEAR_ACTION_IF_NEEDED(GO_BACK); if (CMenuManager::m_ControlMethod == CONTROL_CLASSIC) { - if (key == GetControllerKeyAssociatedWithAction(PED_1RST_PERSON_LOOK_LEFT, type)) - ClearSettingsAssociatedWithAction(PED_1RST_PERSON_LOOK_LEFT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_1RST_PERSON_LOOK_RIGHT, type)) - ClearSettingsAssociatedWithAction(PED_1RST_PERSON_LOOK_RIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(PED_1RST_PERSON_LOOK_DOWN, type)) - ClearSettingsAssociatedWithAction(PED_1RST_PERSON_LOOK_DOWN, type); - if (key == GetControllerKeyAssociatedWithAction(PED_1RST_PERSON_LOOK_UP, type)) - ClearSettingsAssociatedWithAction(PED_1RST_PERSON_LOOK_UP, type); + CLEAR_ACTION_IF_NEEDED(PED_1RST_PERSON_LOOK_LEFT); + CLEAR_ACTION_IF_NEEDED(PED_1RST_PERSON_LOOK_RIGHT); + CLEAR_ACTION_IF_NEEDED(PED_1RST_PERSON_LOOK_DOWN); + CLEAR_ACTION_IF_NEEDED(PED_1RST_PERSON_LOOK_UP); } } } @@ -1701,37 +1680,22 @@ void CControllerConfigManager::DeleteMatchingVehicleControls(e_ControllerAction if (!GetIsKeyBlank(key, type)) { #ifdef BIND_VEHICLE_FIREWEAPON - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_FIREWEAPON, type)) - ClearSettingsAssociatedWithAction(VEHICLE_FIREWEAPON, type); + CLEAR_ACTION_IF_NEEDED(VEHICLE_FIREWEAPON); #endif - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_LOOKBEHIND, type)) - ClearSettingsAssociatedWithAction(VEHICLE_LOOKBEHIND, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_LOOKLEFT, type)) - ClearSettingsAssociatedWithAction(VEHICLE_LOOKLEFT, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_LOOKRIGHT, type)) - ClearSettingsAssociatedWithAction(VEHICLE_LOOKRIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_LOOKBEHIND, type)) // note: dublicate - ClearSettingsAssociatedWithAction(VEHICLE_LOOKBEHIND, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_HORN, type)) - ClearSettingsAssociatedWithAction(VEHICLE_HORN, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_HANDBRAKE, type)) - ClearSettingsAssociatedWithAction(VEHICLE_HANDBRAKE, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_ACCELERATE, type)) - ClearSettingsAssociatedWithAction(VEHICLE_ACCELERATE, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_BRAKE, type)) - ClearSettingsAssociatedWithAction(VEHICLE_BRAKE, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_CHANGE_RADIO_STATION, type)) - ClearSettingsAssociatedWithAction(VEHICLE_CHANGE_RADIO_STATION, type); - if (key == GetControllerKeyAssociatedWithAction(TOGGLE_SUBMISSIONS, type)) - ClearSettingsAssociatedWithAction(TOGGLE_SUBMISSIONS, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_TURRETLEFT, type)) - ClearSettingsAssociatedWithAction(VEHICLE_TURRETLEFT, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_TURRETRIGHT, type)) - ClearSettingsAssociatedWithAction(VEHICLE_TURRETRIGHT, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_TURRETUP, type)) - ClearSettingsAssociatedWithAction(VEHICLE_TURRETUP, type); - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_TURRETDOWN, type)) - ClearSettingsAssociatedWithAction(VEHICLE_TURRETDOWN, type); + CLEAR_ACTION_IF_NEEDED(VEHICLE_LOOKBEHIND); + CLEAR_ACTION_IF_NEEDED(VEHICLE_LOOKLEFT); + CLEAR_ACTION_IF_NEEDED(VEHICLE_LOOKRIGHT); + CLEAR_ACTION_IF_NEEDED(VEHICLE_LOOKBEHIND); // note: duplicate + CLEAR_ACTION_IF_NEEDED(VEHICLE_HORN); + CLEAR_ACTION_IF_NEEDED(VEHICLE_HANDBRAKE); + CLEAR_ACTION_IF_NEEDED(VEHICLE_ACCELERATE); + CLEAR_ACTION_IF_NEEDED(VEHICLE_BRAKE); + CLEAR_ACTION_IF_NEEDED(VEHICLE_CHANGE_RADIO_STATION); + CLEAR_ACTION_IF_NEEDED(TOGGLE_SUBMISSIONS); + CLEAR_ACTION_IF_NEEDED(VEHICLE_TURRETLEFT); + CLEAR_ACTION_IF_NEEDED(VEHICLE_TURRETRIGHT); + CLEAR_ACTION_IF_NEEDED(VEHICLE_TURRETUP); + CLEAR_ACTION_IF_NEEDED(VEHICLE_TURRETDOWN); } } @@ -1739,8 +1703,7 @@ void CControllerConfigManager::DeleteMatchingVehicle_3rdPersonControls(e_Control { if (!GetIsKeyBlank(key, type)) { - if (key == GetControllerKeyAssociatedWithAction(VEHICLE_ENTER_EXIT, type)) - ClearSettingsAssociatedWithAction(VEHICLE_ENTER_EXIT, type); + CLEAR_ACTION_IF_NEEDED(VEHICLE_ENTER_EXIT); } } @@ -1748,13 +1711,13 @@ void CControllerConfigManager::DeleteMatching1rstPersonControls(e_ControllerActi { if (!GetIsKeyBlank(key, type)) { - if (key == GetControllerKeyAssociatedWithAction(PED_SNIPER_ZOOM_IN, type)) - ClearSettingsAssociatedWithAction(PED_SNIPER_ZOOM_IN, type); - if (key == GetControllerKeyAssociatedWithAction(PED_SNIPER_ZOOM_OUT, type)) - ClearSettingsAssociatedWithAction(PED_SNIPER_ZOOM_OUT, type); + CLEAR_ACTION_IF_NEEDED(PED_SNIPER_ZOOM_IN); + CLEAR_ACTION_IF_NEEDED(PED_SNIPER_ZOOM_OUT); } } +#undef CLEAR_ACTION_IF_NEEDED + void CControllerConfigManager::DeleteMatchingActionInitiators(e_ControllerAction action, int32 key, eControllerType type) { if (!GetIsKeyBlank(key, type)) |