@@ -363,6 +363,7 @@ void CSettings::ResetGuiPointers()
363363 m_pLabelVerticalAimSensitivity = NULL ;
364364 m_pVerticalAimSensitivity = NULL ;
365365 m_pLabelVerticalAimSensitivityValue = NULL ;
366+ m_pCheckboxVerticalAimSensitivity = nullptr ;
366367
367368 m_pControlsJoypadLabel = NULL ;
368369 m_pControlsInputTypePane = NULL ;
@@ -659,6 +660,10 @@ void CSettings::CreateGUI()
659660 FinalizeSliderRow (tabPanelSize.fX , m_pVerticalAimSensitivity, m_pLabelVerticalAimSensitivityValue, 160 .0f , kSliderLabelSpacing , m_pLabelVerticalAimSensitivity);
660661 vecTemp.fY += 30 .f ;
661662
663+ m_pCheckboxVerticalAimSensitivity = reinterpret_cast <CGUICheckBox*>(pManager->CreateCheckBox (pTabControls, _ (" Use mouse sensitivity for aiming" ), false ));
664+ m_pCheckboxVerticalAimSensitivity->SetPosition (CVector2D (verticalSliderPos.fX , verticalSliderPos.fY + 20 .0f ));
665+ m_pCheckboxVerticalAimSensitivity->AutoSize (nullptr , 20 .0f );
666+
662667 vecTemp.fX = 16 ;
663668 // Joypad options
664669 m_pControlsJoypadLabel = reinterpret_cast <CGUILabel*>(pManager->CreateLabel (pTabControls, _ (" Joypad options" )));
@@ -1965,6 +1970,7 @@ void CSettings::CreateGUI()
19651970 m_pEditBrowserWhitelistAdd->SetActivateHandler (GUI_CALLBACK (&CSettings::OnBrowserWhitelistDomainAddFocused, this ));
19661971 m_pEditBrowserWhitelistAdd->SetDeactivateHandler (GUI_CALLBACK (&CSettings::OnBrowserWhitelistDomainAddDefocused, this ));
19671972 m_pProcessAffinityCheckbox->SetClickHandler (GUI_CALLBACK (&CSettings::OnAffinityClick, this ));
1973+ m_pCheckboxVerticalAimSensitivity->SetClickHandler (GUI_CALLBACK (&CSettings::OnMouseAimingClick, this ));
19681974
19691975 // Set up the events for advanced description
19701976 m_pPriorityLabel->SetMouseEnterHandler (GUI_CALLBACK (&CSettings::OnShowAdvancedSettingDescription, this ));
@@ -2845,6 +2851,7 @@ bool CSettings::OnControlsDefaultClick(CGUIElement* pElement)
28452851 m_pClassicControls->SetSelected (CVARS_GET_VALUE<bool >(" classic_controls" ));
28462852 m_pMouseSensitivity->SetScrollPosition (gameSettings->GetMouseSensitivity ());
28472853 m_pVerticalAimSensitivity->SetScrollPosition (pController->GetVerticalAimSensitivity ());
2854+ m_pCheckboxVerticalAimSensitivity->SetSelected (CVARS_GET_VALUE<bool >(" use_mouse_sensitivity_for_aiming" ));
28482855
28492856 return true ;
28502857}
@@ -3948,6 +3955,9 @@ void CSettings::LoadData()
39483955 pController->SetVerticalAimSensitivityRawValue (CVARS_GET_VALUE<float >(" vertical_aim_sensitivity" ));
39493956 m_pVerticalAimSensitivity->SetScrollPosition (pController->GetVerticalAimSensitivity ());
39503957
3958+ CVARS_GET (" use_mouse_sensitivity_for_aiming" , bVar);
3959+ m_pCheckboxVerticalAimSensitivity->SetSelected (bVar);
3960+
39513961 // Audio
39523962 m_pCheckBoxAudioEqualizer->SetSelected (gameSettings->IsRadioEqualizerEnabled ());
39533963 m_pCheckBoxAudioAutotune->SetSelected (gameSettings->IsRadioAutotuneEnabled ());
@@ -4274,6 +4284,8 @@ void CSettings::SaveData()
42744284 pController->SetClassicControls (m_pClassicControls->GetSelected ());
42754285 pController->SetVerticalAimSensitivity (m_pVerticalAimSensitivity->GetScrollPosition ());
42764286 CVARS_SET (" vertical_aim_sensitivity" , pController->GetVerticalAimSensitivityRawValue ());
4287+ CVARS_SET (" use_mouse_sensitivity_for_aiming" , m_pCheckboxVerticalAimSensitivity->GetSelected ());
4288+ pController->SetVerticalAimSensitivitySameAsHorizontal (m_pCheckboxVerticalAimSensitivity->GetSelected ());
42774289
42784290 // Video
42794291 // get current
@@ -5821,6 +5833,12 @@ bool CSettings::OnAffinityClick(CGUIElement* pElement)
58215833 return true ;
58225834}
58235835
5836+ bool CSettings::OnMouseAimingClick (CGUIElement* pElement)
5837+ {
5838+ m_pVerticalAimSensitivity->SetEnabled (!m_pCheckboxVerticalAimSensitivity->GetSelected ());
5839+ return true ;
5840+ }
5841+
58245842bool CSettings::OnBrowserBlacklistAdd (CGUIElement* pElement)
58255843{
58265844 SString strDomain = m_pEditBrowserBlacklistAdd->GetText ();
0 commit comments