From 0d439d5dcd53447b1eefb49f8136e60d3944cd13 Mon Sep 17 00:00:00 2001 From: Nomagno Date: Tue, 19 Aug 2025 16:18:57 +0200 Subject: [PATCH] Fix bad checking of values in setStartupBoost() --- src/karts/kart.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/karts/kart.cpp b/src/karts/kart.cpp index 98c83a0eb49..8252af0e474 100644 --- a/src/karts/kart.cpp +++ b/src/karts/kart.cpp @@ -1369,11 +1369,17 @@ void Kart::setStartupBoostFromStartTicks(int ticks) void Kart::setStartupBoost(uint8_t boost_level) { std::vector startup_times = m_kart_properties->getStartupTime(); - int index = m_kart_properties->getStartupTime().size() - boost_level + 1; - assert(index >= 0 && index <= (int)m_kart_properties->getStartupTime().size()); - m_startup_boost = m_kart_properties->getStartupBoost()[index]; - m_startup_engine_force = m_kart_properties->getStartupEngineForce()[index]; + if (boost_level >= 2) { + int index = m_kart_properties->getStartupTime().size() - boost_level + 1; + assert(index >= 0 && index < (int)m_kart_properties->getStartupTime().size()); + m_startup_boost = m_kart_properties->getStartupBoost()[index]; + m_startup_engine_force = m_kart_properties->getStartupEngineForce()[index]; + } else { + m_startup_boost = 0; + m_startup_engine_force = 0; + } + m_startup_boost_level = boost_level; } // setStartupBoost