mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-07 02:10:14 -04:00
Invert Air/Swim Axes (#1155)
* Invert Air/Swim Axes Apparently this is a setting in TPHD, so for parity's sake I'll throw it in here * Invert Air Controls Thanks @Abzol for knowing exactly where this is
This commit is contained in:
@@ -202,6 +202,8 @@ struct UserSettings {
|
||||
ConfigVar<bool> invertCameraYAxis;
|
||||
ConfigVar<bool> invertFirstPersonXAxis;
|
||||
ConfigVar<bool> invertFirstPersonYAxis;
|
||||
ConfigVar<bool> invertAirSwimX;
|
||||
ConfigVar<bool> invertAirSwimY;
|
||||
ConfigVar<float> freeCameraSensitivity;
|
||||
ConfigVar<bool> debugFlyCam;
|
||||
ConfigVar<bool> debugFlyCamLockEvents;
|
||||
|
||||
@@ -216,7 +216,7 @@ void daAlink_c::setSpeedAndAngleSwim() {
|
||||
if (checkEventRun()) {
|
||||
var_r28 = mMoveAngle;
|
||||
} else {
|
||||
var_r28 = shape_angle.y + (16384.0f * cM_ssin(mStickAngle));
|
||||
var_r28 = shape_angle.y + (16384.0f * cM_ssin(mStickAngle) IF_DUSK(* (dusk::getSettings().game.invertAirSwimX ? -1.0f : 1.0f)));
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(&shape_angle.y, var_r28, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn);
|
||||
@@ -835,7 +835,7 @@ void daAlink_c::setSwimMoveAnime() {
|
||||
} else {
|
||||
s16 var_r24;
|
||||
if (checkInputOnR() && !checkEventRun()) {
|
||||
var_r24 = 13653.0f * cM_scos(mStickAngle);
|
||||
var_r24 = 13653.0f * cM_scos(mStickAngle) IF_DUSK(* (dusk::getSettings().game.invertAirSwimY ? -1.0f : 1.0f));
|
||||
} else {
|
||||
var_r24 = 0;
|
||||
}
|
||||
|
||||
@@ -3530,6 +3530,15 @@ void daKago_c::action() {
|
||||
#endif
|
||||
mStickY = mDoCPd_c::getStickY(PAD_1);
|
||||
|
||||
#ifdef TARGET_PC
|
||||
if(dusk::getSettings().game.invertAirSwimX) {
|
||||
mStickX = -mStickX;
|
||||
}
|
||||
if(dusk::getSettings().game.invertAirSwimY) {
|
||||
mStickY = -mStickY;
|
||||
}
|
||||
#endif
|
||||
|
||||
u8 prevIsWaterfall = mIsWaterfall;
|
||||
mIsWaterfall = FALSE;
|
||||
fpcM_Search(s_waterfall, this);
|
||||
|
||||
@@ -90,6 +90,8 @@ UserSettings g_userSettings = {
|
||||
.invertCameraYAxis {"game.invertCameraYAxis", false},
|
||||
.invertFirstPersonXAxis {"game.invertFirstPersonXAxis", false},
|
||||
.invertFirstPersonYAxis {"game.invertFirstPersonYAxis", false},
|
||||
.invertAirSwimX {"game.invertAirSwimX", false},
|
||||
.invertAirSwimY {"game.invertAirSwimY", false},
|
||||
.freeCameraSensitivity {"game.freeCameraSensitivity", 1.0f},
|
||||
.debugFlyCam {"game.debugFlyCam", false},
|
||||
.debugFlyCamLockEvents {"game.debugFlyCamLockEvents", true},
|
||||
@@ -219,6 +221,8 @@ void registerSettings() {
|
||||
Register(g_userSettings.game.invertCameraYAxis);
|
||||
Register(g_userSettings.game.invertFirstPersonXAxis);
|
||||
Register(g_userSettings.game.invertFirstPersonYAxis);
|
||||
Register(g_userSettings.game.invertAirSwimX);
|
||||
Register(g_userSettings.game.invertAirSwimY);
|
||||
Register(g_userSettings.game.freeCameraSensitivity);
|
||||
Register(g_userSettings.game.minimalHUD);
|
||||
Register(g_userSettings.game.pauseOnFocusLost);
|
||||
|
||||
@@ -957,6 +957,10 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) {
|
||||
"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).");
|
||||
addOption("Invert First Person Y Axis", getSettings().game.invertFirstPersonYAxis,
|
||||
"Invert vertical movement while aiming with items or first person camera. Applies only to the control stick (the gyroscope can be inverted in Input settings).");
|
||||
addOption("Invert Air/Swim X Axis", getSettings().game.invertAirSwimX,
|
||||
"Invert horizontal movement while flying or swimming.");
|
||||
addOption("Invert Air/Swim Y Axis", getSettings().game.invertAirSwimY,
|
||||
"Invert vertical movement while flying or swimming.");
|
||||
|
||||
leftPane.add_section("Gyro");
|
||||
leftPane.register_control(
|
||||
|
||||
Reference in New Issue
Block a user