diff options
| author | Tharo <17233964+Thar0@users.noreply.github.com> | 2021-07-04 16:43:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-04 11:43:04 -0400 |
| commit | cd9a2ed64817321a03a44e85439b811a0304bb9b (patch) | |
| tree | c6072e606af181b5aa323212c4cd8617066e231c /src/code | |
| parent | 3fd05c9147116c9d0c0b5366cb24105c9ead7427 (diff) | |
Some progress on z_vr_box.c (#838)
* z_vr_box.c progress
* Rename dpList to dlistBuf and SKYBOX_CLEAR_SKY to SKYBOX_NORMAL_SKY
* Fix
* renamed dlistBuf to dListBuf and split large string further
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/z_play.c | 10 | ||||
| -rw-r--r-- | src/code/z_vr_box.c | 673 | ||||
| -rw-r--r-- | src/code/z_vr_box_draw.c | 34 |
3 files changed, 692 insertions, 25 deletions
diff --git a/src/code/z_play.c b/src/code/z_play.c index 8e5878a14..56fb61faa 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -1160,8 +1160,10 @@ void Gameplay_Draw(GlobalContext* globalCtx) { s32 sp80; if ((HREG(80) != 10) || (HREG(83) != 0)) { - if (globalCtx->skyboxId && (globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) { - if ((globalCtx->skyboxId == 1) || (globalCtx->skyboxId == 5)) { + if (globalCtx->skyboxId && (globalCtx->skyboxId != SKYBOX_UNSET_1D) && + !globalCtx->envCtx.skyDisabled) { + if ((globalCtx->skyboxId == SKYBOX_NORMAL_SKY) || + (globalCtx->skyboxId == SKYBOX_CUTSCENE_MAP)) { func_8006FC88(globalCtx->skyboxId, &globalCtx->envCtx, &globalCtx->skyboxCtx); SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, globalCtx->envCtx.unk_13, globalCtx->view.eye.x, globalCtx->view.eye.y, @@ -1296,7 +1298,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) { Camera_Update(ACTIVE_CAM); func_800AB944(&globalCtx->view); globalCtx->view.unk_124 = 0; - if (globalCtx->skyboxId && (globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) { + if (globalCtx->skyboxId && (globalCtx->skyboxId != SKYBOX_UNSET_1D) && !globalCtx->envCtx.skyDisabled) { SkyboxDraw_UpdateMatrix(&globalCtx->skyboxCtx, globalCtx->view.eye.x, globalCtx->view.eye.y, globalCtx->view.eye.z); } @@ -1433,7 +1435,7 @@ void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file) { } void Gameplay_InitSkybox(GlobalContext* globalCtx, s16 skyboxId) { - func_800B0E50(globalCtx, &globalCtx->skyboxCtx, skyboxId); + Skybox_Init(globalCtx, &globalCtx->skyboxCtx, skyboxId); func_8006F140(globalCtx, &globalCtx->envCtx, 0); } diff --git a/src/code/z_vr_box.c b/src/code/z_vr_box.c index 09c872365..9e2cffb1b 100644 --- a/src/code/z_vr_box.c +++ b/src/code/z_vr_box.c @@ -1,13 +1,678 @@ #include "global.h" +#include "vt.h" +typedef struct { + /* 0x000 */ s32 unk_0; + /* 0x004 */ s32 unk_4; + /* 0x008 */ s32 unk_8; + /* 0x00C */ s32 unk_C; + /* 0x010 */ s32 unk_10; +} Struct_8012AF0C; // size = 0x14 + +extern Struct_8012AF0C D_8012AF0C[6]; +extern Struct_8012AF0C D_8012AEBC[4]; + +typedef struct { + /* 0x00 */ u16 unk_0; // start + /* 0x02 */ u16 unk_2; // end + /* 0x04 */ u8 unk_4; + /* 0x05 */ u8 unk_5; // img idx 1 + /* 0x06 */ u8 unk_6; // img idx 2 + /* 0x07 */ char unk_7[0x1]; +} Struct_8011FC1C; // size = 0x8 + +extern Struct_8011FC1C D_8011FC1C[8][9]; + +typedef struct { + /* 0x00 */ u32 unk_0; // start + /* 0x04 */ u32 unk_4; // end + /* 0x08 */ u32 unk_8; // pal start + /* 0x0C */ u32 unk_C; // pal end +} Struct_8011FD3C; // size = 0x10 + +extern Struct_8011FD3C D_8011FD3C[]; + +s32 func_800ADBB0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, s32, + s32); #pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800ADBB0.s") +s32 func_800AE2C0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, s32); #pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AE2C0.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AEFC8.s") +void func_800AEFC8(SkyboxContext* skyboxCtx, s16 skyboxId) { + s32 i; + s32 j; + s32 phi_s3 = 0; + + if (skyboxId == SKYBOX_BAZAAR || (skyboxId > SKYBOX_HOUSE_KAKARIKO && skyboxId <= SKYBOX_BOMBCHU_SHOP)) { + for (j = 0, i = 0; i < 2; i++, j += 2) { + phi_s3 = func_800ADBB0(skyboxCtx, skyboxCtx->roomVtx, phi_s3, D_8012AEBC[i].unk_0, D_8012AEBC[i].unk_4, + D_8012AEBC[i].unk_8, D_8012AEBC[i].unk_C, D_8012AEBC[i].unk_10, i, j); + } + } else if (skyboxCtx->unk_140 == 2) { + for (j = 0, i = 0; i < 3; i++, j += 2) { + phi_s3 = func_800ADBB0(skyboxCtx, skyboxCtx->roomVtx, phi_s3, D_8012AEBC[i].unk_0, D_8012AEBC[i].unk_4, + D_8012AEBC[i].unk_8, D_8012AEBC[i].unk_C, D_8012AEBC[i].unk_10, i, j); + } + } else { + for (j = 0, i = 0; i < 4; i++, j += 2) { + phi_s3 = func_800ADBB0(skyboxCtx, skyboxCtx->roomVtx, phi_s3, D_8012AEBC[i].unk_0, D_8012AEBC[i].unk_4, + D_8012AEBC[i].unk_8, D_8012AEBC[i].unk_C, D_8012AEBC[i].unk_10, i, j); + } + } +} + +void func_800AF178(SkyboxContext* skyboxCtx, s32 arg1) { + s32 phi_s2 = 0; + s32 i; + + for (i = 0; i < arg1; i++) { + phi_s2 = func_800AE2C0(skyboxCtx, skyboxCtx->roomVtx, phi_s2, D_8012AF0C[i].unk_0, D_8012AF0C[i].unk_4, + D_8012AF0C[i].unk_8, D_8012AF0C[i].unk_C, D_8012AF0C[i].unk_10, i); + } +} + +#ifdef NON_MATCHING +// Some reoderings at the end of the first case, regalloc differences, stack +void Skybox_Setup(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyboxId) { + s16 i; + u8 sp41; // imageIdx + u8 sp40; // imageIdx2 + u32 start; + u32 size; + s32 phi_v1; + + switch (skyboxId) { + case SKYBOX_NORMAL_SKY: + phi_v1 = 0; + if (gSaveContext.unk_13C3 != 0 && gSaveContext.sceneSetupIndex < 4 && D_8011FB30 > 0 && D_8011FB30 < 6) { + phi_v1 = 1; + } + + for (i = 0; i < 9; i++) { + if (gSaveContext.environmentTime >= D_8011FC1C[phi_v1][i].unk_0 && + (gSaveContext.environmentTime < D_8011FC1C[phi_v1][i].unk_2 || + D_8011FC1C[phi_v1][i].unk_2 == 0xFFFF)) { + globalCtx->envCtx.unk_10 = sp41 = D_8011FC1C[phi_v1][i].unk_5; + globalCtx->envCtx.unk_11 = sp40 = D_8011FC1C[phi_v1][i].unk_6; + if (D_8011FC1C[phi_v1][i].unk_4 != 0) { + globalCtx->envCtx.unk_13 = + func_8006F93C(D_8011FC1C[phi_v1][i].unk_2, D_8011FC1C[phi_v1][i].unk_0, + ((void)0, gSaveContext.environmentTime)) * + 255.0f; + } else { + globalCtx->envCtx.unk_13 = 0; + } + break; + } + } + + size = D_8011FD3C[sp41].unk_4 - D_8011FD3C[sp41].unk_0; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1054); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1055); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], D_8011FD3C[sp41].unk_0, size, "../z_vr_box.c", 1058); + + size = D_8011FD3C[sp40].unk_4 - D_8011FD3C[sp40].unk_0; + skyboxCtx->staticSegments[1] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1060); + ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", + 1061); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], D_8011FD3C[sp40].unk_0, size, "../z_vr_box.c", 1064); + + // reorderings in the rest of this case + + if (((u8)(sp41 & 4) >> 2) != (sp41 & 1)) { + size = D_8011FD3C[sp41].unk_C - D_8011FD3C[sp41].unk_8; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1072); + + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1073); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], D_8011FD3C[sp40].unk_8, size, "../z_vr_box.c", 1075); + DmaMgr_SendRequest1((u32)skyboxCtx->staticSegments[2] + size, D_8011FD3C[sp41].unk_8, size, + "../z_vr_box.c", 1077); + + } else { + size = D_8011FD3C[sp41].unk_C - D_8011FD3C[sp41].unk_8; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1085); + + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1086); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], D_8011FD3C[sp41].unk_8, size, "../z_vr_box.c", 1088); + DmaMgr_SendRequest1((u32)skyboxCtx->staticSegments[2] + size, D_8011FD3C[sp40].unk_8, size, + "../z_vr_box.c", 1090); + } + break; + case SKYBOX_BAZAAR: + skyboxCtx->unk_140 = 1; + + start = _vr_SP1a_staticSegmentRomStart; + size = _vr_SP1a_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1127); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1128); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1129); + + start = _vr_SP1a_pal_staticSegmentRomStart; + size = _vr_SP1a_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1132); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1133); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1134); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_OVERCAST_SUNSET: + start = _vr_cloud2_staticSegmentRomStart; + size = _vr_cloud2_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1155); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1156); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1159); + + skyboxCtx->staticSegments[1] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1162); + ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", + 1163); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1166); + + start = _vr_cloud2_pal_staticSegmentRomStart; + size = _vr_cloud2_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1170); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1171); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1173); + DmaMgr_SendRequest1((u32)skyboxCtx->staticSegments[2] + size, start, size, "../z_vr_box.c", 1175); + break; + case SKYBOX_MARKET_ADULT: + skyboxCtx->unk_140 = 1; + + start = _vr_RUVR_staticSegmentRomStart; + size = _vr_RUVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1182); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1183); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1184); + + start = _vr_RUVR_pal_staticSegmentRomStart; + size = _vr_RUVR_pal_staticSegmentRomEnd - start; + osSyncPrintf("SIZE = %d\n", size); + + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1188); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1189); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1190); + break; + case SKYBOX_CUTSCENE_MAP: + start = _vr_holy0_staticSegmentRomStart; + size = _vr_holy0_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1196); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1197); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1200); + + start = _vr_holy1_staticSegmentRomStart; + size = _vr_holy1_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[1] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1203); + ASSERT(skyboxCtx->staticSegments[1] == 0, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1204); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1207); + + start = _vr_holy0_pal_staticSegmentRomStart; + size = _vr_holy0_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1211); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1212); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1214); + DmaMgr_SendRequest1((u32)skyboxCtx->staticSegments[2] + size, _vr_holy1_pal_staticSegmentRomStart, size, + "../z_vr_box.c", 1216); + break; + case SKYBOX_HOUSE_LINK: + skyboxCtx->unk_140 = 1; + + start = _vr_LHVR_staticSegmentRomStart; + size = _vr_LHVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1226); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1227); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1228); + + start = _vr_LHVR_pal_staticSegmentRomStart; + size = _vr_LHVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1231); + ASSERT(skyboxCtx->staticSegments[2] == 0, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1232); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1233); + break; + case SKYBOX_MARKET_CHILD_DAY: + skyboxCtx->unk_140 = 1; + + start = _vr_MDVR_staticSegmentRomStart; + size = _vr_MDVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1257); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1258); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1259); + + start = _vr_MDVR_pal_staticSegmentRomStart; + size = _vr_MDVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1262); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1263); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1264); + break; + case SKYBOX_MARKET_CHILD_NIGHT: + skyboxCtx->unk_140 = 1; + + start = _vr_MNVR_staticSegmentRomStart; + size = _vr_MNVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1271); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1272); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1277); + + start = _vr_MNVR_pal_staticSegmentRomStart; + size = _vr_MNVR_pal_staticSegmentRomEnd - start; + osSyncPrintf("SIZE = %d\n", size); + + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1277); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1278); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1279); + break; + case SKYBOX_HAPPY_MASK_SHOP: + skyboxCtx->unk_140 = 1; + + start = _vr_FCVR_staticSegmentRomStart; + size = _vr_FCVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1286); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1287); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1288); + + start = _vr_FCVR_pal_staticSegmentRomStart; + size = _vr_FCVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1291); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1292); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1293); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_HOUSE_KNOW_IT_ALL_BROTHERS: + skyboxCtx->unk_140 = 1; + + start = _vr_KHVR_staticSegmentRomStart; + size = _vr_KHVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1301); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1302); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1303); + + start = _vr_KHVR_pal_staticSegmentRomStart; + size = _vr_KHVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1306); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1307); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1308); + break; + case SKYBOX_HOUSE_OF_TWINS: + skyboxCtx->unk_140 = 2; + + start = _vr_K3VR_staticSegmentRomStart; + size = _vr_K3VR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1331); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1332); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1333); + + start = _vr_K3VR_pal_staticSegmentRomStart; + size = _vr_K3VR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1336); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1337); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1338); + break; + case SKYBOX_STABLES: + skyboxCtx->unk_140 = 1; + + start = _vr_MLVR_staticSegmentRomStart; + size = _vr_MLVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1345); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1347); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1347); + + start = _vr_MLVR_pal_staticSegmentRomStart; + size = _vr_MLVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1350); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1351); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1352); + break; + case SKYBOX_HOUSE_KAKARIKO: + skyboxCtx->unk_140 = 1; + + start = _vr_KKRVR_staticSegmentRomStart; + size = _vr_KKRVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1359); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1360); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1361); + + start = _vr_KKRVR_pal_staticSegmentRomStart; + size = _vr_KKRVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1364); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1365); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1366); + break; + case SKYBOX_KOKIRI_SHOP: + skyboxCtx->unk_140 = 1; + + start = _vr_KSVR_staticSegmentRomStart; + size = _vr_KSVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1373); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1374); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1375); + + start = _vr_KSVR_pal_staticSegmentRomStart; + size = _vr_KSVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1378); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1379); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1380); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_GORON_SHOP: + skyboxCtx->unk_140 = 1; + + start = _vr_GLVR_staticSegmentRomStart; + size = _vr_GLVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1405); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1406); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1407); + + start = _vr_GLVR_pal_staticSegmentRomStart; + size = _vr_GLVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1410); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1411); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1412); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_ZORA_SHOP: + skyboxCtx->unk_140 = 1; + + start = _vr_ZRVR_staticSegmentRomStart; + size = _vr_ZRVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1420); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1421); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1422); + + start = _vr_ZRVR_pal_staticSegmentRomStart; + size = _vr_ZRVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1425); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1426); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1427); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_POTION_SHOP_KAKARIKO: + skyboxCtx->unk_140 = 1; + + start = _vr_DGVR_staticSegmentRomStart; + size = _vr_DGVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1451); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1452); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1453); + + start = _vr_DGVR_pal_staticSegmentRomStart; + size = _vr_DGVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1456); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1457); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1458); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_POTION_SHOP_MARKET: + skyboxCtx->unk_140 = 1; + + start = _vr_ALVR_staticSegmentRomStart; + size = _vr_ALVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1466); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1467); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1468); + + start = _vr_ALVR_pal_staticSegmentRomStart; + size = _vr_ALVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1471); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1473); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1473); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_BOMBCHU_SHOP: + skyboxCtx->unk_140 = 1; + + start = _vr_NSVR_staticSegmentRomStart; + size = _vr_NSVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1481); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1482); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1483); + + start = _vr_NSVR_pal_staticSegmentRomStart; + size = _vr_NSVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1486); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1487); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1488); + skyboxCtx->rot.y = 0.8f; + break; + case SKYBOX_HOUSE_RICHARD: + skyboxCtx->unk_140 = 1; + + start = _vr_IPVR_staticSegmentRomStart; + size = _vr_IPVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1512); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1513); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1514); + + start = _vr_IPVR_pal_staticSegmentRomStart; + size = _vr_IPVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1517); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1518); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1519); + break; + case SKYBOX_HOUSE_IMPA: + skyboxCtx->unk_140 = 1; + + start = _vr_LBVR_staticSegmentRomStart; + size = _vr_LBVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1526); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1527); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1528); + + start = _vr_LBVR_pal_staticSegmentRomStart; + size = _vr_LBVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1531); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1532); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1533); + break; + case SKYBOX_TENT: + skyboxCtx->unk_140 = 2; + + start = _vr_TTVR_staticSegmentRomStart; + size = _vr_TTVR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1540); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1541); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1542); + + start = _vr_TTVR_pal_staticSegmentRomStart; + size = _vr_TTVR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1546); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1546); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1547); + break; + case SKYBOX_HOUSE_MIDO: + skyboxCtx->unk_140 = 2; + + start = _vr_K4VR_staticSegmentRomStart; + size = _vr_K4VR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1560); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1561); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1562); + + start = _vr_K4VR_pal_staticSegmentRomStart; + size = _vr_K4VR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1565); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1566); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1567); + break; + case SKYBOX_HOUSE_SARIA: + skyboxCtx->unk_140 = 2; + + start = _vr_K5VR_staticSegmentRomStart; + size = _vr_K5VR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1574); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1575); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1576); + + start = _vr_K5VR_pal_staticSegmentRomStart; + size = _vr_K5VR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1579); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1580); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1581); + break; + case SKYBOX_HOUSE_ALLEY: + skyboxCtx->unk_140 = 2; + + start = _vr_KR3VR_staticSegmentRomStart; + size = _vr_KR3VR_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1588); + ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", + 1589); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1590); + + start = _vr_KR3VR_pal_staticSegmentRomStart; + size = _vr_KR3VR_pal_staticSegmentRomEnd - start; + skyboxCtx->staticSegments[2] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1593); + ASSERT(skyboxCtx->staticSegments[2] != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", + 1594); + + DmaMgr_SendRequest1(skyboxCtx->staticSegments[2], start, size, "../z_vr_box.c", 1595); + break; + case SKYBOX_UNSET_27: + break; + } +} +#else +void Skybox_Setup(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyboxId); +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/Skybox_Setup.s") +#endif + +void Skybox_Init(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyboxId) { + skyboxCtx->unk_140 = 0; + skyboxCtx->rot.x = 0.0f; + skyboxCtx->rot.y = 0.0f; + skyboxCtx->rot.z = 0.0f; + + Skybox_Setup(globalCtx, skyboxCtx, skyboxId); + osSyncPrintf("\n\n\n********************\n\n\n" + "TYPE=%d" + "\n\n\n********************\n\n\n", + skyboxId); + + if (skyboxId != SKYBOX_NONE) { + osSyncPrintf(VT_FGCOL(GREEN)); + + if (skyboxCtx->unk_140 != 0) { + skyboxCtx->dListBuf = GameState_Alloc(&globalCtx->state, 1200 * sizeof(Gfx), "../z_vr_box.c", 1636); + ASSERT(skyboxCtx->dListBuf != NULL, "vr_box->dpList != NULL", "../z_vr_box.c", 1637); + + skyboxCtx->roomVtx = GameState_Alloc(&globalCtx->state, 256 * sizeof(Vtx), "../z_vr_box.c", 1639); + ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1640); + + func_800AEFC8(skyboxCtx, skyboxId); + } else { + skyboxCtx->dListBuf = GameState_Alloc(&globalCtx->state, 1800 * sizeof(Gfx), "../z_vr_box.c", 1643); + ASSERT(skyboxCtx->dListBuf != NULL, "vr_box->dpList != NULL", "../z_vr_box.c", 1644); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AF178.s") + if (skyboxId == SKYBOX_CUTSCENE_MAP) { + skyboxCtx->roomVtx = GameState_Alloc(&globalCtx->state, 192 * sizeof(Vtx), "../z_vr_box.c", 1648); + ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1649); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AF218.s") + func_800AF178(skyboxCtx, 6); + } else { + skyboxCtx->roomVtx = GameState_Alloc(&globalCtx->state, 160 * sizeof(Vtx), "../z_vr_box.c", 1653); + ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1654); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800B0E50.s") + func_800AF178(skyboxCtx, 5); + } + } + osSyncPrintf(VT_RST); + } +} diff --git a/src/code/z_vr_box_draw.c b/src/code/z_vr_box_draw.c index a7677c15f..b1f1c1bc3 100644 --- a/src/code/z_vr_box_draw.c +++ b/src/code/z_vr_box_draw.c @@ -41,39 +41,39 @@ void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyb gDPSetTextureConvert(POLY_OPA_DISP++, G_TC_FILT); if (skyboxCtx->unk_140) { - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 1); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 1); gDPPipeSync(POLY_OPA_DISP++); gDPLoadTLUT_pal256(POLY_OPA_DISP++, (u16*)skyboxCtx->staticSegments[2] + 256 * 1); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 2); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 3); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 2); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 3); - if (skyboxId != 2) { - if (skyboxId <= 0x10 || skyboxId >= 0x19) { + if (skyboxId != SKYBOX_BAZAAR) { + if (skyboxId <= SKYBOX_HOUSE_KAKARIKO || skyboxId > SKYBOX_BOMBCHU_SHOP) { gDPPipeSync(POLY_OPA_DISP++); gDPLoadTLUT_pal256(POLY_OPA_DISP++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 4); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 5); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 4); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 5); gDPPipeSync(POLY_OPA_DISP++); if (skyboxCtx->unk_140 != 2) { gDPLoadTLUT_pal256(POLY_OPA_DISP++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 6); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 7); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 6); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 7); } } } } else { - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 2); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 4); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 6); - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 8); - if (skyboxId == 5) { - gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dpList + 150 * 10); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 2); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 4); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 6); + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 8); + if (skyboxId == SKYBOX_CUTSCENE_MAP) { + gSPDisplayList(POLY_OPA_DISP++, skyboxCtx->dListBuf + 150 * 10); } } |
