Add option to invert Y axis

This commit is contained in:
Kiloku 2024-12-28 08:55:11 -03:00 committed by Lywx
parent 28e31cfe3d
commit 874097614a
4 changed files with 19 additions and 6 deletions

View file

@ -3699,7 +3699,9 @@ void Player_MoveArwing360(Player* player) {
gPlayerTurnStickMod = 0.68f;
sp7C = -gInputPress->stick_x;
sp78 = gInputPress->stick_y;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
sp78 = gInputPress->stick_y * YAxisMult;
Math_SmoothStepToAngle(&player->aerobaticPitch, 0.0f, 0.1f, 5.0f, 0.01f);
Matrix_RotateZ(gCalcMatrix, -player->zRotBank * M_DTOR, MTXF_NEW);
@ -3945,7 +3947,9 @@ void Player_MoveArwingOnRails(Player* player) {
}
stickX = -gInputPress->stick_x;
stickY = +gInputPress->stick_y;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
stickY = gInputPress->stick_y * YAxisMult;
Math_SmoothStepToAngle(&player->aerobaticPitch, 0.0f, 0.1f, 5.0f, 0.01f);

View file

@ -380,7 +380,8 @@ void func_tank_80044868(Player* player) {
f32 stickTilt;
f32 sp2C;
stickTilt = (gInputPress->stick_y * 0.7f) - 8.0f;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
stickTilt = (gInputPress->stick_y * 0.7f * YAxisMult) - 8.0f;
if (stickTilt < -40.0f) {
stickTilt = -40.0f;
}
@ -664,7 +665,9 @@ void func_tank_80045678(Player* player) {
AUDIO_PLAY_SFX(NA_SE_TANK_GO_UP, player->sfxSource, 0);
}
player->zRotBank += ((__cosf(gGameFrameCount * M_DTOR * 8.0f) * 10.0f) - player->zRotBank) * 0.1f;
temp = -gInputPress->stick_y;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
temp = -gInputPress->stick_y * YAxisMult;
Math_SmoothStepToF(&player->rot.x, temp * 0.3f, 0.05f, 5.0f, 0.00001f);
Math_SmoothStepToF(&player->boostSpeed, 15.0f, 0.5f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->rot.z, 0.0f, 0.1f, 5.0f, 0.00001f);

View file

@ -803,7 +803,8 @@ void Aquas_801AA4BC(Player* player) {
void Aquas_UpdateCamera(Player* player) {
f32 stickX = +gInputPress->stick_x;
f32 stickY = -gInputPress->stick_y;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
f32 stickY = -gInputPress->stick_y * YAxisMult;
f32 zRot;
if (player->state != PLAYERSTATE_ACTIVE) {
@ -877,7 +878,9 @@ void Aquas_BlueMarineMove(Player* player) {
Aquas_801A8E30();
stickX = -gInputPress->stick_x;
stickY = +gInputPress->stick_y;
s8 YAxisMult = CVarGetInteger("gInvertYAxis", 0) ? -1 : 1;
stickY = +gInputPress->stick_y * YAxisMult;
gPlayerTurnStickMod = 0.68f;

View file

@ -186,6 +186,9 @@ void DrawSettingsMenu(){
.format = "%.1fx",
});
}
UIWidgets::CVarCheckbox("Invert Y Axis", "gInvertYAxis",{
.tooltip = "Inverts the Y axis for controlling vehicles"
});
ImGui::EndMenu();
}