mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-09-10 20:49:48 -04:00
move speed modifier settings to cheats (#6277)
Combine into one speed modifier. Refactor config migrations. Add v6
This commit is contained in:
@@ -344,8 +344,7 @@ void Player_Action_80850E84(Player* this, PlayState* play);
|
||||
void Player_Action_CsAction(Player* this, PlayState* play);
|
||||
|
||||
#pragma region[SoH]
|
||||
u8 gWalkSpeedToggle1;
|
||||
u8 gWalkSpeedToggle2;
|
||||
u8 gWalkSpeedToggle;
|
||||
|
||||
s32 spawn_boomerang_ivan(EnPartner* this, PlayState* play) {
|
||||
if (!CVarGetInteger(CVAR_ENHANCEMENT("IvanCoopModeEnabled"), 0)) {
|
||||
@@ -7138,22 +7137,17 @@ void func_8083DFE0(Player* this, f32* arg1, s16* arg2) {
|
||||
maxSpeed *= 1.5f;
|
||||
}
|
||||
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.Enabled"), 0) &&
|
||||
!CVarGetInteger(CVAR_SETTING("WalkModifier.DoesntChangeJump"), 0)) {
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.SpeedToggle"), 0)) {
|
||||
if (gWalkSpeedToggle1) {
|
||||
maxSpeed *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping1"), 1.0f);
|
||||
} else if (gWalkSpeedToggle2) {
|
||||
maxSpeed *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping2"), 1.0f);
|
||||
if (CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f) != 1.0f &&
|
||||
!CVarGetInteger(CVAR_CHEAT("SpeedModifier.DoesntChangeJump"), 0)) {
|
||||
if (CVarGetInteger(CVAR_CHEAT("SpeedModifier.SpeedToggle"), 0)) {
|
||||
if (gWalkSpeedToggle) {
|
||||
maxSpeed *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Mapping"), 1.0f);
|
||||
}
|
||||
} else {
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod1Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
const s32 mod2Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod2Btn"), BTN_CUSTOM_MODIFIER2);
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_CHEAT("SpeedModifier.Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
|
||||
if (mod1Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod1Mask)) {
|
||||
maxSpeed *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping1"), 1.0f);
|
||||
} else if (mod2Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod2Mask)) {
|
||||
maxSpeed *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping2"), 1.0f);
|
||||
maxSpeed *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8889,21 +8883,16 @@ void Player_Action_80842180(Player* this, PlayState* play) {
|
||||
sp2C *= 1.5f;
|
||||
}
|
||||
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.Enabled"), 0)) {
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.SpeedToggle"), 0)) {
|
||||
if (gWalkSpeedToggle1) {
|
||||
sp2C *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping1"), 1.0f);
|
||||
} else if (gWalkSpeedToggle2) {
|
||||
sp2C *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping2"), 1.0f);
|
||||
if (CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f) != 1.0f) {
|
||||
if (CVarGetInteger(CVAR_CHEAT("SpeedModifier.SpeedToggle"), 0)) {
|
||||
if (gWalkSpeedToggle) {
|
||||
sp2C *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f);
|
||||
}
|
||||
} else {
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod1Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
const s32 mod2Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod2Btn"), BTN_CUSTOM_MODIFIER2);
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_CHEAT("SpeedModifier.Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
|
||||
if (mod1Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod1Mask)) {
|
||||
sp2C *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping1"), 1.0f);
|
||||
} else if (mod2Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod2Mask)) {
|
||||
sp2C *= CVarGetFloat(CVAR_SETTING("WalkModifier.Mapping2"), 1.0f);
|
||||
sp2C *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12317,18 +12306,13 @@ void Player_Update(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.Enabled"), 0) &&
|
||||
CVarGetInteger(CVAR_SETTING("WalkModifier.SpeedToggle"), 0)) {
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod1Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
const s32 mod2Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod2Btn"), BTN_CUSTOM_MODIFIER2);
|
||||
if (CVarGetInteger(CVAR_CHEAT("SpeedModifier.Value"), 1.0f) != 1.0f &&
|
||||
CVarGetInteger(CVAR_CHEAT("SpeedModifier.SpeedToggle"), 0)) {
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_CHEAT("SpeedModifier.Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
|
||||
if (mod1Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod1Mask) &&
|
||||
CHECK_BTN_ANY(sControlInput->press.button, mod1Mask)) {
|
||||
gWalkSpeedToggle1 = !gWalkSpeedToggle1;
|
||||
}
|
||||
if (mod2Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod2Mask) &&
|
||||
CHECK_BTN_ANY(sControlInput->press.button, mod2Mask)) {
|
||||
gWalkSpeedToggle2 = !gWalkSpeedToggle2;
|
||||
gWalkSpeedToggle = !gWalkSpeedToggle;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12784,23 +12768,18 @@ void func_8084AEEC(Player* this, f32* arg1, f32 arg2, s16 arg3) {
|
||||
// #region SOH [Enhancement]
|
||||
f32 swimMod = 1.0f;
|
||||
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.Enabled"), 0) == 1) {
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.SpeedToggle"), 0) == 1) {
|
||||
if (gWalkSpeedToggle1) {
|
||||
swimMod *= CVarGetFloat(CVAR_SETTING("WalkModifier.SwimMapping1"), 1.0f);
|
||||
} else if (gWalkSpeedToggle2) {
|
||||
swimMod *= CVarGetFloat(CVAR_SETTING("WalkModifier.SwimMapping2"), 1.0f);
|
||||
if (CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f) != 1.0f) {
|
||||
if (CVarGetInteger(CVAR_CHEAT("SpeedModifier.SpeedToggle"), 0) == 1) {
|
||||
if (gWalkSpeedToggle) {
|
||||
swimMod *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f);
|
||||
}
|
||||
// sControlInput is NULL to prevent inputs while surfacing after obtaining an underwater item so we want to
|
||||
// ignore it for that case
|
||||
} else if (sControlInput != NULL) {
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod1Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
const s32 mod2Mask = CVarGetInteger(CVAR_SETTING("WalkModifier.Mod2Btn"), BTN_CUSTOM_MODIFIER2);
|
||||
const s32 mod1Mask = CVarGetInteger(CVAR_CHEAT("SpeedModifier.Btn"), BTN_CUSTOM_MODIFIER1);
|
||||
|
||||
if (mod1Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod1Mask)) {
|
||||
swimMod *= CVarGetFloat(CVAR_SETTING("WalkModifier.SwimMapping1"), 1.0f);
|
||||
} else if (mod2Mask != 0 && CHECK_BTN_ALL(sControlInput->cur.button, mod2Mask)) {
|
||||
swimMod *= CVarGetFloat(CVAR_SETTING("WalkModifier.SwimMapping2"), 1.0f);
|
||||
swimMod *= CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f);
|
||||
}
|
||||
}
|
||||
temp1 = this->skelAnime.curFrame - 10.0f;
|
||||
@@ -14048,7 +14027,7 @@ void func_8084DBC4(PlayState* play, Player* this, f32 arg2) {
|
||||
func_8084AEEC(this, &this->linearVelocity, sp2C * 0.5f, sp2A);
|
||||
// Original implementation of func_8084AEEC (SurfaceWithoutSwimMod) to prevent velocity increases via swim mod which
|
||||
// push Link into the air #region SOH [Enhancement]
|
||||
if (CVarGetInteger(CVAR_SETTING("WalkModifier.Enabled"), 0)) {
|
||||
if (CVarGetFloat(CVAR_CHEAT("SpeedModifier.Value"), 1.0f) != 1.0f) {
|
||||
SurfaceWithoutSwimMod(this, &this->actor.velocity.y, arg2, this->yaw);
|
||||
// #endregion
|
||||
} else {
|
||||
|
||||
@@ -13,8 +13,7 @@ void Opening_SetupTitleScreen(OpeningContext* this) {
|
||||
this->state.running = false;
|
||||
gSaveContext.linkAge = 0;
|
||||
gSaveContext.fileNum = 0xFF;
|
||||
gWalkSpeedToggle1 = 0;
|
||||
gWalkSpeedToggle2 = 0;
|
||||
gWalkSpeedToggle = 0;
|
||||
Sram_InitDebugSave();
|
||||
gSaveContext.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.sceneSetupIndex = 7;
|
||||
|
||||
Reference in New Issue
Block a user