1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

Some progress on z_vr_box.c (#838)

* z_vr_box.c progress

* Rename dpList to dlistBuf and SKYBOX_CLEAR_SKY to SKYBOX_NORMAL_SKY

* Fix

* renamed dlistBuf to dListBuf and split large string further
This commit is contained in:
Tharo 2021-07-04 16:43:04 +01:00 committed by GitHub
parent 3fd05c9147
commit cd9a2ed648
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 751 additions and 402 deletions

View file

@ -889,9 +889,6 @@ glabel D_80142BF0
.asciz "../z_vr_box.c"
.balign 4
glabel D_80142C00
.asciz "\n\n\n\n\n\n%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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -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)

View file

@ -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;

View file

@ -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);
}

View file

@ -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(" = %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(" = %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"
"%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);
}
}

View file

@ -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);
}
}

View file

@ -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))) {