diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2025-12-13 11:50:28 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-13 11:50:28 -0700 |
| commit | b934e98fc34964970ab5efacb2fb7c3372ae0b1a (patch) | |
| tree | cd96e5fabec7fdcc098d0de33b3b7e2754fb6cd5 /src/engine/tracks/TestTrack.cpp | |
| parent | e6acb59ef4797ce27ddc9e21982c3f4e40824b52 (diff) | |
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 <pereira.jannin@gmail.com>
Diffstat (limited to 'src/engine/tracks/TestTrack.cpp')
| -rw-r--r-- | src/engine/tracks/TestTrack.cpp | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/src/engine/tracks/TestTrack.cpp b/src/engine/tracks/TestTrack.cpp index 52ddfc49c..d60505180 100644 --- a/src/engine/tracks/TestTrack.cpp +++ b/src/engine/tracks/TestTrack.cpp @@ -71,7 +71,7 @@ TestTrack::TestTrack() { Props.Minimap.Colour = {255, 255, 255}; ResizeMinimap(&Props.Minimap); - Id = "mk:test_track"; + ResourceName = "mk:test_track"; Props.SetText(Props.Name, "Test Track", sizeof(Props.Name)); Props.SetText(Props.DebugName, "test track", sizeof(Props.DebugName)); @@ -146,9 +146,6 @@ void TestTrack::Load() { Props.WaterLevel = gTrackMinY - 10.0f; } -void TestTrack::UnLoad() { -} - void TestTrack::BeginPlay() { struct ActorSpawnData itemboxes[] = { { 200, 1500, 200 , 0}, @@ -188,7 +185,7 @@ void TestTrack::BeginPlay() { vec3f_set(position, 50.0f, 2.0f, 50.0f); Vec3f crossingPos = {0, 2, 0}; - uintptr_t* crossing1 = (uintptr_t*) gWorldInstance.AddCrossing(crossingPos, 0, 2, 900.0f, 650.0f); + uintptr_t* crossing1 = (uintptr_t*) GetWorld()->AddCrossing(crossingPos, 0, 2, 900.0f, 650.0f); position[0] *= gTrackDirection; rrxing = (struct RailroadCrossing*) GET_ACTOR(add_actor_to_empty_slot(position, rotation, velocity, @@ -196,34 +193,34 @@ void TestTrack::BeginPlay() { rrxing->crossingTrigger = crossing1; Vec3f pos = {0, 80, 0}; - // gWorldInstance.AddActor(new ACloud(pos)); + // GetWorld()->AddActor(new ACloud(pos)); - // gWorldInstance.AddActor(new OSeagull(0, pos)); - // gWorldInstance.AddActor(new OSeagull(1, pos)); - // gWorldInstance.AddActor(new OSeagull(2, pos)); - // gWorldInstance.AddActor(new OSeagull(3, pos)); - // gWorldInstance.AddObject(new OCheepCheep(FVector(0, 40, 0), OCheepCheep::CheepType::RACE, IPathSpan(0, 10))); - OTrophy::Spawn(FVector(0,0,0), OTrophy::TrophyType::GOLD, OTrophy::Behaviour::GO_FISH); - //gWorldInstance.AddObject(new OSnowman(FVector(0, 0, 0))); - //gWorldInstance.AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), IRotator(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); + // GetWorld()->AddActor(new OSeagull(0, pos)); + // GetWorld()->AddActor(new OSeagull(1, pos)); + // GetWorld()->AddActor(new OSeagull(2, pos)); + // GetWorld()->AddActor(new OSeagull(3, pos)); + // GetWorld()->AddObject(new OCheepCheep(FVector(0, 40, 0), OCheepCheep::CheepType::RACE, IPathSpan(0, 10))); + SpawnActor<OTrophy>(FVector(0,0,0), OTrophy::TrophyType::GOLD, OTrophy::Behaviour::GO_FISH); + //GetWorld()->AddObject(new OSnowman(FVector(0, 0, 0))); + //GetWorld()->AddObject(new OTrashBin(FVector(0.0f, 0.0f, 0.0f), IRotator(0, 90, 0), 1.0f, OTrashBin::Behaviour::MUNCHING)); - //gWorldInstance.AddObject(new OHedgehog(FVector(0, 0, 0), FVector2D(0, -200), 9)); - //gWorldInstance.AddObject(new OFlagpole(FVector(0, 0, -200), 0x400)); -// gWorldInstance.AddObject(new OHotAirBalloon(FVector(0.0, 20.0f, -200.0f))); + //GetWorld()->AddObject(new OHedgehog(FVector(0, 0, 0), FVector2D(0, -200), 9)); + //GetWorld()->AddObject(new OFlagpole(FVector(0, 0, -200), 0x400)); +// GetWorld()->AddObject(new OHotAirBalloon(FVector(0.0, 20.0f, -200.0f))); - //gWorldInstance.AddObject(new OCrab(FVector2D(0, 0), FVector2D(0, -200))); -// gWorldInstance.AddActor(new ABowserStatue(FVector(-200, 0, 0), ABowserStatue::Behaviour::CRUSH)); + //GetWorld()->AddObject(new OCrab(FVector2D(0, 0), FVector2D(0, -200))); +// GetWorld()->AddActor(new ABowserStatue(FVector(-200, 0, 0), ABowserStatue::Behaviour::CRUSH)); -// gWorldInstance.AddObject(new OBoos(10, IPathSpan(0, 5), IPathSpan(18, 23), IPathSpan(25, 50))); - //OThwomp::Spawn(0, 0, 0, 1.0f, 0, 1, 7); +// GetWorld()->AddObject(new OBoos(10, IPathSpan(0, 5), IPathSpan(18, 23), IPathSpan(25, 50))); + //SpawnActor<OThwomp>(0, 0, 0, 1.0f, 0, 1, 7); - //gWorldInstance.AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 0); - //gWorldInstance.AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 8); + //GetWorld()->AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 0); + //GetWorld()->AddTrain(ATrain::TenderStatus::HAS_TENDER, 5, 2.5f, 8); - OBombKart::Spawn(0, 25, 4, 0.8333333f); - OBombKart::Spawn(0, 45, 4, 0.8333333f); + SpawnActor<OBombKart>(0, 25, 4, 0.8333333f); + SpawnActor<OBombKart>(0, 45, 4, 0.8333333f); - // gWorldInstance.AddActor(new AShip(FVector(0, 0, 0), AShip::Skin::SHIP3)); + // GetWorld()->AddActor(new AShip(FVector(0, 0, 0), AShip::Skin::SHIP3)); // OGrandPrixBalloons::Spawn(FVector(0, 0, 0)); } |
