From b934e98fc34964970ab5efacb2fb7c3372ae0b1a Mon Sep 17 00:00:00 2001 From: MegaMech Date: Sat, 13 Dec 2025 11:50:28 -0700 Subject: Refactor Track Class To Instantiate On Track Load (#587) * Initial Commit * First compilation of Registry template * Further changes * wip changes * Impl TrackBrowser and Registry Info * Remove const from TInfo * Prep GetWorld * Name refactor * Refactor gWorldInstance to GetWorld() * wip * Should work now * Data menu work again * Fix editor staying open after program close * Rename LoadLevel to LoadTrackDataFromJson * More changes * Add statue * Add search to content browser using tags * Fix statue pos and register tags * Fix actor loading * Fix delete all bug which deleted cameras * reduce some boiler plate in actor and object * Remove unused rulesets * Search bar for all tabs * fix data screen * fix actor spawning * temp editor fix * Clean up * improve extra mode transformation * fix podium crash * Fix editor clicking * Fix editor clicking 2 * fix extra in custom track * Fix FI for three actors * Fix divide by zero error * Ids managed by Registry * Add scary comment --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> Co-authored-by: coco875 --- src/engine/TrainCrossing.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/engine/TrainCrossing.cpp') diff --git a/src/engine/TrainCrossing.cpp b/src/engine/TrainCrossing.cpp index 21eefc8d2..fbf6d32b6 100644 --- a/src/engine/TrainCrossing.cpp +++ b/src/engine/TrainCrossing.cpp @@ -29,9 +29,8 @@ void TrainCrossing::CrossingTrigger() { s32 i; OnTriggered = 0; - for (const auto& actor : gWorldInstance.Actors) { - if (auto train = dynamic_cast(actor)) { - ; + for (const auto& actor : GetWorld()->Actors) { + if (auto* train = dynamic_cast(actor.get())) { f32 radius = DynamicRadius(train->Locomotive.position, train->Locomotive.velocity, Position); if (Distance(train->Locomotive.position, Position) < radius) { -- cgit v1.2.3