Make "Move in First Person" require "Right Stick Aiming" (#6104)
This commit is contained in:
@@ -1377,12 +1377,11 @@ void SohInputEditorWindow::DrawCameraControlPanel() {
|
|||||||
CheckboxOptions()
|
CheckboxOptions()
|
||||||
.Color(THEME_COLOR)
|
.Color(THEME_COLOR)
|
||||||
.Tooltip("Allows for aiming with the right stick in:\n-First-Person/C-Up view\n-Weapon Aiming"));
|
.Tooltip("Allows for aiming with the right stick in:\n-First-Person/C-Up view\n-Weapon Aiming"));
|
||||||
if (CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
|
||||||
CVarCheckbox("Allow moving while in first-person mode", CVAR_SETTING("MoveInFirstPerson"),
|
CVarCheckbox("Allow moving while in first-person mode", CVAR_SETTING("MoveInFirstPerson"),
|
||||||
CheckboxOptions()
|
CheckboxOptions({ { .disabled = !CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0),
|
||||||
|
.disabledTooltip = "Forced off because Right Stick Aiming is disabled." } })
|
||||||
.Color(THEME_COLOR)
|
.Color(THEME_COLOR)
|
||||||
.Tooltip("Changes the left stick to move the player while in first-person mode"));
|
.Tooltip("Changes the left stick to move the player while in first-person mode"));
|
||||||
}
|
|
||||||
CVarCheckbox("Invert Aiming X Axis", CVAR_SETTING("Controls.InvertAimingXAxis"),
|
CVarCheckbox("Invert Aiming X Axis", CVAR_SETTING("Controls.InvertAimingXAxis"),
|
||||||
CheckboxOptions()
|
CheckboxOptions()
|
||||||
.Color(THEME_COLOR)
|
.Color(THEME_COLOR)
|
||||||
|
|||||||
@@ -12746,7 +12746,8 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) {
|
|||||||
|
|
||||||
if (!func_8002DD78(this) && !func_808334B4(this) && (arg2 == 0)) { // First person without weapon
|
if (!func_8002DD78(this) && !func_808334B4(this) && (arg2 == 0)) { // First person without weapon
|
||||||
// Y Axis
|
// Y Axis
|
||||||
if (!CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0)) {
|
if (!(CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0) &&
|
||||||
|
CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0))) {
|
||||||
temp2 += sControlInput->rel.stick_y * 240.0f * invertYAxisMulti * yAxisMulti;
|
temp2 += sControlInput->rel.stick_y * 240.0f * invertYAxisMulti * yAxisMulti;
|
||||||
}
|
}
|
||||||
if (CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
if (CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
||||||
@@ -12764,7 +12765,8 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) {
|
|||||||
|
|
||||||
// X Axis
|
// X Axis
|
||||||
temp2 = 0;
|
temp2 = 0;
|
||||||
if (!CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0)) {
|
if (!(CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0) &&
|
||||||
|
CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0))) {
|
||||||
temp2 += sControlInput->rel.stick_x * -16.0f * invertXAxisMulti * xAxisMulti;
|
temp2 += sControlInput->rel.stick_x * -16.0f * invertXAxisMulti * xAxisMulti;
|
||||||
}
|
}
|
||||||
if (CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
if (CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
||||||
@@ -12779,7 +12781,8 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) {
|
|||||||
// Y Axis
|
// Y Axis
|
||||||
temp1 = (this->stateFlags1 & PLAYER_STATE1_ON_HORSE) ? 3500 : 14000;
|
temp1 = (this->stateFlags1 & PLAYER_STATE1_ON_HORSE) ? 3500 : 14000;
|
||||||
|
|
||||||
if (!CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0)) {
|
if (!(CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0) &&
|
||||||
|
CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0))) {
|
||||||
temp3 += ((sControlInput->rel.stick_y >= 0) ? 1 : -1) *
|
temp3 += ((sControlInput->rel.stick_y >= 0) ? 1 : -1) *
|
||||||
(s32)((1.0f - Math_CosS(sControlInput->rel.stick_y * 200)) * 1500.0f) * invertYAxisMulti *
|
(s32)((1.0f - Math_CosS(sControlInput->rel.stick_y * 200)) * 1500.0f) * invertYAxisMulti *
|
||||||
yAxisMulti;
|
yAxisMulti;
|
||||||
@@ -12799,7 +12802,8 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) {
|
|||||||
temp1 = 19114;
|
temp1 = 19114;
|
||||||
temp2 = this->actor.focus.rot.y - this->actor.shape.rot.y;
|
temp2 = this->actor.focus.rot.y - this->actor.shape.rot.y;
|
||||||
temp3 = 0;
|
temp3 = 0;
|
||||||
if (!CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0)) {
|
if (!(CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0) &&
|
||||||
|
CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0))) {
|
||||||
temp3 = ((sControlInput->rel.stick_x >= 0) ? 1 : -1) *
|
temp3 = ((sControlInput->rel.stick_x >= 0) ? 1 : -1) *
|
||||||
(s32)((1.0f - Math_CosS(sControlInput->rel.stick_x * 200)) * -1500.0f) * invertXAxisMulti *
|
(s32)((1.0f - Math_CosS(sControlInput->rel.stick_x * 200)) * -1500.0f) * invertXAxisMulti *
|
||||||
xAxisMulti;
|
xAxisMulti;
|
||||||
@@ -12816,7 +12820,8 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) {
|
|||||||
this->actor.focus.rot.y = CLAMP(temp2, -temp1, temp1) + this->actor.shape.rot.y;
|
this->actor.focus.rot.y = CLAMP(temp2, -temp1, temp1) + this->actor.shape.rot.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0)) {
|
if (CVarGetInteger(CVAR_SETTING("MoveInFirstPerson"), 0) &&
|
||||||
|
CVarGetInteger(CVAR_SETTING("Controls.RightStickAim"), 0)) {
|
||||||
f32 movementSpeed = LINK_IS_ADULT ? 9.0f : 8.25f;
|
f32 movementSpeed = LINK_IS_ADULT ? 9.0f : 8.25f;
|
||||||
if (CVarGetInteger(CVAR_ENHANCEMENT("MMBunnyHood"), BUNNY_HOOD_VANILLA) != BUNNY_HOOD_VANILLA &&
|
if (CVarGetInteger(CVAR_ENHANCEMENT("MMBunnyHood"), BUNNY_HOOD_VANILLA) != BUNNY_HOOD_VANILLA &&
|
||||||
this->currentMask == PLAYER_MASK_BUNNY) {
|
this->currentMask == PLAYER_MASK_BUNNY) {
|
||||||
|
|||||||
Reference in New Issue
Block a user