diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2026-02-26 12:22:29 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-26 12:22:29 -0700 |
| commit | cb3b447b53abb8280e8dba891cd7acdd0aa1909f (patch) | |
| tree | b1f279026f7ae41738b0ebf2186b0894cdb095ae | |
| parent | 1732542a6a200a21a9112a75820517a754d9514a (diff) | |
Fix Lakitu in Time Trials (#657)
* Update Game.cpp
* Add functions for various quit transitions
| -rw-r--r-- | src/port/Game.cpp | 8 | ||||
| -rw-r--r-- | src/racing/race_logic.c | 4 |
2 files changed, 12 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)); diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index ff95ecc88..2cfda0cea 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -1054,6 +1054,7 @@ UNUSED void func_80290314(void) { gTourComplete = false; } +// Quit void func_80290338(void) { gIsInQuitToMenuTransition = 1; gQuitToMenuTransitionCounter = 5; @@ -1061,6 +1062,7 @@ void func_80290338(void) { gTourComplete = false; } +// Driver Change void func_80290360(void) { gIsInQuitToMenuTransition = 1; gQuitToMenuTransitionCounter = 5; @@ -1068,6 +1070,7 @@ void func_80290360(void) { gTourComplete = false; } +// Course Change void func_80290388(void) { gIsInQuitToMenuTransition = 1; gQuitToMenuTransitionCounter = 5; @@ -1075,6 +1078,7 @@ void func_80290388(void) { gTourComplete = false; } +// Retry void func_802903B0(void) { gIsInQuitToMenuTransition = 1; gQuitToMenuTransitionCounter = 5; |
