summaryrefslogtreecommitdiff
path: root/src/engine/tracks/Track.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/tracks/Track.cpp')
-rw-r--r--src/engine/tracks/Track.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/engine/tracks/Track.cpp b/src/engine/tracks/Track.cpp
index ae6477c59..3f898754e 100644
--- a/src/engine/tracks/Track.cpp
+++ b/src/engine/tracks/Track.cpp
@@ -623,6 +623,19 @@ void Track::Waypoints(Player* player, int8_t playerId) {
void Track::Draw(ScreenContext* arg0) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
+
+ if (bFog) {
+ gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE);
+ gDPSetRenderMode(gDisplayListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2);
+ gSPSetGeometryMode(gDisplayListHead++, G_FOG);
+
+ gDPSetFogColor(gDisplayListHead++, gFogColour.r, gFogColour.g, gFogColour.b, gFogColour.a);
+ gSPFogPosition(gDisplayListHead++, gFogMin, gFogMax);
+ gDPPipeSync(gDisplayListHead++);
+ } else {
+ gSPClearGeometryMode(gDisplayListHead++, G_FOG);
+ }
+
set_track_light_direction(D_800DC610, D_802B87D4, 0, 1);
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
@@ -630,7 +643,6 @@ void Track::Draw(ScreenContext* arg0) {
if (func_80290C20(arg0->camera) == 1) {
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
- // d_course_big_donut_packed_dl_DE8
}
const TrackInfo* info = gTrackRegistry.GetInfo(ResourceName);