Skip to content

Commit

Permalink
Sync to wall collision
Browse files Browse the repository at this point in the history
  • Loading branch information
vabold committed May 13, 2024
1 parent 293f569 commit e7ad4c0
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions source/game/kart/KartMove.cc
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,11 @@ void KartMove::calcRotation() {
turn = param()->stats().handlingManualTightness;
}

bool forwards = true;
if (state()->isBrake() && m_speed <= 0.0f) {
forwards = false;
}

turn *= m_realTurn;
if (state()->isChargingSsmt()) {
turn = m_realTurn * 0.04f;
Expand All @@ -635,18 +640,27 @@ void KartMove::calcRotation() {

if (!drifting) {
if (EGG::Mathf::abs(m_speed) < 1.0f) {
turn = 0.0f;
if (!(state()->isHop() && m_hopPosY > 0.0f)) {
turn = 0.0f;
goto ABS_SPEED_EDGECASE;
}
}

if (m_speed >= 20.0f) {
turn *= 0.5f;
if (m_speed < 70.0f) {
turn += (1.0f - (m_speed - 20.0f) / 50.0f) * turn;
if (forwards) {
if (m_speed >= 20.0f) {
turn *= 0.5f;
if (m_speed < 70.0f) {
turn += (1.0f - (m_speed - 20.0f) / 50.0f) * turn;
}
} else {
turn = (turn * 0.4f) + (m_speed / 20.0f) * (turn * 0.6f);
}
} else {
turn = (turn * 0.4f) + (m_speed / 20.0f) * (turn * 0.6f);
}
}

ABS_SPEED_EDGECASE:
if (!forwards) {
turn = -turn;
}
}

if (!state()->isTouchingGround()) {
Expand All @@ -673,6 +687,10 @@ void KartMove::calcVehicleSpeed() {
}
}

if (m_speed < -20.0f) {
m_speed += 0.5f;
}

m_acceleration = 0.0f;
m_speedDragMultiplier = 1.0f;

Expand Down

0 comments on commit e7ad4c0

Please sign in to comment.