summaryrefslogtreecommitdiff
path: root/src/engine/tracks/TestTrack.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2025-12-13 11:50:28 -0700
committerGitHub <noreply@github.com>2025-12-13 11:50:28 -0700
commitb934e98fc34964970ab5efacb2fb7c3372ae0b1a (patch)
treecd96e5fabec7fdcc098d0de33b3b7e2754fb6cd5 /src/engine/tracks/TestTrack.cpp
parente6acb59ef4797ce27ddc9e21982c3f4e40824b52 (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.cpp49
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));
}