summaryrefslogtreecommitdiff
path: root/src/engine/TrackBrowser.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-08-11 20:23:28 -0600
committerGitHub <noreply@github.com>2026-08-11 20:23:28 -0600
commitb6f764625111fc7f0a7fe68a358bd3636b297d20 (patch)
tree5bd0de9b6cdf319eb1735dc68c5bf933b23a218a /src/engine/TrackBrowser.cpp
parentd776da16b387a56df85bb5598eeb03776e63fd60 (diff)
parent701d877dbbec50ad75df824bf8e7b297aeac2202 (diff)
Merge branch 'main' into coco875-patch-1coco875-patch-1
Diffstat (limited to 'src/engine/TrackBrowser.cpp')
-rw-r--r--src/engine/TrackBrowser.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/engine/TrackBrowser.cpp b/src/engine/TrackBrowser.cpp
index 7d7b958c8..d7c3907c0 100644
--- a/src/engine/TrackBrowser.cpp
+++ b/src/engine/TrackBrowser.cpp
@@ -80,8 +80,18 @@ extern "C" void TrackBrowser_SetTrack(const char* name) {
TrackBrowser::Instance->SetTrack(std::string(name));
}
-extern "C" void TrackBrowser_SetTrackFromCup() {
- TrackBrowser::Instance->SetTrack(GetWorld()->GetCurrentCup()->GetTrack());
+static std::string sCurrentlySelectedTrack = "";
+extern "C" void TrackBrowser_SetTrackFromCup(void) {
+ const std::string& track = GetWorld()->GetCurrentCup()->GetTrack();
+ // Prevent repeated invoke spams
+ if (track != sCurrentlySelectedTrack) {
+ sCurrentlySelectedTrack = track;
+ TrackBrowser::Instance->SetTrack(track);
+ }
+}
+
+extern "C" void TrackBrowser_ResetSelectedTrack(void) {
+ sCurrentlySelectedTrack = "";
}
extern "C" void TrackBrowser_NextTrack(void) {