1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 12:54:51 +00:00

Match remaining z_room functions (#978)

* Match func_80095D04

* Match func_80096FE8

Most of the work was done by the co-authors, putting in this PR for convenience.

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com>

* Format

* Remove asm

* Caps

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
Synray 2021-09-20 12:37:47 -07:00 committed by GitHub
parent 9318ba1804
commit 1fcb163451
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 634 deletions

View File

@ -1,377 +0,0 @@
.rdata
glabel D_8013EF48
.asciz "../z_room.c"
.balign 4
glabel D_8013EF54
.asciz "polygon2->num <= SHAPE_SORT_MAX"
.balign 4
glabel D_8013EF74
.asciz "../z_room.c"
.balign 4
glabel D_8013EF80
.asciz "../z_room.c"
.balign 4
.text
glabel func_80095D04
/* B0CEA4 80095D04 27BDFB40 */ addiu $sp, $sp, -0x4c0
/* B0CEA8 80095D08 AFBF001C */ sw $ra, 0x1c($sp)
/* B0CEAC 80095D0C AFB10018 */ sw $s1, 0x18($sp)
/* B0CEB0 80095D10 AFB00014 */ sw $s0, 0x14($sp)
/* B0CEB4 80095D14 AFA404C0 */ sw $a0, 0x4c0($sp)
/* B0CEB8 80095D18 AFA504C4 */ sw $a1, 0x4c4($sp)
/* B0CEBC 80095D1C 8C850000 */ lw $a1, ($a0)
/* B0CEC0 80095D20 00C08025 */ move $s0, $a2
/* B0CEC4 80095D24 3C068014 */ lui $a2, %hi(D_8013EF48) # $a2, 0x8014
/* B0CEC8 80095D28 24C6EF48 */ addiu $a2, %lo(D_8013EF48) # addiu $a2, $a2, -0x10b8
/* B0CECC 80095D2C AFA000B0 */ sw $zero, 0xb0($sp)
/* B0CED0 80095D30 AFA000B4 */ sw $zero, 0xb4($sp)
/* B0CED4 80095D34 27A4005C */ addiu $a0, $sp, 0x5c
/* B0CED8 80095D38 2407011F */ li $a3, 287
/* B0CEDC 80095D3C 0C031AB1 */ jal Graph_OpenDisps
/* B0CEE0 80095D40 AFA5006C */ sw $a1, 0x6c($sp)
/* B0CEE4 80095D44 32110001 */ andi $s1, $s0, 1
/* B0CEE8 80095D48 8FA9006C */ lw $t1, 0x6c($sp)
/* B0CEEC 80095D4C 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0CEF0 80095D50 12200025 */ beqz $s1, .L80095DE8
/* B0CEF4 80095D54 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0CEF8 80095D58 3C048012 */ lui $a0, %hi(D_801270A0) # $a0, 0x8012
/* B0CEFC 80095D5C 248470A0 */ addiu $a0, %lo(D_801270A0) # addiu $a0, $a0, 0x70a0
/* B0CF00 80095D60 8FA504C0 */ lw $a1, 0x4c0($sp)
/* B0CF04 80095D64 AFA9006C */ sw $t1, 0x6c($sp)
/* B0CF08 80095D68 AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0CF0C 80095D6C 0C00D0BB */ jal func_800342EC
/* B0CF10 80095D70 AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0CF14 80095D74 8FA9006C */ lw $t1, 0x6c($sp)
/* B0CF18 80095D78 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0CF1C 80095D7C 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0CF20 80095D80 8D2202C0 */ lw $v0, 0x2c0($t1)
/* B0CF24 80095D84 3C18DB06 */ lui $t8, (0xDB06000C >> 16) # lui $t8, 0xdb06
/* B0CF28 80095D88 3718000C */ ori $t8, (0xDB06000C & 0xFFFF) # ori $t8, $t8, 0xc
/* B0CF2C 80095D8C 244F0008 */ addiu $t7, $v0, 8
/* B0CF30 80095D90 AD2F02C0 */ sw $t7, 0x2c0($t1)
/* B0CF34 80095D94 AC580000 */ sw $t8, ($v0)
/* B0CF38 80095D98 8FB904C4 */ lw $t9, 0x4c4($sp)
/* B0CF3C 80095D9C 8F2E000C */ lw $t6, 0xc($t9)
/* B0CF40 80095DA0 AC4E0004 */ sw $t6, 4($v0)
/* B0CF44 80095DA4 8FA404C0 */ lw $a0, 0x4c0($sp)
/* B0CF48 80095DA8 AFA9006C */ sw $t1, 0x6c($sp)
/* B0CF4C 80095DAC AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0CF50 80095DB0 0C024F20 */ jal func_80093C80
/* B0CF54 80095DB4 AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0CF58 80095DB8 8FA9006C */ lw $t1, 0x6c($sp)
/* B0CF5C 80095DBC 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0CF60 80095DC0 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0CF64 80095DC4 8D2202C0 */ lw $v0, 0x2c0($t1)
/* B0CF68 80095DC8 3C18DA38 */ lui $t8, (0xDA380003 >> 16) # lui $t8, 0xda38
/* B0CF6C 80095DCC 3C198013 */ lui $t9, %hi(gMtxClear) # $t9, 0x8013
/* B0CF70 80095DD0 244F0008 */ addiu $t7, $v0, 8
/* B0CF74 80095DD4 AD2F02C0 */ sw $t7, 0x2c0($t1)
/* B0CF78 80095DD8 2739DB20 */ addiu $t9, %lo(gMtxClear) # addiu $t9, $t9, -0x24e0
/* B0CF7C 80095DDC 37180003 */ ori $t8, (0xDA380003 & 0xFFFF) # ori $t8, $t8, 3
/* B0CF80 80095DE0 AC580000 */ sw $t8, ($v0)
/* B0CF84 80095DE4 AC590004 */ sw $t9, 4($v0)
.L80095DE8:
/* B0CF88 80095DE8 320D0002 */ andi $t5, $s0, 2
/* B0CF8C 80095DEC 11A00029 */ beqz $t5, .L80095E94
/* B0CF90 80095DF0 3C048012 */ lui $a0, %hi(D_801270A0) # $a0, 0x8012
/* B0CF94 80095DF4 3C108013 */ lui $s0, %hi(gMtxClear) # $s0, 0x8013
/* B0CF98 80095DF8 2610DB20 */ addiu $s0, %lo(gMtxClear) # addiu $s0, $s0, -0x24e0
/* B0CF9C 80095DFC 248470A0 */ addiu $a0, %lo(D_801270A0) # addiu $a0, $a0, 0x70a0
/* B0CFA0 80095E00 8FA504C0 */ lw $a1, 0x4c0($sp)
/* B0CFA4 80095E04 AFA9006C */ sw $t1, 0x6c($sp)
/* B0CFA8 80095E08 AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0CFAC 80095E0C AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0CFB0 80095E10 0C00D0D7 */ jal func_8003435C
/* B0CFB4 80095E14 AFAD002C */ sw $t5, 0x2c($sp)
/* B0CFB8 80095E18 8FA9006C */ lw $t1, 0x6c($sp)
/* B0CFBC 80095E1C 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0CFC0 80095E20 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0CFC4 80095E24 8D2202D0 */ lw $v0, 0x2d0($t1)
/* B0CFC8 80095E28 8FAD002C */ lw $t5, 0x2c($sp)
/* B0CFCC 80095E2C 3C0FDB06 */ lui $t7, (0xDB06000C >> 16) # lui $t7, 0xdb06
/* B0CFD0 80095E30 244E0008 */ addiu $t6, $v0, 8
/* B0CFD4 80095E34 35EF000C */ ori $t7, (0xDB06000C & 0xFFFF) # ori $t7, $t7, 0xc
/* B0CFD8 80095E38 AD2E02D0 */ sw $t6, 0x2d0($t1)
/* B0CFDC 80095E3C AC4F0000 */ sw $t7, ($v0)
/* B0CFE0 80095E40 8FB804C4 */ lw $t8, 0x4c4($sp)
/* B0CFE4 80095E44 8F19000C */ lw $t9, 0xc($t8)
/* B0CFE8 80095E48 AC590004 */ sw $t9, 4($v0)
/* B0CFEC 80095E4C 8FAE04C0 */ lw $t6, 0x4c0($sp)
/* B0CFF0 80095E50 8DC40000 */ lw $a0, ($t6)
/* B0CFF4 80095E54 AFA9006C */ sw $t1, 0x6c($sp)
/* B0CFF8 80095E58 AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0CFFC 80095E5C AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0D000 80095E60 0C024F61 */ jal func_80093D84
/* B0D004 80095E64 AFAD002C */ sw $t5, 0x2c($sp)
/* B0D008 80095E68 8FA9006C */ lw $t1, 0x6c($sp)
/* B0D00C 80095E6C 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0D010 80095E70 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0D014 80095E74 8D2202D0 */ lw $v0, 0x2d0($t1)
/* B0D018 80095E78 8FAD002C */ lw $t5, 0x2c($sp)
/* B0D01C 80095E7C 3C18DA38 */ lui $t8, (0xDA380003 >> 16) # lui $t8, 0xda38
/* B0D020 80095E80 244F0008 */ addiu $t7, $v0, 8
/* B0D024 80095E84 AD2F02D0 */ sw $t7, 0x2d0($t1)
/* B0D028 80095E88 37180003 */ ori $t8, (0xDA380003 & 0xFFFF) # ori $t8, $t8, 3
/* B0D02C 80095E8C AC580000 */ sw $t8, ($v0)
/* B0D030 80095E90 AC500004 */ sw $s0, 4($v0)
.L80095E94:
/* B0D034 80095E94 8FB904C4 */ lw $t9, 0x4c4($sp)
/* B0D038 80095E98 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B0D03C 80095E9C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B0D040 80095EA0 8F2C0008 */ lw $t4, 8($t9)
/* B0D044 80095EA4 3C198016 */ lui $t9, %hi(gSegments)
/* B0D048 80095EA8 3C058014 */ lui $a1, %hi(D_8013EF74) # $a1, 0x8014
/* B0D04C 80095EAC 8D820004 */ lw $v0, 4($t4)
/* B0D050 80095EB0 91840001 */ lbu $a0, 1($t4)
/* B0D054 80095EB4 27A300B8 */ addiu $v1, $sp, 0xb8
/* B0D058 80095EB8 00027100 */ sll $t6, $v0, 4
/* B0D05C 80095EBC 000E7F02 */ srl $t7, $t6, 0x1c
/* B0D060 80095EC0 000FC080 */ sll $t8, $t7, 2
/* B0D064 80095EC4 0338C821 */ addu $t9, $t9, $t8
/* B0D068 80095EC8 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* B0D06C 80095ECC 00417024 */ and $t6, $v0, $at
/* B0D070 80095ED0 3C018000 */ lui $at, 0x8000
/* B0D074 80095ED4 032E8021 */ addu $s0, $t9, $t6
/* B0D078 80095ED8 02018021 */ addu $s0, $s0, $at
/* B0D07C 80095EDC 28810041 */ slti $at, $a0, 0x41
/* B0D080 80095EE0 14200012 */ bnez $at, .L80095F2C
/* B0D084 80095EE4 24A5EF74 */ addiu $a1, %lo(D_8013EF74) # addiu $a1, $a1, -0x108c
/* B0D088 80095EE8 3C048014 */ lui $a0, %hi(D_8013EF54) # $a0, 0x8014
/* B0D08C 80095EEC 2484EF54 */ addiu $a0, %lo(D_8013EF54) # addiu $a0, $a0, -0x10ac
/* B0D090 80095EF0 2406013D */ li $a2, 317
/* B0D094 80095EF4 AFA300A4 */ sw $v1, 0xa4($sp)
/* B0D098 80095EF8 AFA9006C */ sw $t1, 0x6c($sp)
/* B0D09C 80095EFC AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0D0A0 80095F00 AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0D0A4 80095F04 AFAC04BC */ sw $t4, 0x4bc($sp)
/* B0D0A8 80095F08 0C0007FC */ jal __assert
/* B0D0AC 80095F0C AFAD002C */ sw $t5, 0x2c($sp)
/* B0D0B0 80095F10 8FAC04BC */ lw $t4, 0x4bc($sp)
/* B0D0B4 80095F14 8FA300A4 */ lw $v1, 0xa4($sp)
/* B0D0B8 80095F18 8FA9006C */ lw $t1, 0x6c($sp)
/* B0D0BC 80095F1C 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0D0C0 80095F20 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0D0C4 80095F24 8FAD002C */ lw $t5, 0x2c($sp)
/* B0D0C8 80095F28 91840001 */ lbu $a0, 1($t4)
.L80095F2C:
/* B0D0CC 80095F2C AFB00078 */ sw $s0, 0x78($sp)
/* B0D0D0 80095F30 18800061 */ blez $a0, .L800960B8
/* B0D0D4 80095F34 00004025 */ move $t0, $zero
/* B0D0D8 80095F38 8FA404C0 */ lw $a0, 0x4c0($sp)
/* B0D0DC 80095F3C 3C010001 */ lui $at, (0x00011D60 >> 16) # lui $at, 1
/* B0D0E0 80095F40 34211D60 */ ori $at, (0x00011D60 & 0xFFFF) # ori $at, $at, 0x1d60
/* B0D0E4 80095F44 00812021 */ addu $a0, $a0, $at
/* B0D0E8 80095F48 AFA40028 */ sw $a0, 0x28($sp)
/* B0D0EC 80095F4C 860F0000 */ lh $t7, ($s0)
.L80095F50:
/* B0D0F0 80095F50 8FA40028 */ lw $a0, 0x28($sp)
/* B0D0F4 80095F54 27A50090 */ addiu $a1, $sp, 0x90
/* B0D0F8 80095F58 448F2000 */ mtc1 $t7, $f4
/* B0D0FC 80095F5C 27A60084 */ addiu $a2, $sp, 0x84
/* B0D100 80095F60 27A70080 */ addiu $a3, $sp, 0x80
/* B0D104 80095F64 468021A0 */ cvt.s.w $f6, $f4
/* B0D108 80095F68 E7A60090 */ swc1 $f6, 0x90($sp)
/* B0D10C 80095F6C 86180002 */ lh $t8, 2($s0)
/* B0D110 80095F70 44984000 */ mtc1 $t8, $f8
/* B0D114 80095F74 00000000 */ nop
/* B0D118 80095F78 468042A0 */ cvt.s.w $f10, $f8
/* B0D11C 80095F7C E7AA0094 */ swc1 $f10, 0x94($sp)
/* B0D120 80095F80 86190004 */ lh $t9, 4($s0)
/* B0D124 80095F84 AFAD002C */ sw $t5, 0x2c($sp)
/* B0D128 80095F88 AFAC04BC */ sw $t4, 0x4bc($sp)
/* B0D12C 80095F8C 44998000 */ mtc1 $t9, $f16
/* B0D130 80095F90 AFAB00B0 */ sw $t3, 0xb0($sp)
/* B0D134 80095F94 AFAA00B4 */ sw $t2, 0xb4($sp)
/* B0D138 80095F98 468084A0 */ cvt.s.w $f18, $f16
/* B0D13C 80095F9C AFA9006C */ sw $t1, 0x6c($sp)
/* B0D140 80095FA0 AFA8009C */ sw $t0, 0x9c($sp)
/* B0D144 80095FA4 AFA300A4 */ sw $v1, 0xa4($sp)
/* B0D148 80095FA8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* B0D14C 80095FAC E7B20098 */ swc1 $f18, 0x98($sp)
/* B0D150 80095FB0 860E0006 */ lh $t6, 6($s0)
/* B0D154 80095FB4 C7A8008C */ lwc1 $f8, 0x8c($sp)
/* B0D158 80095FB8 8FA300A4 */ lw $v1, 0xa4($sp)
/* B0D15C 80095FBC 448E2000 */ mtc1 $t6, $f4
/* B0D160 80095FC0 8FA8009C */ lw $t0, 0x9c($sp)
/* B0D164 80095FC4 8FA9006C */ lw $t1, 0x6c($sp)
/* B0D168 80095FC8 46802020 */ cvt.s.w $f0, $f4
/* B0D16C 80095FCC 8FAA00B4 */ lw $t2, 0xb4($sp)
/* B0D170 80095FD0 8FAB00B0 */ lw $t3, 0xb0($sp)
/* B0D174 80095FD4 8FAC04BC */ lw $t4, 0x4bc($sp)
/* B0D178 80095FD8 8FAD002C */ lw $t5, 0x2c($sp)
/* B0D17C 80095FDC 8FAF04C0 */ lw $t7, 0x4c0($sp)
/* B0D180 80095FE0 46000187 */ neg.s $f6, $f0
/* B0D184 80095FE4 4608303C */ c.lt.s $f6, $f8
/* B0D188 80095FE8 00000000 */ nop
/* B0D18C 80095FEC 4502002D */ bc1fl .L800960A4
/* B0D190 80095FF0 91840001 */ lbu $a0, 1($t4)
/* B0D194 80095FF4 85F807B4 */ lh $t8, 0x7b4($t7)
/* B0D198 80095FF8 46004081 */ sub.s $f2, $f8, $f0
/* B0D19C 80095FFC 01401025 */ move $v0, $t2
/* B0D1A0 80096000 44985000 */ mtc1 $t8, $f10
/* B0D1A4 80096004 00000000 */ nop
/* B0D1A8 80096008 46805420 */ cvt.s.w $f16, $f10
/* B0D1AC 8009600C 4610103C */ c.lt.s $f2, $f16
/* B0D1B0 80096010 00000000 */ nop
/* B0D1B4 80096014 45020023 */ bc1fl .L800960A4
/* B0D1B8 80096018 91840001 */ lbu $a0, 1($t4)
/* B0D1BC 8009601C AC700000 */ sw $s0, ($v1)
/* B0D1C0 80096020 15400006 */ bnez $t2, .L8009603C
/* B0D1C4 80096024 E4620004 */ swc1 $f2, 4($v1)
/* B0D1C8 80096028 00605825 */ move $t3, $v1
/* B0D1CC 8009602C 00605025 */ move $t2, $v1
/* B0D1D0 80096030 AC60000C */ sw $zero, 0xc($v1)
/* B0D1D4 80096034 10000019 */ b .L8009609C
/* B0D1D8 80096038 AC600008 */ sw $zero, 8($v1)
.L8009603C:
/* B0D1DC 8009603C C4600004 */ lwc1 $f0, 4($v1)
/* B0D1E0 80096040 C4520004 */ lwc1 $f18, 4($v0)
.L80096044:
/* B0D1E4 80096044 4612003C */ c.lt.s $f0, $f18
/* B0D1E8 80096048 00000000 */ nop
/* B0D1EC 8009604C 45010004 */ bc1t .L80096060
/* B0D1F0 80096050 00000000 */ nop
/* B0D1F4 80096054 8C42000C */ lw $v0, 0xc($v0)
/* B0D1F8 80096058 5440FFFA */ bnezl $v0, .L80096044
/* B0D1FC 8009605C C4520004 */ lwc1 $f18, 4($v0)
.L80096060:
/* B0D200 80096060 54400007 */ bnezl $v0, .L80096080
/* B0D204 80096064 8C440008 */ lw $a0, 8($v0)
/* B0D208 80096068 AC6B0008 */ sw $t3, 8($v1)
/* B0D20C 8009606C AC60000C */ sw $zero, 0xc($v1)
/* B0D210 80096070 AD63000C */ sw $v1, 0xc($t3)
/* B0D214 80096074 10000009 */ b .L8009609C
/* B0D218 80096078 00605825 */ move $t3, $v1
/* B0D21C 8009607C 8C440008 */ lw $a0, 8($v0)
.L80096080:
/* B0D220 80096080 14800003 */ bnez $a0, .L80096090
/* B0D224 80096084 AC640008 */ sw $a0, 8($v1)
/* B0D228 80096088 10000002 */ b .L80096094
/* B0D22C 8009608C 00605025 */ move $t2, $v1
.L80096090:
/* B0D230 80096090 AC83000C */ sw $v1, 0xc($a0)
.L80096094:
/* B0D234 80096094 AC430008 */ sw $v1, 8($v0)
/* B0D238 80096098 AC62000C */ sw $v0, 0xc($v1)
.L8009609C:
/* B0D23C 8009609C 24630010 */ addiu $v1, $v1, 0x10
/* B0D240 800960A0 91840001 */ lbu $a0, 1($t4)
.L800960A4:
/* B0D244 800960A4 25080001 */ addiu $t0, $t0, 1
/* B0D248 800960A8 26100010 */ addiu $s0, $s0, 0x10
/* B0D24C 800960AC 0104082A */ slt $at, $t0, $a0
/* B0D250 800960B0 5420FFA7 */ bnezl $at, .L80095F50
/* B0D254 800960B4 860F0000 */ lh $t7, ($s0)
.L800960B8:
/* B0D258 800960B8 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* B0D25C 800960BC 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B0D260 800960C0 24080001 */ li $t0, 1
/* B0D264 800960C4 1140004C */ beqz $t2, .L800961F8
/* B0D268 800960C8 A7240D82 */ sh $a0, 0xd82($t9)
/* B0D26C 800960CC 241F0002 */ li $ra, 2
/* B0D270 800960D0 240B0001 */ li $t3, 1
/* B0D274 800960D4 3C07DE00 */ lui $a3, 0xde00
.L800960D8:
/* B0D278 800960D8 3C058016 */ lui $a1, %hi(gGameInfo) # $a1, 0x8016
/* B0D27C 800960DC 8CA5FA90 */ lw $a1, %lo(gGameInfo)($a1)
/* B0D280 800960E0 8D500000 */ lw $s0, ($t2)
/* B0D284 800960E4 84A60D80 */ lh $a2, 0xd80($a1)
/* B0D288 800960E8 10C0002B */ beqz $a2, .L80096198
/* B0D28C 800960EC 00000000 */ nop
/* B0D290 800960F0 91840001 */ lbu $a0, 1($t4)
/* B0D294 800960F4 8FA20078 */ lw $v0, 0x78($sp)
/* B0D298 800960F8 00001825 */ move $v1, $zero
/* B0D29C 800960FC 18800006 */ blez $a0, .L80096118
/* B0D2A0 80096100 00000000 */ nop
.L80096104:
/* B0D2A4 80096104 12020004 */ beq $s0, $v0, .L80096118
/* B0D2A8 80096108 24630001 */ addiu $v1, $v1, 1
/* B0D2AC 8009610C 0064082A */ slt $at, $v1, $a0
/* B0D2B0 80096110 1420FFFC */ bnez $at, .L80096104
/* B0D2B4 80096114 24420010 */ addiu $v0, $v0, 0x10
.L80096118:
/* B0D2B8 80096118 15660005 */ bne $t3, $a2, .L80096130
/* B0D2BC 8009611C 00000000 */ nop
/* B0D2C0 80096120 84AE0D86 */ lh $t6, 0xd86($a1)
/* B0D2C4 80096124 01C8082A */ slt $at, $t6, $t0
/* B0D2C8 80096128 10200006 */ beqz $at, .L80096144
/* B0D2CC 8009612C 00000000 */ nop
.L80096130:
/* B0D2D0 80096130 57E6002E */ bnel $ra, $a2, .L800961EC
/* B0D2D4 80096134 8D4A000C */ lw $t2, 0xc($t2)
/* B0D2D8 80096138 84AF0D86 */ lh $t7, 0xd86($a1)
/* B0D2DC 8009613C 550F002B */ bnel $t0, $t7, .L800961EC
/* B0D2E0 80096140 8D4A000C */ lw $t2, 0xc($t2)
.L80096144:
/* B0D2E4 80096144 12200009 */ beqz $s1, .L8009616C
/* B0D2E8 80096148 00000000 */ nop
/* B0D2EC 8009614C 8E030008 */ lw $v1, 8($s0)
/* B0D2F0 80096150 10600006 */ beqz $v1, .L8009616C
/* B0D2F4 80096154 00000000 */ nop
/* B0D2F8 80096158 8D2202C0 */ lw $v0, 0x2c0($t1)
/* B0D2FC 8009615C 24580008 */ addiu $t8, $v0, 8
/* B0D300 80096160 AD3802C0 */ sw $t8, 0x2c0($t1)
/* B0D304 80096164 AC430004 */ sw $v1, 4($v0)
/* B0D308 80096168 AC470000 */ sw $a3, ($v0)
.L8009616C:
/* B0D30C 8009616C 51A0001F */ beql $t5, $zero, .L800961EC
/* B0D310 80096170 8D4A000C */ lw $t2, 0xc($t2)
/* B0D314 80096174 8E03000C */ lw $v1, 0xc($s0)
/* B0D318 80096178 5060001C */ beql $v1, $zero, .L800961EC
/* B0D31C 8009617C 8D4A000C */ lw $t2, 0xc($t2)
/* B0D320 80096180 8D2202D0 */ lw $v0, 0x2d0($t1)
/* B0D324 80096184 24590008 */ addiu $t9, $v0, 8
/* B0D328 80096188 AD3902D0 */ sw $t9, 0x2d0($t1)
/* B0D32C 8009618C AC430004 */ sw $v1, 4($v0)
/* B0D330 80096190 10000015 */ b .L800961E8
/* B0D334 80096194 AC470000 */ sw $a3, ($v0)
.L80096198:
/* B0D338 80096198 12200009 */ beqz $s1, .L800961C0
/* B0D33C 8009619C 00000000 */ nop
/* B0D340 800961A0 8E030008 */ lw $v1, 8($s0)
/* B0D344 800961A4 10600006 */ beqz $v1, .L800961C0
/* B0D348 800961A8 00000000 */ nop
/* B0D34C 800961AC 8D2202C0 */ lw $v0, 0x2c0($t1)
/* B0D350 800961B0 244E0008 */ addiu $t6, $v0, 8
/* B0D354 800961B4 AD2E02C0 */ sw $t6, 0x2c0($t1)
/* B0D358 800961B8 AC430004 */ sw $v1, 4($v0)
/* B0D35C 800961BC AC470000 */ sw $a3, ($v0)
.L800961C0:
/* B0D360 800961C0 51A0000A */ beql $t5, $zero, .L800961EC
/* B0D364 800961C4 8D4A000C */ lw $t2, 0xc($t2)
/* B0D368 800961C8 8E03000C */ lw $v1, 0xc($s0)
/* B0D36C 800961CC 50600007 */ beql $v1, $zero, .L800961EC
/* B0D370 800961D0 8D4A000C */ lw $t2, 0xc($t2)
/* B0D374 800961D4 8D2202D0 */ lw $v0, 0x2d0($t1)
/* B0D378 800961D8 244F0008 */ addiu $t7, $v0, 8
/* B0D37C 800961DC AD2F02D0 */ sw $t7, 0x2d0($t1)
/* B0D380 800961E0 AC430004 */ sw $v1, 4($v0)
/* B0D384 800961E4 AC470000 */ sw $a3, ($v0)
.L800961E8:
/* B0D388 800961E8 8D4A000C */ lw $t2, 0xc($t2)
.L800961EC:
/* B0D38C 800961EC 25080001 */ addiu $t0, $t0, 1
/* B0D390 800961F0 1540FFB9 */ bnez $t2, .L800960D8
/* B0D394 800961F4 00000000 */ nop
.L800961F8:
/* B0D398 800961F8 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* B0D39C 800961FC 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* B0D3A0 80096200 2518FFFF */ addiu $t8, $t0, -1
/* B0D3A4 80096204 3C068014 */ lui $a2, %hi(D_8013EF80) # $a2, 0x8014
/* B0D3A8 80096208 A7380D84 */ sh $t8, 0xd84($t9)
/* B0D3AC 8009620C 8FAE04C0 */ lw $t6, 0x4c0($sp)
/* B0D3B0 80096210 24C6EF80 */ addiu $a2, %lo(D_8013EF80) # addiu $a2, $a2, -0x1080
/* B0D3B4 80096214 27A4005C */ addiu $a0, $sp, 0x5c
/* B0D3B8 80096218 240701AE */ li $a3, 430
/* B0D3BC 8009621C 0C031AD5 */ jal Graph_CloseDisps
/* B0D3C0 80096220 8DC50000 */ lw $a1, ($t6)
/* B0D3C4 80096224 8FBF001C */ lw $ra, 0x1c($sp)
/* B0D3C8 80096228 8FB00014 */ lw $s0, 0x14($sp)
/* B0D3CC 8009622C 8FB10018 */ lw $s1, 0x18($sp)
/* B0D3D0 80096230 03E00008 */ jr $ra
/* B0D3D4 80096234 27BD04C0 */ addiu $sp, $sp, 0x4c0

View File

@ -1,227 +0,0 @@
.rdata
glabel D_8013F120
.asciz "ROOM%d size=%d\n"
.balign 4
glabel D_8013F130
.asciz "../z_room.c"
.balign 4
glabel D_8013F13C
.asciz "game_play->room_rom_address.num = %d\n"
.balign 4
glabel D_8013F164
.asciz "DOOR%d=<%d> ROOM1=<%d, %d> ROOM2=<%d, %d>\n"
.balign 4
glabel D_8013F190
.asciz "\x1b[33m"
.balign 4
glabel D_8013F198
.asciz "=%08x(%5.1fK)\n"
.balign 4
glabel D_8013F1BC
.asciz "../z_room.c"
.balign 4
glabel D_8013F1C8
.asciz "=%08x\n"
.balign 4
glabel D_8013F1E8
.asciz "=%08x\n"
.balign 4
glabel D_8013F208
.asciz "\x1b[m"
.balign 4
.text
glabel func_80096FE8
/* B0E188 80096FE8 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B0E18C 80096FEC AFB50038 */ sw $s5, 0x38($sp)
/* B0E190 80096FF0 3C010001 */ lui $at, 1
/* B0E194 80096FF4 AFBF003C */ sw $ra, 0x3c($sp)
/* B0E198 80096FF8 AFB40034 */ sw $s4, 0x34($sp)
/* B0E19C 80096FFC AFB30030 */ sw $s3, 0x30($sp)
/* B0E1A0 80097000 AFB2002C */ sw $s2, 0x2c($sp)
/* B0E1A4 80097004 AFB10028 */ sw $s1, 0x28($sp)
/* B0E1A8 80097008 AFB00024 */ sw $s0, 0x24($sp)
/* B0E1AC 8009700C AFA40040 */ sw $a0, 0x40($sp)
/* B0E1B0 80097010 AFA50044 */ sw $a1, 0x44($sp)
/* B0E1B4 80097014 0081A821 */ addu $s5, $a0, $at
/* B0E1B8 80097018 92AE1DEC */ lbu $t6, 0x1dec($s5)
/* B0E1BC 8009701C 00009825 */ move $s3, $zero
/* B0E1C0 80097020 8EA21DF0 */ lw $v0, 0x1df0($s5)
/* B0E1C4 80097024 19C00014 */ blez $t6, .L80097078
/* B0E1C8 80097028 00009025 */ move $s2, $zero
/* B0E1CC 8009702C 00408025 */ move $s0, $v0
/* B0E1D0 80097030 8E0F0004 */ lw $t7, 4($s0)
.L80097034:
/* B0E1D4 80097034 8E180000 */ lw $t8, ($s0)
/* B0E1D8 80097038 3C048014 */ lui $a0, %hi(D_8013F120) # $a0, 0x8014
/* B0E1DC 8009703C 2484F120 */ addiu $a0, %lo(D_8013F120) # addiu $a0, $a0, -0xee0
/* B0E1E0 80097040 01F88823 */ subu $s1, $t7, $t8
/* B0E1E4 80097044 02203025 */ move $a2, $s1
/* B0E1E8 80097048 0C00084C */ jal osSyncPrintf
/* B0E1EC 8009704C 02402825 */ move $a1, $s2
/* B0E1F0 80097050 0271082B */ sltu $at, $s3, $s1
/* B0E1F4 80097054 50200003 */ beql $at, $zero, .L80097064
/* B0E1F8 80097058 92B91DEC */ lbu $t9, 0x1dec($s5)
/* B0E1FC 8009705C 02209825 */ move $s3, $s1
/* B0E200 80097060 92B91DEC */ lbu $t9, 0x1dec($s5)
.L80097064:
/* B0E204 80097064 26520001 */ addiu $s2, $s2, 1
/* B0E208 80097068 26100008 */ addiu $s0, $s0, 8
/* B0E20C 8009706C 0259082A */ slt $at, $s2, $t9
/* B0E210 80097070 5420FFF0 */ bnezl $at, .L80097034
/* B0E214 80097074 8E0F0004 */ lw $t7, 4($s0)
.L80097078:
/* B0E218 80097078 92AA1D34 */ lbu $t2, 0x1d34($s5)
/* B0E21C 8009707C 3C048014 */ lui $a0, %hi(D_8013F130) # $a0, 0x8014
/* B0E220 80097080 2484F130 */ addiu $a0, %lo(D_8013F130) # addiu $a0, $a0, -0xed0
/* B0E224 80097084 11400034 */ beqz $t2, .L80097158
/* B0E228 80097088 24050390 */ li $a1, 912
/* B0E22C 8009708C 8EB41DF0 */ lw $s4, 0x1df0($s5)
/* B0E230 80097090 0C000B84 */ jal LogUtils_LogThreadId
/* B0E234 80097094 8EB21D38 */ lw $s2, 0x1d38($s5)
/* B0E238 80097098 3C048014 */ lui $a0, %hi(D_8013F13C) # $a0, 0x8014
/* B0E23C 8009709C 2484F13C */ addiu $a0, %lo(D_8013F13C) # addiu $a0, $a0, -0xec4
/* B0E240 800970A0 0C00084C */ jal osSyncPrintf
/* B0E244 800970A4 92A51DEC */ lbu $a1, 0x1dec($s5)
/* B0E248 800970A8 92AB1D34 */ lbu $t3, 0x1d34($s5)
/* B0E24C 800970AC 00008825 */ move $s1, $zero
/* B0E250 800970B0 19600029 */ blez $t3, .L80097158
/* B0E254 800970B4 00000000 */ nop
/* B0E258 800970B8 82470000 */ lb $a3, ($s2)
.L800970BC:
/* B0E25C 800970BC 3C048014 */ lui $a0, %hi(D_8013F164) # $a0, 0x8014
/* B0E260 800970C0 82490002 */ lb $t1, 2($s2)
/* B0E264 800970C4 04E10003 */ bgez $a3, .L800970D4
/* B0E268 800970C8 2484F164 */ addiu $a0, %lo(D_8013F164) # addiu $a0, $a0, -0xe9c
/* B0E26C 800970CC 10000006 */ b .L800970E8
/* B0E270 800970D0 00001825 */ move $v1, $zero
.L800970D4:
/* B0E274 800970D4 000760C0 */ sll $t4, $a3, 3
/* B0E278 800970D8 028C1021 */ addu $v0, $s4, $t4
/* B0E27C 800970DC 8C4D0004 */ lw $t5, 4($v0)
/* B0E280 800970E0 8C4E0000 */ lw $t6, ($v0)
/* B0E284 800970E4 01AE1823 */ subu $v1, $t5, $t6
.L800970E8:
/* B0E288 800970E8 05210003 */ bgez $t1, .L800970F8
/* B0E28C 800970EC 02202825 */ move $a1, $s1
/* B0E290 800970F0 10000006 */ b .L8009710C
/* B0E294 800970F4 00004025 */ move $t0, $zero
.L800970F8:
/* B0E298 800970F8 000978C0 */ sll $t7, $t1, 3
/* B0E29C 800970FC 028F1021 */ addu $v0, $s4, $t7
/* B0E2A0 80097100 8C580004 */ lw $t8, 4($v0)
/* B0E2A4 80097104 8C590000 */ lw $t9, ($v0)
/* B0E2A8 80097108 03194023 */ subu $t0, $t8, $t9
.L8009710C:
/* B0E2AC 8009710C 10E90003 */ beq $a3, $t1, .L8009711C
/* B0E2B0 80097110 00608025 */ move $s0, $v1
/* B0E2B4 80097114 10000001 */ b .L8009711C
/* B0E2B8 80097118 00688021 */ addu $s0, $v1, $t0
.L8009711C:
/* B0E2BC 8009711C 02003025 */ move $a2, $s0
/* B0E2C0 80097120 AFA30010 */ sw $v1, 0x10($sp)
/* B0E2C4 80097124 AFA90014 */ sw $t1, 0x14($sp)
/* B0E2C8 80097128 0C00084C */ jal osSyncPrintf
/* B0E2CC 8009712C AFA80018 */ sw $t0, 0x18($sp)
/* B0E2D0 80097130 0270082B */ sltu $at, $s3, $s0
/* B0E2D4 80097134 50200003 */ beql $at, $zero, .L80097144
/* B0E2D8 80097138 92AA1D34 */ lbu $t2, 0x1d34($s5)
/* B0E2DC 8009713C 02009825 */ move $s3, $s0
/* B0E2E0 80097140 92AA1D34 */ lbu $t2, 0x1d34($s5)
.L80097144:
/* B0E2E4 80097144 26310001 */ addiu $s1, $s1, 1
/* B0E2E8 80097148 26520010 */ addiu $s2, $s2, 0x10
/* B0E2EC 8009714C 022A082A */ slt $at, $s1, $t2
/* B0E2F0 80097150 5420FFDA */ bnezl $at, .L800970BC
/* B0E2F4 80097154 82470000 */ lb $a3, ($s2)
.L80097158:
/* B0E2F8 80097158 3C048014 */ lui $a0, %hi(D_8013F190)
/* B0E2FC 8009715C 0C00084C */ jal osSyncPrintf
/* B0E300 80097160 2484F190 */ addiu $a0, %lo(D_8013F190) # addiu $a0, $a0, -0xe70
/* B0E304 80097164 44932000 */ mtc1 $s3, $f4
/* B0E308 80097168 3C048014 */ lui $a0, %hi(D_8013F198) # $a0, 0x8014
/* B0E30C 8009716C 2484F198 */ addiu $a0, %lo(D_8013F198) # addiu $a0, $a0, -0xe68
/* B0E310 80097170 02602825 */ move $a1, $s3
/* B0E314 80097174 06610005 */ bgez $s3, .L8009718C
/* B0E318 80097178 468021A0 */ cvt.s.w $f6, $f4
/* B0E31C 8009717C 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B0E320 80097180 44814000 */ mtc1 $at, $f8
/* B0E324 80097184 00000000 */ nop
/* B0E328 80097188 46083180 */ add.s $f6, $f6, $f8
.L8009718C:
/* B0E32C 8009718C 3C013A80 */ li $at, 0x3A800000 # 0.000000
/* B0E330 80097190 44815000 */ mtc1 $at, $f10
/* B0E334 80097194 00000000 */ nop
/* B0E338 80097198 460A3402 */ mul.s $f16, $f6, $f10
/* B0E33C 8009719C 460084A1 */ cvt.d.s $f18, $f16
/* B0E340 800971A0 44079000 */ mfc1 $a3, $f18
/* B0E344 800971A4 44069800 */ mfc1 $a2, $f19
/* B0E348 800971A8 0C00084C */ jal osSyncPrintf
/* B0E34C 800971AC 00000000 */ nop
/* B0E350 800971B0 3C068014 */ lui $a2, %hi(D_8013F1BC) # $a2, 0x8014
/* B0E354 800971B4 24C6F1BC */ addiu $a2, %lo(D_8013F1BC) # addiu $a2, $a2, -0xe44
/* B0E358 800971B8 8FA40040 */ lw $a0, 0x40($sp)
/* B0E35C 800971BC 02602825 */ move $a1, $s3
/* B0E360 800971C0 0C031521 */ jal GameState_Alloc
/* B0E364 800971C4 240703B2 */ li $a3, 946
/* B0E368 800971C8 8FAB0044 */ lw $t3, 0x44($sp)
/* B0E36C 800971CC 3C048014 */ lui $a0, %hi(D_8013F1C8) # $a0, 0x8014
/* B0E370 800971D0 2484F1C8 */ addiu $a0, %lo(D_8013F1C8) # addiu $a0, $a0, -0xe38
/* B0E374 800971D4 00402825 */ move $a1, $v0
/* B0E378 800971D8 0C00084C */ jal osSyncPrintf
/* B0E37C 800971DC AD620028 */ sw $v0, 0x28($t3)
/* B0E380 800971E0 8FAC0044 */ lw $t4, 0x44($sp)
/* B0E384 800971E4 3C048014 */ lui $a0, %hi(D_8013F1E8) # $a0, 0x8014
/* B0E388 800971E8 2484F1E8 */ addiu $a0, %lo(D_8013F1E8) # addiu $a0, $a0, -0xe18
/* B0E38C 800971EC 8D8D0028 */ lw $t5, 0x28($t4)
/* B0E390 800971F0 01B32821 */ addu $a1, $t5, $s3
/* B0E394 800971F4 0C00084C */ jal osSyncPrintf
/* B0E398 800971F8 AD85002C */ sw $a1, 0x2c($t4)
/* B0E39C 800971FC 3C048014 */ lui $a0, %hi(D_8013F208) # $a0, 0x8014
/* B0E3A0 80097200 0C00084C */ jal osSyncPrintf
/* B0E3A4 80097204 2484F208 */ addiu $a0, %lo(D_8013F208) # addiu $a0, $a0, -0xdf8
/* B0E3A8 80097208 8FAE0044 */ lw $t6, 0x44($sp)
/* B0E3AC 8009720C 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B0E3B0 80097210 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B0E3B4 80097214 A1C00030 */ sb $zero, 0x30($t6)
/* B0E3B8 80097218 8FAF0044 */ lw $t7, 0x44($sp)
/* B0E3BC 8009721C A1E00031 */ sb $zero, 0x31($t7)
/* B0E3C0 80097220 8C621364 */ lw $v0, 0x1364($v1)
/* B0E3C4 80097224 18400006 */ blez $v0, .L80097240
/* B0E3C8 80097228 0002C0C0 */ sll $t8, $v0, 3
/* B0E3CC 8009722C 0302C023 */ subu $t8, $t8, $v0
/* B0E3D0 80097230 0018C080 */ sll $t8, $t8, 2
/* B0E3D4 80097234 0078C821 */ addu $t9, $v1, $t8
/* B0E3D8 80097238 10000006 */ b .L80097254
/* B0E3DC 8009723C 9327135E */ lbu $a3, 0x135e($t9)
.L80097240:
/* B0E3E0 80097240 92AB1DEA */ lbu $t3, 0x1dea($s5)
/* B0E3E4 80097244 8EAA1E00 */ lw $t2, 0x1e00($s5)
/* B0E3E8 80097248 000B6840 */ sll $t5, $t3, 1
/* B0E3EC 8009724C 014D6021 */ addu $t4, $t2, $t5
/* B0E3F0 80097250 91870001 */ lbu $a3, 1($t4)
.L80097254:
/* B0E3F4 80097254 8FA40040 */ lw $a0, 0x40($sp)
/* B0E3F8 80097258 8FA50044 */ lw $a1, 0x44($sp)
/* B0E3FC 8009725C 0C025CA3 */ jal func_8009728C
/* B0E400 80097260 00E03025 */ move $a2, $a3
/* B0E404 80097264 8FBF003C */ lw $ra, 0x3c($sp)
/* B0E408 80097268 02601025 */ move $v0, $s3
/* B0E40C 8009726C 8FB30030 */ lw $s3, 0x30($sp)
/* B0E410 80097270 8FB00024 */ lw $s0, 0x24($sp)
/* B0E414 80097274 8FB10028 */ lw $s1, 0x28($sp)
/* B0E418 80097278 8FB2002C */ lw $s2, 0x2c($sp)
/* B0E41C 8009727C 8FB40034 */ lw $s4, 0x34($sp)
/* B0E420 80097280 8FB50038 */ lw $s5, 0x38($sp)
/* B0E424 80097284 03E00008 */ jr $ra
/* B0E428 80097288 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -80,8 +80,6 @@ typedef struct struct_80095D04 {
} struct_80095D04; // size = 0x10
// Room Draw Polygon Type 2
#ifdef NON_MATCHING
// Saved register problems and ordering issues, but definitely equivalent.
void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
PolygonType2* polygon2;
PolygonDlist2* polygonDlist;
@ -89,14 +87,14 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
struct_80095D04* spB4 = NULL;
struct_80095D04* spB0 = NULL;
struct_80095D04* phi_v0;
struct_80095D04* phi_a0;
s32 pad;
struct_80095D04* spA4;
s32 phi_v1;
s32 sp9C;
Vec3f sp90;
Vec3f sp84;
f32 sp80;
PolygonDlist2* phi_s0;
s32 pad2;
PolygonDlist2* sp78;
PolygonDlist2* temp;
f32 temp_f2;
@ -109,7 +107,6 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
gSPMatrix(POLY_OPA_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
}
if (1) {}
if (1) {}
if (flags & 2) {
func_8003435C(&D_801270A0, globalCtx);
gSPSegment(POLY_XLU_DISP++, 0x03, room->segment);
@ -167,30 +164,30 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
}
}
iREG(87) = polygon2->num;
iREG(87) = polygon2->num & 0xFFFF & 0xFFFF & 0xFFFF; // if this is real then I might not be
for (sp9C = 1; spB4 != NULL; spB4 = spB4->unk_0C, sp9C++) {
Gfx* temp2;
phi_s0 = spB4->unk_00;
polygonDlist = spB4->unk_00;
if (iREG(86) != 0) {
temp = sp78;
for (phi_v1 = 0; phi_v1 < polygon2->num; phi_v1++, temp++) {
if (phi_s0 == temp) {
if (polygonDlist == temp) {
break; // This loop does nothing?
}
}
if (((iREG(86) == 1) && (iREG(89) >= sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) {
if (flags & 1) {
temp2 = phi_s0->opa;
temp2 = polygonDlist->opa;
if (temp2 != NULL) {
gSPDisplayList(POLY_OPA_DISP++, temp2);
}
}
if (flags & 2) {
temp2 = phi_s0->xlu;
temp2 = polygonDlist->xlu;
if (temp2 != NULL) {
gSPDisplayList(POLY_XLU_DISP++, temp2);
}
@ -198,14 +195,14 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
}
} else {
if (flags & 1) {
temp2 = phi_s0->opa;
temp2 = polygonDlist->opa;
if (temp2 != NULL) {
gSPDisplayList(POLY_OPA_DISP++, temp2);
}
}
if (flags & 2) {
temp2 = phi_s0->xlu;
temp2 = polygonDlist->xlu;
if (temp2 != NULL) {
gSPDisplayList(POLY_XLU_DISP++, temp2);
}
@ -217,9 +214,6 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 430);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_80095D04.s")
#endif
#define JPEG_MARKER 0xFFD8FFE0
@ -485,14 +479,17 @@ void func_80096FD4(GlobalContext* globalCtx, Room* room) {
room->segment = NULL;
}
#ifdef NON_MATCHING
// regalloc differences near the end
u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
u8 nextRoomNum;
u32 maxRoomSize = 0;
RomFile* roomList = globalCtx->roomList;
u32 roomSize;
s32 i;
s32 j;
s32 frontRoom;
s32 backRoom;
u32 frontRoomSize;
u32 backRoomSize;
u32 cumulRoomSize;
for (i = 0; i < globalCtx->numRooms; i++) {
roomSize = roomList[i].vromEnd - roomList[i].vromStart;
@ -503,18 +500,17 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
}
if (globalCtx->transiActorCtx.numActors != 0) {
s32 j;
RomFile* roomList = globalCtx->roomList;
TransitionActorEntry* transitionActor = &globalCtx->transiActorCtx.list[0];
LOG_NUM("game_play->room_rom_address.num", globalCtx->numRooms, "../z_room.c", 912);
for (j = 0; j < globalCtx->transiActorCtx.numActors; j++) {
s8 frontRoom = transitionActor->sides[0].room;
s8 backRoom = transitionActor->sides[1].room;
u32 frontRoomSize = (frontRoom < 0) ? 0 : roomList[frontRoom].vromEnd - roomList[frontRoom].vromStart;
u32 backRoomSize = (backRoom < 0) ? 0 : roomList[backRoom].vromEnd - roomList[backRoom].vromStart;
u32 cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize;
frontRoom = transitionActor->sides[0].room;
backRoom = transitionActor->sides[1].room;
frontRoomSize = (frontRoom < 0) ? 0 : roomList[frontRoom].vromEnd - roomList[frontRoom].vromStart;
backRoomSize = (backRoom < 0) ? 0 : roomList[backRoom].vromEnd - roomList[backRoom].vromStart;
cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize;
osSyncPrintf("DOOR%d=<%d> ROOM1=<%d, %d> ROOM2=<%d, %d>\n", j, cumulRoomSize, frontRoom, frontRoomSize,
backRoom, backRoomSize);
@ -538,15 +534,12 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
roomCtx->unk_30 = 0;
roomCtx->status = 0;
nextRoomNum = (gSaveContext.respawnFlag - 1 >= 0) ? gSaveContext.respawn[gSaveContext.respawnFlag - 1].roomIndex
: globalCtx->setupEntranceList[globalCtx->curSpawn].room;
func_8009728C(globalCtx, roomCtx, nextRoomNum);
frontRoom = gSaveContext.respawnFlag > 0 ? ((void)0, gSaveContext.respawn[gSaveContext.respawnFlag - 1].roomIndex)
: globalCtx->setupEntranceList[globalCtx->curSpawn].room;
func_8009728C(globalCtx, roomCtx, frontRoom);
return maxRoomSize;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_80096FE8.s")
#endif
s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum) {
u32 size;