diff --git a/asm/non_matchings/code/z_play/Gameplay_Draw.s b/asm/non_matchings/code/z_play/Gameplay_Draw.s index 129c8bb89f..5f6be614c6 100644 --- a/asm/non_matchings/code/z_play/Gameplay_Draw.s +++ b/asm/non_matchings/code/z_play/Gameplay_Draw.s @@ -446,7 +446,7 @@ glabel Gameplay_Draw /* B365FC 800BF45C 02202825 */ move $a1, $s1 /* B36600 800BF460 E7A80014 */ swc1 $f8, 0x14($sp) /* B36604 800BF464 C60A00E8 */ lwc1 $f10, 0xe8($s0) -/* B36608 800BF468 0C02C431 */ jal func_800B10C4 +/* B36608 800BF468 0C02C431 */ jal SkyboxDraw_Draw /* B3660C 800BF46C E7AA0018 */ swc1 $f10, 0x18($sp) /* B36610 800BF470 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* B36614 800BF474 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) @@ -466,7 +466,7 @@ glabel Gameplay_Draw /* B36648 800BF4A8 E7B20014 */ swc1 $f18, 0x14($sp) /* B3664C 800BF4AC C60400E8 */ lwc1 $f4, 0xe8($s0) /* B36650 800BF4B0 00003825 */ move $a3, $zero -/* B36654 800BF4B4 0C02C431 */ jal func_800B10C4 +/* B36654 800BF4B4 0C02C431 */ jal SkyboxDraw_Draw /* B36658 800BF4B8 E7A40018 */ swc1 $f4, 0x18($sp) /* B3665C 800BF4BC 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 /* B36660 800BF4C0 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) @@ -620,7 +620,7 @@ glabel Gameplay_Draw /* B36878 800BF6D8 E7A40014 */ swc1 $f4, 0x14($sp) /* B3687C 800BF6DC C60600E8 */ lwc1 $f6, 0xe8($s0) /* B36880 800BF6E0 46083280 */ add.s $f10, $f6, $f8 -/* B36884 800BF6E4 0C02C431 */ jal func_800B10C4 +/* B36884 800BF6E4 0C02C431 */ jal SkyboxDraw_Draw /* B36888 800BF6E8 E7AA0018 */ swc1 $f10, 0x18($sp) /* B3688C 800BF6EC 8FAD004C */ lw $t5, 0x4c($sp) .L800BF6F0: @@ -883,7 +883,7 @@ glabel Gameplay_Draw /* B36C30 800BFA90 860F07A0 */ lh $t7, 0x7a0($s0) /* B36C34 800BFA94 8E0500E0 */ lw $a1, 0xe0($s0) /* B36C38 800BFA98 8E0600E4 */ lw $a2, 0xe4($s0) -/* B36C3C 800BFA9C 0C02C40C */ jal func_800B1030 +/* B36C3C 800BFA9C 0C02C40C */ jal SkyboxDraw_UpdateMatrix /* B36C40 800BFAA0 8E0700E8 */ lw $a3, 0xe8($s0) /* B36C44 800BFAA4 860F07A0 */ lh $t7, 0x7a0($s0) .L800BFAA8: diff --git a/asm/non_matchings/code/z_play/Gameplay_Update.s b/asm/non_matchings/code/z_play/Gameplay_Update.s index 307689b8d7..70202ed4c9 100644 --- a/asm/non_matchings/code/z_play/Gameplay_Update.s +++ b/asm/non_matchings/code/z_play/Gameplay_Update.s @@ -1874,7 +1874,7 @@ glabel L800BE148 /* B35A4C 800BE8AC 0C00084C */ jal osSyncPrintf /* B35A50 800BE8B0 24050001 */ li $a1, 1 .L800BE8B4: -/* B35A54 800BE8B4 0C02C5D1 */ jal func_800B1744 +/* B35A54 800BE8B4 0C02C5D1 */ jal SkyboxDraw_Update /* B35A58 800BE8B8 26041F78 */ addiu $a0, $s0, 0x1f78 /* B35A5C 800BE8BC 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016 /* B35A60 800BE8C0 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) diff --git a/asm/non_matchings/code/z_vr_box_draw/func_800B1030.s b/asm/non_matchings/code/z_vr_box_draw/func_800B1030.s deleted file mode 100644 index ea2adb137f..0000000000 --- a/asm/non_matchings/code/z_vr_box_draw/func_800B1030.s +++ /dev/null @@ -1,45 +0,0 @@ -.rdata -glabel D_80142E80 - .asciz "../z_vr_box_draw.c" - .balign 4 - -.text -glabel func_800B1030 -/* B281D0 800B1030 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B281D4 800B1034 44867000 */ mtc1 $a2, $f14 -/* B281D8 800B1038 AFBF0014 */ sw $ra, 0x14($sp) -/* B281DC 800B103C AFA70024 */ sw $a3, 0x24($sp) -/* B281E0 800B1040 44856000 */ mtc1 $a1, $f12 -/* B281E4 800B1044 00E03025 */ move $a2, $a3 -/* B281E8 800B1048 AFA40018 */ sw $a0, 0x18($sp) -/* B281EC 800B104C 0C034261 */ jal Matrix_Translate -/* B281F0 800B1050 00003825 */ move $a3, $zero -/* B281F4 800B1054 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B281F8 800B1058 44816000 */ mtc1 $at, $f12 -/* B281FC 800B105C 24070001 */ li $a3, 1 -/* B28200 800B1060 44066000 */ mfc1 $a2, $f12 -/* B28204 800B1064 0C0342A3 */ jal Matrix_Scale -/* B28208 800B1068 46006386 */ mov.s $f14, $f12 -/* B2820C 800B106C 8FAE0018 */ lw $t6, 0x18($sp) -/* B28210 800B1070 24050001 */ li $a1, 1 -/* B28214 800B1074 0C0342DC */ jal Matrix_RotateX -/* B28218 800B1078 C5CC0144 */ lwc1 $f12, 0x144($t6) -/* B2821C 800B107C 8FAF0018 */ lw $t7, 0x18($sp) -/* B28220 800B1080 24050001 */ li $a1, 1 -/* B28224 800B1084 0C034348 */ jal Matrix_RotateY -/* B28228 800B1088 C5EC0148 */ lwc1 $f12, 0x148($t7) -/* B2822C 800B108C 8FB80018 */ lw $t8, 0x18($sp) -/* B28230 800B1090 24050001 */ li $a1, 1 -/* B28234 800B1094 0C0343B5 */ jal Matrix_RotateZ -/* B28238 800B1098 C70C014C */ lwc1 $f12, 0x14c($t8) -/* B2823C 800B109C 3C048016 */ lui $a0, %hi(D_801610E0) # $a0, 0x8016 -/* B28240 800B10A0 3C058014 */ lui $a1, %hi(D_80142E80) # $a1, 0x8014 -/* B28244 800B10A4 24A52E80 */ addiu $a1, %lo(D_80142E80) # addiu $a1, $a1, 0x2e80 -/* B28248 800B10A8 8C8410E0 */ lw $a0, %lo(D_801610E0)($a0) -/* B2824C 800B10AC 0C034695 */ jal Matrix_ToMtx -/* B28250 800B10B0 2406002A */ li $a2, 42 -/* B28254 800B10B4 8FBF0014 */ lw $ra, 0x14($sp) -/* B28258 800B10B8 27BD0018 */ addiu $sp, $sp, 0x18 -/* B2825C 800B10BC 03E00008 */ jr $ra -/* B28260 800B10C0 00000000 */ nop - diff --git a/asm/non_matchings/code/z_vr_box_draw/func_800B10C4.s b/asm/non_matchings/code/z_vr_box_draw/func_800B10C4.s deleted file mode 100644 index 1ba4f04a41..0000000000 --- a/asm/non_matchings/code/z_vr_box_draw/func_800B10C4.s +++ /dev/null @@ -1,436 +0,0 @@ -.rdata -glabel D_80142E94 - .asciz "../z_vr_box_draw.c" - .balign 4 - -glabel D_80142EA8 - .asciz "../z_vr_box_draw.c" - .balign 4 - -glabel D_80142EBC - .asciz "../z_vr_box_draw.c" - .balign 4 - -.text -glabel func_800B10C4 -/* B28264 800B10C4 27BDFEF8 */ addiu $sp, $sp, -0x108 -/* B28268 800B10C8 AFA60110 */ sw $a2, 0x110($sp) -/* B2826C 800B10CC AFBF001C */ sw $ra, 0x1c($sp) -/* B28270 800B10D0 AFB00018 */ sw $s0, 0x18($sp) -/* B28274 800B10D4 AFA40108 */ sw $a0, 0x108($sp) -/* B28278 800B10D8 AFA70114 */ sw $a3, 0x114($sp) -/* B2827C 800B10DC 3C068014 */ lui $a2, %hi(D_80142E94) # $a2, 0x8014 -/* B28280 800B10E0 00A08025 */ move $s0, $a1 -/* B28284 800B10E4 24C62E94 */ addiu $a2, %lo(D_80142E94) # addiu $a2, $a2, 0x2e94 -/* B28288 800B10E8 24070034 */ li $a3, 52 -/* B2828C 800B10EC 0C031AB1 */ jal Graph_OpenDisps -/* B28290 800B10F0 27A400F4 */ addiu $a0, $sp, 0xf4 -/* B28294 800B10F4 0C025168 */ jal func_800945A0 -/* B28298 800B10F8 02002025 */ move $a0, $s0 -/* B2829C 800B10FC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B282A0 800B1100 8FA80108 */ lw $t0, 0x108($sp) -/* B282A4 800B1104 3C0FDB06 */ lui $t7, (0xDB06001C >> 16) # lui $t7, 0xdb06 -/* B282A8 800B1108 244E0008 */ addiu $t6, $v0, 8 -/* B282AC 800B110C AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B282B0 800B1110 35EF001C */ ori $t7, (0xDB06001C & 0xFFFF) # ori $t7, $t7, 0x1c -/* B282B4 800B1114 AC4F0000 */ sw $t7, ($v0) -/* B282B8 800B1118 8D180128 */ lw $t8, 0x128($t0) -/* B282BC 800B111C 3C0EDB06 */ lui $t6, (0xDB060020 >> 16) # lui $t6, 0xdb06 -/* B282C0 800B1120 35CE0020 */ ori $t6, (0xDB060020 & 0xFFFF) # ori $t6, $t6, 0x20 -/* B282C4 800B1124 AC580004 */ sw $t8, 4($v0) -/* B282C8 800B1128 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B282CC 800B112C 02002025 */ move $a0, $s0 -/* B282D0 800B1130 24050040 */ li $a1, 64 -/* B282D4 800B1134 24590008 */ addiu $t9, $v0, 8 -/* B282D8 800B1138 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B282DC 800B113C AC4E0000 */ sw $t6, ($v0) -/* B282E0 800B1140 8D0F012C */ lw $t7, 0x12c($t0) -/* B282E4 800B1144 3C19DB06 */ lui $t9, (0xDB060024 >> 16) # lui $t9, 0xdb06 -/* B282E8 800B1148 37390024 */ ori $t9, (0xDB060024 & 0xFFFF) # ori $t9, $t9, 0x24 -/* B282EC 800B114C AC4F0004 */ sw $t7, 4($v0) -/* B282F0 800B1150 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B282F4 800B1154 24580008 */ addiu $t8, $v0, 8 -/* B282F8 800B1158 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B282FC 800B115C AC590000 */ sw $t9, ($v0) -/* B28300 800B1160 8D0E0130 */ lw $t6, 0x130($t0) -/* B28304 800B1164 3C18FA00 */ lui $t8, 0xfa00 -/* B28308 800B1168 AC4E0004 */ sw $t6, 4($v0) -/* B2830C 800B116C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28310 800B1170 244F0008 */ addiu $t7, $v0, 8 -/* B28314 800B1174 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B28318 800B1178 AC580000 */ sw $t8, ($v0) -/* B2831C 800B117C 87B90116 */ lh $t9, 0x116($sp) -/* B28320 800B1180 3C18D700 */ lui $t8, (0xD7000002 >> 16) # lui $t8, 0xd700 -/* B28324 800B1184 37180002 */ ori $t8, (0xD7000002 & 0xFFFF) # ori $t8, $t8, 2 -/* B28328 800B1188 332E00FF */ andi $t6, $t9, 0xff -/* B2832C 800B118C AC4E0004 */ sw $t6, 4($v0) -/* B28330 800B1190 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28334 800B1194 3C198000 */ lui $t9, (0x80008000 >> 16) # lui $t9, 0x8000 -/* B28338 800B1198 37398000 */ ori $t9, (0x80008000 & 0xFFFF) # ori $t9, $t9, 0x8000 -/* B2833C 800B119C 244F0008 */ addiu $t7, $v0, 8 -/* B28340 800B11A0 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B28344 800B11A4 AC590004 */ sw $t9, 4($v0) -/* B28348 800B11A8 0C031A73 */ jal Graph_Alloc -/* B2834C 800B11AC AC580000 */ sw $t8, ($v0) -/* B28350 800B11B0 3C018016 */ lui $at, %hi(D_801610E0) # $at, 0x8016 -/* B28354 800B11B4 AC2210E0 */ sw $v0, %lo(D_801610E0)($at) -/* B28358 800B11B8 C7AC0118 */ lwc1 $f12, 0x118($sp) -/* B2835C 800B11BC C7AE011C */ lwc1 $f14, 0x11c($sp) -/* B28360 800B11C0 8FA60120 */ lw $a2, 0x120($sp) -/* B28364 800B11C4 0C034261 */ jal Matrix_Translate -/* B28368 800B11C8 00003825 */ move $a3, $zero -/* B2836C 800B11CC 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B28370 800B11D0 44816000 */ mtc1 $at, $f12 -/* B28374 800B11D4 24070001 */ li $a3, 1 -/* B28378 800B11D8 44066000 */ mfc1 $a2, $f12 -/* B2837C 800B11DC 0C0342A3 */ jal Matrix_Scale -/* B28380 800B11E0 46006386 */ mov.s $f14, $f12 -/* B28384 800B11E4 8FA80108 */ lw $t0, 0x108($sp) -/* B28388 800B11E8 24050001 */ li $a1, 1 -/* B2838C 800B11EC 0C0342DC */ jal Matrix_RotateX -/* B28390 800B11F0 C50C0144 */ lwc1 $f12, 0x144($t0) -/* B28394 800B11F4 8FA80108 */ lw $t0, 0x108($sp) -/* B28398 800B11F8 24050001 */ li $a1, 1 -/* B2839C 800B11FC 0C034348 */ jal Matrix_RotateY -/* B283A0 800B1200 C50C0148 */ lwc1 $f12, 0x148($t0) -/* B283A4 800B1204 8FA80108 */ lw $t0, 0x108($sp) -/* B283A8 800B1208 24050001 */ li $a1, 1 -/* B283AC 800B120C 0C0343B5 */ jal Matrix_RotateZ -/* B283B0 800B1210 C50C014C */ lwc1 $f12, 0x14c($t0) -/* B283B4 800B1214 3C048016 */ lui $a0, %hi(D_801610E0) # $a0, 0x8016 -/* B283B8 800B1218 3C058014 */ lui $a1, %hi(D_80142EA8) # $a1, 0x8014 -/* B283BC 800B121C 24A52EA8 */ addiu $a1, %lo(D_80142EA8) # addiu $a1, $a1, 0x2ea8 -/* B283C0 800B1220 8C8410E0 */ lw $a0, %lo(D_801610E0)($a0) -/* B283C4 800B1224 0C034695 */ jal Matrix_ToMtx -/* B283C8 800B1228 2406004C */ li $a2, 76 -/* B283CC 800B122C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B283D0 800B1230 8FA80108 */ lw $t0, 0x108($sp) -/* B283D4 800B1234 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38 -/* B283D8 800B1238 244E0008 */ addiu $t6, $v0, 8 -/* B283DC 800B123C AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B283E0 800B1240 35EF0003 */ ori $t7, (0xDA380003 & 0xFFFF) # ori $t7, $t7, 3 -/* B283E4 800B1244 3C188016 */ lui $t8, %hi(D_801610E0) # $t8, 0x8016 -/* B283E8 800B1248 AC4F0000 */ sw $t7, ($v0) -/* B283EC 800B124C 8F1810E0 */ lw $t8, %lo(D_801610E0)($t8) -/* B283F0 800B1250 3C0EE300 */ lui $t6, (0xE3001801 >> 16) # lui $t6, 0xe300 -/* B283F4 800B1254 35CE1801 */ ori $t6, (0xE3001801 & 0xFFFF) # ori $t6, $t6, 0x1801 -/* B283F8 800B1258 AC580004 */ sw $t8, 4($v0) -/* B283FC 800B125C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28400 800B1260 3C18E300 */ lui $t8, (0xE3001201 >> 16) # lui $t8, 0xe300 -/* B28404 800B1264 37181201 */ ori $t8, (0xE3001201 & 0xFFFF) # ori $t8, $t8, 0x1201 -/* B28408 800B1268 24590008 */ addiu $t9, $v0, 8 -/* B2840C 800B126C AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28410 800B1270 AC400004 */ sw $zero, 4($v0) -/* B28414 800B1274 AC4E0000 */ sw $t6, ($v0) -/* B28418 800B1278 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2841C 800B127C 24192000 */ li $t9, 8192 -/* B28420 800B1280 3C06FD10 */ lui $a2, 0xfd10 -/* B28424 800B1284 244F0008 */ addiu $t7, $v0, 8 -/* B28428 800B1288 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B2842C 800B128C AC590004 */ sw $t9, 4($v0) -/* B28430 800B1290 AC580000 */ sw $t8, ($v0) -/* B28434 800B1294 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28438 800B1298 3C07E800 */ lui $a3, 0xe800 -/* B2843C 800B129C 3C09F500 */ lui $t1, (0xF5000100 >> 16) # lui $t1, 0xf500 -/* B28440 800B12A0 244E0008 */ addiu $t6, $v0, 8 -/* B28444 800B12A4 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B28448 800B12A8 AC460000 */ sw $a2, ($v0) -/* B2844C 800B12AC 8D0F0130 */ lw $t7, 0x130($t0) -/* B28450 800B12B0 35290100 */ ori $t1, (0xF5000100 & 0xFFFF) # ori $t1, $t1, 0x100 -/* B28454 800B12B4 3C0A0700 */ lui $t2, 0x700 -/* B28458 800B12B8 AC4F0004 */ sw $t7, 4($v0) -/* B2845C 800B12BC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28460 800B12C0 3C0BE600 */ lui $t3, 0xe600 -/* B28464 800B12C4 3C0D073F */ lui $t5, (0x073FC000 >> 16) # lui $t5, 0x73f -/* B28468 800B12C8 24580008 */ addiu $t8, $v0, 8 -/* B2846C 800B12CC AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28470 800B12D0 AC400004 */ sw $zero, 4($v0) -/* B28474 800B12D4 AC470000 */ sw $a3, ($v0) -/* B28478 800B12D8 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2847C 800B12DC 35ADC000 */ ori $t5, (0x073FC000 & 0xFFFF) # ori $t5, $t5, 0xc000 -/* B28480 800B12E0 3C0CF000 */ lui $t4, 0xf000 -/* B28484 800B12E4 24590008 */ addiu $t9, $v0, 8 -/* B28488 800B12E8 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B2848C 800B12EC AC4A0004 */ sw $t2, 4($v0) -/* B28490 800B12F0 AC490000 */ sw $t1, ($v0) -/* B28494 800B12F4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28498 800B12F8 3C05E700 */ lui $a1, 0xe700 -/* B2849C 800B12FC 244E0008 */ addiu $t6, $v0, 8 -/* B284A0 800B1300 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B284A4 800B1304 AC400004 */ sw $zero, 4($v0) -/* B284A8 800B1308 AC4B0000 */ sw $t3, ($v0) -/* B284AC 800B130C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B284B0 800B1310 3C0EE300 */ lui $t6, (0xE3001001 >> 16) # lui $t6, 0xe300 -/* B284B4 800B1314 35CE1001 */ ori $t6, (0xE3001001 & 0xFFFF) # ori $t6, $t6, 0x1001 -/* B284B8 800B1318 244F0008 */ addiu $t7, $v0, 8 -/* B284BC 800B131C AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B284C0 800B1320 AC4D0004 */ sw $t5, 4($v0) -/* B284C4 800B1324 AC4C0000 */ sw $t4, ($v0) -/* B284C8 800B1328 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B284CC 800B132C 340F8000 */ li $t7, 32768 -/* B284D0 800B1330 24580008 */ addiu $t8, $v0, 8 -/* B284D4 800B1334 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B284D8 800B1338 AC400004 */ sw $zero, 4($v0) -/* B284DC 800B133C AC450000 */ sw $a1, ($v0) -/* B284E0 800B1340 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B284E4 800B1344 24590008 */ addiu $t9, $v0, 8 -/* B284E8 800B1348 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B284EC 800B134C AC4F0004 */ sw $t7, 4($v0) -/* B284F0 800B1350 AC4E0000 */ sw $t6, ($v0) -/* B284F4 800B1354 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B284F8 800B1358 3C19E300 */ lui $t9, (0xE3001402 >> 16) # lui $t9, 0xe300 -/* B284FC 800B135C 37391402 */ ori $t9, (0xE3001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* B28500 800B1360 24580008 */ addiu $t8, $v0, 8 -/* B28504 800B1364 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28508 800B1368 240E0C00 */ li $t6, 3072 -/* B2850C 800B136C AC4E0004 */ sw $t6, 4($v0) -/* B28510 800B1370 AC590000 */ sw $t9, ($v0) -/* B28514 800B1374 850F0140 */ lh $t7, 0x140($t0) -/* B28518 800B1378 51E000B5 */ beql $t7, $zero, .L800B1650 -/* B2851C 800B137C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28520 800B1380 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28524 800B1384 3C04DE00 */ lui $a0, 0xde00 -/* B28528 800B1388 241F0002 */ li $ra, 2 -/* B2852C 800B138C 24580008 */ addiu $t8, $v0, 8 -/* B28530 800B1390 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28534 800B1394 AC440000 */ sw $a0, ($v0) -/* B28538 800B1398 8D190134 */ lw $t9, 0x134($t0) -/* B2853C 800B139C AC590004 */ sw $t9, 4($v0) -/* B28540 800B13A0 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28544 800B13A4 244E0008 */ addiu $t6, $v0, 8 -/* B28548 800B13A8 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B2854C 800B13AC AC440000 */ sw $a0, ($v0) -/* B28550 800B13B0 8D0F0134 */ lw $t7, 0x134($t0) -/* B28554 800B13B4 25F804B0 */ addiu $t8, $t7, 0x4b0 -/* B28558 800B13B8 AC580004 */ sw $t8, 4($v0) -/* B2855C 800B13BC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28560 800B13C0 24590008 */ addiu $t9, $v0, 8 -/* B28564 800B13C4 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28568 800B13C8 AC400004 */ sw $zero, 4($v0) -/* B2856C 800B13CC AC450000 */ sw $a1, ($v0) -/* B28570 800B13D0 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28574 800B13D4 244E0008 */ addiu $t6, $v0, 8 -/* B28578 800B13D8 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B2857C 800B13DC AC460000 */ sw $a2, ($v0) -/* B28580 800B13E0 8D0F0130 */ lw $t7, 0x130($t0) -/* B28584 800B13E4 25F80200 */ addiu $t8, $t7, 0x200 -/* B28588 800B13E8 AC580004 */ sw $t8, 4($v0) -/* B2858C 800B13EC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28590 800B13F0 24590008 */ addiu $t9, $v0, 8 -/* B28594 800B13F4 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28598 800B13F8 AC400004 */ sw $zero, 4($v0) -/* B2859C 800B13FC AC470000 */ sw $a3, ($v0) -/* B285A0 800B1400 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B285A4 800B1404 244E0008 */ addiu $t6, $v0, 8 -/* B285A8 800B1408 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B285AC 800B140C AC4A0004 */ sw $t2, 4($v0) -/* B285B0 800B1410 AC490000 */ sw $t1, ($v0) -/* B285B4 800B1414 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B285B8 800B1418 244F0008 */ addiu $t7, $v0, 8 -/* B285BC 800B141C AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B285C0 800B1420 AC400004 */ sw $zero, 4($v0) -/* B285C4 800B1424 AC4B0000 */ sw $t3, ($v0) -/* B285C8 800B1428 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B285CC 800B142C 24580008 */ addiu $t8, $v0, 8 -/* B285D0 800B1430 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B285D4 800B1434 AC4D0004 */ sw $t5, 4($v0) -/* B285D8 800B1438 AC4C0000 */ sw $t4, ($v0) -/* B285DC 800B143C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B285E0 800B1440 24590008 */ addiu $t9, $v0, 8 -/* B285E4 800B1444 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B285E8 800B1448 AC400004 */ sw $zero, 4($v0) -/* B285EC 800B144C AC450000 */ sw $a1, ($v0) -/* B285F0 800B1450 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B285F4 800B1454 244E0008 */ addiu $t6, $v0, 8 -/* B285F8 800B1458 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B285FC 800B145C AC440000 */ sw $a0, ($v0) -/* B28600 800B1460 8D0F0134 */ lw $t7, 0x134($t0) -/* B28604 800B1464 25F80960 */ addiu $t8, $t7, 0x960 -/* B28608 800B1468 AC580004 */ sw $t8, 4($v0) -/* B2860C 800B146C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28610 800B1470 24590008 */ addiu $t9, $v0, 8 -/* B28614 800B1474 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28618 800B1478 AC440000 */ sw $a0, ($v0) -/* B2861C 800B147C 8D0E0134 */ lw $t6, 0x134($t0) -/* B28620 800B1480 25CF0E10 */ addiu $t7, $t6, 0xe10 -/* B28624 800B1484 AC4F0004 */ sw $t7, 4($v0) -/* B28628 800B1488 87A20112 */ lh $v0, 0x112($sp) -/* B2862C 800B148C 105F009D */ beq $v0, $ra, .L800B1704 -/* B28630 800B1490 28410011 */ slti $at, $v0, 0x11 -/* B28634 800B1494 14200003 */ bnez $at, .L800B14A4 -/* B28638 800B1498 28410019 */ slti $at, $v0, 0x19 -/* B2863C 800B149C 5420009A */ bnezl $at, .L800B1708 -/* B28640 800B14A0 8E0202C0 */ lw $v0, 0x2c0($s0) -.L800B14A4: -/* B28644 800B14A4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28648 800B14A8 24580008 */ addiu $t8, $v0, 8 -/* B2864C 800B14AC AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28650 800B14B0 AC400004 */ sw $zero, 4($v0) -/* B28654 800B14B4 AC450000 */ sw $a1, ($v0) -/* B28658 800B14B8 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2865C 800B14BC 24590008 */ addiu $t9, $v0, 8 -/* B28660 800B14C0 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28664 800B14C4 AC460000 */ sw $a2, ($v0) -/* B28668 800B14C8 8D0E0130 */ lw $t6, 0x130($t0) -/* B2866C 800B14CC 25CF0400 */ addiu $t7, $t6, 0x400 -/* B28670 800B14D0 AC4F0004 */ sw $t7, 4($v0) -/* B28674 800B14D4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28678 800B14D8 24580008 */ addiu $t8, $v0, 8 -/* B2867C 800B14DC AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28680 800B14E0 AC400004 */ sw $zero, 4($v0) -/* B28684 800B14E4 AC470000 */ sw $a3, ($v0) -/* B28688 800B14E8 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2868C 800B14EC 24590008 */ addiu $t9, $v0, 8 -/* B28690 800B14F0 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28694 800B14F4 AC4A0004 */ sw $t2, 4($v0) -/* B28698 800B14F8 AC490000 */ sw $t1, ($v0) -/* B2869C 800B14FC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B286A0 800B1500 244E0008 */ addiu $t6, $v0, 8 -/* B286A4 800B1504 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B286A8 800B1508 AC400004 */ sw $zero, 4($v0) -/* B286AC 800B150C AC4B0000 */ sw $t3, ($v0) -/* B286B0 800B1510 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B286B4 800B1514 244F0008 */ addiu $t7, $v0, 8 -/* B286B8 800B1518 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B286BC 800B151C AC4D0004 */ sw $t5, 4($v0) -/* B286C0 800B1520 AC4C0000 */ sw $t4, ($v0) -/* B286C4 800B1524 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B286C8 800B1528 24580008 */ addiu $t8, $v0, 8 -/* B286CC 800B152C AE1802C0 */ sw $t8, 0x2c0($s0) -/* B286D0 800B1530 AC400004 */ sw $zero, 4($v0) -/* B286D4 800B1534 AC450000 */ sw $a1, ($v0) -/* B286D8 800B1538 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B286DC 800B153C 24590008 */ addiu $t9, $v0, 8 -/* B286E0 800B1540 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B286E4 800B1544 AC440000 */ sw $a0, ($v0) -/* B286E8 800B1548 8D0E0134 */ lw $t6, 0x134($t0) -/* B286EC 800B154C 25CF12C0 */ addiu $t7, $t6, 0x12c0 -/* B286F0 800B1550 AC4F0004 */ sw $t7, 4($v0) -/* B286F4 800B1554 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B286F8 800B1558 24580008 */ addiu $t8, $v0, 8 -/* B286FC 800B155C AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28700 800B1560 AC440000 */ sw $a0, ($v0) -/* B28704 800B1564 8D190134 */ lw $t9, 0x134($t0) -/* B28708 800B1568 272E1770 */ addiu $t6, $t9, 0x1770 -/* B2870C 800B156C AC4E0004 */ sw $t6, 4($v0) -/* B28710 800B1570 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28714 800B1574 244F0008 */ addiu $t7, $v0, 8 -/* B28718 800B1578 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B2871C 800B157C AC400004 */ sw $zero, 4($v0) -/* B28720 800B1580 AC450000 */ sw $a1, ($v0) -/* B28724 800B1584 85180140 */ lh $t8, 0x140($t0) -/* B28728 800B1588 53F8005F */ beql $ra, $t8, .L800B1708 -/* B2872C 800B158C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28730 800B1590 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28734 800B1594 24590008 */ addiu $t9, $v0, 8 -/* B28738 800B1598 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B2873C 800B159C AC460000 */ sw $a2, ($v0) -/* B28740 800B15A0 8D0E0130 */ lw $t6, 0x130($t0) -/* B28744 800B15A4 25CF0600 */ addiu $t7, $t6, 0x600 -/* B28748 800B15A8 AC4F0004 */ sw $t7, 4($v0) -/* B2874C 800B15AC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28750 800B15B0 24580008 */ addiu $t8, $v0, 8 -/* B28754 800B15B4 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28758 800B15B8 AC400004 */ sw $zero, 4($v0) -/* B2875C 800B15BC AC470000 */ sw $a3, ($v0) -/* B28760 800B15C0 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28764 800B15C4 24590008 */ addiu $t9, $v0, 8 -/* B28768 800B15C8 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B2876C 800B15CC AC4A0004 */ sw $t2, 4($v0) -/* B28770 800B15D0 AC490000 */ sw $t1, ($v0) -/* B28774 800B15D4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28778 800B15D8 244E0008 */ addiu $t6, $v0, 8 -/* B2877C 800B15DC AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B28780 800B15E0 AC400004 */ sw $zero, 4($v0) -/* B28784 800B15E4 AC4B0000 */ sw $t3, ($v0) -/* B28788 800B15E8 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2878C 800B15EC 244F0008 */ addiu $t7, $v0, 8 -/* B28790 800B15F0 AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B28794 800B15F4 AC4D0004 */ sw $t5, 4($v0) -/* B28798 800B15F8 AC4C0000 */ sw $t4, ($v0) -/* B2879C 800B15FC 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B287A0 800B1600 24580008 */ addiu $t8, $v0, 8 -/* B287A4 800B1604 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B287A8 800B1608 AC400004 */ sw $zero, 4($v0) -/* B287AC 800B160C AC450000 */ sw $a1, ($v0) -/* B287B0 800B1610 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B287B4 800B1614 24590008 */ addiu $t9, $v0, 8 -/* B287B8 800B1618 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B287BC 800B161C AC440000 */ sw $a0, ($v0) -/* B287C0 800B1620 8D0E0134 */ lw $t6, 0x134($t0) -/* B287C4 800B1624 25CF1C20 */ addiu $t7, $t6, 0x1c20 -/* B287C8 800B1628 AC4F0004 */ sw $t7, 4($v0) -/* B287CC 800B162C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B287D0 800B1630 24580008 */ addiu $t8, $v0, 8 -/* B287D4 800B1634 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B287D8 800B1638 AC440000 */ sw $a0, ($v0) -/* B287DC 800B163C 8D190134 */ lw $t9, 0x134($t0) -/* B287E0 800B1640 272E20D0 */ addiu $t6, $t9, 0x20d0 -/* B287E4 800B1644 1000002F */ b .L800B1704 -/* B287E8 800B1648 AC4E0004 */ sw $t6, 4($v0) -/* B287EC 800B164C 8E0202C0 */ lw $v0, 0x2c0($s0) -.L800B1650: -/* B287F0 800B1650 3C04DE00 */ lui $a0, 0xde00 -/* B287F4 800B1654 24010005 */ li $at, 5 -/* B287F8 800B1658 244F0008 */ addiu $t7, $v0, 8 -/* B287FC 800B165C AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B28800 800B1660 AC440000 */ sw $a0, ($v0) -/* B28804 800B1664 8D180134 */ lw $t8, 0x134($t0) -/* B28808 800B1668 AC580004 */ sw $t8, 4($v0) -/* B2880C 800B166C 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28810 800B1670 24590008 */ addiu $t9, $v0, 8 -/* B28814 800B1674 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B28818 800B1678 AC440000 */ sw $a0, ($v0) -/* B2881C 800B167C 8D0E0134 */ lw $t6, 0x134($t0) -/* B28820 800B1680 25CF0960 */ addiu $t7, $t6, 0x960 -/* B28824 800B1684 AC4F0004 */ sw $t7, 4($v0) -/* B28828 800B1688 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2882C 800B168C 24580008 */ addiu $t8, $v0, 8 -/* B28830 800B1690 AE1802C0 */ sw $t8, 0x2c0($s0) -/* B28834 800B1694 AC440000 */ sw $a0, ($v0) -/* B28838 800B1698 8D190134 */ lw $t9, 0x134($t0) -/* B2883C 800B169C 272E12C0 */ addiu $t6, $t9, 0x12c0 -/* B28840 800B16A0 AC4E0004 */ sw $t6, 4($v0) -/* B28844 800B16A4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28848 800B16A8 244F0008 */ addiu $t7, $v0, 8 -/* B2884C 800B16AC AE0F02C0 */ sw $t7, 0x2c0($s0) -/* B28850 800B16B0 AC440000 */ sw $a0, ($v0) -/* B28854 800B16B4 8D180134 */ lw $t8, 0x134($t0) -/* B28858 800B16B8 27191C20 */ addiu $t9, $t8, 0x1c20 -/* B2885C 800B16BC AC590004 */ sw $t9, 4($v0) -/* B28860 800B16C0 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28864 800B16C4 244E0008 */ addiu $t6, $v0, 8 -/* B28868 800B16C8 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B2886C 800B16CC AC440000 */ sw $a0, ($v0) -/* B28870 800B16D0 8D0F0134 */ lw $t7, 0x134($t0) -/* B28874 800B16D4 25F82580 */ addiu $t8, $t7, 0x2580 -/* B28878 800B16D8 AC580004 */ sw $t8, 4($v0) -/* B2887C 800B16DC 87B90112 */ lh $t9, 0x112($sp) -/* B28880 800B16E0 57210009 */ bnel $t9, $at, .L800B1708 -/* B28884 800B16E4 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B28888 800B16E8 8E0202C0 */ lw $v0, 0x2c0($s0) -/* B2888C 800B16EC 244E0008 */ addiu $t6, $v0, 8 -/* B28890 800B16F0 AE0E02C0 */ sw $t6, 0x2c0($s0) -/* B28894 800B16F4 AC440000 */ sw $a0, ($v0) -/* B28898 800B16F8 8D0F0134 */ lw $t7, 0x134($t0) -/* B2889C 800B16FC 25F82EE0 */ addiu $t8, $t7, 0x2ee0 -/* B288A0 800B1700 AC580004 */ sw $t8, 4($v0) -.L800B1704: -/* B288A4 800B1704 8E0202C0 */ lw $v0, 0x2c0($s0) -.L800B1708: -/* B288A8 800B1708 3C068014 */ lui $a2, %hi(D_80142EBC) # $a2, 0x8014 -/* B288AC 800B170C 24C62EBC */ addiu $a2, %lo(D_80142EBC) # addiu $a2, $a2, 0x2ebc -/* B288B0 800B1710 24590008 */ addiu $t9, $v0, 8 -/* B288B4 800B1714 AE1902C0 */ sw $t9, 0x2c0($s0) -/* B288B8 800B1718 AC450000 */ sw $a1, ($v0) -/* B288BC 800B171C 02002825 */ move $a1, $s0 -/* B288C0 800B1720 27A400F4 */ addiu $a0, $sp, 0xf4 -/* B288C4 800B1724 2407007D */ li $a3, 125 -/* B288C8 800B1728 0C031AD5 */ jal Graph_CloseDisps -/* B288CC 800B172C AC400004 */ sw $zero, 4($v0) -/* B288D0 800B1730 8FBF001C */ lw $ra, 0x1c($sp) -/* B288D4 800B1734 8FB00018 */ lw $s0, 0x18($sp) -/* B288D8 800B1738 27BD0108 */ addiu $sp, $sp, 0x108 -/* B288DC 800B173C 03E00008 */ jr $ra -/* B288E0 800B1740 00000000 */ nop - diff --git a/asm/non_matchings/code/z_vr_box_draw/func_800B1744.s b/asm/non_matchings/code/z_vr_box_draw/func_800B1744.s deleted file mode 100644 index 2942482e9e..0000000000 --- a/asm/non_matchings/code/z_vr_box_draw/func_800B1744.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_800B1744 -/* B288E4 800B1744 03E00008 */ jr $ra -/* B288E8 800B1748 AFA40000 */ sw $a0, ($sp) diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080F560.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080F560.s index c36ffb7d59..b5e0e2da90 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080F560.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_8080F560.s @@ -78,7 +78,7 @@ glabel func_8080F560 /* 0B940 8080F680 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 0B944 8080F684 E7AA0010 */ swc1 $f10, 0x0010($sp) /* 0B948 8080F688 E7B00014 */ swc1 $f16, 0x0014($sp) -/* 0B94C 8080F68C 0C02C431 */ jal func_800B10C4 +/* 0B94C 8080F68C 0C02C431 */ jal SkyboxDraw_Draw /* 0B950 8080F690 E7B20018 */ swc1 $f18, 0x0018($sp) /* 0B954 8080F694 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 /* 0B958 8080F698 3C0BE300 */ lui $t3, 0xE300 ## $t3 = E3000000 diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808109B8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808109B8.s index 148c6ead34..885155fb47 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808109B8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808109B8.s @@ -78,7 +78,7 @@ glabel func_808109B8 /* 0CD98 80810AD8 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 0CD9C 80810ADC E7AA0010 */ swc1 $f10, 0x0010($sp) /* 0CDA0 80810AE0 E7B00014 */ swc1 $f16, 0x0014($sp) -/* 0CDA4 80810AE4 0C02C431 */ jal func_800B10C4 +/* 0CDA4 80810AE4 0C02C431 */ jal SkyboxDraw_Draw /* 0CDA8 80810AE8 E7B20018 */ swc1 $f18, 0x0018($sp) /* 0CDAC 80810AEC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 /* 0CDB0 80810AF0 3C0BE300 */ lui $t3, 0xE300 ## $t3 = E3000000 diff --git a/data/z_vr_box_draw.bss.s b/data/z_vr_box_draw.bss.s deleted file mode 100644 index c7199c4a6c..0000000000 --- a/data/z_vr_box_draw.bss.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purposee registers - -.section .bss - -glabel D_801610E0 - .space 0x10 diff --git a/include/functions.h b/include/functions.h index 2300baecd6..365a4f2409 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1322,9 +1322,9 @@ void func_800AD958(struct_80166500* this, Gfx** gfxp); // ? func_800AF178(?); // ? func_800AF218(?); // ? func_800B0E50(?); -void func_800B1030(SkyboxContext*, f32, f32, f32); -void func_800B10C4(SkyboxContext*, GraphicsContext*, s16, s16, f32, f32, f32); -// ? func_800B1744(?); +Mtx* SkyboxDraw_UpdateMatrix(SkyboxContext* skyboxCtx, f32 x, f32 y, f32 z); +void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 alpha, f32 x, f32 y, f32 z); +void SkyboxDraw_Update(SkyboxContext* skyboxCtx); void PlayerCall_InitFuncPtrs(); void TransitionUnk_InitGraphics(TransitionUnk* this); void TransitionUnk_InitData(TransitionUnk* this); diff --git a/include/variables.h b/include/variables.h index 82a571dd77..e16fec19c0 100644 --- a/include/variables.h +++ b/include/variables.h @@ -3455,7 +3455,6 @@ extern u8 D_80161010; extern u8 D_801610D4; extern u8 D_801610D5; extern u8 D_801610DA; -//extern ? D_801610E0; //extern ? D_80161100; //extern ? D_80161104; //extern ? D_80161108; diff --git a/include/z64.h b/include/z64.h index 962d1a8efa..e404613556 100644 --- a/include/z64.h +++ b/include/z64.h @@ -585,9 +585,13 @@ typedef struct { } SubGlobalContext1F74; // size = 0x4 typedef struct { - /* 0x000 */ char unk_00[0x140]; + /* 0x000 */ char unk_00[0x128]; + /* 0x128 */ void* staticSegments[3]; + /* 0x134 */ Gfx* dpList; + /* 0x138 */ Gfx* unk_138; + /* 0x13C */ void* roomVtx; /* 0x140 */ s16 unk_140; - /* 0x142 */ char unk_142[0x0E]; + /* 0x144 */ Vec3f rot; } SkyboxContext; // size = 0x150 typedef struct { diff --git a/spec b/spec index dd05837acc..53c8e37ccd 100644 --- a/spec +++ b/spec @@ -377,7 +377,6 @@ beginseg include "build/src/code/z_vr_box.o" include "build/data/z_vr_box.data.o" include "build/src/code/z_vr_box_draw.o" - include "build/data/z_vr_box_draw.bss.o" include "build/src/code/z_player_call.o" include "build/src/code/z_fbdemo.o" include "build/src/code/z_fbdemo_triforce.o" diff --git a/src/code/z_play.c b/src/code/z_play.c index 104da1a4c8..291c993ad6 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -944,7 +944,7 @@ void Gameplay_Update(GlobalContext* globalCtx) { LOG_NUM("1", 1, "../z_play.c", 3708); } - func_800B1744(&globalCtx->skyboxCtx); + SkyboxDraw_Update(&globalCtx->skyboxCtx); if (1 && HREG(63)) { LOG_NUM("1", 1, "../z_play.c", 3716); @@ -1188,12 +1188,12 @@ void Gameplay_Draw(GlobalContext* globalCtx) { if ((globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) { if ((globalCtx->skyboxId == 1) || (skyboxId == 5)) { func_8006FC88(globalCtx->skyboxId, &globalCtx->envCtx, &globalCtx->skyboxCtx); - func_800B10C4(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, - globalCtx->envCtx.unk_13, globalCtx->view.eye.x, globalCtx->view.eye.y, - globalCtx->view.eye.z); + SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, + globalCtx->envCtx.unk_13, globalCtx->view.eye.x, globalCtx->view.eye.y, + globalCtx->view.eye.z); } else if (globalCtx->skyboxCtx.unk_140 == 0) { - func_800B10C4(&globalCtx->skyboxCtx, gfxCtx, skyboxId, 0, globalCtx->view.eye.x, - globalCtx->view.eye.y, globalCtx->view.eye.z); + SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, skyboxId, 0, globalCtx->view.eye.x, + globalCtx->view.eye.y, globalCtx->view.eye.z); } } } @@ -1238,9 +1238,9 @@ void Gameplay_Draw(GlobalContext* globalCtx) { if (ACTIVE_CAM->unk_142 != 0x19) { Vec3f sp74; func_8005AFB4(&sp74, ACTIVE_CAM); - func_800B10C4(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0, - globalCtx->view.eye.x + sp74.x, globalCtx->view.eye.y + sp74.y, - globalCtx->view.eye.z + sp74.z); + SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0, + globalCtx->view.eye.x + sp74.x, globalCtx->view.eye.y + sp74.y, + globalCtx->view.eye.z + sp74.z); } } } @@ -1323,7 +1323,8 @@ void Gameplay_Draw(GlobalContext* globalCtx) { func_800AB944(&globalCtx->view); globalCtx->view.unk_124 = 0; if ((globalCtx->skyboxId != 0) && (globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) { - func_800B1030(&globalCtx->skyboxCtx, globalCtx->view.eye.x, globalCtx->view.eye.y, globalCtx->view.eye.z); + SkyboxDraw_UpdateMatrix(&globalCtx->skyboxCtx, globalCtx->view.eye.x, globalCtx->view.eye.y, + globalCtx->view.eye.z); } } diff --git a/src/code/z_vr_box_draw.c b/src/code/z_vr_box_draw.c index 4161c46157..d4077d9239 100644 --- a/src/code/z_vr_box_draw.c +++ b/src/code/z_vr_box_draw.c @@ -1,8 +1,86 @@ -#include #include -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_800B1030.s") +Mtx* sSkyboxDrawMatrix; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_800B10C4.s") +Mtx* SkyboxDraw_UpdateMatrix(SkyboxContext* skyboxCtx, f32 x, f32 y, f32 z) { + Matrix_Translate(x, y, z, MTXMODE_NEW); + Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); + Matrix_RotateX(skyboxCtx->rot.x, MTXMODE_APPLY); + Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY); + Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY); + return Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 42); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_800B1744.s") +void SkyboxDraw_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 alpha, f32 x, f32 y, f32 z) { + Gfx* dispRefs[5]; + + Graph_OpenDisps(dispRefs, gfxCtx, "../z_vr_box_draw.c", 52); + func_800945A0(gfxCtx); + + gSPSegment(gfxCtx->polyOpa.p++, 7, skyboxCtx->staticSegments[0]); + gSPSegment(gfxCtx->polyOpa.p++, 8, skyboxCtx->staticSegments[1]); + gSPSegment(gfxCtx->polyOpa.p++, 9, skyboxCtx->staticSegments[2]); + + gDPSetPrimColor(gfxCtx->polyOpa.p++, 0x00, 0x00, 0x00, 0x00, 0x00, alpha); + gSPTexture(gfxCtx->polyOpa.p++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON) + + sSkyboxDrawMatrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); + + Matrix_Translate(x, y, z, MTXMODE_NEW); + Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); + Matrix_RotateX(skyboxCtx->rot.x, MTXMODE_APPLY); + Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY); + Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY); + Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 76); + gSPMatrix(gfxCtx->polyOpa.p++, sSkyboxDrawMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gDPSetColorDither(gfxCtx->polyOpa.p++, G_CD_MAGICSQ); + gDPSetTextureFilter(gfxCtx->polyOpa.p++, G_TF_BILERP); + + gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, skyboxCtx->staticSegments[2]); + gDPSetTextureLUT(gfxCtx->polyOpa.p++, G_TT_RGBA16); + gDPSetTextureConvert(gfxCtx->polyOpa.p++, G_TC_FILT); + + if (skyboxCtx->unk_140) { + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 1); + + gDPPipeSync(gfxCtx->polyOpa.p++); + + gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 1); + + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 3); + + if (skyboxId != 2) { + if (skyboxId <= 0x10 || skyboxId >= 0x19) { + gDPPipeSync(gfxCtx->polyOpa.p++); + gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 2); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 5); + gDPPipeSync(gfxCtx->polyOpa.p++); + + if (skyboxCtx->unk_140 != 2) { + gDPLoadTLUT_pal256(gfxCtx->polyOpa.p++, (u16*)skyboxCtx->staticSegments[2] + 256 * 3); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 7); + } + } + } + } else { + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 2); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 4); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 6); + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 8); + if (skyboxId == 5) { + gSPDisplayList(gfxCtx->polyOpa.p++, skyboxCtx->dpList + 150 * 10); + } + } + + gDPPipeSync(gfxCtx->polyOpa.p++); + Graph_CloseDisps(dispRefs, gfxCtx, "../z_vr_box_draw.c", 125); +} + +void SkyboxDraw_Update(SkyboxContext* skyboxCtx) { +}