mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-29 23:27:25 -04:00
Allow independent X and Y sensitivity for free camera (#1431)
Co-authored-by: Luke Street <luke@street.dev>
This commit is contained in:
@@ -204,7 +204,8 @@ struct UserSettings {
|
|||||||
ConfigVar<bool> invertFirstPersonYAxis;
|
ConfigVar<bool> invertFirstPersonYAxis;
|
||||||
ConfigVar<bool> invertAirSwimX;
|
ConfigVar<bool> invertAirSwimX;
|
||||||
ConfigVar<bool> invertAirSwimY;
|
ConfigVar<bool> invertAirSwimY;
|
||||||
ConfigVar<float> freeCameraSensitivity;
|
ConfigVar<float> freeCameraXSensitivity;
|
||||||
|
ConfigVar<float> freeCameraYSensitivity;
|
||||||
ConfigVar<bool> debugFlyCam;
|
ConfigVar<bool> debugFlyCam;
|
||||||
ConfigVar<bool> debugFlyCamLockEvents;
|
ConfigVar<bool> debugFlyCamLockEvents;
|
||||||
ConfigVar<bool> allowBackgroundInput;
|
ConfigVar<bool> allowBackgroundInput;
|
||||||
|
|||||||
+2
-2
@@ -7665,8 +7665,8 @@ bool dCamera_c::freeCamera() {
|
|||||||
mCamParam.mManualMode = 1;
|
mCamParam.mManualMode = 1;
|
||||||
camMovement = camMovement.normalize();
|
camMovement = camMovement.normalize();
|
||||||
camMovement.y *= dusk::getSettings().game.invertCameraYAxis ? 1.0f : -1.0f;
|
camMovement.y *= dusk::getSettings().game.invertCameraYAxis ? 1.0f : -1.0f;
|
||||||
mCamParam.freeXAngle += camMovement.x * magnitude * dusk::getSettings().game.freeCameraSensitivity * 5.0f;
|
mCamParam.freeXAngle += camMovement.x * magnitude * dusk::getSettings().game.freeCameraXSensitivity * 5.0f;
|
||||||
mCamParam.freeYAngle += camMovement.y * magnitude * dusk::getSettings().game.freeCameraSensitivity * 5.0f;
|
mCamParam.freeYAngle += camMovement.y * magnitude * dusk::getSettings().game.freeCameraYSensitivity * 5.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||||
|
|||||||
@@ -92,7 +92,8 @@ UserSettings g_userSettings = {
|
|||||||
.invertFirstPersonYAxis {"game.invertFirstPersonYAxis", false},
|
.invertFirstPersonYAxis {"game.invertFirstPersonYAxis", false},
|
||||||
.invertAirSwimX {"game.invertAirSwimX", false},
|
.invertAirSwimX {"game.invertAirSwimX", false},
|
||||||
.invertAirSwimY {"game.invertAirSwimY", false},
|
.invertAirSwimY {"game.invertAirSwimY", false},
|
||||||
.freeCameraSensitivity {"game.freeCameraSensitivity", 1.0f},
|
.freeCameraXSensitivity {"game.freeCameraXSensitivity", 1.0f},
|
||||||
|
.freeCameraYSensitivity {"game.freeCameraYSensitivity", 1.0f},
|
||||||
.debugFlyCam {"game.debugFlyCam", false},
|
.debugFlyCam {"game.debugFlyCam", false},
|
||||||
.debugFlyCamLockEvents {"game.debugFlyCamLockEvents", true},
|
.debugFlyCamLockEvents {"game.debugFlyCamLockEvents", true},
|
||||||
.allowBackgroundInput {"game.allowBackgroundInput", true},
|
.allowBackgroundInput {"game.allowBackgroundInput", true},
|
||||||
@@ -224,7 +225,8 @@ void registerSettings() {
|
|||||||
Register(g_userSettings.game.invertFirstPersonYAxis);
|
Register(g_userSettings.game.invertFirstPersonYAxis);
|
||||||
Register(g_userSettings.game.invertAirSwimX);
|
Register(g_userSettings.game.invertAirSwimX);
|
||||||
Register(g_userSettings.game.invertAirSwimY);
|
Register(g_userSettings.game.invertAirSwimY);
|
||||||
Register(g_userSettings.game.freeCameraSensitivity);
|
Register(g_userSettings.game.freeCameraXSensitivity);
|
||||||
|
Register(g_userSettings.game.freeCameraYSensitivity);
|
||||||
Register(g_userSettings.game.minimalHUD);
|
Register(g_userSettings.game.minimalHUD);
|
||||||
Register(g_userSettings.game.pauseOnFocusLost);
|
Register(g_userSettings.game.pauseOnFocusLost);
|
||||||
Register(g_userSettings.game.enableDiscordPresence);
|
Register(g_userSettings.game.enableDiscordPresence);
|
||||||
|
|||||||
@@ -950,8 +950,11 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) {
|
|||||||
addOption("Invert Camera Y Axis", getSettings().game.invertCameraYAxis,
|
addOption("Invert Camera Y Axis", getSettings().game.invertCameraYAxis,
|
||||||
"Invert vertical camera movement when Free Camera is enabled.",
|
"Invert vertical camera movement when Free Camera is enabled.",
|
||||||
[] { return !getSettings().game.freeCamera; });
|
[] { return !getSettings().game.freeCamera; });
|
||||||
config_percent_select(leftPane, rightPane, getSettings().game.freeCameraSensitivity,
|
config_percent_select(leftPane, rightPane, getSettings().game.freeCameraXSensitivity,
|
||||||
"Free Camera Sensitivity", "Adjusts twin-stick camera sensitivity.", 50, 200, 5,
|
"Free Camera X Sensitivity", "Adjusts twin-stick camera X axis sensitivity.", 50, 200, 5,
|
||||||
|
[] { return !getSettings().game.freeCamera; });
|
||||||
|
config_percent_select(leftPane, rightPane, getSettings().game.freeCameraYSensitivity,
|
||||||
|
"Free Camera Y Sensitivity", "Adjusts twin-stick camera Y axis sensitivity.", 50, 200, 5,
|
||||||
[] { return !getSettings().game.freeCamera; });
|
[] { return !getSettings().game.freeCamera; });
|
||||||
addOption("Invert First Person X Axis", getSettings().game.invertFirstPersonXAxis,
|
addOption("Invert First Person X Axis", getSettings().game.invertFirstPersonXAxis,
|
||||||
"Invert horizontal movement while aiming with items or first person camera. Applies only to the control stick (the gyroscope can be inverted in Input settings).");
|
"Invert horizontal movement while aiming with items or first person camera. Applies only to the control stick (the gyroscope can be inverted in Input settings).");
|
||||||
|
|||||||
Reference in New Issue
Block a user