diff --git a/asm/non_matchings/code/z_vr_box/func_800AF218.s b/asm/non_matchings/code/z_vr_box/Skybox_Setup.s similarity index 99% rename from asm/non_matchings/code/z_vr_box/func_800AF218.s rename to asm/non_matchings/code/z_vr_box/Skybox_Setup.s index 182ffa46b0..b94c8b1f11 100644 --- a/asm/non_matchings/code/z_vr_box/func_800AF218.s +++ b/asm/non_matchings/code/z_vr_box/Skybox_Setup.s @@ -889,9 +889,6 @@ glabel D_80142BF0 .asciz "../z_vr_box.c" .balign 4 -glabel D_80142C00 - .asciz "\n\n\n********************\n\n\nTYPE=%d\n\n\n********************\n\n\n" - .late_rodata glabel jtbl_80142DC0 .word L800AF25C @@ -959,7 +956,7 @@ glabel D_80142E78 .float 0.8 .text -glabel func_800AF218 +glabel Skybox_Setup /* B263B8 800AF218 27BDFFB8 */ addiu $sp, $sp, -0x48 /* B263BC 800AF21C AFA60050 */ sw $a2, 0x50($sp) /* B263C0 800AF220 00063400 */ sll $a2, $a2, 0x10 diff --git a/asm/non_matchings/code/z_vr_box/func_800AEFC8.s b/asm/non_matchings/code/z_vr_box/func_800AEFC8.s deleted file mode 100644 index e28838e3f7..0000000000 --- a/asm/non_matchings/code/z_vr_box/func_800AEFC8.s +++ /dev/null @@ -1,117 +0,0 @@ -glabel func_800AEFC8 -/* B26168 800AEFC8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B2616C 800AEFCC AFA5004C */ sw $a1, 0x4c($sp) -/* B26170 800AEFD0 00052C00 */ sll $a1, $a1, 0x10 -/* B26174 800AEFD4 AFB50040 */ sw $s5, 0x40($sp) -/* B26178 800AEFD8 24150002 */ li $s5, 2 -/* B2617C 800AEFDC 00052C03 */ sra $a1, $a1, 0x10 -/* B26180 800AEFE0 AFB4003C */ sw $s4, 0x3c($sp) -/* B26184 800AEFE4 AFB30038 */ sw $s3, 0x38($sp) -/* B26188 800AEFE8 0080A025 */ move $s4, $a0 -/* B2618C 800AEFEC AFBF0044 */ sw $ra, 0x44($sp) -/* B26190 800AEFF0 AFB20034 */ sw $s2, 0x34($sp) -/* B26194 800AEFF4 AFB10030 */ sw $s1, 0x30($sp) -/* B26198 800AEFF8 AFB0002C */ sw $s0, 0x2c($sp) -/* B2619C 800AEFFC 10B50005 */ beq $a1, $s5, .L800AF014 -/* B261A0 800AF000 00009825 */ move $s3, $zero -/* B261A4 800AF004 28A10011 */ slti $at, $a1, 0x11 -/* B261A8 800AF008 1420001C */ bnez $at, .L800AF07C -/* B261AC 800AF00C 28A10019 */ slti $at, $a1, 0x19 -/* B261B0 800AF010 1020001A */ beqz $at, .L800AF07C -.L800AF014: -/* B261B4 800AF014 3C108013 */ lui $s0, %hi(D_8012AEBC) # $s0, 0x8013 -/* B261B8 800AF018 2610AEBC */ addiu $s0, %lo(D_8012AEBC) # addiu $s0, $s0, -0x5144 -/* B261BC 800AF01C 00009025 */ move $s2, $zero -/* B261C0 800AF020 00008825 */ move $s1, $zero -.L800AF024: -/* B261C4 800AF024 8E85013C */ lw $a1, 0x13c($s4) -/* B261C8 800AF028 8E0E0004 */ lw $t6, 4($s0) -/* B261CC 800AF02C 8E0F0008 */ lw $t7, 8($s0) -/* B261D0 800AF030 8E18000C */ lw $t8, 0xc($s0) -/* B261D4 800AF034 8E190010 */ lw $t9, 0x10($s0) -/* B261D8 800AF038 AFB20024 */ sw $s2, 0x24($sp) -/* B261DC 800AF03C AFB10020 */ sw $s1, 0x20($sp) -/* B261E0 800AF040 02802025 */ move $a0, $s4 -/* B261E4 800AF044 02603025 */ move $a2, $s3 -/* B261E8 800AF048 8E070000 */ lw $a3, ($s0) -/* B261EC 800AF04C AFAE0010 */ sw $t6, 0x10($sp) -/* B261F0 800AF050 AFAF0014 */ sw $t7, 0x14($sp) -/* B261F4 800AF054 AFB80018 */ sw $t8, 0x18($sp) -/* B261F8 800AF058 0C02B6EC */ jal func_800ADBB0 -/* B261FC 800AF05C AFB9001C */ sw $t9, 0x1c($sp) -/* B26200 800AF060 26310001 */ addiu $s1, $s1, 1 -/* B26204 800AF064 26100014 */ addiu $s0, $s0, 0x14 -/* B26208 800AF068 26520002 */ addiu $s2, $s2, 2 -/* B2620C 800AF06C 1635FFED */ bne $s1, $s5, .L800AF024 -/* B26210 800AF070 00409825 */ move $s3, $v0 -/* B26214 800AF074 10000038 */ b .L800AF158 -/* B26218 800AF078 8FBF0044 */ lw $ra, 0x44($sp) -.L800AF07C: -/* B2621C 800AF07C 86880140 */ lh $t0, 0x140($s4) -/* B26220 800AF080 00009025 */ move $s2, $zero -/* B26224 800AF084 00008825 */ move $s1, $zero -/* B26228 800AF088 16A8001C */ bne $s5, $t0, .L800AF0FC -/* B2622C 800AF08C 3C108013 */ lui $s0, %hi(D_8012AEBC) -/* B26230 800AF090 3C108013 */ lui $s0, %hi(D_8012AEBC) # $s0, 0x8013 -/* B26234 800AF094 2610AEBC */ addiu $s0, %lo(D_8012AEBC) # addiu $s0, $s0, -0x5144 -/* B26238 800AF098 00009025 */ move $s2, $zero -/* B2623C 800AF09C 00008825 */ move $s1, $zero -/* B26240 800AF0A0 24150003 */ li $s5, 3 -.L800AF0A4: -/* B26244 800AF0A4 8E85013C */ lw $a1, 0x13c($s4) -/* B26248 800AF0A8 8E090004 */ lw $t1, 4($s0) -/* B2624C 800AF0AC 8E0A0008 */ lw $t2, 8($s0) -/* B26250 800AF0B0 8E0B000C */ lw $t3, 0xc($s0) -/* B26254 800AF0B4 8E0C0010 */ lw $t4, 0x10($s0) -/* B26258 800AF0B8 AFB20024 */ sw $s2, 0x24($sp) -/* B2625C 800AF0BC AFB10020 */ sw $s1, 0x20($sp) -/* B26260 800AF0C0 02802025 */ move $a0, $s4 -/* B26264 800AF0C4 02603025 */ move $a2, $s3 -/* B26268 800AF0C8 8E070000 */ lw $a3, ($s0) -/* B2626C 800AF0CC AFA90010 */ sw $t1, 0x10($sp) -/* B26270 800AF0D0 AFAA0014 */ sw $t2, 0x14($sp) -/* B26274 800AF0D4 AFAB0018 */ sw $t3, 0x18($sp) -/* B26278 800AF0D8 0C02B6EC */ jal func_800ADBB0 -/* B2627C 800AF0DC AFAC001C */ sw $t4, 0x1c($sp) -/* B26280 800AF0E0 26310001 */ addiu $s1, $s1, 1 -/* B26284 800AF0E4 26100014 */ addiu $s0, $s0, 0x14 -/* B26288 800AF0E8 26520002 */ addiu $s2, $s2, 2 -/* B2628C 800AF0EC 1635FFED */ bne $s1, $s5, .L800AF0A4 -/* B26290 800AF0F0 00409825 */ move $s3, $v0 -/* B26294 800AF0F4 10000018 */ b .L800AF158 -/* B26298 800AF0F8 8FBF0044 */ lw $ra, 0x44($sp) -.L800AF0FC: -/* B2629C 800AF0FC 2610AEBC */ addiu $s0, %lo(D_8012AEBC) -/* B262A0 800AF100 24150004 */ li $s5, 4 -.L800AF104: -/* B262A4 800AF104 8E85013C */ lw $a1, 0x13c($s4) -/* B262A8 800AF108 8E0D0004 */ lw $t5, 4($s0) -/* B262AC 800AF10C 8E0E0008 */ lw $t6, 8($s0) -/* B262B0 800AF110 8E0F000C */ lw $t7, 0xc($s0) -/* B262B4 800AF114 8E180010 */ lw $t8, 0x10($s0) -/* B262B8 800AF118 AFB20024 */ sw $s2, 0x24($sp) -/* B262BC 800AF11C AFB10020 */ sw $s1, 0x20($sp) -/* B262C0 800AF120 02802025 */ move $a0, $s4 -/* B262C4 800AF124 02603025 */ move $a2, $s3 -/* B262C8 800AF128 8E070000 */ lw $a3, ($s0) -/* B262CC 800AF12C AFAD0010 */ sw $t5, 0x10($sp) -/* B262D0 800AF130 AFAE0014 */ sw $t6, 0x14($sp) -/* B262D4 800AF134 AFAF0018 */ sw $t7, 0x18($sp) -/* B262D8 800AF138 0C02B6EC */ jal func_800ADBB0 -/* B262DC 800AF13C AFB8001C */ sw $t8, 0x1c($sp) -/* B262E0 800AF140 26310001 */ addiu $s1, $s1, 1 -/* B262E4 800AF144 26100014 */ addiu $s0, $s0, 0x14 -/* B262E8 800AF148 26520002 */ addiu $s2, $s2, 2 -/* B262EC 800AF14C 1635FFED */ bne $s1, $s5, .L800AF104 -/* B262F0 800AF150 00409825 */ move $s3, $v0 -/* B262F4 800AF154 8FBF0044 */ lw $ra, 0x44($sp) -.L800AF158: -/* B262F8 800AF158 8FB0002C */ lw $s0, 0x2c($sp) -/* B262FC 800AF15C 8FB10030 */ lw $s1, 0x30($sp) -/* B26300 800AF160 8FB20034 */ lw $s2, 0x34($sp) -/* B26304 800AF164 8FB30038 */ lw $s3, 0x38($sp) -/* B26308 800AF168 8FB4003C */ lw $s4, 0x3c($sp) -/* B2630C 800AF16C 8FB50040 */ lw $s5, 0x40($sp) -/* B26310 800AF170 03E00008 */ jr $ra -/* B26314 800AF174 27BD0048 */ addiu $sp, $sp, 0x48 - diff --git a/asm/non_matchings/code/z_vr_box/func_800AF178.s b/asm/non_matchings/code/z_vr_box/func_800AF178.s deleted file mode 100644 index 2c341b1290..0000000000 --- a/asm/non_matchings/code/z_vr_box/func_800AF178.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_800AF178 -/* B26318 800AF178 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B2631C 800AF17C AFB40040 */ sw $s4, 0x40($sp) -/* B26320 800AF180 AFB3003C */ sw $s3, 0x3c($sp) -/* B26324 800AF184 AFB20038 */ sw $s2, 0x38($sp) -/* B26328 800AF188 AFB10034 */ sw $s1, 0x34($sp) -/* B2632C 800AF18C 00809825 */ move $s3, $a0 -/* B26330 800AF190 00A0A025 */ move $s4, $a1 -/* B26334 800AF194 AFBF0044 */ sw $ra, 0x44($sp) -/* B26338 800AF198 AFB00030 */ sw $s0, 0x30($sp) -/* B2633C 800AF19C 00009025 */ move $s2, $zero -/* B26340 800AF1A0 18A00015 */ blez $a1, .L800AF1F8 -/* B26344 800AF1A4 00008825 */ move $s1, $zero -/* B26348 800AF1A8 3C108013 */ lui $s0, %hi(D_8012AF0C) # $s0, 0x8013 -/* B2634C 800AF1AC 2610AF0C */ addiu $s0, %lo(D_8012AF0C) # addiu $s0, $s0, -0x50f4 -.L800AF1B0: -/* B26350 800AF1B0 8E65013C */ lw $a1, 0x13c($s3) -/* B26354 800AF1B4 8E0E0004 */ lw $t6, 4($s0) -/* B26358 800AF1B8 8E0F0008 */ lw $t7, 8($s0) -/* B2635C 800AF1BC 8E18000C */ lw $t8, 0xc($s0) -/* B26360 800AF1C0 8E190010 */ lw $t9, 0x10($s0) -/* B26364 800AF1C4 AFB10020 */ sw $s1, 0x20($sp) -/* B26368 800AF1C8 02602025 */ move $a0, $s3 -/* B2636C 800AF1CC 02403025 */ move $a2, $s2 -/* B26370 800AF1D0 8E070000 */ lw $a3, ($s0) -/* B26374 800AF1D4 AFAE0010 */ sw $t6, 0x10($sp) -/* B26378 800AF1D8 AFAF0014 */ sw $t7, 0x14($sp) -/* B2637C 800AF1DC AFB80018 */ sw $t8, 0x18($sp) -/* B26380 800AF1E0 0C02B8B0 */ jal func_800AE2C0 -/* B26384 800AF1E4 AFB9001C */ sw $t9, 0x1c($sp) -/* B26388 800AF1E8 26310001 */ addiu $s1, $s1, 1 -/* B2638C 800AF1EC 26100014 */ addiu $s0, $s0, 0x14 -/* B26390 800AF1F0 1634FFEF */ bne $s1, $s4, .L800AF1B0 -/* B26394 800AF1F4 00409025 */ move $s2, $v0 -.L800AF1F8: -/* B26398 800AF1F8 8FBF0044 */ lw $ra, 0x44($sp) -/* B2639C 800AF1FC 8FB00030 */ lw $s0, 0x30($sp) -/* B263A0 800AF200 8FB10034 */ lw $s1, 0x34($sp) -/* B263A4 800AF204 8FB20038 */ lw $s2, 0x38($sp) -/* B263A8 800AF208 8FB3003C */ lw $s3, 0x3c($sp) -/* B263AC 800AF20C 8FB40040 */ lw $s4, 0x40($sp) -/* B263B0 800AF210 03E00008 */ jr $ra -/* B263B4 800AF214 27BD0048 */ addiu $sp, $sp, 0x48 - diff --git a/asm/non_matchings/code/z_vr_box/func_800B0E50.s b/asm/non_matchings/code/z_vr_box/func_800B0E50.s deleted file mode 100644 index b7dfc5e802..0000000000 --- a/asm/non_matchings/code/z_vr_box/func_800B0E50.s +++ /dev/null @@ -1,200 +0,0 @@ -.rdata -glabel D_80142C6C - .asciz "\x1b[32m" - .balign 4 - -glabel D_80142C74 - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142C84 - .asciz "vr_box->dpList != NULL" - .balign 4 - -glabel D_80142C9C - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142CAC - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142CBC - .asciz "vr_box->roomVtx != NULL" - .balign 4 - -glabel D_80142CD4 - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142CE4 - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142CF4 - .asciz "vr_box->dpList != NULL" - .balign 4 - -glabel D_80142D0C - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142D1C - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142D2C - .asciz "vr_box->roomVtx != NULL" - .balign 4 - -glabel D_80142D44 - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142D54 - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142D64 - .asciz "vr_box->roomVtx != NULL" - .balign 4 - -glabel D_80142D7C - .asciz "../z_vr_box.c" - .balign 4 - -glabel D_80142D8C - .asciz "\x1b[m" - .balign 4 - -.text -glabel func_800B0E50 -/* B27FF0 800B0E50 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B27FF4 800B0E54 44800000 */ mtc1 $zero, $f0 -/* B27FF8 800B0E58 AFBF001C */ sw $ra, 0x1c($sp) -/* B27FFC 800B0E5C AFB00018 */ sw $s0, 0x18($sp) -/* B28000 800B0E60 AFA40020 */ sw $a0, 0x20($sp) -/* B28004 800B0E64 AFA60028 */ sw $a2, 0x28($sp) -/* B28008 800B0E68 A4A00140 */ sh $zero, 0x140($a1) -/* B2800C 800B0E6C E4A00144 */ swc1 $f0, 0x144($a1) -/* B28010 800B0E70 E4A00148 */ swc1 $f0, 0x148($a1) -/* B28014 800B0E74 E4A0014C */ swc1 $f0, 0x14c($a1) -/* B28018 800B0E78 00A08025 */ move $s0, $a1 -/* B2801C 800B0E7C 87A6002A */ lh $a2, 0x2a($sp) -/* B28020 800B0E80 0C02BC86 */ jal func_800AF218 -/* B28024 800B0E84 8FA40020 */ lw $a0, 0x20($sp) -/* B28028 800B0E88 3C048014 */ lui $a0, %hi(D_80142C00) # $a0, 0x8014 -/* B2802C 800B0E8C 24842C00 */ addiu $a0, %lo(D_80142C00) # addiu $a0, $a0, 0x2c00 -/* B28030 800B0E90 0C00084C */ jal osSyncPrintf -/* B28034 800B0E94 87A5002A */ lh $a1, 0x2a($sp) -/* B28038 800B0E98 87AE002A */ lh $t6, 0x2a($sp) -/* B2803C 800B0E9C 3C048014 */ lui $a0, %hi(D_80142C6C) # $a0, 0x8014 -/* B28040 800B0EA0 51C0005F */ beql $t6, $zero, .L800B1020 -/* B28044 800B0EA4 8FBF001C */ lw $ra, 0x1c($sp) -/* B28048 800B0EA8 0C00084C */ jal osSyncPrintf -/* B2804C 800B0EAC 24842C6C */ addiu $a0, %lo(D_80142C6C) # addiu $a0, $a0, 0x2c6c -/* B28050 800B0EB0 860F0140 */ lh $t7, 0x140($s0) -/* B28054 800B0EB4 8FA40020 */ lw $a0, 0x20($sp) -/* B28058 800B0EB8 24053840 */ li $a1, 14400 -/* B2805C 800B0EBC 11E00022 */ beqz $t7, .L800B0F48 -/* B28060 800B0EC0 3C068014 */ lui $a2, %hi(D_80142CE4) -/* B28064 800B0EC4 3C068014 */ lui $a2, %hi(D_80142C74) # $a2, 0x8014 -/* B28068 800B0EC8 24C62C74 */ addiu $a2, %lo(D_80142C74) # addiu $a2, $a2, 0x2c74 -/* B2806C 800B0ECC 8FA40020 */ lw $a0, 0x20($sp) -/* B28070 800B0ED0 24052580 */ li $a1, 9600 -/* B28074 800B0ED4 0C031521 */ jal GameState_Alloc -/* B28078 800B0ED8 24070664 */ li $a3, 1636 -/* B2807C 800B0EDC 14400007 */ bnez $v0, .L800B0EFC -/* B28080 800B0EE0 AE020134 */ sw $v0, 0x134($s0) -/* B28084 800B0EE4 3C048014 */ lui $a0, %hi(D_80142C84) # $a0, 0x8014 -/* B28088 800B0EE8 3C058014 */ lui $a1, %hi(D_80142C9C) # $a1, 0x8014 -/* B2808C 800B0EEC 24A52C9C */ addiu $a1, %lo(D_80142C9C) # addiu $a1, $a1, 0x2c9c -/* B28090 800B0EF0 24842C84 */ addiu $a0, %lo(D_80142C84) # addiu $a0, $a0, 0x2c84 -/* B28094 800B0EF4 0C0007FC */ jal __assert -/* B28098 800B0EF8 24060665 */ li $a2, 1637 -.L800B0EFC: -/* B2809C 800B0EFC 3C068014 */ lui $a2, %hi(D_80142CAC) # $a2, 0x8014 -/* B280A0 800B0F00 24C62CAC */ addiu $a2, %lo(D_80142CAC) # addiu $a2, $a2, 0x2cac -/* B280A4 800B0F04 8FA40020 */ lw $a0, 0x20($sp) -/* B280A8 800B0F08 24051000 */ li $a1, 4096 -/* B280AC 800B0F0C 0C031521 */ jal GameState_Alloc -/* B280B0 800B0F10 24070667 */ li $a3, 1639 -/* B280B4 800B0F14 14400007 */ bnez $v0, .L800B0F34 -/* B280B8 800B0F18 AE02013C */ sw $v0, 0x13c($s0) -/* B280BC 800B0F1C 3C048014 */ lui $a0, %hi(D_80142CBC) # $a0, 0x8014 -/* B280C0 800B0F20 3C058014 */ lui $a1, %hi(D_80142CD4) # $a1, 0x8014 -/* B280C4 800B0F24 24A52CD4 */ addiu $a1, %lo(D_80142CD4) # addiu $a1, $a1, 0x2cd4 -/* B280C8 800B0F28 24842CBC */ addiu $a0, %lo(D_80142CBC) # addiu $a0, $a0, 0x2cbc -/* B280CC 800B0F2C 0C0007FC */ jal __assert -/* B280D0 800B0F30 24060668 */ li $a2, 1640 -.L800B0F34: -/* B280D4 800B0F34 02002025 */ move $a0, $s0 -/* B280D8 800B0F38 0C02BBF2 */ jal func_800AEFC8 -/* B280DC 800B0F3C 87A5002A */ lh $a1, 0x2a($sp) -/* B280E0 800B0F40 10000033 */ b .L800B1010 -/* B280E4 800B0F44 00000000 */ nop -.L800B0F48: -/* B280E8 800B0F48 24C62CE4 */ addiu $a2, %lo(D_80142CE4) -/* B280EC 800B0F4C 0C031521 */ jal GameState_Alloc -/* B280F0 800B0F50 2407066B */ li $a3, 1643 -/* B280F4 800B0F54 14400007 */ bnez $v0, .L800B0F74 -/* B280F8 800B0F58 AE020134 */ sw $v0, 0x134($s0) -/* B280FC 800B0F5C 3C048014 */ lui $a0, %hi(D_80142CF4) # $a0, 0x8014 -/* B28100 800B0F60 3C058014 */ lui $a1, %hi(D_80142D0C) # $a1, 0x8014 -/* B28104 800B0F64 24A52D0C */ addiu $a1, %lo(D_80142D0C) # addiu $a1, $a1, 0x2d0c -/* B28108 800B0F68 24842CF4 */ addiu $a0, %lo(D_80142CF4) # addiu $a0, $a0, 0x2cf4 -/* B2810C 800B0F6C 0C0007FC */ jal __assert -/* B28110 800B0F70 2406066C */ li $a2, 1644 -.L800B0F74: -/* B28114 800B0F74 87B8002A */ lh $t8, 0x2a($sp) -/* B28118 800B0F78 24010005 */ li $at, 5 -/* B2811C 800B0F7C 8FA40020 */ lw $a0, 0x20($sp) -/* B28120 800B0F80 17010014 */ bne $t8, $at, .L800B0FD4 -/* B28124 800B0F84 24050A00 */ li $a1, 2560 -/* B28128 800B0F88 3C068014 */ lui $a2, %hi(D_80142D1C) # $a2, 0x8014 -/* B2812C 800B0F8C 24C62D1C */ addiu $a2, %lo(D_80142D1C) # addiu $a2, $a2, 0x2d1c -/* B28130 800B0F90 8FA40020 */ lw $a0, 0x20($sp) -/* B28134 800B0F94 24050C00 */ li $a1, 3072 -/* B28138 800B0F98 0C031521 */ jal GameState_Alloc -/* B2813C 800B0F9C 24070670 */ li $a3, 1648 -/* B28140 800B0FA0 14400007 */ bnez $v0, .L800B0FC0 -/* B28144 800B0FA4 AE02013C */ sw $v0, 0x13c($s0) -/* B28148 800B0FA8 3C048014 */ lui $a0, %hi(D_80142D2C) # $a0, 0x8014 -/* B2814C 800B0FAC 3C058014 */ lui $a1, %hi(D_80142D44) # $a1, 0x8014 -/* B28150 800B0FB0 24A52D44 */ addiu $a1, %lo(D_80142D44) # addiu $a1, $a1, 0x2d44 -/* B28154 800B0FB4 24842D2C */ addiu $a0, %lo(D_80142D2C) # addiu $a0, $a0, 0x2d2c -/* B28158 800B0FB8 0C0007FC */ jal __assert -/* B2815C 800B0FBC 24060671 */ li $a2, 1649 -.L800B0FC0: -/* B28160 800B0FC0 02002025 */ move $a0, $s0 -/* B28164 800B0FC4 0C02BC5E */ jal func_800AF178 -/* B28168 800B0FC8 24050006 */ li $a1, 6 -/* B2816C 800B0FCC 10000010 */ b .L800B1010 -/* B28170 800B0FD0 00000000 */ nop -.L800B0FD4: -/* B28174 800B0FD4 3C068014 */ lui $a2, %hi(D_80142D54) # $a2, 0x8014 -/* B28178 800B0FD8 24C62D54 */ addiu $a2, %lo(D_80142D54) # addiu $a2, $a2, 0x2d54 -/* B2817C 800B0FDC 0C031521 */ jal GameState_Alloc -/* B28180 800B0FE0 24070675 */ li $a3, 1653 -/* B28184 800B0FE4 14400007 */ bnez $v0, .L800B1004 -/* B28188 800B0FE8 AE02013C */ sw $v0, 0x13c($s0) -/* B2818C 800B0FEC 3C048014 */ lui $a0, %hi(D_80142D64) # $a0, 0x8014 -/* B28190 800B0FF0 3C058014 */ lui $a1, %hi(D_80142D7C) # $a1, 0x8014 -/* B28194 800B0FF4 24A52D7C */ addiu $a1, %lo(D_80142D7C) # addiu $a1, $a1, 0x2d7c -/* B28198 800B0FF8 24842D64 */ addiu $a0, %lo(D_80142D64) # addiu $a0, $a0, 0x2d64 -/* B2819C 800B0FFC 0C0007FC */ jal __assert -/* B281A0 800B1000 24060676 */ li $a2, 1654 -.L800B1004: -/* B281A4 800B1004 02002025 */ move $a0, $s0 -/* B281A8 800B1008 0C02BC5E */ jal func_800AF178 -/* B281AC 800B100C 24050005 */ li $a1, 5 -.L800B1010: -/* B281B0 800B1010 3C048014 */ lui $a0, %hi(D_80142D8C) # $a0, 0x8014 -/* B281B4 800B1014 0C00084C */ jal osSyncPrintf -/* B281B8 800B1018 24842D8C */ addiu $a0, %lo(D_80142D8C) # addiu $a0, $a0, 0x2d8c -/* B281BC 800B101C 8FBF001C */ lw $ra, 0x1c($sp) -.L800B1020: -/* B281C0 800B1020 8FB00018 */ lw $s0, 0x18($sp) -/* B281C4 800B1024 27BD0020 */ addiu $sp, $sp, 0x20 -/* B281C8 800B1028 03E00008 */ jr $ra -/* B281CC 800B102C 00000000 */ nop diff --git a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s index 74d1da57dd..281b2b31b8 100644 --- a/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s +++ b/asm/non_matchings/overlays/gamestates/ovl_file_choose/func_808113A8.s @@ -346,7 +346,7 @@ glabel func_808113A8 /* 0DBC8 80811908 00E02825 */ or $a1, $a3, $zero ## $a1 = 000001E8 /* 0DBCC 8081190C AFA7002C */ sw $a3, 0x002C($sp) /* 0DBD0 80811910 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0DBD4 80811914 0C02C394 */ jal func_800B0E50 +/* 0DBD4 80811914 0C02C394 */ jal Skybox_Init /* 0DBD8 80811918 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 0DBDC 8081191C 3C080001 */ lui $t0, 0x0001 ## $t0 = 00010000 /* 0DBE0 80811920 3508C8E8 */ ori $t0, $t0, 0xC8E8 ## $t0 = 0001C8E8 diff --git a/include/functions.h b/include/functions.h index 29012f5321..18c6b48053 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1391,13 +1391,7 @@ void VisMono_DrawOld(VisMono* this); void func_800AD920(struct_80166500* this); void func_800AD950(struct_80166500* this); void func_800AD958(struct_80166500* this, Gfx** gfxp); -// ? func_800ADBB0(?); -// ? func_800AE2C0(?); -// ? func_800AEFC8(?); -// ? func_800AF178(?); -// ? func_800AF218(?); -// ? func_800B0E50(?); -void func_800B0E50(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyboxId); +void Skybox_Init(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyboxId); 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); diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 96089eed7a..684c34b53f 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -1001,24 +1001,43 @@ DECLARE_ROM_SEGMENT(vr_MNVR_pal_static) DECLARE_ROM_SEGMENT(vr_RUVR_static) DECLARE_ROM_SEGMENT(vr_RUVR_pal_static) DECLARE_ROM_SEGMENT(vr_LHVR_static) +DECLARE_ROM_SEGMENT(vr_LHVR_pal_static) DECLARE_ROM_SEGMENT(vr_KHVR_static) +DECLARE_ROM_SEGMENT(vr_KHVR_pal_static) DECLARE_ROM_SEGMENT(vr_K3VR_static) +DECLARE_ROM_SEGMENT(vr_K3VR_pal_static) DECLARE_ROM_SEGMENT(vr_K4VR_static) +DECLARE_ROM_SEGMENT(vr_K4VR_pal_static) DECLARE_ROM_SEGMENT(vr_K5VR_static) +DECLARE_ROM_SEGMENT(vr_K5VR_pal_static) DECLARE_ROM_SEGMENT(vr_SP1a_static) +DECLARE_ROM_SEGMENT(vr_SP1a_pal_static) DECLARE_ROM_SEGMENT(vr_MLVR_static) +DECLARE_ROM_SEGMENT(vr_MLVR_pal_static) DECLARE_ROM_SEGMENT(vr_KKRVR_static) +DECLARE_ROM_SEGMENT(vr_KKRVR_pal_static) DECLARE_ROM_SEGMENT(vr_KR3VR_static) +DECLARE_ROM_SEGMENT(vr_KR3VR_pal_static) DECLARE_ROM_SEGMENT(vr_IPVR_static) +DECLARE_ROM_SEGMENT(vr_IPVR_pal_static) DECLARE_ROM_SEGMENT(vr_KSVR_static) +DECLARE_ROM_SEGMENT(vr_KSVR_pal_static) DECLARE_ROM_SEGMENT(vr_GLVR_static) +DECLARE_ROM_SEGMENT(vr_GLVR_pal_static) DECLARE_ROM_SEGMENT(vr_ZRVR_static) +DECLARE_ROM_SEGMENT(vr_ZRVR_pal_static) DECLARE_ROM_SEGMENT(vr_DGVR_static) +DECLARE_ROM_SEGMENT(vr_DGVR_pal_static) DECLARE_ROM_SEGMENT(vr_ALVR_static) +DECLARE_ROM_SEGMENT(vr_ALVR_pal_static) DECLARE_ROM_SEGMENT(vr_NSVR_static) +DECLARE_ROM_SEGMENT(vr_NSVR_pal_static) DECLARE_ROM_SEGMENT(vr_LBVR_static) +DECLARE_ROM_SEGMENT(vr_LBVR_pal_static) DECLARE_ROM_SEGMENT(vr_TTVR_static) +DECLARE_ROM_SEGMENT(vr_TTVR_pal_static) DECLARE_ROM_SEGMENT(vr_FCVR_static) +DECLARE_ROM_SEGMENT(vr_FCVR_pal_static) DECLARE_ROM_SEGMENT(elf_message_field) DECLARE_ROM_SEGMENT(elf_message_ydan) diff --git a/include/z64.h b/include/z64.h index 3198a0e0f7..450f553d5f 100644 --- a/include/z64.h +++ b/include/z64.h @@ -288,10 +288,41 @@ typedef struct { /* 0x10 */ Vec3f relativePos; } SoundSource; // size = 0x1C +typedef enum { + /* 0x00 */ SKYBOX_NONE, + /* 0x01 */ SKYBOX_NORMAL_SKY, + /* 0x02 */ SKYBOX_BAZAAR, + /* 0x03 */ SKYBOX_OVERCAST_SUNSET, + /* 0x04 */ SKYBOX_MARKET_ADULT, + /* 0x05 */ SKYBOX_CUTSCENE_MAP, + /* 0x06 */ SKYBOX_HOUSE_LINK, + /* 0x09 */ SKYBOX_MARKET_CHILD_DAY = 9, + /* 0x0A */ SKYBOX_MARKET_CHILD_NIGHT, + /* 0x0B */ SKYBOX_HAPPY_MASK_SHOP, + /* 0x0C */ SKYBOX_HOUSE_KNOW_IT_ALL_BROTHERS, + /* 0x0E */ SKYBOX_HOUSE_OF_TWINS = 14, + /* 0x0F */ SKYBOX_STABLES, + /* 0x10 */ SKYBOX_HOUSE_KAKARIKO, + /* 0x11 */ SKYBOX_KOKIRI_SHOP, + /* 0x13 */ SKYBOX_GORON_SHOP = 19, + /* 0x14 */ SKYBOX_ZORA_SHOP, + /* 0x16 */ SKYBOX_POTION_SHOP_KAKARIKO = 22, + /* 0x17 */ SKYBOX_POTION_SHOP_MARKET, + /* 0x18 */ SKYBOX_BOMBCHU_SHOP, + /* 0x1A */ SKYBOX_HOUSE_RICHARD = 26, + /* 0x1B */ SKYBOX_HOUSE_IMPA, + /* 0x1C */ SKYBOX_TENT, + /* 0x1D */ SKYBOX_UNSET_1D, + /* 0x20 */ SKYBOX_HOUSE_MIDO = 32, + /* 0x21 */ SKYBOX_HOUSE_SARIA, + /* 0x22 */ SKYBOX_HOUSE_ALLEY, + /* 0x27 */ SKYBOX_UNSET_27 = 39 +} SkyboxId; + typedef struct { /* 0x000 */ char unk_00[0x128]; /* 0x128 */ void* staticSegments[3]; - /* 0x134 */ Gfx* dpList; + /* 0x134 */ Gfx* dListBuf; /* 0x138 */ Gfx* unk_138; /* 0x13C */ void* roomVtx; /* 0x140 */ s16 unk_140; @@ -549,7 +580,9 @@ typedef struct { /* 0x00 */ char unk_00[0x02]; /* 0x02 */ u16 unk_02; /* 0x04 */ Vec3f unk_04; - /* 0x10 */ char unk_10[0x03]; + /* 0x10 */ u8 unk_10; + /* 0x11 */ u8 unk_11; + /* 0x12 */ char unk_12[0x1]; /* 0x13 */ u8 unk_13; /* 0x14 */ char unk_14[0x01]; /* 0x15 */ u8 skyDisabled; diff --git a/src/code/z_play.c b/src/code/z_play.c index 8e5878a148..56fb61faaa 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 09c872365a..9e2cffb1bd 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; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AF178.s") + 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); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AF218.s") +void func_800AF178(SkyboxContext* skyboxCtx, s32 arg1) { + s32 phi_s2 = 0; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800B0E50.s") + 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); + + 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); + + 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); + + 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 a7677c15f6..b1f1c1bc39 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); } } diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c index d7578cb59a..68bcce3552 100644 --- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c +++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c @@ -137,7 +137,7 @@ u8 WeatherTag_CheckEnableWeatherEffect(EnWeatherTag* this, GlobalContext* global if (Actor_WorldDistXZToActor(&player->actor, &this->actor) < WEATHER_TAG_RANGE100(this->actor.params)) { if ((globalCtx->envCtx.unk_1E != 0) || !D_8011FB3C || - (globalCtx->skyboxId != 1 && globalCtx->envCtx.unk_1F == globalCtx->envCtx.unk_20)) { + (globalCtx->skyboxId != SKYBOX_NORMAL_SKY && globalCtx->envCtx.unk_1F == globalCtx->envCtx.unk_20)) { D_8011FB38 = 1; if (globalCtx->envCtx.gloomySkyEvent == 0 && (globalCtx->envCtx.unk_1E != 0 || (globalCtx->envCtx.unk_1F != 1 && globalCtx->envCtx.unk_21 == 0))) { @@ -177,7 +177,7 @@ u8 WeatherTag_CheckRestoreWeather(EnWeatherTag* this, GlobalContext* globalCtx, if ((WEATHER_TAG_RANGE100(this->actor.params) + 100.0f) < Actor_WorldDistXZToActor(&player->actor, &this->actor)) { if (globalCtx->envCtx.unk_1E != 0 || !D_8011FB3C || - (globalCtx->skyboxId != 1 && globalCtx->envCtx.unk_1F == globalCtx->envCtx.unk_20)) { + (globalCtx->skyboxId != SKYBOX_NORMAL_SKY && globalCtx->envCtx.unk_1F == globalCtx->envCtx.unk_20)) { D_8011FB38 = 1; if ((globalCtx->envCtx.gloomySkyEvent == 0) && (globalCtx->envCtx.unk_1E != 0 || (globalCtx->envCtx.unk_1F != 1 && globalCtx->envCtx.unk_21 == 0))) {