Add option for inverting mouse Y

This commit is contained in:
Irastris
2026-05-27 14:36:20 -04:00
parent 55165679c9
commit f609ff5bce
4 changed files with 16 additions and 8 deletions
+1
View File
@@ -200,6 +200,7 @@ struct UserSettings {
ConfigVar<bool> enableMouseAim;
ConfigVar<float> mouseAimSensitivity;
ConfigVar<float> mouseCameraSensitivity;
ConfigVar<bool> invertMouseY;
ConfigVar<bool> freeCamera;
ConfigVar<bool> invertCameraXAxis;
ConfigVar<bool> invertCameraYAxis;
+10 -8
View File
@@ -100,21 +100,23 @@ bool syncCaptureState(SDL_Window* window, bool should_capture) {
void accumulateDeltas(float mx_rel, float my_rel, bool camera_active, bool aim_active) {
const auto& game = getSettings().game;
if (camera_active) {
s_camera_yaw_rad = -mx_rel * kMousePixelToRad * game.mouseCameraSensitivity.getValue();
s_camera_pitch_rad = -my_rel * kMousePixelToRad * game.mouseCameraSensitivity.getValue();
s_camera_yaw_rad = game.enableMirrorMode.getValue() ? -s_camera_yaw_rad : s_camera_yaw_rad;
} else {
s_camera_yaw_rad = s_camera_pitch_rad = 0.0f;
}
if (aim_active) {
s_aim_yaw_rad = -mx_rel * kMousePixelToRad * game.mouseAimSensitivity.getValue();
s_aim_pitch_rad = my_rel * kMousePixelToRad * game.mouseAimSensitivity.getValue();
s_aim_yaw_rad = game.enableMirrorMode.getValue() ? -s_aim_yaw_rad : s_aim_yaw_rad;
s_aim_pitch_rad = game.invertMouseY.getValue() ? -s_aim_pitch_rad : s_aim_pitch_rad;
} else {
s_aim_yaw_rad = s_aim_pitch_rad = 0.0f;
}
if (camera_active) {
s_camera_yaw_rad = -mx_rel * kMousePixelToRad * game.mouseCameraSensitivity.getValue();
s_camera_pitch_rad = -my_rel * kMousePixelToRad * game.mouseCameraSensitivity.getValue();
s_camera_yaw_rad = game.enableMirrorMode.getValue() ? -s_camera_yaw_rad : s_camera_yaw_rad;
s_camera_pitch_rad = game.invertMouseY.getValue() ? -s_camera_pitch_rad : s_camera_pitch_rad;
} else {
s_camera_yaw_rad = s_camera_pitch_rad = 0.0f;
}
}
} // namespace
+2
View File
@@ -88,6 +88,7 @@ UserSettings g_userSettings = {
.enableMouseAim {"game.enableMouseAim", false},
.mouseAimSensitivity {"game.mouseAimSensitivity", 1.0f},
.mouseCameraSensitivity {"game.mouseCameraSensitivity", 1.0f},
.invertMouseY {"game.invertMouseY", false},
.freeCamera {"game.freeCamera", false},
.invertCameraXAxis {"game.invertCameraXAxis", false},
.invertCameraYAxis {"game.invertCameraYAxis", false},
@@ -288,6 +289,7 @@ void registerSettings() {
Register(g_userSettings.game.enableMouseAim);
Register(g_userSettings.game.mouseAimSensitivity);
Register(g_userSettings.game.mouseCameraSensitivity);
Register(g_userSettings.game.invertMouseY);
Register(g_userSettings.game.freeCamera);
Register(g_userSettings.game.debugFlyCam);
Register(g_userSettings.game.debugFlyCamLockEvents);
+3
View File
@@ -1002,6 +1002,9 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) {
config_percent_select(leftPane, rightPane, getSettings().game.mouseCameraSensitivity,
"Mouse Camera Sensitivity", "Controls mouse camera sensitivity.", 25, 400, 5,
[] { return !getSettings().game.enableMouseCamera; });
addOption("Invert Mouse Y", getSettings().game.invertMouseY,
"Invert vertical mouse control for both aiming and camera.",
[] { return !getSettings().game.enableMouseAim || !getSettings().game.enableMouseCamera; });
leftPane.add_section("Tools");
addOption("Turbo Key", getSettings().game.enableTurboKeybind,