diff --git a/enhancements/flycam.patch b/enhancements/flycam.patch index fd81c47f67..844363a3dc 100644 --- a/enhancements/flycam.patch +++ b/enhancements/flycam.patch @@ -250,7 +250,7 @@ index 0000000..5569838 + if (fRankIndex > 0) { + fRankIndex--; + camera->playerId = fRankIndex; -+ D_800DC5EC->player = &gPlayers[fRankIndex]; ++ gScreenOneCtx->player = &gPlayers[fRankIndex]; + } + } + @@ -259,7 +259,7 @@ index 0000000..5569838 + if (fRankIndex < 7) { + fRankIndex++; + camera->playerId = fRankIndex; -+ D_800DC5EC->player = &gPlayers[fRankIndex]; ++ gScreenOneCtx->player = &gPlayers[fRankIndex]; + } + } + @@ -430,7 +430,7 @@ diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index c2a84aa..338e2bd 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c -@@ -180,6 +180,11 @@ void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC *arg1) { +@@ -180,6 +180,11 @@ void render_course_segments(uintptr_t addr, struct ScreenContext *arg1) { arg1->pathCounter = temp_v1; temp_v1 = ((temp_v1 - 1) * 4) + var_a3; diff --git a/src/actors/banana/render.inc.c b/src/actors/banana/render.inc.c index abd2fa7b77..1f1e753167 100644 --- a/src/actors/banana/render.inc.c +++ b/src/actors/banana/render.inc.c @@ -16,7 +16,7 @@ void render_actor_banana(Camera* camera, UNUSED Mat4 arg1, struct BananaActor* b Mat4 sp3C; f32 temp = - distance_if_visible(camera->pos, banana->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 490000.0f); + distance_if_visible(camera->pos, banana->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 490000.0f); if (temp < 0.0f) { actor_not_rendered(camera, (struct Actor*) banana); return; diff --git a/src/actors/box_truck/render.inc.c b/src/actors/box_truck/render.inc.c index f4ab446e71..a150e426ed 100644 --- a/src/actors/box_truck/render.inc.c +++ b/src/actors/box_truck/render.inc.c @@ -17,7 +17,7 @@ void render_actor_box_truck(Camera* arg0, struct Actor* arg1) { Mat4 spD8; UNUSED s32 pad2[32]; f32 temp_f0 = - distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraFOV[arg0 - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } diff --git a/src/actors/car/render.inc.c b/src/actors/car/render.inc.c index 87980f80cb..ba5dae6ec9 100644 --- a/src/actors/car/render.inc.c +++ b/src/actors/car/render.inc.c @@ -15,7 +15,7 @@ void render_actor_car(Camera* arg0, struct Actor* arg1) { Mat4 spC8; UNUSED s32 pad2[32]; f32 temp_f0 = - distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraFOV[arg0 - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { diff --git a/src/actors/cow/render.inc.c b/src/actors/cow/render.inc.c index a313043d62..5f73a18836 100644 --- a/src/actors/cow/render.inc.c +++ b/src/actors/cow/render.inc.c @@ -13,7 +13,7 @@ * @param arg2 */ void render_actor_cow(Camera* camera, Mat4 arg1, struct Actor* arg2) { - if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], + if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f) < 0) { return; } diff --git a/src/actors/fake_item_box/render.inc.c b/src/actors/fake_item_box/render.inc.c index 36e4cf9e0a..4bb10ee443 100644 --- a/src/actors/fake_item_box/render.inc.c +++ b/src/actors/fake_item_box/render.inc.c @@ -24,7 +24,7 @@ void render_actor_fake_item_box(Camera* camera, struct FakeItemBox* fakeItemBox) f32 temp_f2_2; f32 someMultiplier; - if (distance_if_visible(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraZoom[camera - camera1], + if (distance_if_visible(camera->pos, fakeItemBox->pos, camera->rot[1], 2500.0f, gCameraFOV[camera - camera1], 1000000.0f) < 0) { actor_not_rendered(camera, (struct Actor*) fakeItemBox); return; diff --git a/src/actors/falling_rock/render.inc.c b/src/actors/falling_rock/render.inc.c index 5b3e099275..56368ceab5 100644 --- a/src/actors/falling_rock/render.inc.c +++ b/src/actors/falling_rock/render.inc.c @@ -20,7 +20,7 @@ void render_actor_falling_rock(Camera* camera, struct FallingRock* rock) { return; } - height = distance_if_visible(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraZoom[camera - camera1], + height = distance_if_visible(camera->pos, rock->pos, camera->rot[1], 400.0f, gCameraFOV[camera - camera1], 4000000.0f); if (height < 0.0f) { diff --git a/src/actors/item_box/render.inc.c b/src/actors/item_box/render.inc.c index d0288a6376..03114fb1cd 100644 --- a/src/actors/item_box/render.inc.c +++ b/src/actors/item_box/render.inc.c @@ -26,7 +26,7 @@ void render_actor_item_box(Camera* camera, struct ItemBox* item_box) { f32 temp_f2_2; f32 someMultiplier; - temp_f0 = distance_if_visible(camera->pos, item_box->pos, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], + temp_f0 = distance_if_visible(camera->pos, item_box->pos, camera->rot[1], 0.0f, gCameraFOV[camera - camera1], 4000000.0f); if (!(temp_f0 < 0.0f) && !(600000.0f < temp_f0)) { if ((item_box->state == 2) && (temp_f0 < 100000.0f)) { diff --git a/src/actors/mario_sign/render.inc.c b/src/actors/mario_sign/render.inc.c index f9e7eb59e3..64ab2681e2 100644 --- a/src/actors/mario_sign/render.inc.c +++ b/src/actors/mario_sign/render.inc.c @@ -19,7 +19,7 @@ void render_actor_mario_sign(Camera* arg0, UNUSED Mat4 arg1, struct Actor* arg2) return; } - unk = distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f); + unk = distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraFOV[arg0 - camera1], 16000000.0f); if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/actors/paddle_boat/render.inc.c b/src/actors/paddle_boat/render.inc.c index fdd16a2e4a..a0ea488612 100644 --- a/src/actors/paddle_boat/render.inc.c +++ b/src/actors/paddle_boat/render.inc.c @@ -29,7 +29,7 @@ void render_actor_paddle_boat(Camera* arg0, struct PaddleWheelBoat* boat, UNUSED } temp = - distance_if_visible(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + distance_if_visible(arg0->pos, boat->pos, arg0->rot[1], 90000.0f, gCameraFOV[arg0 - camera1], 9000000.0f); if (temp < 0.0f) { return; diff --git a/src/actors/palm_tree/render.inc.c b/src/actors/palm_tree/render.inc.c index 60690e4e3f..94da33ef95 100644 --- a/src/actors/palm_tree/render.inc.c +++ b/src/actors/palm_tree/render.inc.c @@ -21,7 +21,7 @@ void render_actor_palm_tree(Camera* arg0, UNUSED Mat4 arg1, struct PalmTree* arg } temp_f0 = - distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], 4000000.0f); + distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0.0f, gCameraFOV[arg0 - camera1], 4000000.0f); if (!(temp_f0 < 0.0f)) { if (((temp_v0 & 0x400) == 0) && (temp_f0 < 250000.0f)) { diff --git a/src/actors/piranha_plant/render.inc.c b/src/actors/piranha_plant/render.inc.c index 6c98bd599a..b69a012da7 100644 --- a/src/actors/piranha_plant/render.inc.c +++ b/src/actors/piranha_plant/render.inc.c @@ -25,7 +25,7 @@ void render_actor_piranha_plant(Camera* arg0, Mat4 arg1, struct PiranhaPlant* ar return; } - temp_f0 = distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 1000000.0f); + temp_f0 = distance_if_visible(arg0->pos, arg2->pos, arg0->rot[1], 0, gCameraFOV[arg0 - camera1], 1000000.0f); if (temp_f0 < 0.0f) { diff --git a/src/actors/railroad_crossing/render.inc.c b/src/actors/railroad_crossing/render.inc.c index 674bc3da52..0a44a20a0c 100644 --- a/src/actors/railroad_crossing/render.inc.c +++ b/src/actors/railroad_crossing/render.inc.c @@ -13,7 +13,7 @@ void render_actor_railroad_crossing(Camera* arg0, struct RailroadCrossing* rr_crossing) { UNUSED Vec3s sp80 = { 0, 0, 0 }; Mat4 sp40; - f32 unk = distance_if_visible(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraZoom[arg0 - camera1], + f32 unk = distance_if_visible(arg0->pos, rr_crossing->pos, arg0->rot[1], 0.0f, gCameraFOV[arg0 - camera1], 4000000.0f); if (!(unk < 0.0f)) { diff --git a/src/actors/school_bus/render.inc.c b/src/actors/school_bus/render.inc.c index 81cccd8c43..fd45dfe35a 100644 --- a/src/actors/school_bus/render.inc.c +++ b/src/actors/school_bus/render.inc.c @@ -18,7 +18,7 @@ void render_actor_school_bus(Camera* arg0, struct Actor* arg1) { f32 temp_f0; temp_f0 = - distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); + distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraFOV[arg0 - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; } diff --git a/src/actors/tanker_truck/render.inc.c b/src/actors/tanker_truck/render.inc.c index 1703b99c9a..85da96017f 100644 --- a/src/actors/tanker_truck/render.inc.c +++ b/src/actors/tanker_truck/render.inc.c @@ -15,7 +15,7 @@ void render_actor_tanker_truck(Camera* camera, struct Actor* arg1) { Mat4 spC8; UNUSED s32 pad2[32]; f32 temp_f0 = distance_if_visible(camera->pos, arg1->pos, camera->rot[1], 2500.0f, - gCameraZoom[camera - camera1], 9000000.0f); + gCameraFOV[camera - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index c5b8dfc7cd..e199495d14 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -20,7 +20,7 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { Mat4 spA0; f32 distance = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2500.0f, - gCameraZoom[camera - camera1], 9000000.0f); + gCameraFOV[camera - camera1], 9000000.0f); if (distance < 0.0f) { return; @@ -167,7 +167,7 @@ void render_actor_train_tender(Camera* camera, struct TrainCar* actor) { Mat4 spA0; f32 temp_f0 = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 625.0f, - gCameraZoom[camera - camera1], 9000000.0f); + gCameraFOV[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; @@ -252,7 +252,7 @@ void render_actor_train_passenger_car(Camera* camera, struct TrainCar* actor) { Mat4 spA0; f32 temp_f0 = distance_if_visible(camera->pos, actor->pos, camera->rot[1], 2025.0f, - gCameraZoom[camera - camera1], 9000000.0f); + gCameraFOV[camera - camera1], 9000000.0f); if (temp_f0 < 0.0f) { return; diff --git a/src/actors/trees/render.inc.c b/src/actors/trees/render.inc.c index f7b6cea3ac..c566fbc79b 100644 --- a/src/actors/trees/render.inc.c +++ b/src/actors/trees/render.inc.c @@ -20,7 +20,7 @@ void render_actor_tree_mario_raceway(Camera* camera, Mat4 arg1, struct Actor* ar } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 16000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 16000000.0f); if (temp_f0 < 0.0f) { return; @@ -55,7 +55,7 @@ void render_actor_tree_yoshi_valley(Camera* camera, Mat4 arg1, struct Actor* arg } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -90,7 +90,7 @@ void render_actor_tree_royal_raceway(Camera* camera, Mat4 arg1, struct Actor* ar } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -125,7 +125,7 @@ void render_actor_tree_moo_moo_farm(Camera* camera, Mat4 arg1, struct Actor* arg } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 6250000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 6250000.0f); if (temp_f0 < 0.0f) { return; @@ -154,7 +154,7 @@ void func_80299864(Camera* camera, Mat4 arg1, struct Actor* arg2) { } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -193,7 +193,7 @@ void render_actor_tree_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* ar } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -228,7 +228,7 @@ void render_actor_bush_bowser_castle(Camera* camera, Mat4 arg1, struct Actor* ar } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 640000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 640000.0f); if (temp_f0 < 0.0f) { return; @@ -263,7 +263,7 @@ void render_actor_tree_frappe_snowland(Camera* camera, Mat4 arg1, struct Actor* } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -297,7 +297,7 @@ void render_actor_tree_cactus1_kalimari_desert(Camera* camera, Mat4 arg1, struct } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -331,7 +331,7 @@ void render_actor_tree_cactus2_kalimari_desert(Camera* camera, Mat4 arg1, struct } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; @@ -365,7 +365,7 @@ void render_actor_tree_cactus3_kalimari_desert(Camera* camera, Mat4 arg1, struct } temp_f0 = - distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 < 0.0f) { return; diff --git a/src/actors/wario_sign/render.inc.c b/src/actors/wario_sign/render.inc.c index 46058d050d..edadd4ddb2 100644 --- a/src/actors/wario_sign/render.inc.c +++ b/src/actors/wario_sign/render.inc.c @@ -12,7 +12,7 @@ */ void render_actor_wario_sign(Camera* arg0, struct Actor* arg1) { Mat4 sp38; - f32 unk = distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraZoom[arg0 - camera1], 16000000.0f); + f32 unk = distance_if_visible(arg0->pos, arg1->pos, arg0->rot[1], 0, gCameraFOV[arg0 - camera1], 16000000.0f); if (!(unk < 0.0f)) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); diff --git a/src/actors/yoshi_egg/render.inc.c b/src/actors/yoshi_egg/render.inc.c index c5e0db9b4a..843e2d9bea 100644 --- a/src/actors/yoshi_egg/render.inc.c +++ b/src/actors/yoshi_egg/render.inc.c @@ -20,7 +20,7 @@ void render_actor_yoshi_egg(Camera* arg0, Mat4 arg1, struct YoshiValleyEgg* egg, f32 temp_f0; if (gGamestate != CREDITS_SEQUENCE) { - temp_f0 = distance_if_visible(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraZoom[arg0 - camera1], + temp_f0 = distance_if_visible(arg0->pos, egg->pos, arg0->rot[1], 200.0f, gCameraFOV[arg0 - camera1], 16000000.0f); if (temp_f0 < 0.0f) { return; diff --git a/src/camera.c b/src/camera.c index 914689f95e..20ae99ebfb 100644 --- a/src/camera.c +++ b/src/camera.c @@ -21,7 +21,7 @@ f32 D_800DDB30[] = { 0.4f, 0.6f, 0.275f, 0.3f }; -Camera cameras[4]; +Camera cameras[NUM_CAMERAS]; Camera* camera1 = &cameras[0]; Camera* camera2 = &cameras[1]; Camera* camera3 = &cameras[2]; @@ -29,24 +29,24 @@ Camera* camera4 = &cameras[3]; UNUSED s32 D_801649D0[2]; -f32 D_801649D8[4]; -f32 D_801649E8[4]; -f32 D_801649F8[4]; +f32 D_801649D8[NUM_CAMERAS]; +f32 D_801649E8[NUM_CAMERAS]; +f32 D_801649F8[NUM_CAMERAS]; s32 D_80164A08[4]; -s32 D_80164A18[4]; +s32 D_80164A18[NUM_CAMERAS]; s32 D_80164A28; -s32 D_80164A2C; +static s32 sStagingTimer; f32 D_80164A30; UNUSED f32 D_80164A34; -f32 D_80164A38[4]; -f32 D_80164A48[4]; +f32 D_80164A38[NUM_CAMERAS]; +f32 D_80164A48[NUM_CAMERAS]; UNUSED s32 D_80164A58[8]; -f32 D_80164A78[4]; +f32 D_80164A78[NUM_CAMERAS]; s8 D_80164A88; s8 D_80164A89; // UNUSED s8 D_80164A8C[3]; -f32 D_80164A90[4]; -f32 D_80164AA0[4]; +f32 D_80164A90[NUM_CAMERAS]; +f32 D_80164AA0[NUM_CAMERAS]; extern f32 D_80164498[]; extern s16 D_80164678[]; @@ -55,7 +55,7 @@ void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cam Player* player = gPlayerOne; Camera* camera = &cameras[cameraId]; - D_80152300[cameraId] = arg4; + gCameraMode[cameraId] = arg4; switch (arg4) { case 0: case 1: @@ -81,7 +81,7 @@ void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cam D_801649D8[cameraId] = 20.0f; D_801649E8[cameraId] = 10.0f; D_801649F8[cameraId] = 7.0f; - D_80164A2C = 0; + sStagingTimer = 0; D_80164A30 = 30.0f; D_80164A38[cameraId] = 0.0f; D_80164A48[cameraId] = 0.0f; @@ -158,27 +158,27 @@ void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cam if (D_80164678[cameraId] == 0) { if (D_80164A28 == 1) { - gCameraZoom[cameraId] = 80.0f; + gCameraFOV[cameraId] = 80.0f; } else { - gCameraZoom[cameraId] = 40.0f; + gCameraFOV[cameraId] = 40.0f; } - camera->unk_B4 = gCameraZoom[cameraId]; + camera->unk_B4 = gCameraFOV[cameraId]; } if (D_80164678[cameraId] == 1) { if (D_80164A28 == 1) { - gCameraZoom[cameraId] = 100.0f; + gCameraFOV[cameraId] = 100.0f; } else { - gCameraZoom[cameraId] = 60.0f; + gCameraFOV[cameraId] = 60.0f; } - camera->unk_B4 = gCameraZoom[cameraId]; + camera->unk_B4 = gCameraFOV[cameraId]; } if (D_80164678[cameraId] == 2) { if (D_80164A28 == 1) { - gCameraZoom[cameraId] = 100.0f; + gCameraFOV[cameraId] = 100.0f; } else { - gCameraZoom[cameraId] = 60.0f; + gCameraFOV[cameraId] = 60.0f; } - camera->unk_B4 = gCameraZoom[cameraId]; + camera->unk_B4 = gCameraFOV[cameraId]; D_80164A38[cameraId] = 20.0f; D_80164A48[cameraId] = 1.5f; D_80164A78[cameraId] = 1.0f; @@ -924,13 +924,13 @@ void func_8001EE98(Player* player, Camera* camera, s8 index) { switch (gModeSelection) { case GRAND_PRIX: // clang-format off - if (((player->type & PLAYER_CINEMATIC_MODE) == PLAYER_CINEMATIC_MODE) || (gDemoMode == 1)) { D_80152300[cameraIndex] = 3; + if (((player->type & PLAYER_CINEMATIC_MODE) == PLAYER_CINEMATIC_MODE) || (gDemoMode == 1)) { gCameraMode[cameraIndex] = 3; // --> --> Scroll right --> bit more --> ^ Required for matching // clang-format on } else if (gIsGamePaused == 1) { - func_8001A0A4(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0A4(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } else { - func_8001A0DC(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0DC(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } break; case BATTLE: @@ -939,53 +939,53 @@ void func_8001EE98(Player* player, Camera* camera, s8 index) { func_80019ED0(); } D_80164A88 = 1; - D_80152300[0] = 3; - D_80152300[1] = 3; - D_80152300[2] = 3; - D_80152300[3] = 3; + gCameraMode[0] = 3; + gCameraMode[1] = 3; + gCameraMode[2] = 3; + gCameraMode[3] = 3; } else { D_80164A88 = 0; if (gIsGamePaused == 1) { - func_8001A0A4(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0A4(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } else { - func_8001A0DC(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0DC(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } - D_80152300[cameraIndex] = 9; + gCameraMode[cameraIndex] = 9; } break; case TIME_TRIALS: if (((gPlayerOne->type & PLAYER_CINEMATIC_MODE) == PLAYER_CINEMATIC_MODE) || (gDemoMode == 1)) { - D_80152300[0] = 3; - D_80152300[1] = 3; - D_80152300[2] = 3; - D_80152300[3] = 3; + gCameraMode[0] = 3; + gCameraMode[1] = 3; + gCameraMode[2] = 3; + gCameraMode[3] = 3; } else { if (gIsGamePaused == 1) { - func_8001A0A4(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0A4(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } else { - func_8001A0DC(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0DC(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } - D_80152300[cameraIndex] = 1; + gCameraMode[cameraIndex] = 1; } break; case VERSUS: if (((player->type & PLAYER_CINEMATIC_MODE) == PLAYER_CINEMATIC_MODE) || (gDemoMode == 1) || (D_8015F894 == 2)) { - D_80152300[cameraIndex] = 3; + gCameraMode[cameraIndex] = 3; } else { if (gIsGamePaused == 1) { - func_8001A0A4(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0A4(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } else { - func_8001A0DC(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A0DC(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); } - D_80152300[cameraIndex] = 1; + gCameraMode[cameraIndex] = 1; } break; } if (gIsGamePaused == 0) { - switch (D_80152300[cameraIndex]) { + switch (gCameraMode[cameraIndex]) { case 3: - func_8001A588(&D_80152300[cameraIndex], camera, player, index, cameraIndex); + func_8001A588(&gCameraMode[cameraIndex], camera, player, index, cameraIndex); break; case 1: if (((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) || @@ -1144,26 +1144,26 @@ void func_8001F394(Player* player, f32* arg1) { } void func_8001F87C(s32 cameraId) { - s32 playerIndex; + s32 i; // Why? s32 id = cameraId; if (gPlayerOne) {} if (gActiveScreenMode == SCREEN_MODE_1P) { if (gModeSelection == GRAND_PRIX) { - for (playerIndex = 0; playerIndex < NUM_PLAYERS; playerIndex++) { - if ((gPlayerOne[playerIndex].type & PLAYER_STAGING) || - (gPlayerOne[playerIndex].type & PLAYER_UNKNOWN_0x80)) { + for (i = 0; i < NUM_PLAYERS; i++) { + if ((gPlayerOne[i].type & PLAYER_STAGING) || + (gPlayerOne[i].type & PLAYER_UNKNOWN_0x80)) { break; } - if (playerIndex == 7) { - D_80164A2C += 1; + if (i == PLAYER_EIGHT) { + sStagingTimer += 1; } - if ((playerIndex == 7) && (D_80164A2C == 0x0000003C)) { + if ((i == PLAYER_EIGHT) && (sStagingTimer == 0x0000003C)) { D_80164A28 = 2; - D_80152300[id] = 1; - cameras[id].rot[1] = gPlayerOne[playerIndex].rotation[1]; - cameras[id].unk_2C = gPlayerOne[playerIndex].rotation[1]; + gCameraMode[id] = 1; + cameras[id].rot[1] = gPlayerOne[i].rotation[1]; + cameras[id].unk_2C = gPlayerOne[i].rotation[1]; } } } diff --git a/src/camera.h b/src/camera.h index 0d5c805957..9591780fa6 100644 --- a/src/camera.h +++ b/src/camera.h @@ -16,6 +16,8 @@ #define BAD_RETURN(cmd) cmd #endif +#define NUM_CAMERAS 4 + typedef struct { f32 unk_0; s16 unk_4; diff --git a/src/code_800029B0.c b/src/code_800029B0.c index a351de8ece..3cde5e302d 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -53,11 +53,11 @@ u16 D_800DC5E4 = 0; //! @todo gPlayerWinningIndex (D_800DC5E8) accessed as word, D_800DC5EB as u8 s32 gPlayerWinningIndex = 0; -ALIGNED16 struct UnkStruct_800DC5EC D_8015F480[4]; -struct UnkStruct_800DC5EC* D_800DC5EC = &D_8015F480[0]; -struct UnkStruct_800DC5EC* D_800DC5F0 = &D_8015F480[1]; -struct UnkStruct_800DC5EC* D_800DC5F4 = &D_8015F480[2]; -struct UnkStruct_800DC5EC* D_800DC5F8 = &D_8015F480[3]; +ALIGNED16 struct ScreenContext gScreenContexts[4]; +struct ScreenContext* gScreenOneCtx = &gScreenContexts[0]; +struct ScreenContext* gScreenTwoCtx = &gScreenContexts[1]; +struct ScreenContext* gScreenThreeCtx = &gScreenContexts[2]; +struct ScreenContext* gScreenFourCtx = &gScreenContexts[3]; u16 gIsGamePaused = 0; // 1 if the game is paused and 0 if the game is not paused u8* pAppNmiBuffer = (u8*) &osAppNmiBuffer; @@ -202,7 +202,7 @@ void setup_race(void) { } func_802969F8(); func_80005310(); - func_8003D080(); + spawn_players_and_cameras(); init_hud(); D_800DC510 = 0; gNumSpawnedShells = 0; diff --git a/src/code_800029B0.h b/src/code_800029B0.h index 0b7335383a..67a9837885 100644 --- a/src/code_800029B0.h +++ b/src/code_800029B0.h @@ -6,7 +6,7 @@ #include #include "camera.h" -struct UnkStruct_800DC5EC { +struct ScreenContext { /* 0x00 */ struct Controller* controllers; // gControllers ptr 800F6910 /* 0x04 */ Camera* camera; // Player camera ptr /* 0x08 */ Player* player; // Player ptr 800F6990 @@ -54,11 +54,11 @@ extern s32 D_800DC5E0; extern u16 D_800DC5E4; extern s32 gPlayerWinningIndex; -extern struct UnkStruct_800DC5EC D_8015F480[4]; -extern struct UnkStruct_800DC5EC* D_800DC5EC; -extern struct UnkStruct_800DC5EC* D_800DC5F0; -extern struct UnkStruct_800DC5EC* D_800DC5F4; -extern struct UnkStruct_800DC5EC* D_800DC5F8; +extern struct ScreenContext gScreenContexts[4]; +extern struct ScreenContext* gScreenOneCtx; +extern struct ScreenContext* gScreenTwoCtx; +extern struct ScreenContext* gScreenThreeCtx; +extern struct ScreenContext* gScreenFourCtx; extern u16 gIsGamePaused; extern u8* pAppNmiBuffer; extern s32 gIsMirrorMode; // D_800DC604 diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 71ee6463cc..950e8fe004 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -416,31 +416,31 @@ void func_80057C60(void) { void func_80057CE4(void) { switch (D_8018D21C) { case 0: - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); break; case 1: - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); break; case 2: - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); break; case 3: - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); break; case 4: - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); break; case 8: - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); break; case 9: - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); break; case 10: - func_802A3730(D_800DC5F4); + func_802A3730(gScreenThreeCtx); break; case 11: - func_802A3730(D_800DC5F8); + func_802A3730(gScreenFourCtx); break; } } diff --git a/src/cpu_vehicles_camera_path.c b/src/cpu_vehicles_camera_path.c index 0e410e9cfa..d0d2a5bfbf 100644 --- a/src/cpu_vehicles_camera_path.c +++ b/src/cpu_vehicles_camera_path.c @@ -179,21 +179,21 @@ s16* gPathExpectedRotation[4]; s16* gTrackConsecutiveCurveCounts[4]; u16 gPathIndexByPlayerId[12]; // D_801645B0 u16 gPathCountByPathIndex[4]; // D_801645C8 -s32 D_801645D0[4]; +s32 D_801645D0[NUM_CAMERAS]; s16* gCurrentTrackConsecutiveCurveCountsPath; -s32 D_801645E8[4]; -f32 D_801645F8[4]; -s32 D_80164608[4]; -f32 D_80164618[4]; -s32 D_80164628[4]; -f32 D_80164638[4]; -f32 D_80164648[4]; -f32 D_80164658[4]; -s16 gNearestPathPointByCameraId[4]; -s16 D_80164670[4]; -s16 D_80164678[4]; -s16 D_80164680[4]; -f32 D_80164688[4]; +s32 D_801645E8[NUM_CAMERAS]; +f32 D_801645F8[NUM_CAMERAS]; +s32 D_80164608[NUM_CAMERAS]; +f32 D_80164618[NUM_CAMERAS]; +s32 D_80164628[NUM_CAMERAS]; +f32 D_80164638[NUM_CAMERAS]; +f32 D_80164648[NUM_CAMERAS]; +f32 D_80164658[NUM_CAMERAS]; +s16 gNearestPathPointByCameraId[NUM_CAMERAS]; +s16 D_80164670[NUM_CAMERAS]; +s16 D_80164678[NUM_CAMERAS]; +s16 D_80164680[NUM_CAMERAS]; +f32 D_80164688[NUM_CAMERAS]; f32 D_80164698; f32 D_8016469C; f32 D_801646A0; @@ -206,10 +206,10 @@ s32 D_801646B4; s32 D_801646B8; s32 D_801646BC; // end padding -s16 D_801646C0[4]; +s16 D_801646C0[NUM_CAMERAS]; u32 D_801646C8; u16 D_801646CC; -UnkStruct_46D0 D_801646D0[4]; +UnkStruct_46D0 D_801646D0[NUM_CAMERAS]; // Strings, presented by google translate! // Note that these are EUC-JP encoded, see: @@ -1927,7 +1927,7 @@ void func_8000B140(s32 playerId) { void func_8000F0E0(void) { s32 i; - for (i = 0; i < 4; i++) { + for (i = 0; i < NUM_CAMERAS; i++) { D_80164670[i] = 0; D_80164678[i] = 0; } @@ -2264,7 +2264,7 @@ void func_80014DE4(s32 cameraIndex) { D_80164678[cameraIndex] = 0; } - for (cameraId = 0; cameraId < 4; cameraId++) { + for (cameraId = 0; cameraId < NUM_CAMERAS; cameraId++) { gNearestPathPointByCameraId[cameraId] = 0; } } @@ -3554,7 +3554,7 @@ void func_80019DF4(void) { s32 playerId = gGPCurrentRacePlayerIdByRank[0]; // clang-format off // Has to be on a single line to match. Because IDO hates you :) - for (i = 0; i < 4; i++) { D_80164670[i] = D_80164678[i]; } + for (i = 0; i < NUM_CAMERAS; i++) { D_80164670[i] = D_80164678[i]; } // clang-format on camera1->playerId = playerId; D_80164678[0] = 1; @@ -3575,7 +3575,7 @@ void func_80019E58(void) { void func_80019ED0(void) { s32 i; - for (i = 0; i < 4; i++) { + for (i = 0; i < NUM_CAMERAS; i++) { D_80164670[i] = D_80164678[i]; } @@ -3583,7 +3583,7 @@ void func_80019ED0(void) { camera1->playerId = (s16) gPlayerWinningIndex; - for (i = 0; i < 4; i++) { + for (i = 0; i < NUM_CAMERAS; i++) { D_80164680[i] = 0; func_80015314(gPlayerWinningIndex, 0, i); D_80164678[i] = 1; diff --git a/src/ending/camera_junk.c b/src/ending/camera_junk.c index 5f360ea41b..7dc59c6b0f 100644 --- a/src/ending/camera_junk.c +++ b/src/ending/camera_junk.c @@ -37,7 +37,7 @@ void init_camera_podium_ceremony(void) { cameras[0].up[0] = 0.0f; cameras[0].up[1] = 1.0f; cameras[0].up[2] = 0.0f; - gCameraZoom[0] = 40.0f; + gCameraFOV[0] = 40.0f; gScreenAspect = 1.33333333f; gCourseNearPersp = 3.0f; gCourseFarPersp = 6800.0f; diff --git a/src/ending/ceremony_and_credits.c b/src/ending/ceremony_and_credits.c index 36e3d25aa7..9b31c4bdbe 100644 --- a/src/ending/ceremony_and_credits.c +++ b/src/ending/ceremony_and_credits.c @@ -545,7 +545,7 @@ void init_cinematic_camera(void) { camera->unk68 = 0.0f; camera->unk6C = 0; camera->unk6E = 0; - camera->unk20 = gCameraZoom[0]; + camera->unk20 = gCameraFOV[0]; sCutsceneShot = 0; gCutsceneShotTimer = 0; D_802876D4 = 0; @@ -631,7 +631,7 @@ s32 func_80283648(Camera* camera) { } func_80282F44(0, cinematicCamera, camera); func_80282F44(1, cinematicCamera, camera); - func_80283100(cinematicCamera, gCameraZoom); + func_80283100(cinematicCamera, gCameraFOV); vec3f_copy_return_dupe(cinematicCamera->unk30, camera->pos); vec3f_copy_return_dupe(cinematicCamera->unk24, camera->lookAt); vec3f_copy_return_dupe(cinematicCamera->unk3C, camera->up); diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c index 4460aa2e2b..3c6973c01f 100644 --- a/src/ending/code_80280000.c +++ b/src/ending/code_80280000.c @@ -52,7 +52,7 @@ void func_80280038(void) { func_80057FC4(0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); gSPPerspNormalize(gDisplayListHead++, perspNorm); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), @@ -64,8 +64,8 @@ void func_80280038(void) { gCurrentCourseId = gCreditsCourseId; mtxf_identity(matrix); render_set_position(matrix, 0); - render_course(D_800DC5EC); - render_course_actors(D_800DC5EC); + render_course(gScreenOneCtx); + render_course_actors(gScreenOneCtx); render_object(PLAYER_ONE + SCREEN_MODE_1P); render_player_snow_effect(PLAYER_ONE + SCREEN_MODE_1P); ceremony_transition_sliding_borders(); @@ -133,11 +133,11 @@ void load_credits(void) { set_perspective_and_aspect_ratio(); func_802A74BC(); camera->unk_B4 = 60.0f; - gCameraZoom[0] = 60.0f; - D_800DC5EC->screenWidth = SCREEN_WIDTH; - D_800DC5EC->screenHeight = SCREEN_HEIGHT; - D_800DC5EC->screenStartX = 160; - D_800DC5EC->screenStartY = 120; + gCameraFOV[0] = 60.0f; + gScreenOneCtx->screenWidth = SCREEN_WIDTH; + gScreenOneCtx->screenHeight = SCREEN_HEIGHT; + gScreenOneCtx->screenStartX = 160; + gScreenOneCtx->screenStartY = 120; gScreenModeSelection = SCREEN_MODE_1P; gActiveScreenMode = SCREEN_MODE_1P; gNextFreeMemoryAddress = gFreeMemoryResetAnchor; @@ -173,7 +173,7 @@ void load_credits(void) { init_hud(); func_80093E60(); func_80092688(); - if (D_800DC5EC) {} + if (gScreenOneCtx) {} D_801625F8 = ((s32) gHeapEndPtr - gNextFreeMemoryAddress); D_801625FC = ((f32) D_801625F8 / 1000.0f); } diff --git a/src/ending/code_80281780.c b/src/ending/code_80281780.c index 0f303fa474..7c41cd2d1f 100644 --- a/src/ending/code_80281780.c +++ b/src/ending/code_80281780.c @@ -96,11 +96,11 @@ void load_ceremony_cutscene(void) { set_perspective_and_aspect_ratio(); func_802A74BC(); camera->unk_B4 = 60.0f; - gCameraZoom[0] = 60.0f; - D_800DC5EC->screenWidth = SCREEN_WIDTH; - D_800DC5EC->screenHeight = SCREEN_HEIGHT; - D_800DC5EC->screenStartX = 160; - D_800DC5EC->screenStartY = 120; + gCameraFOV[0] = 60.0f; + gScreenOneCtx->screenWidth = SCREEN_WIDTH; + gScreenOneCtx->screenHeight = SCREEN_HEIGHT; + gScreenOneCtx->screenStartX = 160; + gScreenOneCtx->screenStartY = 120; gScreenModeSelection = SCREEN_MODE_1P; gNextFreeMemoryAddress = (s32) gFreeMemoryResetAnchor; gActiveScreenMode = SCREEN_MODE_1P; @@ -151,7 +151,7 @@ void load_ceremony_cutscene(void) { func_80295C6C(); debug_switch_character_ceremony_cutscene(); func_802818BC(); - func_8003D080(); + spawn_players_and_cameras(); init_hud(); func_8001C05C(); balloons_and_fireworks_init(); diff --git a/src/ending/code_80281C40.c b/src/ending/code_80281C40.c index 986b14f3cb..7feaedd6f8 100644 --- a/src/ending/code_80281C40.c +++ b/src/ending/code_80281C40.c @@ -70,7 +70,7 @@ void render_podium_ceremony(void) { } func_8028150C(); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective((Mtx*) &gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, + guPerspective((Mtx*) &gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); gSPPerspNormalize(gDisplayListHead++, perspNorm); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), diff --git a/src/main.c b/src/main.c index 044cc235f0..900f78e5b3 100644 --- a/src/main.c +++ b/src/main.c @@ -116,7 +116,7 @@ s32 D_80150120; s32 gGotoMode; UNUSED s32 D_80150128; UNUSED s32 D_8015012C; -f32 gCameraZoom[4]; // look like to be the fov of each character +f32 gCameraFOV[NUM_CAMERAS]; // Field-of-view for each camera UNUSED s32 D_80150140; UNUSED s32 D_80150144; f32 gScreenAspect; @@ -139,7 +139,7 @@ Mat4 D_801502C0; s32 padding[2048]; -u16 D_80152300[4]; +u16 gCameraMode[NUM_CAMERAS]; u16 D_80152308; UNUSED OSThread paddingThread; @@ -630,7 +630,7 @@ void race_logic_loop(void) { } rotY = camera1->rot[1]; - gDebugPathCount = D_800DC5EC->pathCounter; + gDebugPathCount = gScreenOneCtx->pathCounter; if (rotY < 0x2000) { func_80057A50(40, 100, "SOUTH ", gDebugPathCount); } else if (rotY < 0x6000) { diff --git a/src/main.h b/src/main.h index 6d7ac7aac2..5f8d2437cd 100644 --- a/src/main.h +++ b/src/main.h @@ -164,7 +164,7 @@ extern u16 D_8015011E; extern s32 D_80150120; extern s32 gGotoMode; -extern f32 gCameraZoom[]; +extern f32 gCameraFOV[]; extern f32 gScreenAspect; diff --git a/src/menu_items.c b/src/menu_items.c index edf8e9ad26..e6b2e8f108 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -1253,10 +1253,10 @@ void func_80091B78(void) { D_8018E838[i] = 0; } - D_800DC5EC->screenStartX = 160; - D_800DC5EC->screenStartY = 120; - D_800DC5EC->screenWidth = SCREEN_WIDTH; - D_800DC5EC->screenHeight = SCREEN_HEIGHT; + gScreenOneCtx->screenStartX = 160; + gScreenOneCtx->screenStartY = 120; + gScreenOneCtx->screenWidth = SCREEN_WIDTH; + gScreenOneCtx->screenHeight = SCREEN_HEIGHT; gFadeModeSelection = FADE_MODE_MAIN; setup_menus(); @@ -4499,10 +4499,10 @@ void func_8009C918(void) { s32 someIndex; for (someIndex = 0; someIndex < 4; someIndex++) { - D_8018E7E8[someIndex].x = D_8015F480[someIndex].screenStartX; - D_8018E7E8[someIndex].y = D_8015F480[someIndex].screenStartY; - D_8018E810[someIndex].x = D_8015F480[someIndex].screenWidth; - D_8018E810[someIndex].y = D_8015F480[someIndex].screenHeight; + D_8018E7E8[someIndex].x = gScreenContexts[someIndex].screenStartX; + D_8018E7E8[someIndex].y = gScreenContexts[someIndex].screenStartY; + D_8018E810[someIndex].x = gScreenContexts[someIndex].screenWidth; + D_8018E810[someIndex].y = gScreenContexts[someIndex].screenHeight; } D_8018E7E8[4].x = 0x00A0; @@ -4563,7 +4563,7 @@ void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) { RGBA16* color; s16 x, y, w, h; UNUSED s32 pad[3]; - struct UnkStruct_800DC5EC* unk; + struct ScreenContext* unk; struct UnkStruct_8018E7E8 *size, *start; if ((gModeSelection == GRAND_PRIX) || (gModeSelection == TIME_TRIALS)) { @@ -4581,7 +4581,7 @@ void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) { w = size->x; h = size->y; } else { - unk = &D_8015F480[arg0]; + unk = &gScreenContexts[arg0]; x = unk->screenStartX; y = unk->screenStartY; w = unk->screenWidth; @@ -4965,10 +4965,10 @@ void func_8009D77C(s32 arg0, s32 arg1, s32 arg2) { var_ra = D_8018E810[arg0].x; sp44 = D_8018E810[arg0].y; } else { - var_t3 = D_8015F480[arg0].screenStartX; - var_t4 = D_8015F480[arg0].screenStartY; - var_ra = D_8015F480[arg0].screenWidth; - sp44 = D_8015F480[arg0].screenHeight; + var_t3 = gScreenContexts[arg0].screenStartX; + var_t4 = gScreenContexts[arg0].screenStartY; + var_ra = gScreenContexts[arg0].screenWidth; + sp44 = gScreenContexts[arg0].screenHeight; } var_t2 = (D_8018E7D0[arg0] * 0xFF) / D_8018E7B8[arg0]; if (var_t2 >= 0x100) { @@ -5021,10 +5021,10 @@ void func_8009D998(s32 arg0) { var_t2 = D_8018E810[arg0].x; var_t3 = D_8018E810[arg0].y; } else { - var_t0 = D_8015F480[arg0].screenStartX; - var_t1 = D_8015F480[arg0].screenStartY; - var_t2 = D_8015F480[arg0].screenWidth; - var_t3 = D_8015F480[arg0].screenHeight; + var_t0 = gScreenContexts[arg0].screenStartX; + var_t1 = gScreenContexts[arg0].screenStartY; + var_t2 = gScreenContexts[arg0].screenWidth; + var_t3 = gScreenContexts[arg0].screenHeight; } temp_v0 = var_t2 / 2; temp_v1 = var_t3 / 2; @@ -7650,9 +7650,9 @@ void render_pause_menu_versus(MenuItem* arg0) { s32 var_s0; s32 var_s1; Unk_D_800E70A0* temp_s3; - struct UnkStruct_800DC5EC* temp_v0; + struct ScreenContext* temp_v0; - temp_v0 = &D_8015F480[gIsGamePaused - 1]; + temp_v0 = &gScreenContexts[gIsGamePaused - 1]; temp_v1 = temp_v0->screenStartX; temp_t0 = temp_v0->screenStartY; temp_t3 = temp_v0->screenWidth / 2; @@ -7680,10 +7680,10 @@ void render_pause_grand_prix(MenuItem* arg0) { s32 temp_t4; s32 var_s0; Unk_D_800E70A0* temp_s3; - struct UnkStruct_800DC5EC* temp_v0; + struct ScreenContext* temp_v0; f32 one = 1.0f; - temp_v0 = &D_8015F480[gIsGamePaused - 1]; + temp_v0 = &gScreenContexts[gIsGamePaused - 1]; temp_v1 = temp_v0->screenStartX; temp_t0 = temp_v0->screenStartY; temp_t3 = temp_v0->screenWidth / 2; @@ -7707,7 +7707,7 @@ void render_pause_grand_prix(MenuItem* arg0) { } void render_pause_battle(MenuItem* arg0) { - struct UnkStruct_800DC5EC* temp_v0; + struct ScreenContext* temp_v0; s16 temp_t0; s16 temp_v1; s32 temp_t3; @@ -7716,7 +7716,7 @@ void render_pause_battle(MenuItem* arg0) { s32 var_s1; Unk_D_800E70A0* temp_s3; - temp_v0 = &D_8015F480[gIsGamePaused - 1]; + temp_v0 = &gScreenContexts[gIsGamePaused - 1]; temp_v1 = temp_v0->screenStartX; temp_t0 = temp_v0->screenStartY; temp_t3 = temp_v0->screenWidth / 2; @@ -10648,15 +10648,15 @@ void func_800AC458(MenuItem* arg0) { if ((arg0->param2 + temp) < 0) { arg0->param2 += temp; - D_800DC5EC->screenStartX += temp; - D_800DC5F0->screenStartX -= temp; + gScreenOneCtx->screenStartX += temp; + gScreenTwoCtx->screenStartX -= temp; } else { arg0->param2 = 0; arg0->column = 0; arg0->state = 2; arg0->param1 = 0; - D_800DC5EC->screenStartX = 0x00F0; - D_800DC5F0->screenStartX = 0x0050; + gScreenOneCtx->screenStartX = 0x00F0; + gScreenTwoCtx->screenStartX = 0x0050; } break; case 2: @@ -10753,14 +10753,14 @@ void func_800AC458(MenuItem* arg0) { arg0->row = arg0->param2; if (arg0->param2 < 0xF0) { arg0->param2 += 0x10; - D_800DC5EC->screenStartY += 0x10; - D_800DC5F0->screenStartY -= 0x10; + gScreenOneCtx->screenStartY += 0x10; + gScreenTwoCtx->screenStartY -= 0x10; } else { arg0->param2 = 0; arg0->state = 0x0000000D; arg0->param1 = 0; - D_800DC5EC->screenStartY = 0x012C; - D_800DC5F0->screenStartY = -0x003C; + gScreenOneCtx->screenStartY = 0x012C; + gScreenTwoCtx->screenStartY = -0x003C; D_8015F894 = 4; func_800CA330(0x19U); } @@ -11056,8 +11056,8 @@ void func_800AD2E8(MenuItem* arg0) { } if ((arg0->param2 + var_a1) < 0) { arg0->param2 += var_a1; - D_800DC5EC->screenStartX += var_a1; - D_800DC5F0->screenStartX -= var_a1; + gScreenOneCtx->screenStartX += var_a1; + gScreenTwoCtx->screenStartX -= var_a1; } else { arg0->param2 = 0; arg0->column = 0; @@ -11065,8 +11065,8 @@ void func_800AD2E8(MenuItem* arg0) { if ((arg0->state == 9) && (gPostTimeTrialReplayCannotSave == 1)) { arg0->state--; } - D_800DC5EC->screenStartX = 0x00F0; - D_800DC5F0->screenStartX = 0x0050; + gScreenOneCtx->screenStartX = 0x00F0; + gScreenTwoCtx->screenStartX = 0x0050; } break; case 5: /* switch 3 */ @@ -11335,8 +11335,8 @@ void func_800AD2E8(MenuItem* arg0) { arg0->row = arg0->param2; if (arg0->param2 < 0xF0) { arg0->param2 += 0x10; - D_800DC5EC->screenStartY += 0x10; - D_800DC5F0->screenStartY -= 0x10; + gScreenOneCtx->screenStartY += 0x10; + gScreenTwoCtx->screenStartY -= 0x10; return; } switch (arg0->param1) { /* switch 3 */ @@ -11362,8 +11362,8 @@ void func_800AD2E8(MenuItem* arg0) { } arg0->param2 = 0; arg0->state = 0x0000001F; - D_800DC5EC->screenStartY = 0x012C; - D_800DC5F0->screenStartY = -0x003C; + gScreenOneCtx->screenStartY = 0x012C; + gScreenTwoCtx->screenStartY = -0x003C; D_8015F894 = 4; func_800CA330(0x19U); break; diff --git a/src/racing/actors.c b/src/racing/actors.c index e40eabde9f..6a86d2737f 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -490,7 +490,7 @@ void render_cows(Camera* camera, Mat4 arg1, UNUSED struct Actor* actor) { sp88[1] = var_s1->pos[1]; sp88[2] = var_s1->pos[2]; temp_f0 = - distance_if_visible(camera->pos, sp88, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], 4000000.0f); + distance_if_visible(camera->pos, sp88, camera->rot[1], 0.0f, gCameraFOV[camera - camera1], 4000000.0f); if (temp_f0 > 0.0f) { if (temp_f0 < D_8015F704) { D_8015F704 = temp_f0; @@ -631,7 +631,7 @@ void render_palm_trees(Camera* camera, Mat4 arg1, UNUSED struct Actor* actor) { spD4[1] = var_s1->pos[1]; spD4[2] = var_s1->pos[2]; - if (distance_if_visible(camera->pos, spD4, camera->rot[1], 0.0f, gCameraZoom[camera - camera1], var_f22) < + if (distance_if_visible(camera->pos, spD4, camera->rot[1], 0.0f, gCameraFOV[camera - camera1], var_f22) < 0.0f) { var_s1++; continue; @@ -692,7 +692,7 @@ void render_actor_shell(Camera* camera, Mat4 matrix, struct ShellActor* shell) { uintptr_t phi_t3; f32 temp_f0 = - distance_if_visible(camera->pos, shell->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 490000.0f); + distance_if_visible(camera->pos, shell->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 490000.0f); s32 maxObjectsReached; if (temp_f0 < 0.0f) { actor_not_rendered(camera, (struct Actor*) shell); @@ -755,7 +755,7 @@ UNUSED void func_8029ABD4(f32* pos, s16 state) { } void func_8029AC18(Camera* camera, Mat4 arg1, struct Actor* arg2) { - if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraZoom[camera - camera1], 4000000.0f) < + if (distance_if_visible(camera->pos, arg2->pos, camera->rot[1], 0, gCameraFOV[camera - camera1], 4000000.0f) < 0) { return; } @@ -2421,7 +2421,7 @@ void init_actor_hot_air_balloon_item_box(f32 x, f32 y, f32 z) { #include "actors/palm_tree/render.inc.c" -void render_item_boxes(struct UnkStruct_800DC5EC* arg0) { +void render_item_boxes(struct ScreenContext* arg0) { Camera* camera = arg0->camera; struct Actor* actor; s32 i; @@ -2448,7 +2448,7 @@ void render_item_boxes(struct UnkStruct_800DC5EC* arg0) { } } -void render_course_actors(struct UnkStruct_800DC5EC* arg0) { +void render_course_actors(struct ScreenContext* arg0) { Camera* camera = arg0->camera; u16 pathCounter = arg0->pathCounter; UNUSED s32 pad[12]; diff --git a/src/racing/actors.h b/src/racing/actors.h index 095bf33c7e..5f3572fd7c 100644 --- a/src/racing/actors.h +++ b/src/racing/actors.h @@ -108,8 +108,8 @@ void render_actor_yoshi_egg(Camera*, Mat4, struct YoshiValleyEgg*, u16); void render_actor_mario_sign(Camera*, Mat4, struct Actor*); void render_actor_railroad_crossing(Camera*, struct RailroadCrossing*); void render_actor_palm_tree(Camera*, Mat4, struct PalmTree*); -void render_item_boxes(struct UnkStruct_800DC5EC*); -void render_course_actors(struct UnkStruct_800DC5EC*); +void render_item_boxes(struct ScreenContext*); +void render_course_actors(struct ScreenContext*); void update_course_actors(void); // audio/external.c diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index 43c7048d32..40fffc61b9 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -162,7 +162,7 @@ void func_8028E3A0(void) { } void func_8028E438(void) { - struct UnkStruct_800DC5EC* temp_v0 = &D_8015F480[gPlayerWinningIndex]; + struct ScreenContext* temp_v0 = &gScreenContexts[gPlayerWinningIndex]; s32 phi_v1_4; D_800DC5B0 = 1; @@ -214,10 +214,10 @@ void func_8028E438(void) { if (phi_v1_4 == 4) { D_8015F894 = 2; gActiveScreenMode = SCREEN_MODE_1P; - D_800DC5EC->screenWidth = temp_v0->screenWidth; - D_800DC5EC->screenHeight = temp_v0->screenHeight; - D_800DC5EC->screenStartX = temp_v0->screenStartX; - D_800DC5EC->screenStartY = temp_v0->screenStartY; + gScreenOneCtx->screenWidth = temp_v0->screenWidth; + gScreenOneCtx->screenHeight = temp_v0->screenHeight; + gScreenOneCtx->screenStartX = temp_v0->screenStartX; + gScreenOneCtx->screenStartY = temp_v0->screenStartY; if (gModeSelection == BATTLE) { func_80092604(); } else if (gModeSelection == VERSUS) { @@ -263,35 +263,35 @@ void func_8028E678(void) { } break; case 5: - D_800DC5EC->screenWidth -= 4; + gScreenOneCtx->screenWidth -= 4; - D_800DC5F0->screenWidth -= 4; + gScreenTwoCtx->screenWidth -= 4; - D_800DC5EC->screenStartX -= 2; + gScreenOneCtx->screenStartX -= 2; - D_800DC5F0->screenStartX += 2; + gScreenTwoCtx->screenStartX += 2; - if (D_800DC5EC->screenWidth < 160) { - D_800DC5EC->screenWidth = 160; + if (gScreenOneCtx->screenWidth < 160) { + gScreenOneCtx->screenWidth = 160; phi_a0_10++; } - if (D_800DC5F0->screenWidth < 160) { - D_800DC5F0->screenWidth = 160; + if (gScreenTwoCtx->screenWidth < 160) { + gScreenTwoCtx->screenWidth = 160; phi_a0_10++; } - if (D_800DC5EC->screenStartX < 80) { - D_800DC5EC->screenStartX = 80; + if (gScreenOneCtx->screenStartX < 80) { + gScreenOneCtx->screenStartX = 80; phi_a0_10++; } - if (D_800DC5F0->screenStartX > SCREEN_HEIGHT) { - D_800DC5F0->screenStartX = SCREEN_HEIGHT; + if (gScreenTwoCtx->screenStartX > SCREEN_HEIGHT) { + gScreenTwoCtx->screenStartX = SCREEN_HEIGHT; phi_a0_10++; } - gScreenAspect = (f32) ((f32) D_800DC5EC->screenWidth / (f32) D_800DC5EC->screenHeight); + gScreenAspect = (f32) ((f32) gScreenOneCtx->screenWidth / (f32) gScreenOneCtx->screenHeight); if (phi_a0_10 == 4) { D_8015F894 = 3; func_80092500(); @@ -300,32 +300,32 @@ void func_8028E678(void) { } break; case 6: - D_800DC5EC->screenHeight -= 4; - D_800DC5F0->screenHeight -= 4; - D_800DC5EC->screenStartY -= 2; - D_800DC5F0->screenStartY += 2; + gScreenOneCtx->screenHeight -= 4; + gScreenTwoCtx->screenHeight -= 4; + gScreenOneCtx->screenStartY -= 2; + gScreenTwoCtx->screenStartY += 2; - if (D_800DC5EC->screenHeight < 120) { - D_800DC5EC->screenHeight = 120; + if (gScreenOneCtx->screenHeight < 120) { + gScreenOneCtx->screenHeight = 120; phi_a0_10++; } - if (D_800DC5F0->screenHeight < 120) { - D_800DC5F0->screenHeight = 120; + if (gScreenTwoCtx->screenHeight < 120) { + gScreenTwoCtx->screenHeight = 120; phi_a0_10++; } - if (D_800DC5EC->screenStartY < 60) { - D_800DC5EC->screenStartY = 60; + if (gScreenOneCtx->screenStartY < 60) { + gScreenOneCtx->screenStartY = 60; phi_a0_10++; } - if (D_800DC5F0->screenStartY > 180) { - D_800DC5F0->screenStartY = 180; + if (gScreenTwoCtx->screenStartY > 180) { + gScreenTwoCtx->screenStartY = 180; phi_a0_10++; } - gScreenAspect = (f32) ((f32) D_800DC5EC->screenWidth / (f32) D_800DC5EC->screenHeight); + gScreenAspect = (f32) ((f32) gScreenOneCtx->screenWidth / (f32) gScreenOneCtx->screenHeight); if (phi_a0_10 == 4) { D_8015F894 = 3; func_80092500(); @@ -333,19 +333,19 @@ void func_8028E678(void) { } break; case 1: - D_800DC5EC->screenHeight -= 2; - D_800DC5EC->screenWidth = (D_800DC5EC->screenHeight * SCREEN_WIDTH) / SCREEN_HEIGHT; + gScreenOneCtx->screenHeight -= 2; + gScreenOneCtx->screenWidth = (gScreenOneCtx->screenHeight * SCREEN_WIDTH) / SCREEN_HEIGHT; - if (D_800DC5EC->screenHeight < 120) { + if (gScreenOneCtx->screenHeight < 120) { - D_800DC5EC->screenHeight = 120; - D_800DC5EC->screenWidth = (D_800DC5EC->screenHeight * SCREEN_WIDTH) / SCREEN_HEIGHT; + gScreenOneCtx->screenHeight = 120; + gScreenOneCtx->screenWidth = (gScreenOneCtx->screenHeight * SCREEN_WIDTH) / SCREEN_HEIGHT; D_8015F894 = 2; - D_800DC5F0->screenWidth = D_800DC5EC->screenWidth; - D_800DC5F0->screenHeight = D_800DC5EC->screenHeight; - D_800DC5F0->screenStartX = D_800DC5EC->screenStartX; - D_800DC5F0->screenStartY = D_800DC5EC->screenStartY; + gScreenTwoCtx->screenWidth = gScreenOneCtx->screenWidth; + gScreenTwoCtx->screenHeight = gScreenOneCtx->screenHeight; + gScreenTwoCtx->screenStartX = gScreenOneCtx->screenStartX; + gScreenTwoCtx->screenStartY = gScreenOneCtx->screenStartY; gActiveScreenMode = SCREEN_MODE_2P_SPLITSCREEN_VERTICAL; gScreenAspect = 1.33333337; @@ -355,28 +355,28 @@ void func_8028E678(void) { } break; case 2: - D_800DC5EC->screenStartX -= 4; + gScreenOneCtx->screenStartX -= 4; - D_800DC5EC->screenStartY -= 2; + gScreenOneCtx->screenStartY -= 2; - if (D_800DC5EC->screenStartX < 80) { - D_800DC5EC->screenStartX = 80; + if (gScreenOneCtx->screenStartX < 80) { + gScreenOneCtx->screenStartX = 80; phi_a0_10++; } - if (D_800DC5EC->screenStartY < 60) { - D_800DC5EC->screenStartY = 60; + if (gScreenOneCtx->screenStartY < 60) { + gScreenOneCtx->screenStartY = 60; phi_a0_10++; } - D_800DC5F0->screenStartX += 4; - D_800DC5F0->screenStartY += 2; + gScreenTwoCtx->screenStartX += 4; + gScreenTwoCtx->screenStartY += 2; - if (D_800DC5F0->screenStartX > SCREEN_HEIGHT) { - D_800DC5F0->screenStartX = SCREEN_HEIGHT; + if (gScreenTwoCtx->screenStartX > SCREEN_HEIGHT) { + gScreenTwoCtx->screenStartX = SCREEN_HEIGHT; phi_a0_10++; } - if (D_800DC5F0->screenStartY > 180) { - D_800DC5F0->screenStartY = 180; + if (gScreenTwoCtx->screenStartY > 180) { + gScreenTwoCtx->screenStartY = 180; phi_a0_10++; } if (phi_a0_10 == 4) { @@ -709,12 +709,12 @@ void func_8028F588(void) { if (screenWidth < 0) { screenWidth = 1; } - D_800DC5EC->screenWidth = screenWidth; + gScreenOneCtx->screenWidth = screenWidth; screenWidth = (s16) (s32) (240.0f * D_802BA034); if (screenWidth < 0) { screenWidth = 1; } - D_800DC5EC->screenHeight = screenWidth; + gScreenOneCtx->screenHeight = screenWidth; break; case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: screenWidth = (s16) (s32) (160.0f * D_802BA034); @@ -723,16 +723,16 @@ void func_8028F588(void) { } else if (screenWidth >= 0x140) { screenWidth = 0x013C; } - D_800DC5EC->screenWidth = screenWidth; - D_800DC5F0->screenWidth = screenWidth; + gScreenOneCtx->screenWidth = screenWidth; + gScreenTwoCtx->screenWidth = screenWidth; screenWidth = (s16) (s32) (240.0f * D_802BA034); if (screenWidth <= 0) { screenWidth = 1; } else if (screenWidth >= 0x1E0) { screenWidth = 0x01DC; } - D_800DC5EC->screenHeight = screenWidth; - D_800DC5F0->screenHeight = screenWidth; + gScreenOneCtx->screenHeight = screenWidth; + gScreenTwoCtx->screenHeight = screenWidth; break; case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: screenWidth = (s16) (s32) (320.0f * D_802BA034); @@ -741,16 +741,16 @@ void func_8028F588(void) { } else if (screenWidth >= 0x280) { screenWidth = 0x027C; } - D_800DC5EC->screenWidth = screenWidth; - D_800DC5F0->screenWidth = screenWidth; + gScreenOneCtx->screenWidth = screenWidth; + gScreenTwoCtx->screenWidth = screenWidth; screenWidth = (s16) (s32) (120.0f * D_802BA034); if (screenWidth <= 0) { screenWidth = 1; } else if (screenWidth >= 0xF0) { screenWidth = 0x00EC; } - D_800DC5EC->screenHeight = screenWidth; - D_800DC5F0->screenHeight = screenWidth; + gScreenOneCtx->screenHeight = screenWidth; + gScreenTwoCtx->screenHeight = screenWidth; break; case SCREEN_MODE_3P_4P_SPLITSCREEN: screenWidth = (s16) (s32) (160.0f * D_802BA034); @@ -759,20 +759,20 @@ void func_8028F588(void) { } else if (screenWidth >= 0x140) { screenWidth = 0x013C; } - D_800DC5EC->screenWidth = screenWidth; - D_800DC5F0->screenWidth = screenWidth; - D_800DC5F4->screenWidth = screenWidth; - D_800DC5F8->screenWidth = screenWidth; + gScreenOneCtx->screenWidth = screenWidth; + gScreenTwoCtx->screenWidth = screenWidth; + gScreenThreeCtx->screenWidth = screenWidth; + gScreenFourCtx->screenWidth = screenWidth; screenWidth = (s16) (s32) (120.0f * D_802BA034); if (screenWidth <= 0) { screenWidth = 1; } else if (screenWidth >= 0xF0) { screenWidth = 0x00EC; } - D_800DC5EC->screenHeight = screenWidth; - D_800DC5F0->screenHeight = screenWidth; - D_800DC5F4->screenHeight = screenWidth; - D_800DC5F8->screenHeight = screenWidth; + gScreenOneCtx->screenHeight = screenWidth; + gScreenTwoCtx->screenHeight = screenWidth; + gScreenThreeCtx->screenHeight = screenWidth; + gScreenFourCtx->screenHeight = screenWidth; break; } } diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index c9f171699b..77065221df 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -71,7 +71,7 @@ void parse_course_displaylists(uintptr_t addr) { extern u32 isFlycam; -void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC* arg1) { +void render_course_segments(uintptr_t addr, struct ScreenContext* arg1) { Player* player = arg1->player; Camera* camera = arg1->camera; u32 segment = SEGMENT_NUMBER2(addr); @@ -112,7 +112,7 @@ void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC* arg1) { } arg1->playerDirection = direction; - if (D_80152300[camera - camera1] == 1) { + if (gCameraMode[camera - camera1] == 1) { sp1E = get_track_section_id(camera->collision.meshIndexZX); temp_v0_3 = get_track_section_id(player->collision.meshIndexZX); index = sp1E - temp_v0_3; @@ -195,7 +195,7 @@ void func_802911C4(void) { } } -void func_8029122C(struct UnkStruct_800DC5EC* arg0, s32 playerId) { +void func_8029122C(struct ScreenContext* arg0, s32 playerId) { UNUSED s32 pad; Player* player = arg0->player; Mat4 matrix; @@ -521,7 +521,7 @@ void func_8029122C(struct UnkStruct_800DC5EC* arg0, s32 playerId) { } } -void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { +void render_mario_raceway(struct ScreenContext* arg0) { UNUSED s32 pad; u16 sp22 = arg0->pathCounter; u16 playerDirection = arg0->playerDirection; @@ -635,7 +635,7 @@ void render_mario_raceway(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) 0x07000160)); } -void render_choco_mountain(struct UnkStruct_800DC5EC* arg0) { +void render_choco_mountain(struct ScreenContext* arg0) { UNUSED s32 pad[13]; gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -684,7 +684,7 @@ void render_choco_mountain(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); } -void render_bowsers_castle(struct UnkStruct_800DC5EC* arg0) { +void render_bowsers_castle(struct ScreenContext* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -712,7 +712,7 @@ void render_bowsers_castle(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) 0x07000248)); } -void render_banshee_boardwalk(struct UnkStruct_800DC5EC* arg0) { +void render_banshee_boardwalk(struct ScreenContext* arg0) { Camera* camera = arg0->camera; Mat4 spCC; UNUSED s32 pad[6]; @@ -771,7 +771,7 @@ void render_banshee_boardwalk(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); } -void render_yoshi_valley(struct UnkStruct_800DC5EC* arg0) { +void render_yoshi_valley(struct ScreenContext* arg0) { gDPPipeSync(gDisplayListHead++); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI, G_CC_MODULATEI); @@ -781,7 +781,7 @@ void render_yoshi_valley(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); } -void render_frappe_snowland(struct UnkStruct_800DC5EC* arg0) { +void render_frappe_snowland(struct ScreenContext* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -799,7 +799,7 @@ void render_frappe_snowland(struct UnkStruct_800DC5EC* arg0) { render_course_segments((uintptr_t) d_course_frappe_snowland_dl_list, arg0); } -void render_koopa_troopa_beach(struct UnkStruct_800DC5EC* arg0) { +void render_koopa_troopa_beach(struct ScreenContext* arg0) { gDPPipeSync(gDisplayListHead++); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -826,7 +826,7 @@ void render_koopa_troopa_beach(struct UnkStruct_800DC5EC* arg0) { gDPPipeSync(gDisplayListHead++); } -void render_royal_raceway(struct UnkStruct_800DC5EC* arg0) { +void render_royal_raceway(struct ScreenContext* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -856,7 +856,7 @@ void render_royal_raceway(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_luigi_raceway(struct UnkStruct_800DC5EC* arg0) { +void render_luigi_raceway(struct ScreenContext* arg0) { UNUSED s32 pad; u16 sp22 = (u16) arg0->pathCounter; @@ -942,7 +942,7 @@ void render_luigi_raceway(struct UnkStruct_800DC5EC* arg0) { } // Missing {} around if statements necessary for matching. -void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { +void render_moo_moo_farm(struct ScreenContext* arg0) { UNUSED s32 pad[13]; s16 temp_s0 = arg0->pathCounter; s16 playerDirection = arg0->playerDirection; @@ -1009,7 +1009,7 @@ void render_moo_moo_farm(struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) 0x070010C0)); } -void render_toads_turnpike(struct UnkStruct_800DC5EC* arg0) { +void render_toads_turnpike(struct ScreenContext* arg0) { UNUSED s32 pad[13]; set_course_lighting(D_800DC610, D_802B87D4, 0, 1); @@ -1037,7 +1037,7 @@ void render_toads_turnpike(struct UnkStruct_800DC5EC* arg0) { gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); } -void render_kalimari_desert(struct UnkStruct_800DC5EC* arg0) { +void render_kalimari_desert(struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); @@ -1071,7 +1071,7 @@ void render_kalimari_desert(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_sherbet_land(struct UnkStruct_800DC5EC* arg0) { +void render_sherbet_land(struct ScreenContext* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1081,7 +1081,7 @@ void render_sherbet_land(struct UnkStruct_800DC5EC* arg0) { render_course_segments((uintptr_t) sherbet_land_dls, arg0); } -void render_rainbow_road(UNUSED struct UnkStruct_800DC5EC* arg0) { +void render_rainbow_road(UNUSED struct ScreenContext* arg0) { gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -1090,7 +1090,7 @@ void render_rainbow_road(UNUSED struct UnkStruct_800DC5EC* arg0) { gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); } -void render_wario_stadium(struct UnkStruct_800DC5EC* arg0) { +void render_wario_stadium(struct ScreenContext* arg0) { s16 prevFrame; gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -1166,7 +1166,7 @@ void render_wario_stadium(struct UnkStruct_800DC5EC* arg0) { } } -void render_block_fort(UNUSED struct UnkStruct_800DC5EC* arg0) { +void render_block_fort(UNUSED struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -1176,7 +1176,7 @@ void render_block_fort(UNUSED struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) 0x070015C0)); } -void render_skyscraper(UNUSED struct UnkStruct_800DC5EC* arg0) { +void render_skyscraper(UNUSED struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); @@ -1199,7 +1199,7 @@ void render_skyscraper(UNUSED struct UnkStruct_800DC5EC* arg0) { gSPDisplayList(gDisplayListHead++, ((uintptr_t) 0x07000258)); } -void render_double_deck(UNUSED struct UnkStruct_800DC5EC* arg0) { +void render_double_deck(UNUSED struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); @@ -1211,7 +1211,7 @@ void render_double_deck(UNUSED struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_dks_jungle_parkway(struct UnkStruct_800DC5EC* arg0) { +void render_dks_jungle_parkway(struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); set_course_lighting(&D_800DC610[1], D_802B87D4, D_802B87D0, 1); @@ -1235,7 +1235,7 @@ void render_dks_jungle_parkway(struct UnkStruct_800DC5EC* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -void render_big_donut(struct UnkStruct_800DC5EC* arg0) { +void render_big_donut(struct ScreenContext* arg0) { gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); @@ -1333,7 +1333,7 @@ void render_course_credits(void) { #endif } -void render_course(struct UnkStruct_800DC5EC* arg0) { +void render_course(struct ScreenContext* arg0) { set_course_lighting(D_800DC610, D_802B87D4, 0, 1); if (creditsRenderMode) { diff --git a/src/racing/render_courses.h b/src/racing/render_courses.h index 3932663648..cfadd468f9 100644 --- a/src/racing/render_courses.h +++ b/src/racing/render_courses.h @@ -3,33 +3,33 @@ #include "code_800029B0.h" -void func_8029122C(struct UnkStruct_800DC5EC*, s32); +void func_8029122C(struct ScreenContext*, s32); s32 func_80290C20(Camera*); void parse_course_displaylists(uintptr_t); -void render_course_segments(uintptr_t, struct UnkStruct_800DC5EC*); +void render_course_segments(uintptr_t, struct ScreenContext*); void func_80291198(void); void func_802911C4(void); -void render_mario_raceway(struct UnkStruct_800DC5EC*); -void render_choco_mountain(struct UnkStruct_800DC5EC*); -void render_bowsers_castle(struct UnkStruct_800DC5EC*); -void render_banshee_boardwalk(struct UnkStruct_800DC5EC*); -void render_yoshi_valley(struct UnkStruct_800DC5EC*); -void render_frappe_snowland(struct UnkStruct_800DC5EC*); -void render_koopa_troopa_beach(struct UnkStruct_800DC5EC*); -void render_royal_raceway(struct UnkStruct_800DC5EC*); -void render_luigi_raceway(struct UnkStruct_800DC5EC*); -void render_toads_turnpike(struct UnkStruct_800DC5EC*); -void render_kalimari_desert(struct UnkStruct_800DC5EC*); -void render_sherbet_land(struct UnkStruct_800DC5EC*); -void render_rainbow_road(struct UnkStruct_800DC5EC*); -void render_wario_stadium(struct UnkStruct_800DC5EC*); -void render_block_fort(struct UnkStruct_800DC5EC*); -void render_skyscraper(struct UnkStruct_800DC5EC*); -void render_double_deck(struct UnkStruct_800DC5EC*); -void render_dks_jungle_parkway(struct UnkStruct_800DC5EC*); -void render_big_donut(struct UnkStruct_800DC5EC*); +void render_mario_raceway(struct ScreenContext*); +void render_choco_mountain(struct ScreenContext*); +void render_bowsers_castle(struct ScreenContext*); +void render_banshee_boardwalk(struct ScreenContext*); +void render_yoshi_valley(struct ScreenContext*); +void render_frappe_snowland(struct ScreenContext*); +void render_koopa_troopa_beach(struct ScreenContext*); +void render_royal_raceway(struct ScreenContext*); +void render_luigi_raceway(struct ScreenContext*); +void render_toads_turnpike(struct ScreenContext*); +void render_kalimari_desert(struct ScreenContext*); +void render_sherbet_land(struct ScreenContext*); +void render_rainbow_road(struct ScreenContext*); +void render_wario_stadium(struct ScreenContext*); +void render_block_fort(struct ScreenContext*); +void render_skyscraper(struct ScreenContext*); +void render_double_deck(struct ScreenContext*); +void render_dks_jungle_parkway(struct ScreenContext*); +void render_big_donut(struct ScreenContext*); void render_course_credits(void); -void render_course(struct UnkStruct_800DC5EC*); +void render_course(struct ScreenContext*); void func_80295BF8(s32); void func_80295C6C(void); void func_80295D50(s16, s16); diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index 78f95fe7ce..7d508d7d5d 100644 --- a/src/racing/skybox_and_splitscreen.c +++ b/src/racing/skybox_and_splitscreen.c @@ -67,7 +67,7 @@ static Vtx sSkyboxP4[] = { { { { 0, 120, -1 }, 0, { 0, 0 }, { 0x00, 0xDC, 0x00, 0xFF } } }, }; -void func_802A3730(struct UnkStruct_800DC5EC* arg0) { +void func_802A3730(struct ScreenContext* arg0) { s32 ulx; s32 uly; s32 lrx; @@ -148,7 +148,7 @@ void func_802A38B4(void) { } } -void func_802A39E0(struct UnkStruct_800DC5EC* arg0) { +void func_802A39E0(struct ScreenContext* arg0) { s32 ulx = arg0->screenStartX - (arg0->screenWidth / 2); s32 uly = arg0->screenStartY - (arg0->screenHeight / 2); s32 lrx = arg0->screenStartX + (arg0->screenWidth / 2); @@ -250,7 +250,7 @@ UNUSED void func_802A40DC(void) { } UNUSED s32 set_viewport2(void) { - gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_800DC5EC->viewport)); + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gScreenOneCtx->viewport)); gSPClearGeometryMode(gDisplayListHead++, G_CLEAR_ALL_MODES); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH | G_CLIPPING); @@ -444,7 +444,7 @@ void course_set_skybox_colours(Vtx* skybox) { } // Almost identical to end of render_skybox -void func_802A487C(Vtx* arg0, UNUSED struct UnkStruct_800DC5EC* arg1, UNUSED s32 arg2, UNUSED s32 arg3, +void func_802A487C(Vtx* arg0, UNUSED struct ScreenContext* arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32* arg4) { init_rdp(); @@ -471,7 +471,7 @@ void func_802A487C(Vtx* arg0, UNUSED struct UnkStruct_800DC5EC* arg1, UNUSED s32 * @param arg3 unused * @parma arg4 unused */ -void render_skybox(Vtx* skybox, struct UnkStruct_800DC5EC* arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32* arg4) { +void render_skybox(Vtx* skybox, struct ScreenContext* arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32* arg4) { Camera* camera = arg1->camera; s16 horizonRow; f32 homogFactor; @@ -602,22 +602,22 @@ void set_perspective_and_aspect_ratio(void) { void func_802A4EF4(void) { switch (gActiveScreenMode) { case SCREEN_MODE_1P: - func_8001F394(gPlayerOne, &gCameraZoom[0]); + func_8001F394(gPlayerOne, &gCameraFOV[0]); break; case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: - func_8001F394(gPlayerOne, &gCameraZoom[0]); - func_8001F394(gPlayerTwo, &gCameraZoom[1]); + func_8001F394(gPlayerOne, &gCameraFOV[0]); + func_8001F394(gPlayerTwo, &gCameraFOV[1]); break; case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: - func_8001F394(gPlayerOne, &gCameraZoom[0]); - func_8001F394(gPlayerTwo, &gCameraZoom[1]); + func_8001F394(gPlayerOne, &gCameraFOV[0]); + func_8001F394(gPlayerTwo, &gCameraFOV[1]); break; case SCREEN_MODE_3P_4P_SPLITSCREEN: - func_8001F394(gPlayerOne, &gCameraZoom[0]); - func_8001F394(gPlayerTwo, &gCameraZoom[1]); - func_8001F394(gPlayerThree, &gCameraZoom[2]); - func_8001F394(gPlayerFour, &gCameraZoom[3]); + func_8001F394(gPlayerOne, &gCameraFOV[0]); + func_8001F394(gPlayerTwo, &gCameraFOV[1]); + func_8001F394(gPlayerThree, &gCameraFOV[2]); + func_8001F394(gPlayerFour, &gCameraFOV[3]); break; } } @@ -625,17 +625,17 @@ void func_802A4EF4(void) { void func_802A5004(void) { init_rdp(); - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); - func_802A39E0(D_800DC5F0); + func_802A39E0(gScreenTwoCtx); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + render_skybox((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80057FC4(2); - func_802A487C((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + func_802A487C((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80093A30(2); } } @@ -643,16 +643,16 @@ void func_802A5004(void) { void func_802A50EC(void) { init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); - func_802A39E0(D_800DC5EC); + func_802A39E0(gScreenOneCtx); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP1, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]); + render_skybox((Vtx*) sSkyboxP1, gScreenOneCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[0]); func_80057FC4(1); - func_802A487C((Vtx*) sSkyboxP1, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]); + func_802A487C((Vtx*) sSkyboxP1, gScreenOneCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[0]); func_80093A30(1); } } @@ -660,16 +660,16 @@ void func_802A50EC(void) { void func_802A51D4(void) { init_rdp(); - func_802A39E0(D_800DC5EC); - func_802A3730(D_800DC5EC); + func_802A39E0(gScreenOneCtx); + func_802A3730(gScreenOneCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP1, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]); + render_skybox((Vtx*) sSkyboxP1, gScreenOneCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[0]); func_80057FC4(3); - func_802A487C((Vtx*) sSkyboxP1, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[0]); + func_802A487C((Vtx*) sSkyboxP1, gScreenOneCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[0]); func_80093A30(3); } } @@ -677,16 +677,16 @@ void func_802A51D4(void) { void func_802A52BC(void) { init_rdp(); - func_802A39E0(D_800DC5F0); - func_802A3730(D_800DC5F0); + func_802A39E0(gScreenTwoCtx); + func_802A3730(gScreenTwoCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + render_skybox((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80057FC4(4); - func_802A487C((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + func_802A487C((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80093A30(4); } } @@ -695,7 +695,7 @@ void func_802A53A4(void) { move_segment_table_to_dmem(); init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); @@ -703,11 +703,11 @@ void func_802A53A4(void) { init_z_buffer(); select_framebuffer(); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP1, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]); + render_skybox((Vtx*) sSkyboxP1, gScreenOneCtx, 0x140, 0xF0, &gCameraFOV[0]); if (gGamestate != CREDITS_SEQUENCE) { func_80057FC4(0); } - func_802A487C((Vtx*) sSkyboxP1, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]); + func_802A487C((Vtx*) sSkyboxP1, gScreenOneCtx, 0x140, 0xF0, &gCameraFOV[0]); func_80093A30(0); } } @@ -715,16 +715,16 @@ void func_802A53A4(void) { void func_802A54A8(void) { init_rdp(); - func_802A39E0(D_800DC5EC); - func_802A3730(D_800DC5EC); + func_802A39E0(gScreenOneCtx); + func_802A3730(gScreenOneCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP1, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]); + render_skybox((Vtx*) sSkyboxP1, gScreenOneCtx, 0x140, 0xF0, &gCameraFOV[0]); func_80057FC4(8); - func_802A487C((Vtx*) sSkyboxP1, D_800DC5EC, 0x140, 0xF0, &gCameraZoom[0]); + func_802A487C((Vtx*) sSkyboxP1, gScreenOneCtx, 0x140, 0xF0, &gCameraFOV[0]); func_80093A30(8); } } @@ -732,16 +732,16 @@ void func_802A54A8(void) { void func_802A5590(void) { init_rdp(); - func_802A39E0(D_800DC5F0); - func_802A3730(D_800DC5F0); + func_802A39E0(gScreenTwoCtx); + func_802A3730(gScreenTwoCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + render_skybox((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80057FC4(9); - func_802A487C((Vtx*) sSkyboxP2, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[1]); + func_802A487C((Vtx*) sSkyboxP2, gScreenTwoCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[1]); func_80093A30(9); } } @@ -749,16 +749,16 @@ void func_802A5590(void) { void func_802A5678(void) { init_rdp(); - func_802A39E0(D_800DC5F4); - func_802A3730(D_800DC5F4); + func_802A39E0(gScreenThreeCtx); + func_802A3730(gScreenThreeCtx); gSPClearGeometryMode(gDisplayListHead++, 0xFFFFFFFF); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING); if (D_800DC5B4 != 0) { - render_skybox((Vtx*) sSkyboxP3, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[2]); + render_skybox((Vtx*) sSkyboxP3, gScreenThreeCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[2]); func_80057FC4(10); - func_802A487C((Vtx*) sSkyboxP3, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[2]); + func_802A487C((Vtx*) sSkyboxP3, gScreenThreeCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[2]); func_80093A30(10); } } @@ -774,7 +774,7 @@ void func_802A5760(void) { if (gPlayerCountSelection1 == 3) { gDPPipeSync(gDisplayListHead++); - func_802A39E0(D_800DC5F8); + func_802A39E0(gScreenFourCtx); gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); gDPSetColorImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, VIRTUAL_TO_PHYSICAL(gPhysicalFramebuffers[sRenderingFramebuffer])); @@ -785,16 +785,16 @@ void func_802A5760(void) { gDPPipeSync(gDisplayListHead++); gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); - func_802A3730(D_800DC5F8); + func_802A3730(gScreenFourCtx); } else { - func_802A3730(D_800DC5F8); - func_802A39E0(D_800DC5F8); + func_802A3730(gScreenFourCtx); + func_802A39E0(gScreenFourCtx); if (D_800DC5B4 != 0) { - render_skybox(sSkyboxP4, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[3]); + render_skybox(sSkyboxP4, gScreenFourCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[3]); func_80057FC4(11); - func_802A487C(sSkyboxP4, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraZoom[3]); + func_802A487C(sSkyboxP4, gScreenFourCtx, SCREEN_WIDTH, SCREEN_HEIGHT, &gCameraFOV[3]); func_80093A30(11); } } @@ -816,13 +816,13 @@ void render_player_one_1p_screen(void) { #endif func_802A53A4(); init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -840,19 +840,19 @@ void render_player_one_1p_screen(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5EC); + render_course(gScreenOneCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5EC); + render_course_actors(gScreenOneCtx); render_object(RENDER_SCREEN_MODE_1P_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, PLAYER_ONE); + func_8029122C(gScreenOneCtx, PLAYER_ONE); func_80021B0C(); - render_item_boxes(D_800DC5EC); + render_item_boxes(gScreenOneCtx); render_player_snow_effect(RENDER_SCREEN_MODE_1P_PLAYER_ONE); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -880,12 +880,12 @@ void render_player_one_2p_screen_vertical(void) { sp9C = gScreenAspect * 1.2f; #endif init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -904,7 +904,7 @@ void render_player_one_2p_screen_vertical(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5EC); + render_course(gScreenOneCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), @@ -913,12 +913,12 @@ void render_player_one_2p_screen_vertical(void) { mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5EC); + render_course_actors(gScreenOneCtx); render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, PLAYER_ONE); + func_8029122C(gScreenOneCtx, PLAYER_ONE); func_80021B0C(); - render_item_boxes(D_800DC5EC); + render_item_boxes(gScreenOneCtx); render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_ONE); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -944,15 +944,15 @@ void render_player_two_2p_screen_vertical(void) { func_802A5004(); init_rdp(); - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); #ifdef VERSION_EU sp9C = gScreenAspect * 1.2f; #endif gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -970,19 +970,19 @@ void render_player_two_2p_screen_vertical(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5F0); + render_course(gScreenTwoCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5F0); + render_course_actors(gScreenTwoCtx); render_object(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, PLAYER_TWO); + func_8029122C(gScreenTwoCtx, PLAYER_TWO); func_80021C78(); - render_item_boxes(D_800DC5F0); + render_item_boxes(gScreenTwoCtx); func_80058BF4(); render_player_snow_effect(RENDER_SCREEN_MODE_2P_HORIZONTAL_PLAYER_TWO); if (D_800DC5B8 != 0) { @@ -1007,15 +1007,15 @@ void render_player_one_2p_screen_horizontal(void) { func_802A51D4(); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); #ifdef VERSION_EU sp9C = gScreenAspect * 1.2f; #endif gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1034,19 +1034,19 @@ void render_player_one_2p_screen_horizontal(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5EC); + render_course(gScreenOneCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5EC); + render_course_actors(gScreenOneCtx); render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, PLAYER_ONE); + func_8029122C(gScreenOneCtx, PLAYER_ONE); func_80021B0C(); - render_item_boxes(D_800DC5EC); + render_item_boxes(gScreenOneCtx); render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_ONE); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1071,15 +1071,15 @@ void render_player_two_2p_screen_horizontal(void) { func_802A52BC(); gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); init_rdp(); - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); #ifdef VERSION_EU sp9C = gScreenAspect * 1.2f; #endif gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1097,19 +1097,19 @@ void render_player_two_2p_screen_horizontal(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5F0); + render_course(gScreenTwoCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5F0); + render_course_actors(gScreenTwoCtx); render_object(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, PLAYER_TWO); + func_8029122C(gScreenTwoCtx, PLAYER_TWO); func_80021C78(); - render_item_boxes(D_800DC5F0); + render_item_boxes(gScreenTwoCtx); render_player_snow_effect(RENDER_SCREEN_MODE_2P_VERTICAL_PLAYER_TWO); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1134,12 +1134,12 @@ void render_player_one_3p_4p_screen(void) { func_802A54A8(); init_rdp(); - func_802A3730(D_800DC5EC); + func_802A3730(gScreenOneCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraFOV[0], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1157,19 +1157,19 @@ void render_player_one_3p_4p_screen(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5EC); + render_course(gScreenOneCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5EC); + render_course_actors(gScreenOneCtx); render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE); render_players_on_screen_one(); - func_8029122C(D_800DC5EC, PLAYER_ONE); + func_8029122C(gScreenOneCtx, PLAYER_ONE); func_80021B0C(); - render_item_boxes(D_800DC5EC); + render_item_boxes(gScreenOneCtx); render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_ONE); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1194,12 +1194,12 @@ void render_player_two_3p_4p_screen(void) { func_802A5590(); init_rdp(); - func_802A3730(D_800DC5F0); + func_802A3730(gScreenTwoCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraFOV[1], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1217,19 +1217,19 @@ void render_player_two_3p_4p_screen(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5F0); + render_course(gScreenTwoCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5F0); + render_course_actors(gScreenTwoCtx); render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO); render_players_on_screen_two(); - func_8029122C(D_800DC5F0, PLAYER_TWO); + func_8029122C(gScreenTwoCtx, PLAYER_TWO); func_80021C78(); - render_item_boxes(D_800DC5F0); + render_item_boxes(gScreenTwoCtx); render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_TWO); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1254,13 +1254,13 @@ void render_player_three_3p_4p_screen(void) { func_802A5678(); init_rdp(); - func_802A3730(D_800DC5F4); + func_802A3730(gScreenThreeCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraZoom[2], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraFOV[2], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraZoom[2], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraFOV[2], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1278,19 +1278,19 @@ void render_player_three_3p_4p_screen(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5F4); + render_course(gScreenThreeCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5F4); + render_course_actors(gScreenThreeCtx); render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE); render_players_on_screen_three(); - func_8029122C(D_800DC5F4, PLAYER_THREE); + func_8029122C(gScreenThreeCtx, PLAYER_THREE); func_80021D40(); - render_item_boxes(D_800DC5F4); + render_item_boxes(gScreenThreeCtx); render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1324,13 +1324,13 @@ void render_player_four_3p_4p_screen(void) { } init_rdp(); - func_802A3730(D_800DC5F8); + func_802A3730(gScreenFourCtx); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); #ifdef VERSION_EU - guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraZoom[3], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); + guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraFOV[3], sp9C, gCourseNearPersp, gCourseFarPersp, 1.0f); #else - guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraZoom[3], gScreenAspect, gCourseNearPersp, gCourseFarPersp, + guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraFOV[3], gScreenAspect, gCourseNearPersp, gCourseFarPersp, 1.0f); #endif gSPPerspNormalize(gDisplayListHead++, perspNorm); @@ -1347,19 +1347,19 @@ void render_player_four_3p_4p_screen(void) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - render_course(D_800DC5F8); + render_course(gScreenFourCtx); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); render_set_position(matrix, 0); } - render_course_actors(D_800DC5F8); + render_course_actors(gScreenFourCtx); render_object(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); render_players_on_screen_four(); - func_8029122C(D_800DC5F8, PLAYER_FOUR); + func_8029122C(gScreenFourCtx, PLAYER_FOUR); func_80021DA8(); - render_item_boxes(D_800DC5F8); + render_item_boxes(gScreenFourCtx); render_player_snow_effect(RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR); func_80058BF4(); if (D_800DC5B8 != 0) { @@ -1373,7 +1373,7 @@ void render_player_four_3p_4p_screen(void) { } void func_802A74BC(void) { - struct UnkStruct_800DC5EC* wrapper = &D_8015F480[0]; + struct ScreenContext* wrapper = &gScreenContexts[0]; Player* player = &gPlayers[0]; Camera* camera = &cameras[0]; struct Controller* controller = &gControllers[0]; diff --git a/src/racing/skybox_and_splitscreen.h b/src/racing/skybox_and_splitscreen.h index bc9f196396..af7d713eb7 100644 --- a/src/racing/skybox_and_splitscreen.h +++ b/src/racing/skybox_and_splitscreen.h @@ -8,12 +8,12 @@ /* Function Prototypes */ -void render_skybox(Vtx*, struct UnkStruct_800DC5EC*, s32, s32, f32*); +void render_skybox(Vtx*, struct ScreenContext*, s32, s32, f32*); -void func_802A3730(struct UnkStruct_800DC5EC*); +void func_802A3730(struct ScreenContext*); void func_802A38AC(void); void func_802A38B4(void); -void func_802A39E0(struct UnkStruct_800DC5EC*); +void func_802A39E0(struct ScreenContext*); void init_z_buffer(void); void init_rdp(void); void func_802A40A4(void); @@ -29,7 +29,7 @@ void set_viewport(void); void select_framebuffer(void); void func_802A4300(void); void course_set_skybox_colours(Vtx*); -void func_802A487C(Vtx*, struct UnkStruct_800DC5EC*, s32, s32, f32*); +void func_802A487C(Vtx*, struct ScreenContext*, s32, s32, f32*); void set_perspective_and_aspect_ratio(void); void func_802A4EF4(void); void func_802A5004(void); diff --git a/src/render_objects.c b/src/render_objects.c index 21ac663f18..4f064eb622 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -3179,13 +3179,13 @@ void func_80051C60(s16 arg0, s32 arg1) { } void func_80051EBC(void) { - func_80051ABC(240 - D_800DC5EC->cameraHeight, 0); // 28 + func_80051ABC(240 - gScreenOneCtx->cameraHeight, 0); // 28 } void func_80051EF8(void) { s16 temp_a0; - temp_a0 = 0xF0 - D_800DC5EC->cameraHeight; + temp_a0 = 0xF0 - gScreenOneCtx->cameraHeight; if (gCurrentCourseId == COURSE_KOOPA_BEACH) { temp_a0 = temp_a0 - 0x30; } else if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { @@ -3201,7 +3201,7 @@ void func_80051EF8(void) { void func_80051F9C(void) { s16 temp_a0; - temp_a0 = 0xF0 - D_800DC5F0->cameraHeight; + temp_a0 = 0xF0 - gScreenTwoCtx->cameraHeight; if (gCurrentCourseId == COURSE_KOOPA_BEACH) { temp_a0 = temp_a0 - 0x30; } else if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { @@ -3215,11 +3215,11 @@ void func_80051F9C(void) { } void func_80052044(void) { - func_80051C60(240 - D_800DC5EC->cameraHeight, 0); + func_80051C60(240 - gScreenOneCtx->cameraHeight, 0); } void func_80052080(void) { - func_80051C60(240 - D_800DC5F0->cameraHeight, D_8018D1F0); + func_80051C60(240 - gScreenTwoCtx->cameraHeight, D_8018D1F0); } void func_800520C0(s32 arg0) { diff --git a/src/spawn_players.c b/src/spawn_players.c index 911feff6f3..aca290e6b2 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -840,7 +840,7 @@ void func_8003BE30(void) { func_80039AE4(); } -void func_8003C0F0(void) { +void spawn_and_set_player_spawns(void) { s16 sp5E; s16 sp5C; s16 sp5A; @@ -1189,7 +1189,7 @@ void func_8003CD98(Player* player, Camera* camera, s8 playerId, s8 screenId) { } } -void func_8003D080(void) { +void spawn_players_and_cameras(void) { UNUSED s32 pad; Player* player = &gPlayers[0]; @@ -1197,7 +1197,7 @@ void func_8003D080(void) { if (gGamestate == ENDING) { func_8003CD78(); } else { - func_8003C0F0(); + spawn_and_set_player_spawns(); } if (!gDemoMode) { switch (gActiveScreenMode) { diff --git a/src/spawn_players.h b/src/spawn_players.h index 23c9c14a26..a291c19dea 100644 --- a/src/spawn_players.h +++ b/src/spawn_players.h @@ -19,10 +19,10 @@ void spawn_players_3p_battle(f32*, f32*, f32); void func_8003B870(f32*, f32*, f32); void spawn_players_4p_battle(f32*, f32*, f32); void func_8003BE30(void); -void func_8003C0F0(void); +void spawn_and_set_player_spawns(void); void func_8003CD78(void); void func_8003CD98(Player*, Camera*, s8, s8); -void func_8003D080(void); +void spawn_players_and_cameras(void); void func_8003DB5C(void); extern f32 D_80165210[]; diff --git a/src/update_objects.c b/src/update_objects.c index 4df9d6374a..8d81a5b4be 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -2832,27 +2832,27 @@ void course_update_clouds(s32 arg0) { case 0: /* switch 1 */ sp1C = 0; camera = camera1; - D_8018D200 = gCameraZoom[0] + 40.0f; + D_8018D200 = gCameraFOV[0] + 40.0f; break; case 1: /* switch 1 */ sp1C = 0; camera = camera1; - D_8018D200 = gCameraZoom[0] + 40.0f; + D_8018D200 = gCameraFOV[0] + 40.0f; break; case 2: /* switch 1 */ camera = camera2; sp1C = D_8018D1F0; - D_8018D200 = gCameraZoom[1] + 40.0f; + D_8018D200 = gCameraFOV[1] + 40.0f; break; case 3: /* switch 1 */ sp1C = 0; camera = camera1; - D_8018D200 = gCameraZoom[0] + 40.0f; + D_8018D200 = gCameraFOV[0] + 40.0f; break; case 4: /* switch 1 */ camera = camera2; sp1C = D_8018D1F0; - D_8018D200 = gCameraZoom[1] + 40.0f; + D_8018D200 = gCameraFOV[1] + 40.0f; break; }