summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-03-05 13:51:59 -0700
committerGitHub <noreply@github.com>2026-03-05 13:51:59 -0700
commit000c47e6100770a634fa01a1457c28ca8e2b860e (patch)
treeb4fcc284ccafc6216e5d544fa106e00e0f21734c
parent55419843ade72e79ab0ed1c50aee3bd8e8a8d72f (diff)
Fix retry issue with actors (#669)
* Update World.h * Update World.cpp * Update Game.cpp
-rw-r--r--src/engine/World.cpp7
-rw-r--r--src/engine/World.h1
-rw-r--r--src/port/Game.cpp2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/engine/World.cpp b/src/engine/World.cpp
index d1619ae18..b35a39d91 100644
--- a/src/engine/World.cpp
+++ b/src/engine/World.cpp
@@ -273,3 +273,10 @@ void World::CleanWorld(void) {
Lakitus.clear();
Sky::Instance->GetSkyActors().clear();
}
+
+void World::CleanActors(void) {
+ World::Reset();
+ Actors.clear();
+ Lakitus.clear();
+ Objects.clear();
+}
diff --git a/src/engine/World.h b/src/engine/World.h
index 96b620bb6..6bc60ca2b 100644
--- a/src/engine/World.h
+++ b/src/engine/World.h
@@ -103,6 +103,7 @@ public:
World* GetWorld(void);
void CleanWorld(void);
+ void CleanActors(void);
// getter/setter for current track
Track* GetTrack() {
diff --git a/src/port/Game.cpp b/src/port/Game.cpp
index e5ac7f45c..a310cb845 100644
--- a/src/port/Game.cpp
+++ b/src/port/Game.cpp
@@ -366,7 +366,7 @@ void CM_DrawStaticMeshActors() {
void CM_BeginPlay() {
static bool tour = false;
auto track = GetWorld()->GetTrack();
- GetWorld()->Actors.clear();
+ GetWorld()->CleanActors();
if (nullptr == track) {
return;