summaryrefslogtreecommitdiff
path: root/src/racing/skybox_and_splitscreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/racing/skybox_and_splitscreen.c')
-rw-r--r--src/racing/skybox_and_splitscreen.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c
index 77b1c03ff..be56d22f1 100644
--- a/src/racing/skybox_and_splitscreen.c
+++ b/src/racing/skybox_and_splitscreen.c
@@ -397,6 +397,10 @@ void func_802A450C(Vtx* skybox) {
skybox[7].v.cn[2] = prop->FloorTopLeft.b;
}
+Mtx gIdentityMatrix2 = {
+ toFixedPointMatrix(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0),
+};
+
void func_802A487C(Vtx* arg0, UNUSED struct UnkStruct_800DC5EC* arg1, UNUSED s32 arg2, UNUSED s32 arg3,
UNUSED f32* arg4) {
@@ -409,7 +413,7 @@ void func_802A487C(Vtx* arg0, UNUSED struct UnkStruct_800DC5EC* arg1, UNUSED s32
gSPPerspNormalize(gDisplayListHead++, 0xFFFF);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxScreen),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
- gSPMatrix(gDisplayListHead++, &gIdentityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+ gSPMatrix(gDisplayListHead++, &gIdentityMatrix2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gDisplayListHead++, &arg0[4], 4, 0);
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
}
@@ -476,7 +480,7 @@ void func_802A4A0C(Vtx* vtx, struct UnkStruct_800DC5EC* arg1, UNUSED s32 arg2, U
gSPPerspNormalize(gDisplayListHead++, 0xFFFF);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxScreen),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
- gSPMatrix(gDisplayListHead++, &gIdentityMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+ gSPMatrix(gDisplayListHead++, &gIdentityMatrix2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPVertex(gDisplayListHead++, &vtx[0], 4, 0);
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
if (GetCourse() == GetRainbowRoad()) {
@@ -760,6 +764,8 @@ void render_screens(s32 mode, s32 cameraId, s32 playerId) {
s32 screenId = 0;
s32 screenMode = SCREEN_MODE_1P;
+ FrameInterpolation_StartRecord();
+
switch (mode) {
case RENDER_SCREEN_MODE_1P_PLAYER_ONE:
func_802A53A4();
@@ -902,6 +908,8 @@ void render_screens(s32 mode, s32 cameraId, s32 playerId) {
if (mode != RENDER_SCREEN_MODE_1P_PLAYER_ONE) {
gNumScreens += 1;
}
+
+ FrameInterpolation_StopRecord();
}
void func_802A74BC(void) {