mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-28 16:00:40 -04:00
Add option for inverting mouse Y
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user