summaryrefslogtreecommitdiff
path: root/src/engine/tracks/ChocoMountain.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/ChocoMountain.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/ChocoMountain.cpp')
-rw-r--r--src/engine/tracks/ChocoMountain.cpp43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/engine/tracks/ChocoMountain.cpp b/src/engine/tracks/ChocoMountain.cpp
index 2719d5f42..dc369c9a5 100644
--- a/src/engine/tracks/ChocoMountain.cpp
+++ b/src/engine/tracks/ChocoMountain.cpp
@@ -50,7 +50,7 @@ ChocoMountain::ChocoMountain() {
Props.Minimap.FinishlineY = -16.0;
ResizeMinimap(&Props.Minimap);
- Id = "mk:choco_mountain";
+ ResourceName = "mk:choco_mountain";
Props.SetText(Props.Name, "choco mountain", sizeof(Props.Name));
Props.SetText(Props.DebugName, "mountain", sizeof(Props.DebugName));
Props.SetText(Props.TrackLength, "687m", sizeof(Props.TrackLength));
@@ -127,12 +127,13 @@ void ChocoMountain::Load() {
InvertTriangleWindingByName(d_course_choco_mountain_packed_dl_5D8);
InvertTriangleWindingByName(d_course_choco_mountain_packed_dl_718);
}
- D_800DC5BC = 1;
- D_801625EC = 255;
- D_801625F4 = 255;
- D_801625F0 = 255;
- D_802B87B0 = 0x3E3;
- D_802B87B4 = 0x3E8;
+ bFog = true;
+ gFogColour.r = 255;
+ gFogColour.g = 255;
+ gFogColour.b = 255;
+ gFogColour.a = 255;
+ gFogMin = 0x3E3;
+ gFogMax = 0x3E8;
D_802B87D4 = 0x71C;
D_802B87D0 = 0xE38;
@@ -157,24 +158,20 @@ void ChocoMountain::Load() {
func_80295C6C();
}
-void ChocoMountain::UnLoad() {
- RestoreTriangleWinding();
-}
-
void ChocoMountain::BeginPlay() {
spawn_all_item_boxes((struct ActorSpawnData*)LOAD_ASSET_RAW(d_course_choco_mountain_item_box_spawns));
- AFallingRock::Spawn(FVector(2019, 156, 164), 60);
- AFallingRock::Spawn(FVector(2018, 155, 379), 120);
- AFallingRock::Spawn(FVector(1996, 146, 505), 180);
+ SpawnActor<AFallingRock>(FVector(2019, 156, 164), 60);
+ SpawnActor<AFallingRock>(FVector(2018, 155, 379), 120);
+ SpawnActor<AFallingRock>(FVector(1996, 146, 505), 180);
if (gModeSelection == VERSUS) {
- OBombKart::Spawn(0, 140, 3, 0.8333333f);
- OBombKart::Spawn(0, 165, 1, 0.8333333f);
- OBombKart::Spawn(0, 330, 3, 0.8333333f);
- OBombKart::Spawn(0, 550, 1, 0.8333333f);
- OBombKart::Spawn(0, 595, 3, 0.8333333f);
- OBombKart::Spawn(0, 0, 0, 0.8333333f);
- OBombKart::Spawn(0, 0, 0, 0.8333333f);
+ SpawnActor<OBombKart>(0, 140, 3, 0.8333333f);
+ SpawnActor<OBombKart>(0, 165, 1, 0.8333333f);
+ SpawnActor<OBombKart>(0, 330, 3, 0.8333333f);
+ SpawnActor<OBombKart>(0, 550, 1, 0.8333333f);
+ SpawnActor<OBombKart>(0, 595, 3, 0.8333333f);
+ SpawnActor<OBombKart>(0, 0, 0, 0.8333333f);
+ SpawnActor<OBombKart>(0, 0, 0, 0.8333333f);
}
}
@@ -236,8 +233,8 @@ void ChocoMountain::Draw(ScreenContext* arg0) {
gSPDisplayList(gDisplayListHead++, (Gfx*) d_course_choco_mountain_packed_dl_4608);
}
gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE);
- gDPSetFogColor(gDisplayListHead++, D_801625EC, D_801625F4, D_801625F0, 0xFF);
- gSPFogPosition(gDisplayListHead++, D_802B87B0, D_802B87B4);
+ gDPSetFogColor(gDisplayListHead++, gFogColour.r, gFogColour.g, gFogColour.b, gFogColour.a);
+ gSPFogPosition(gDisplayListHead++, gFogMin, gFogMax);
gDPPipeSync(gDisplayListHead++);
gSPSetGeometryMode(gDisplayListHead++, G_FOG);