summaryrefslogtreecommitdiff
path: root/src/port/Game.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-02-26 12:22:29 -0700
committerGitHub <noreply@github.com>2026-02-26 12:22:29 -0700
commitcb3b447b53abb8280e8dba891cd7acdd0aa1909f (patch)
treeb1f279026f7ae41738b0ebf2186b0894cdb095ae /src/port/Game.cpp
parent1732542a6a200a21a9112a75820517a754d9514a (diff)
Fix Lakitu in Time Trials (#657)
* Update Game.cpp * Add functions for various quit transitions
Diffstat (limited to 'src/port/Game.cpp')
-rw-r--r--src/port/Game.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/port/Game.cpp b/src/port/Game.cpp
index 9a492f6b3..e5ac7f45c 100644
--- a/src/port/Game.cpp
+++ b/src/port/Game.cpp
@@ -669,6 +669,14 @@ void CM_SpawnStarterLakitu() {
}
for (size_t i = 0; i < gPlayerCountSelection1; i++) {
+ // Retry does not respawn actors, therefore, re-use lakitu.
+ if (auto it = GetWorld()->Lakitus.find(i); it != GetWorld()->Lakitus.end()) {
+ if (it->second) {
+ it->second->Activate(OLakitu::STARTER);
+ }
+ continue; // Already exists, skip spawning
+ }
+
auto lakitu = std::make_unique<OLakitu>(i, OLakitu::LakituType::STARTER);
GetWorld()->Lakitus[i] = lakitu.get();
GetWorld()->AddObject(std::move(lakitu));