diff --git a/asm/non_matchings/code_80040E50/func_80041EF4.s b/asm/non_matchings/code_80040E50/func_80041EF4.s deleted file mode 100644 index bc5cdea12..000000000 --- a/asm/non_matchings/code_80040E50/func_80041EF4.s +++ /dev/null @@ -1,277 +0,0 @@ -glabel func_80041EF4 -/* 042AF4 80041EF4 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015 -/* 042AF8 80041EF8 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298 -/* 042AFC 80041EFC 8CA30000 */ lw $v1, ($a1) -/* 042B00 80041F00 3C0FBA00 */ lui $t7, (0xBA001301 >> 16) # lui $t7, 0xba00 -/* 042B04 80041F04 35EF1301 */ ori $t7, (0xBA001301 & 0xFFFF) # ori $t7, $t7, 0x1301 -/* 042B08 80041F08 246E0008 */ addiu $t6, $v1, 8 -/* 042B0C 80041F0C ACAE0000 */ sw $t6, ($a1) -/* 042B10 80041F10 3C180008 */ lui $t8, 8 -/* 042B14 80041F14 AC780004 */ sw $t8, 4($v1) -/* 042B18 80041F18 AC6F0000 */ sw $t7, ($v1) -/* 042B1C 80041F1C 8CA30000 */ lw $v1, ($a1) -/* 042B20 80041F20 3C080103 */ lui $t0, (0x01030040 >> 16) # lui $t0, 0x103 -/* 042B24 80041F24 35080040 */ ori $t0, (0x01030040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042B28 80041F28 24790008 */ addiu $t9, $v1, 8 -/* 042B2C 80041F2C ACB90000 */ sw $t9, ($a1) -/* 042B30 80041F30 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042B34 80041F34 AC680000 */ sw $t0, ($v1) -/* 042B38 80041F38 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042B3C 80041F3C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042B40 80041F40 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042B44 80041F44 252A0140 */ addiu $t2, $t1, 0x140 -/* 042B48 80041F48 01415824 */ and $t3, $t2, $at -/* 042B4C 80041F4C 03E00008 */ jr $ra -/* 042B50 80041F50 AC6B0004 */ sw $t3, 4($v1) - -/* 042B54 80041F54 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 042B58 80041F58 00A03025 */ move $a2, $a1 -/* 042B5C 80041F5C 00802825 */ move $a1, $a0 -/* 042B60 80041F60 AFBF0014 */ sw $ra, 0x14($sp) -/* 042B64 80041F64 AFA40060 */ sw $a0, 0x60($sp) -/* 042B68 80041F68 0C01069E */ jal func_80041A78 -/* 042B6C 80041F6C 27A40020 */ addiu $a0, $sp, 0x20 -/* 042B70 80041F70 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042B74 80041F74 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042B78 80041F78 8CCF0000 */ lw $t7, ($a2) -/* 042B7C 80041F7C 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 042B80 80041F80 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 042B84 80041F84 000FC180 */ sll $t8, $t7, 6 -/* 042B88 80041F88 27A50020 */ addiu $a1, $sp, 0x20 -/* 042B8C 80041F8C 01D82021 */ addu $a0, $t6, $t8 -/* 042B90 80041F90 0C008860 */ jal func_80022180 -/* 042B94 80041F94 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042B98 80041F98 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 042B9C 80041F9C 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 042BA0 80041FA0 8C830000 */ lw $v1, ($a0) -/* 042BA4 80041FA4 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 042BA8 80041FA8 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042BAC 80041FAC 24790008 */ addiu $t9, $v1, 8 -/* 042BB0 80041FB0 AC990000 */ sw $t9, ($a0) -/* 042BB4 80041FB4 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042BB8 80041FB8 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042BBC 80041FBC AC680000 */ sw $t0, ($v1) -/* 042BC0 80041FC0 8CCA0000 */ lw $t2, ($a2) -/* 042BC4 80041FC4 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042BC8 80041FC8 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042BCC 80041FCC 000A5980 */ sll $t3, $t2, 6 -/* 042BD0 80041FD0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042BD4 80041FD4 012B6021 */ addu $t4, $t1, $t3 -/* 042BD8 80041FD8 258D02C0 */ addiu $t5, $t4, 0x2c0 -/* 042BDC 80041FDC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042BE0 80041FE0 01A17824 */ and $t7, $t5, $at -/* 042BE4 80041FE4 AC6F0004 */ sw $t7, 4($v1) -/* 042BE8 80041FE8 8CCE0000 */ lw $t6, ($a2) -/* 042BEC 80041FEC 8FBF0014 */ lw $ra, 0x14($sp) -/* 042BF0 80041FF0 27BD0060 */ addiu $sp, $sp, 0x60 -/* 042BF4 80041FF4 25D80001 */ addiu $t8, $t6, 1 -/* 042BF8 80041FF8 03E00008 */ jr $ra -/* 042BFC 80041FFC ACD80000 */ sw $t8, ($a2) - -/* 042C00 80042000 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 042C04 80042004 AFBF0014 */ sw $ra, 0x14($sp) -/* 042C08 80042008 AFA40060 */ sw $a0, 0x60($sp) -/* 042C0C 8004200C 3085FFFF */ andi $a1, $a0, 0xffff -/* 042C10 80042010 0C0106B6 */ jal func_80041AD8 -/* 042C14 80042014 27A40020 */ addiu $a0, $sp, 0x20 -/* 042C18 80042018 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042C1C 8004201C 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042C20 80042020 8CCF0000 */ lw $t7, ($a2) -/* 042C24 80042024 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 042C28 80042028 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 042C2C 8004202C 000FC180 */ sll $t8, $t7, 6 -/* 042C30 80042030 27A50020 */ addiu $a1, $sp, 0x20 -/* 042C34 80042034 01D82021 */ addu $a0, $t6, $t8 -/* 042C38 80042038 0C008860 */ jal func_80022180 -/* 042C3C 8004203C 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042C40 80042040 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 042C44 80042044 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 042C48 80042048 8C830000 */ lw $v1, ($a0) -/* 042C4C 8004204C 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 042C50 80042050 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042C54 80042054 24790008 */ addiu $t9, $v1, 8 -/* 042C58 80042058 AC990000 */ sw $t9, ($a0) -/* 042C5C 8004205C 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042C60 80042060 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042C64 80042064 AC680000 */ sw $t0, ($v1) -/* 042C68 80042068 8CCA0000 */ lw $t2, ($a2) -/* 042C6C 8004206C 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042C70 80042070 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042C74 80042074 000A5980 */ sll $t3, $t2, 6 -/* 042C78 80042078 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042C7C 8004207C 012B6021 */ addu $t4, $t1, $t3 -/* 042C80 80042080 258D02C0 */ addiu $t5, $t4, 0x2c0 -/* 042C84 80042084 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042C88 80042088 01A17824 */ and $t7, $t5, $at -/* 042C8C 8004208C AC6F0004 */ sw $t7, 4($v1) -/* 042C90 80042090 8CCE0000 */ lw $t6, ($a2) -/* 042C94 80042094 8FBF0014 */ lw $ra, 0x14($sp) -/* 042C98 80042098 27BD0060 */ addiu $sp, $sp, 0x60 -/* 042C9C 8004209C 25D80001 */ addiu $t8, $t6, 1 -/* 042CA0 800420A0 03E00008 */ jr $ra -/* 042CA4 800420A4 ACD80000 */ sw $t8, ($a2) - -/* 042CA8 800420A8 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 042CAC 800420AC AFBF0014 */ sw $ra, 0x14($sp) -/* 042CB0 800420B0 44056000 */ mfc1 $a1, $f12 -/* 042CB4 800420B4 0C0106DA */ jal func_80041B68 -/* 042CB8 800420B8 27A40020 */ addiu $a0, $sp, 0x20 -/* 042CBC 800420BC 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042CC0 800420C0 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042CC4 800420C4 8CCF0000 */ lw $t7, ($a2) -/* 042CC8 800420C8 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 042CCC 800420CC 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 042CD0 800420D0 000FC180 */ sll $t8, $t7, 6 -/* 042CD4 800420D4 27A50020 */ addiu $a1, $sp, 0x20 -/* 042CD8 800420D8 01D82021 */ addu $a0, $t6, $t8 -/* 042CDC 800420DC 0C008860 */ jal func_80022180 -/* 042CE0 800420E0 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042CE4 800420E4 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 042CE8 800420E8 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 042CEC 800420EC 8C830000 */ lw $v1, ($a0) -/* 042CF0 800420F0 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 042CF4 800420F4 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042CF8 800420F8 24790008 */ addiu $t9, $v1, 8 -/* 042CFC 800420FC AC990000 */ sw $t9, ($a0) -/* 042D00 80042100 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042D04 80042104 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042D08 80042108 AC680000 */ sw $t0, ($v1) -/* 042D0C 8004210C 8CCA0000 */ lw $t2, ($a2) -/* 042D10 80042110 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042D14 80042114 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042D18 80042118 000A5980 */ sll $t3, $t2, 6 -/* 042D1C 8004211C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042D20 80042120 012B6021 */ addu $t4, $t1, $t3 -/* 042D24 80042124 258D02C0 */ addiu $t5, $t4, 0x2c0 -/* 042D28 80042128 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042D2C 8004212C 01A17824 */ and $t7, $t5, $at -/* 042D30 80042130 AC6F0004 */ sw $t7, 4($v1) -/* 042D34 80042134 8CCE0000 */ lw $t6, ($a2) -/* 042D38 80042138 8FBF0014 */ lw $ra, 0x14($sp) -/* 042D3C 8004213C 27BD0060 */ addiu $sp, $sp, 0x60 -/* 042D40 80042140 25D80001 */ addiu $t8, $t6, 1 -/* 042D44 80042144 03E00008 */ jr $ra -/* 042D48 80042148 ACD80000 */ sw $t8, ($a2) - -/* 042D4C 8004214C 44856000 */ mtc1 $a1, $f12 -/* 042D50 80042150 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 042D54 80042154 AFBF0014 */ sw $ra, 0x14($sp) -/* 042D58 80042158 AFA40060 */ sw $a0, 0x60($sp) -/* 042D5C 8004215C 44066000 */ mfc1 $a2, $f12 -/* 042D60 80042160 97A50062 */ lhu $a1, 0x62($sp) -/* 042D64 80042164 0C0106EF */ jal func_80041BBC -/* 042D68 80042168 27A40020 */ addiu $a0, $sp, 0x20 -/* 042D6C 8004216C 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042D70 80042170 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042D74 80042174 8CCF0000 */ lw $t7, ($a2) -/* 042D78 80042178 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 042D7C 8004217C 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 042D80 80042180 000FC180 */ sll $t8, $t7, 6 -/* 042D84 80042184 27A50020 */ addiu $a1, $sp, 0x20 -/* 042D88 80042188 01D82021 */ addu $a0, $t6, $t8 -/* 042D8C 8004218C 0C008860 */ jal func_80022180 -/* 042D90 80042190 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042D94 80042194 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 042D98 80042198 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 042D9C 8004219C 8C830000 */ lw $v1, ($a0) -/* 042DA0 800421A0 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 042DA4 800421A4 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 -/* 042DA8 800421A8 24790008 */ addiu $t9, $v1, 8 -/* 042DAC 800421AC AC990000 */ sw $t9, ($a0) -/* 042DB0 800421B0 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042DB4 800421B4 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 -/* 042DB8 800421B8 AC680000 */ sw $t0, ($v1) -/* 042DBC 800421BC 8CCA0000 */ lw $t2, ($a2) -/* 042DC0 800421C0 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042DC4 800421C4 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042DC8 800421C8 000A5980 */ sll $t3, $t2, 6 -/* 042DCC 800421CC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042DD0 800421D0 012B6021 */ addu $t4, $t1, $t3 -/* 042DD4 800421D4 258D02C0 */ addiu $t5, $t4, 0x2c0 -/* 042DD8 800421D8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042DDC 800421DC 01A17824 */ and $t7, $t5, $at -/* 042DE0 800421E0 AC6F0004 */ sw $t7, 4($v1) -/* 042DE4 800421E4 8CCE0000 */ lw $t6, ($a2) -/* 042DE8 800421E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 042DEC 800421EC 27BD0060 */ addiu $sp, $sp, 0x60 -/* 042DF0 800421F0 25D80001 */ addiu $t8, $t6, 1 -/* 042DF4 800421F4 03E00008 */ jr $ra -/* 042DF8 800421F8 ACD80000 */ sw $t8, ($a2) - -/* 042DFC 800421FC 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 042E00 80042200 AFA50074 */ sw $a1, 0x74($sp) -/* 042E04 80042204 00802825 */ move $a1, $a0 -/* 042E08 80042208 AFBF001C */ sw $ra, 0x1c($sp) -/* 042E0C 8004220C AFA40070 */ sw $a0, 0x70($sp) -/* 042E10 80042210 AFA60078 */ sw $a2, 0x78($sp) -/* 042E14 80042214 8FA60074 */ lw $a2, 0x74($sp) -/* 042E18 80042218 AFB00018 */ sw $s0, 0x18($sp) -/* 042E1C 8004221C 0C01069E */ jal func_80041A78 -/* 042E20 80042220 27A40030 */ addiu $a0, $sp, 0x30 -/* 042E24 80042224 3C108019 */ lui $s0, %hi(D_8018D120) # $s0, 0x8019 -/* 042E28 80042228 2610D120 */ addiu $s0, %lo(D_8018D120) # addiu $s0, $s0, -0x2ee0 -/* 042E2C 8004222C 8E0F0000 */ lw $t7, ($s0) -/* 042E30 80042230 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 042E34 80042234 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 042E38 80042238 000FC180 */ sll $t8, $t7, 6 -/* 042E3C 8004223C 27A50030 */ addiu $a1, $sp, 0x30 -/* 042E40 80042240 01D82021 */ addu $a0, $t6, $t8 -/* 042E44 80042244 0C008860 */ jal func_80022180 -/* 042E48 80042248 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042E4C 8004224C 3C068015 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8015 -/* 042E50 80042250 24C60298 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, 0x298 -/* 042E54 80042254 8CC30000 */ lw $v1, ($a2) -/* 042E58 80042258 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 -/* 042E5C 8004225C 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 -/* 042E60 80042260 24790008 */ addiu $t9, $v1, 8 -/* 042E64 80042264 ACD90000 */ sw $t9, ($a2) -/* 042E68 80042268 AC680000 */ sw $t0, ($v1) -/* 042E6C 8004226C 8E0A0000 */ lw $t2, ($s0) -/* 042E70 80042270 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 042E74 80042274 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 042E78 80042278 000A5980 */ sll $t3, $t2, 6 -/* 042E7C 8004227C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042E80 80042280 012B6021 */ addu $t4, $t1, $t3 -/* 042E84 80042284 258D02C0 */ addiu $t5, $t4, 0x2c0 -/* 042E88 80042288 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042E8C 8004228C 01A17824 */ and $t7, $t5, $at -/* 042E90 80042290 AC6F0004 */ sw $t7, 4($v1) -/* 042E94 80042294 8E0E0000 */ lw $t6, ($s0) -/* 042E98 80042298 8FA50078 */ lw $a1, 0x78($sp) -/* 042E9C 8004229C 27A40030 */ addiu $a0, $sp, 0x30 -/* 042EA0 800422A0 25D80001 */ addiu $t8, $t6, 1 -/* 042EA4 800422A4 0C0106DA */ jal func_80041B68 -/* 042EA8 800422A8 AE180000 */ sw $t8, ($s0) -/* 042EAC 800422AC 8E080000 */ lw $t0, ($s0) -/* 042EB0 800422B0 3C198015 */ lui $t9, %hi(gGfxPool) # $t9, 0x8015 -/* 042EB4 800422B4 8F39EF40 */ lw $t9, %lo(gGfxPool)($t9) -/* 042EB8 800422B8 00085180 */ sll $t2, $t0, 6 -/* 042EBC 800422BC 27A50030 */ addiu $a1, $sp, 0x30 -/* 042EC0 800422C0 032A2021 */ addu $a0, $t9, $t2 -/* 042EC4 800422C4 0C008860 */ jal func_80022180 -/* 042EC8 800422C8 248402C0 */ addiu $a0, $a0, 0x2c0 -/* 042ECC 800422CC 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 042ED0 800422D0 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 -/* 042ED4 800422D4 8C830000 */ lw $v1, ($a0) -/* 042ED8 800422D8 3C0B0100 */ lui $t3, (0x01000040 >> 16) # lui $t3, 0x100 -/* 042EDC 800422DC 356B0040 */ ori $t3, (0x01000040 & 0xFFFF) # ori $t3, $t3, 0x40 -/* 042EE0 800422E0 24690008 */ addiu $t1, $v1, 8 -/* 042EE4 800422E4 AC890000 */ sw $t1, ($a0) -/* 042EE8 800422E8 AC6B0000 */ sw $t3, ($v1) -/* 042EEC 800422EC 8E0D0000 */ lw $t5, ($s0) -/* 042EF0 800422F0 3C0C8015 */ lui $t4, %hi(gGfxPool) # $t4, 0x8015 -/* 042EF4 800422F4 8D8CEF40 */ lw $t4, %lo(gGfxPool)($t4) -/* 042EF8 800422F8 000D7980 */ sll $t7, $t5, 6 -/* 042EFC 800422FC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 042F00 80042300 018F7021 */ addu $t6, $t4, $t7 -/* 042F04 80042304 25D802C0 */ addiu $t8, $t6, 0x2c0 -/* 042F08 80042308 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 042F0C 8004230C 03014024 */ and $t0, $t8, $at -/* 042F10 80042310 AC680004 */ sw $t0, 4($v1) -/* 042F14 80042314 8E190000 */ lw $t9, ($s0) -/* 042F18 80042318 8FBF001C */ lw $ra, 0x1c($sp) -/* 042F1C 8004231C 272A0001 */ addiu $t2, $t9, 1 -/* 042F20 80042320 AE0A0000 */ sw $t2, ($s0) -/* 042F24 80042324 8FB00018 */ lw $s0, 0x18($sp) -/* 042F28 80042328 03E00008 */ jr $ra -/* 042F2C 8004232C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/code_80040E50/func_80041F54.s b/asm/non_matchings/code_80040E50/func_80041F54.s new file mode 100644 index 000000000..7f435ac84 --- /dev/null +++ b/asm/non_matchings/code_80040E50/func_80041F54.s @@ -0,0 +1,44 @@ +glabel func_80041F54 +/* 042B54 80041F54 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 042B58 80041F58 00A03025 */ move $a2, $a1 +/* 042B5C 80041F5C 00802825 */ move $a1, $a0 +/* 042B60 80041F60 AFBF0014 */ sw $ra, 0x14($sp) +/* 042B64 80041F64 AFA40060 */ sw $a0, 0x60($sp) +/* 042B68 80041F68 0C01069E */ jal func_80041A78 +/* 042B6C 80041F6C 27A40020 */ addiu $a0, $sp, 0x20 +/* 042B70 80041F70 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042B74 80041F74 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042B78 80041F78 8CCF0000 */ lw $t7, ($a2) +/* 042B7C 80041F7C 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 +/* 042B80 80041F80 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) +/* 042B84 80041F84 000FC180 */ sll $t8, $t7, 6 +/* 042B88 80041F88 27A50020 */ addiu $a1, $sp, 0x20 +/* 042B8C 80041F8C 01D82021 */ addu $a0, $t6, $t8 +/* 042B90 80041F90 0C008860 */ jal func_80022180 +/* 042B94 80041F94 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042B98 80041F98 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 +/* 042B9C 80041F9C 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 +/* 042BA0 80041FA0 8C830000 */ lw $v1, ($a0) +/* 042BA4 80041FA4 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 +/* 042BA8 80041FA8 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042BAC 80041FAC 24790008 */ addiu $t9, $v1, 8 +/* 042BB0 80041FB0 AC990000 */ sw $t9, ($a0) +/* 042BB4 80041FB4 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 +/* 042BB8 80041FB8 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042BBC 80041FBC AC680000 */ sw $t0, ($v1) +/* 042BC0 80041FC0 8CCA0000 */ lw $t2, ($a2) +/* 042BC4 80041FC4 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 +/* 042BC8 80041FC8 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) +/* 042BCC 80041FCC 000A5980 */ sll $t3, $t2, 6 +/* 042BD0 80041FD0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042BD4 80041FD4 012B6021 */ addu $t4, $t1, $t3 +/* 042BD8 80041FD8 258D02C0 */ addiu $t5, $t4, 0x2c0 +/* 042BDC 80041FDC 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042BE0 80041FE0 01A17824 */ and $t7, $t5, $at +/* 042BE4 80041FE4 AC6F0004 */ sw $t7, 4($v1) +/* 042BE8 80041FE8 8CCE0000 */ lw $t6, ($a2) +/* 042BEC 80041FEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 042BF0 80041FF0 27BD0060 */ addiu $sp, $sp, 0x60 +/* 042BF4 80041FF4 25D80001 */ addiu $t8, $t6, 1 +/* 042BF8 80041FF8 03E00008 */ jr $ra +/* 042BFC 80041FFC ACD80000 */ sw $t8, ($a2) diff --git a/asm/non_matchings/code_80040E50/func_80042000.s b/asm/non_matchings/code_80040E50/func_80042000.s new file mode 100644 index 000000000..d72e35cc3 --- /dev/null +++ b/asm/non_matchings/code_80040E50/func_80042000.s @@ -0,0 +1,43 @@ +glabel func_80042000 +/* 042C00 80042000 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 042C04 80042004 AFBF0014 */ sw $ra, 0x14($sp) +/* 042C08 80042008 AFA40060 */ sw $a0, 0x60($sp) +/* 042C0C 8004200C 3085FFFF */ andi $a1, $a0, 0xffff +/* 042C10 80042010 0C0106B6 */ jal func_80041AD8 +/* 042C14 80042014 27A40020 */ addiu $a0, $sp, 0x20 +/* 042C18 80042018 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042C1C 8004201C 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042C20 80042020 8CCF0000 */ lw $t7, ($a2) +/* 042C24 80042024 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 +/* 042C28 80042028 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) +/* 042C2C 8004202C 000FC180 */ sll $t8, $t7, 6 +/* 042C30 80042030 27A50020 */ addiu $a1, $sp, 0x20 +/* 042C34 80042034 01D82021 */ addu $a0, $t6, $t8 +/* 042C38 80042038 0C008860 */ jal func_80022180 +/* 042C3C 8004203C 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042C40 80042040 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 +/* 042C44 80042044 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 +/* 042C48 80042048 8C830000 */ lw $v1, ($a0) +/* 042C4C 8004204C 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 +/* 042C50 80042050 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042C54 80042054 24790008 */ addiu $t9, $v1, 8 +/* 042C58 80042058 AC990000 */ sw $t9, ($a0) +/* 042C5C 8004205C 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 +/* 042C60 80042060 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042C64 80042064 AC680000 */ sw $t0, ($v1) +/* 042C68 80042068 8CCA0000 */ lw $t2, ($a2) +/* 042C6C 8004206C 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 +/* 042C70 80042070 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) +/* 042C74 80042074 000A5980 */ sll $t3, $t2, 6 +/* 042C78 80042078 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042C7C 8004207C 012B6021 */ addu $t4, $t1, $t3 +/* 042C80 80042080 258D02C0 */ addiu $t5, $t4, 0x2c0 +/* 042C84 80042084 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042C88 80042088 01A17824 */ and $t7, $t5, $at +/* 042C8C 8004208C AC6F0004 */ sw $t7, 4($v1) +/* 042C90 80042090 8CCE0000 */ lw $t6, ($a2) +/* 042C94 80042094 8FBF0014 */ lw $ra, 0x14($sp) +/* 042C98 80042098 27BD0060 */ addiu $sp, $sp, 0x60 +/* 042C9C 8004209C 25D80001 */ addiu $t8, $t6, 1 +/* 042CA0 800420A0 03E00008 */ jr $ra +/* 042CA4 800420A4 ACD80000 */ sw $t8, ($a2) diff --git a/asm/non_matchings/code_80040E50/func_800420A8.s b/asm/non_matchings/code_80040E50/func_800420A8.s new file mode 100644 index 000000000..c1257af02 --- /dev/null +++ b/asm/non_matchings/code_80040E50/func_800420A8.s @@ -0,0 +1,42 @@ +glabel func_800420A8 +/* 042CA8 800420A8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 042CAC 800420AC AFBF0014 */ sw $ra, 0x14($sp) +/* 042CB0 800420B0 44056000 */ mfc1 $a1, $f12 +/* 042CB4 800420B4 0C0106DA */ jal func_80041B68 +/* 042CB8 800420B8 27A40020 */ addiu $a0, $sp, 0x20 +/* 042CBC 800420BC 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042CC0 800420C0 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042CC4 800420C4 8CCF0000 */ lw $t7, ($a2) +/* 042CC8 800420C8 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 +/* 042CCC 800420CC 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) +/* 042CD0 800420D0 000FC180 */ sll $t8, $t7, 6 +/* 042CD4 800420D4 27A50020 */ addiu $a1, $sp, 0x20 +/* 042CD8 800420D8 01D82021 */ addu $a0, $t6, $t8 +/* 042CDC 800420DC 0C008860 */ jal func_80022180 +/* 042CE0 800420E0 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042CE4 800420E4 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 +/* 042CE8 800420E8 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 +/* 042CEC 800420EC 8C830000 */ lw $v1, ($a0) +/* 042CF0 800420F0 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 +/* 042CF4 800420F4 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042CF8 800420F8 24790008 */ addiu $t9, $v1, 8 +/* 042CFC 800420FC AC990000 */ sw $t9, ($a0) +/* 042D00 80042100 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 +/* 042D04 80042104 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042D08 80042108 AC680000 */ sw $t0, ($v1) +/* 042D0C 8004210C 8CCA0000 */ lw $t2, ($a2) +/* 042D10 80042110 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 +/* 042D14 80042114 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) +/* 042D18 80042118 000A5980 */ sll $t3, $t2, 6 +/* 042D1C 8004211C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042D20 80042120 012B6021 */ addu $t4, $t1, $t3 +/* 042D24 80042124 258D02C0 */ addiu $t5, $t4, 0x2c0 +/* 042D28 80042128 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042D2C 8004212C 01A17824 */ and $t7, $t5, $at +/* 042D30 80042130 AC6F0004 */ sw $t7, 4($v1) +/* 042D34 80042134 8CCE0000 */ lw $t6, ($a2) +/* 042D38 80042138 8FBF0014 */ lw $ra, 0x14($sp) +/* 042D3C 8004213C 27BD0060 */ addiu $sp, $sp, 0x60 +/* 042D40 80042140 25D80001 */ addiu $t8, $t6, 1 +/* 042D44 80042144 03E00008 */ jr $ra +/* 042D48 80042148 ACD80000 */ sw $t8, ($a2) diff --git a/asm/non_matchings/code_80040E50/func_8004214C.s b/asm/non_matchings/code_80040E50/func_8004214C.s new file mode 100644 index 000000000..75cda0440 --- /dev/null +++ b/asm/non_matchings/code_80040E50/func_8004214C.s @@ -0,0 +1,45 @@ +glabel func_8004214C +/* 042D4C 8004214C 44856000 */ mtc1 $a1, $f12 +/* 042D50 80042150 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 042D54 80042154 AFBF0014 */ sw $ra, 0x14($sp) +/* 042D58 80042158 AFA40060 */ sw $a0, 0x60($sp) +/* 042D5C 8004215C 44066000 */ mfc1 $a2, $f12 +/* 042D60 80042160 97A50062 */ lhu $a1, 0x62($sp) +/* 042D64 80042164 0C0106EF */ jal func_80041BBC +/* 042D68 80042168 27A40020 */ addiu $a0, $sp, 0x20 +/* 042D6C 8004216C 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042D70 80042170 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042D74 80042174 8CCF0000 */ lw $t7, ($a2) +/* 042D78 80042178 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 +/* 042D7C 8004217C 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) +/* 042D80 80042180 000FC180 */ sll $t8, $t7, 6 +/* 042D84 80042184 27A50020 */ addiu $a1, $sp, 0x20 +/* 042D88 80042188 01D82021 */ addu $a0, $t6, $t8 +/* 042D8C 8004218C 0C008860 */ jal func_80022180 +/* 042D90 80042190 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042D94 80042194 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 +/* 042D98 80042198 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 +/* 042D9C 8004219C 8C830000 */ lw $v1, ($a0) +/* 042DA0 800421A0 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 +/* 042DA4 800421A4 3C068019 */ lui $a2, %hi(D_8018D120) # $a2, 0x8019 +/* 042DA8 800421A8 24790008 */ addiu $t9, $v1, 8 +/* 042DAC 800421AC AC990000 */ sw $t9, ($a0) +/* 042DB0 800421B0 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 +/* 042DB4 800421B4 24C6D120 */ addiu $a2, %lo(D_8018D120) # addiu $a2, $a2, -0x2ee0 +/* 042DB8 800421B8 AC680000 */ sw $t0, ($v1) +/* 042DBC 800421BC 8CCA0000 */ lw $t2, ($a2) +/* 042DC0 800421C0 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 +/* 042DC4 800421C4 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) +/* 042DC8 800421C8 000A5980 */ sll $t3, $t2, 6 +/* 042DCC 800421CC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042DD0 800421D0 012B6021 */ addu $t4, $t1, $t3 +/* 042DD4 800421D4 258D02C0 */ addiu $t5, $t4, 0x2c0 +/* 042DD8 800421D8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042DDC 800421DC 01A17824 */ and $t7, $t5, $at +/* 042DE0 800421E0 AC6F0004 */ sw $t7, 4($v1) +/* 042DE4 800421E4 8CCE0000 */ lw $t6, ($a2) +/* 042DE8 800421E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 042DEC 800421EC 27BD0060 */ addiu $sp, $sp, 0x60 +/* 042DF0 800421F0 25D80001 */ addiu $t8, $t6, 1 +/* 042DF4 800421F4 03E00008 */ jr $ra +/* 042DF8 800421F8 ACD80000 */ sw $t8, ($a2) diff --git a/asm/non_matchings/code_80040E50/func_800421FC.s b/asm/non_matchings/code_80040E50/func_800421FC.s new file mode 100644 index 000000000..b57951f40 --- /dev/null +++ b/asm/non_matchings/code_80040E50/func_800421FC.s @@ -0,0 +1,78 @@ +glabel func_800421FC +/* 042DFC 800421FC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 042E00 80042200 AFA50074 */ sw $a1, 0x74($sp) +/* 042E04 80042204 00802825 */ move $a1, $a0 +/* 042E08 80042208 AFBF001C */ sw $ra, 0x1c($sp) +/* 042E0C 8004220C AFA40070 */ sw $a0, 0x70($sp) +/* 042E10 80042210 AFA60078 */ sw $a2, 0x78($sp) +/* 042E14 80042214 8FA60074 */ lw $a2, 0x74($sp) +/* 042E18 80042218 AFB00018 */ sw $s0, 0x18($sp) +/* 042E1C 8004221C 0C01069E */ jal func_80041A78 +/* 042E20 80042220 27A40030 */ addiu $a0, $sp, 0x30 +/* 042E24 80042224 3C108019 */ lui $s0, %hi(D_8018D120) # $s0, 0x8019 +/* 042E28 80042228 2610D120 */ addiu $s0, %lo(D_8018D120) # addiu $s0, $s0, -0x2ee0 +/* 042E2C 8004222C 8E0F0000 */ lw $t7, ($s0) +/* 042E30 80042230 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 +/* 042E34 80042234 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) +/* 042E38 80042238 000FC180 */ sll $t8, $t7, 6 +/* 042E3C 8004223C 27A50030 */ addiu $a1, $sp, 0x30 +/* 042E40 80042240 01D82021 */ addu $a0, $t6, $t8 +/* 042E44 80042244 0C008860 */ jal func_80022180 +/* 042E48 80042248 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042E4C 8004224C 3C068015 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8015 +/* 042E50 80042250 24C60298 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, 0x298 +/* 042E54 80042254 8CC30000 */ lw $v1, ($a2) +/* 042E58 80042258 3C080102 */ lui $t0, (0x01020040 >> 16) # lui $t0, 0x102 +/* 042E5C 8004225C 35080040 */ ori $t0, (0x01020040 & 0xFFFF) # ori $t0, $t0, 0x40 +/* 042E60 80042260 24790008 */ addiu $t9, $v1, 8 +/* 042E64 80042264 ACD90000 */ sw $t9, ($a2) +/* 042E68 80042268 AC680000 */ sw $t0, ($v1) +/* 042E6C 8004226C 8E0A0000 */ lw $t2, ($s0) +/* 042E70 80042270 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 +/* 042E74 80042274 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) +/* 042E78 80042278 000A5980 */ sll $t3, $t2, 6 +/* 042E7C 8004227C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042E80 80042280 012B6021 */ addu $t4, $t1, $t3 +/* 042E84 80042284 258D02C0 */ addiu $t5, $t4, 0x2c0 +/* 042E88 80042288 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042E8C 8004228C 01A17824 */ and $t7, $t5, $at +/* 042E90 80042290 AC6F0004 */ sw $t7, 4($v1) +/* 042E94 80042294 8E0E0000 */ lw $t6, ($s0) +/* 042E98 80042298 8FA50078 */ lw $a1, 0x78($sp) +/* 042E9C 8004229C 27A40030 */ addiu $a0, $sp, 0x30 +/* 042EA0 800422A0 25D80001 */ addiu $t8, $t6, 1 +/* 042EA4 800422A4 0C0106DA */ jal func_80041B68 +/* 042EA8 800422A8 AE180000 */ sw $t8, ($s0) +/* 042EAC 800422AC 8E080000 */ lw $t0, ($s0) +/* 042EB0 800422B0 3C198015 */ lui $t9, %hi(gGfxPool) # $t9, 0x8015 +/* 042EB4 800422B4 8F39EF40 */ lw $t9, %lo(gGfxPool)($t9) +/* 042EB8 800422B8 00085180 */ sll $t2, $t0, 6 +/* 042EBC 800422BC 27A50030 */ addiu $a1, $sp, 0x30 +/* 042EC0 800422C0 032A2021 */ addu $a0, $t9, $t2 +/* 042EC4 800422C4 0C008860 */ jal func_80022180 +/* 042EC8 800422C8 248402C0 */ addiu $a0, $a0, 0x2c0 +/* 042ECC 800422CC 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 +/* 042ED0 800422D0 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298 +/* 042ED4 800422D4 8C830000 */ lw $v1, ($a0) +/* 042ED8 800422D8 3C0B0100 */ lui $t3, (0x01000040 >> 16) # lui $t3, 0x100 +/* 042EDC 800422DC 356B0040 */ ori $t3, (0x01000040 & 0xFFFF) # ori $t3, $t3, 0x40 +/* 042EE0 800422E0 24690008 */ addiu $t1, $v1, 8 +/* 042EE4 800422E4 AC890000 */ sw $t1, ($a0) +/* 042EE8 800422E8 AC6B0000 */ sw $t3, ($v1) +/* 042EEC 800422EC 8E0D0000 */ lw $t5, ($s0) +/* 042EF0 800422F0 3C0C8015 */ lui $t4, %hi(gGfxPool) # $t4, 0x8015 +/* 042EF4 800422F4 8D8CEF40 */ lw $t4, %lo(gGfxPool)($t4) +/* 042EF8 800422F8 000D7980 */ sll $t7, $t5, 6 +/* 042EFC 800422FC 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 042F00 80042300 018F7021 */ addu $t6, $t4, $t7 +/* 042F04 80042304 25D802C0 */ addiu $t8, $t6, 0x2c0 +/* 042F08 80042308 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 042F0C 8004230C 03014024 */ and $t0, $t8, $at +/* 042F10 80042310 AC680004 */ sw $t0, 4($v1) +/* 042F14 80042314 8E190000 */ lw $t9, ($s0) +/* 042F18 80042318 8FBF001C */ lw $ra, 0x1c($sp) +/* 042F1C 8004231C 272A0001 */ addiu $t2, $t9, 1 +/* 042F20 80042320 AE0A0000 */ sw $t2, ($s0) +/* 042F24 80042324 8FB00018 */ lw $s0, 0x18($sp) +/* 042F28 80042328 03E00008 */ jr $ra +/* 042F2C 8004232C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/code_80091750/func_80093C98.s b/asm/non_matchings/code_80091750/func_80093C98.s deleted file mode 100644 index 28bb5b928..000000000 --- a/asm/non_matchings/code_80091750/func_80093C98.s +++ /dev/null @@ -1,100 +0,0 @@ -glabel func_80093C98 -/* 094898 80093C98 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 09489C 80093C9C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 0948A0 80093CA0 8C620000 */ lw $v0, ($v1) -/* 0948A4 80093CA4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0948A8 80093CA8 AFB00028 */ sw $s0, 0x28($sp) -/* 0948AC 80093CAC 3C18802C */ lui $t8, %hi(D_802B8880) # $t8, 0x802c -/* 0948B0 80093CB0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 0948B4 80093CB4 244E0008 */ addiu $t6, $v0, 8 -/* 0948B8 80093CB8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0948BC 80093CBC AFA40030 */ sw $a0, 0x30($sp) -/* 0948C0 80093CC0 AC6E0000 */ sw $t6, ($v1) -/* 0948C4 80093CC4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0948C8 80093CC8 27188880 */ addiu $t8, %lo(D_802B8880) # addiu $t8, $t8, -0x7780 -/* 0948CC 80093CCC 3C0F0380 */ lui $t7, (0x03800010 >> 16) # lui $t7, 0x380 -/* 0948D0 80093CD0 3C108016 */ lui $s0, %hi(D_80164AF0) # $s0, 0x8016 -/* 0948D4 80093CD4 35EF0010 */ ori $t7, (0x03800010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 0948D8 80093CD8 0301C824 */ and $t9, $t8, $at -/* 0948DC 80093CDC 26104AF0 */ addiu $s0, %lo(D_80164AF0) # addiu $s0, $s0, 0x4af0 -/* 0948E0 80093CE0 AC590004 */ sw $t9, 4($v0) -/* 0948E4 80093CE4 AC4F0000 */ sw $t7, ($v0) -/* 0948E8 80093CE8 860A0000 */ lh $t2, ($s0) -/* 0948EC 80093CEC 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015 -/* 0948F0 80093CF0 8D29EF40 */ lw $t1, %lo(gGfxPool)($t1) -/* 0948F4 80093CF4 000A5980 */ sll $t3, $t2, 6 -/* 0948F8 80093CF8 3401FAC0 */ li $at, 64192 -/* 0948FC 80093CFC 012B2021 */ addu $a0, $t1, $t3 -/* 094900 80093D00 00812021 */ addu $a0, $a0, $at -/* 094904 80093D04 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 094908 80093D08 44812000 */ mtc1 $at, $f4 -/* 09490C 80093D0C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 094910 80093D10 44800000 */ mtc1 $zero, $f0 -/* 094914 80093D14 44813000 */ mtc1 $at, $f6 -/* 094918 80093D18 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09491C 80093D1C 44814000 */ mtc1 $at, $f8 -/* 094920 80093D20 3C06439F */ lui $a2, (0x439F8000 >> 16) # lui $a2, 0x439f -/* 094924 80093D24 44050000 */ mfc1 $a1, $f0 -/* 094928 80093D28 34C68000 */ ori $a2, (0x439F8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 09492C 80093D2C 3C07436F */ lui $a3, 0x436f -/* 094930 80093D30 E7A40014 */ swc1 $f4, 0x14($sp) -/* 094934 80093D34 E7A00010 */ swc1 $f0, 0x10($sp) -/* 094938 80093D38 E7A60018 */ swc1 $f6, 0x18($sp) -/* 09493C 80093D3C 0C0338A9 */ jal guOrtho -/* 094940 80093D40 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 094944 80093D44 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 094948 80093D48 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 09494C 80093D4C 8C620000 */ lw $v0, ($v1) -/* 094950 80093D50 3C0D0103 */ lui $t5, (0x01030040 >> 16) # lui $t5, 0x103 -/* 094954 80093D54 35AD0040 */ ori $t5, (0x01030040 & 0xFFFF) # ori $t5, $t5, 0x40 -/* 094958 80093D58 244C0008 */ addiu $t4, $v0, 8 -/* 09495C 80093D5C AC6C0000 */ sw $t4, ($v1) -/* 094960 80093D60 AC4D0000 */ sw $t5, ($v0) -/* 094964 80093D64 860F0000 */ lh $t7, ($s0) -/* 094968 80093D68 3C0E8015 */ lui $t6, %hi(gGfxPool) # $t6, 0x8015 -/* 09496C 80093D6C 8DCEEF40 */ lw $t6, %lo(gGfxPool)($t6) -/* 094970 80093D70 000FC180 */ sll $t8, $t7, 6 -/* 094974 80093D74 3401FAC0 */ li $at, 64192 -/* 094978 80093D78 01D8C821 */ addu $t9, $t6, $t8 -/* 09497C 80093D7C 03215021 */ addu $t2, $t9, $at -/* 094980 80093D80 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 094984 80093D84 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 094988 80093D88 01414824 */ and $t1, $t2, $at -/* 09498C 80093D8C AC490004 */ sw $t1, 4($v0) -/* 094990 80093D90 860B0000 */ lh $t3, ($s0) -/* 094994 80093D94 8C620000 */ lw $v0, ($v1) -/* 094998 80093D98 3C0E0200 */ lui $t6, %hi(D_02007F18) # $t6, 0x200 -/* 09499C 80093D9C 256C0001 */ addiu $t4, $t3, 1 -/* 0949A0 80093DA0 244D0008 */ addiu $t5, $v0, 8 -/* 0949A4 80093DA4 A60C0000 */ sh $t4, ($s0) -/* 0949A8 80093DA8 AC6D0000 */ sw $t5, ($v1) -/* 0949AC 80093DAC 25CE7F18 */ addiu $t6, %lo(D_02007F18) # addiu $t6, $t6, 0x7f18 -/* 0949B0 80093DB0 3C0F0600 */ lui $t7, 0x600 -/* 0949B4 80093DB4 AC4F0000 */ sw $t7, ($v0) -/* 0949B8 80093DB8 AC4E0004 */ sw $t6, 4($v0) -/* 0949BC 80093DBC 8C620000 */ lw $v0, ($v1) -/* 0949C0 80093DC0 3C0A0050 */ lui $t2, (0x005003C0 >> 16) # lui $t2, 0x50 -/* 0949C4 80093DC4 354A03C0 */ ori $t2, (0x005003C0 & 0xFFFF) # ori $t2, $t2, 0x3c0 -/* 0949C8 80093DC8 24580008 */ addiu $t8, $v0, 8 -/* 0949CC 80093DCC AC780000 */ sw $t8, ($v1) -/* 0949D0 80093DD0 3C19ED00 */ lui $t9, 0xed00 -/* 0949D4 80093DD4 AC590000 */ sw $t9, ($v0) -/* 0949D8 80093DD8 0C02A094 */ jal func_800A8250 -/* 0949DC 80093DDC AC4A0004 */ sw $t2, 4($v0) -/* 0949E0 80093DE0 8FA90030 */ lw $t1, 0x30($sp) -/* 0949E4 80093DE4 5520000A */ bnel $t1, $zero, .L80093E10 -/* 0949E8 80093DE8 8FBF002C */ lw $ra, 0x2c($sp) -/* 0949EC 80093DEC 0C02953B */ jal func_800A54EC -/* 0949F0 80093DF0 00000000 */ nop -/* 0949F4 80093DF4 0C02729B */ jal func_8009CA6C -/* 0949F8 80093DF8 24040004 */ li $a0, 4 -/* 0949FC 80093DFC 860B0000 */ lh $t3, ($s0) -/* 094A00 80093E00 3C018016 */ lui $at, %hi(D_80165754) # $at, 0x8016 -/* 094A04 80093E04 AC2B5754 */ sw $t3, %lo(D_80165754)($at) -/* 094A08 80093E08 A6000000 */ sh $zero, ($s0) -/* 094A0C 80093E0C 8FBF002C */ lw $ra, 0x2c($sp) -.L80093E10: -/* 094A10 80093E10 8FB00028 */ lw $s0, 0x28($sp) -/* 094A14 80093E14 27BD0030 */ addiu $sp, $sp, 0x30 -/* 094A18 80093E18 03E00008 */ jr $ra -/* 094A1C 80093E1C 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_80093F10.s b/asm/non_matchings/code_80091750/func_80093F10.s deleted file mode 100644 index 6d4a144c0..000000000 --- a/asm/non_matchings/code_80091750/func_80093F10.s +++ /dev/null @@ -1,120 +0,0 @@ -glabel func_80093F10 -/* 094B10 80093F10 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 094B14 80093F14 AFB00028 */ sw $s0, 0x28($sp) -/* 094B18 80093F18 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 094B1C 80093F1C 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 094B20 80093F20 8E020000 */ lw $v0, ($s0) -/* 094B24 80093F24 3C18802C */ lui $t8, %hi(D_802B8880) # $t8, 0x802c -/* 094B28 80093F28 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 094B2C 80093F2C 244E0008 */ addiu $t6, $v0, 8 -/* 094B30 80093F30 AFBF002C */ sw $ra, 0x2c($sp) -/* 094B34 80093F34 AE0E0000 */ sw $t6, ($s0) -/* 094B38 80093F38 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 094B3C 80093F3C 27188880 */ addiu $t8, %lo(D_802B8880) # addiu $t8, $t8, -0x7780 -/* 094B40 80093F40 3C0F0380 */ lui $t7, (0x03800010 >> 16) # lui $t7, 0x380 -/* 094B44 80093F44 35EF0010 */ ori $t7, (0x03800010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 094B48 80093F48 0301C824 */ and $t9, $t8, $at -/* 094B4C 80093F4C 3C0B8016 */ lui $t3, %hi(D_80164AF0) # $t3, 0x8016 -/* 094B50 80093F50 AC590004 */ sw $t9, 4($v0) -/* 094B54 80093F54 AC4F0000 */ sw $t7, ($v0) -/* 094B58 80093F58 856B4AF0 */ lh $t3, %lo(D_80164AF0)($t3) -/* 094B5C 80093F5C 3C0A8015 */ lui $t2, %hi(gGfxPool) # $t2, 0x8015 -/* 094B60 80093F60 8D4AEF40 */ lw $t2, %lo(gGfxPool)($t2) -/* 094B64 80093F64 000B6180 */ sll $t4, $t3, 6 -/* 094B68 80093F68 3401FAC0 */ li $at, 64192 -/* 094B6C 80093F6C 014C2021 */ addu $a0, $t2, $t4 -/* 094B70 80093F70 00812021 */ addu $a0, $a0, $at -/* 094B74 80093F74 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 094B78 80093F78 44812000 */ mtc1 $at, $f4 -/* 094B7C 80093F7C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 094B80 80093F80 44800000 */ mtc1 $zero, $f0 -/* 094B84 80093F84 44813000 */ mtc1 $at, $f6 -/* 094B88 80093F88 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 094B8C 80093F8C 44814000 */ mtc1 $at, $f8 -/* 094B90 80093F90 3C06439F */ lui $a2, (0x439F8000 >> 16) # lui $a2, 0x439f -/* 094B94 80093F94 44050000 */ mfc1 $a1, $f0 -/* 094B98 80093F98 34C68000 */ ori $a2, (0x439F8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 094B9C 80093F9C 3C07436F */ lui $a3, 0x436f -/* 094BA0 80093FA0 E7A40014 */ swc1 $f4, 0x14($sp) -/* 094BA4 80093FA4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 094BA8 80093FA8 E7A60018 */ swc1 $f6, 0x18($sp) -/* 094BAC 80093FAC 0C0338A9 */ jal guOrtho -/* 094BB0 80093FB0 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 094BB4 80093FB4 8E020000 */ lw $v0, ($s0) -/* 094BB8 80093FB8 3C0E0103 */ lui $t6, (0x01030040 >> 16) # lui $t6, 0x103 -/* 094BBC 80093FBC 3C098016 */ lui $t1, %hi(D_80164AF0) # $t1, 0x8016 -/* 094BC0 80093FC0 244D0008 */ addiu $t5, $v0, 8 -/* 094BC4 80093FC4 AE0D0000 */ sw $t5, ($s0) -/* 094BC8 80093FC8 35CE0040 */ ori $t6, (0x01030040 & 0xFFFF) # ori $t6, $t6, 0x40 -/* 094BCC 80093FCC 25294AF0 */ addiu $t1, %lo(D_80164AF0) # addiu $t1, $t1, 0x4af0 -/* 094BD0 80093FD0 AC4E0000 */ sw $t6, ($v0) -/* 094BD4 80093FD4 85380000 */ lh $t8, ($t1) -/* 094BD8 80093FD8 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015 -/* 094BDC 80093FDC 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7) -/* 094BE0 80093FE0 0018C980 */ sll $t9, $t8, 6 -/* 094BE4 80093FE4 3401FAC0 */ li $at, 64192 -/* 094BE8 80093FE8 01F95821 */ addu $t3, $t7, $t9 -/* 094BEC 80093FEC 01615021 */ addu $t2, $t3, $at -/* 094BF0 80093FF0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 094BF4 80093FF4 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 094BF8 80093FF8 01416024 */ and $t4, $t2, $at -/* 094BFC 80093FFC AC4C0004 */ sw $t4, 4($v0) -/* 094C00 80094000 852D0000 */ lh $t5, ($t1) -/* 094C04 80094004 8E020000 */ lw $v0, ($s0) -/* 094C08 80094008 3C190200 */ lui $t9, %hi(D_02007F18) # $t9, 0x200 -/* 094C0C 8009400C 25AE0001 */ addiu $t6, $t5, 1 -/* 094C10 80094010 24580008 */ addiu $t8, $v0, 8 -/* 094C14 80094014 A52E0000 */ sh $t6, ($t1) -/* 094C18 80094018 AE180000 */ sw $t8, ($s0) -/* 094C1C 8009401C 27397F18 */ addiu $t9, %lo(D_02007F18) # addiu $t9, $t9, 0x7f18 -/* 094C20 80094020 3C0F0600 */ lui $t7, 0x600 -/* 094C24 80094024 AC4F0000 */ sw $t7, ($v0) -/* 094C28 80094028 AC590004 */ sw $t9, 4($v0) -/* 094C2C 8009402C 8E020000 */ lw $v0, ($s0) -/* 094C30 80094030 3C0C0050 */ lui $t4, (0x005003C0 >> 16) # lui $t4, 0x50 -/* 094C34 80094034 358C03C0 */ ori $t4, (0x005003C0 & 0xFFFF) # ori $t4, $t4, 0x3c0 -/* 094C38 80094038 244B0008 */ addiu $t3, $v0, 8 -/* 094C3C 8009403C AE0B0000 */ sw $t3, ($s0) -/* 094C40 80094040 3C0AED00 */ lui $t2, 0xed00 -/* 094C44 80094044 3C058019 */ lui $a1, %hi(D_8018E850) # $a1, 0x8019 -/* 094C48 80094048 3C068019 */ lui $a2, %hi(D_8018E858) # $a2, 0x8019 -/* 094C4C 8009404C 24C6E858 */ addiu $a2, %lo(D_8018E858) # addiu $a2, $a2, -0x17a8 -/* 094C50 80094050 24A5E850 */ addiu $a1, %lo(D_8018E850) # addiu $a1, $a1, -0x17b0 -/* 094C54 80094054 24040004 */ li $a0, 4 -/* 094C58 80094058 AC4A0000 */ sw $t2, ($v0) -/* 094C5C 8009405C 0C0248A4 */ jal func_80092290 -/* 094C60 80094060 AC4C0004 */ sw $t4, 4($v0) -/* 094C64 80094064 3C058019 */ lui $a1, %hi(D_8018E854) # $a1, 0x8019 -/* 094C68 80094068 3C068019 */ lui $a2, %hi(D_8018E85C) # $a2, 0x8019 -/* 094C6C 8009406C 24C6E85C */ addiu $a2, %lo(D_8018E85C) # addiu $a2, $a2, -0x17a4 -/* 094C70 80094070 24A5E854 */ addiu $a1, %lo(D_8018E854) # addiu $a1, $a1, -0x17ac -/* 094C74 80094074 0C0248A4 */ jal func_80092290 -/* 094C78 80094078 24040005 */ li $a0, 5 -/* 094C7C 8009407C 0C027246 */ jal func_8009C918 -/* 094C80 80094080 00000000 */ nop -/* 094C84 80094084 0C02669C */ jal func_80099A70 -/* 094C88 80094088 00000000 */ nop -/* 094C8C 8009408C 0C026795 */ jal func_80099E54 -/* 094C90 80094090 00000000 */ nop -/* 094C94 80094094 0C02A08C */ jal func_800A8230 -/* 094C98 80094098 00000000 */ nop -/* 094C9C 8009409C 0C0266BB */ jal func_80099AEC -/* 094CA0 800940A0 00000000 */ nop -/* 094CA4 800940A4 0C0267B1 */ jal func_80099EC4 -/* 094CA8 800940A8 00000000 */ nop -/* 094CAC 800940AC 0C02728B */ jal func_8009CA2C -/* 094CB0 800940B0 00000000 */ nop -/* 094CB4 800940B4 8E020000 */ lw $v0, ($s0) -/* 094CB8 800940B8 3C180200 */ lui $t8, %hi(D_02007F48) # $t8, 0x200 -/* 094CBC 800940BC 27187F48 */ addiu $t8, %lo(D_02007F48) # addiu $t8, $t8, 0x7f48 -/* 094CC0 800940C0 244D0008 */ addiu $t5, $v0, 8 -/* 094CC4 800940C4 AE0D0000 */ sw $t5, ($s0) -/* 094CC8 800940C8 3C0E0600 */ lui $t6, 0x600 -/* 094CCC 800940CC AC4E0000 */ sw $t6, ($v0) -/* 094CD0 800940D0 AC580004 */ sw $t8, 4($v0) -/* 094CD4 800940D4 8FBF002C */ lw $ra, 0x2c($sp) -/* 094CD8 800940D8 3C018016 */ lui $at, %hi(D_80164AF0) # $at, 0x8016 -/* 094CDC 800940DC 8FB00028 */ lw $s0, 0x28($sp) -/* 094CE0 800940E0 A4204AF0 */ sh $zero, %lo(D_80164AF0)($at) -/* 094CE4 800940E4 03E00008 */ jr $ra -/* 094CE8 800940E8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_80091750/func_800940EC.s b/asm/non_matchings/code_80091750/func_800940EC.s deleted file mode 100644 index 1c071a03d..000000000 --- a/asm/non_matchings/code_80091750/func_800940EC.s +++ /dev/null @@ -1,122 +0,0 @@ -glabel func_800940EC -/* 094CEC 800940EC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 094CF0 800940F0 AFB00028 */ sw $s0, 0x28($sp) -/* 094CF4 800940F4 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 094CF8 800940F8 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 094CFC 800940FC 8E020000 */ lw $v0, ($s0) -/* 094D00 80094100 3C18802C */ lui $t8, %hi(D_802B8880) # $t8, 0x802c -/* 094D04 80094104 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 094D08 80094108 244E0008 */ addiu $t6, $v0, 8 -/* 094D0C 8009410C AFBF002C */ sw $ra, 0x2c($sp) -/* 094D10 80094110 AFA40030 */ sw $a0, 0x30($sp) -/* 094D14 80094114 AE0E0000 */ sw $t6, ($s0) -/* 094D18 80094118 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 094D1C 8009411C 27188880 */ addiu $t8, %lo(D_802B8880) # addiu $t8, $t8, -0x7780 -/* 094D20 80094120 3C0F0380 */ lui $t7, (0x03800010 >> 16) # lui $t7, 0x380 -/* 094D24 80094124 35EF0010 */ ori $t7, (0x03800010 & 0xFFFF) # ori $t7, $t7, 0x10 -/* 094D28 80094128 0301C824 */ and $t9, $t8, $at -/* 094D2C 8009412C AC590004 */ sw $t9, 4($v0) -/* 094D30 80094130 AC4F0000 */ sw $t7, ($v0) -/* 094D34 80094134 8E020000 */ lw $v0, ($s0) -/* 094D38 80094138 3C0C0050 */ lui $t4, (0x005003C0 >> 16) # lui $t4, 0x50 -/* 094D3C 8009413C 3C098016 */ lui $t1, %hi(D_80164AF0) # $t1, 0x8016 -/* 094D40 80094140 244A0008 */ addiu $t2, $v0, 8 -/* 094D44 80094144 AE0A0000 */ sw $t2, ($s0) -/* 094D48 80094148 358C03C0 */ ori $t4, (0x005003C0 & 0xFFFF) # ori $t4, $t4, 0x3c0 -/* 094D4C 8009414C 3C0BED00 */ lui $t3, 0xed00 -/* 094D50 80094150 25294AF0 */ addiu $t1, %lo(D_80164AF0) # addiu $t1, $t1, 0x4af0 -/* 094D54 80094154 AC4B0000 */ sw $t3, ($v0) -/* 094D58 80094158 AC4C0004 */ sw $t4, 4($v0) -/* 094D5C 8009415C 852E0000 */ lh $t6, ($t1) -/* 094D60 80094160 3C0D8015 */ lui $t5, %hi(gGfxPool) # $t5, 0x8015 -/* 094D64 80094164 8DADEF40 */ lw $t5, %lo(gGfxPool)($t5) -/* 094D68 80094168 000E7980 */ sll $t7, $t6, 6 -/* 094D6C 8009416C 3401FAC0 */ li $at, 64192 -/* 094D70 80094170 01AF2021 */ addu $a0, $t5, $t7 -/* 094D74 80094174 00812021 */ addu $a0, $a0, $at -/* 094D78 80094178 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 -/* 094D7C 8009417C 44812000 */ mtc1 $at, $f4 -/* 094D80 80094180 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 094D84 80094184 44800000 */ mtc1 $zero, $f0 -/* 094D88 80094188 44813000 */ mtc1 $at, $f6 -/* 094D8C 8009418C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 094D90 80094190 44814000 */ mtc1 $at, $f8 -/* 094D94 80094194 3C06439F */ lui $a2, (0x439F8000 >> 16) # lui $a2, 0x439f -/* 094D98 80094198 44050000 */ mfc1 $a1, $f0 -/* 094D9C 8009419C 34C68000 */ ori $a2, (0x439F8000 & 0xFFFF) # ori $a2, $a2, 0x8000 -/* 094DA0 800941A0 3C07436F */ lui $a3, 0x436f -/* 094DA4 800941A4 E7A40014 */ swc1 $f4, 0x14($sp) -/* 094DA8 800941A8 E7A00010 */ swc1 $f0, 0x10($sp) -/* 094DAC 800941AC E7A60018 */ swc1 $f6, 0x18($sp) -/* 094DB0 800941B0 0C0338A9 */ jal guOrtho -/* 094DB4 800941B4 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 094DB8 800941B8 8E020000 */ lw $v0, ($s0) -/* 094DBC 800941BC 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103 -/* 094DC0 800941C0 3C098016 */ lui $t1, %hi(D_80164AF0) # $t1, 0x8016 -/* 094DC4 800941C4 24580008 */ addiu $t8, $v0, 8 -/* 094DC8 800941C8 AE180000 */ sw $t8, ($s0) -/* 094DCC 800941CC 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 094DD0 800941D0 25294AF0 */ addiu $t1, %lo(D_80164AF0) # addiu $t1, $t1, 0x4af0 -/* 094DD4 800941D4 AC590000 */ sw $t9, ($v0) -/* 094DD8 800941D8 852B0000 */ lh $t3, ($t1) -/* 094DDC 800941DC 3C0A8015 */ lui $t2, %hi(gGfxPool) # $t2, 0x8015 -/* 094DE0 800941E0 8D4AEF40 */ lw $t2, %lo(gGfxPool)($t2) -/* 094DE4 800941E4 000B6180 */ sll $t4, $t3, 6 -/* 094DE8 800941E8 3401FAC0 */ li $at, 64192 -/* 094DEC 800941EC 014C7021 */ addu $t6, $t2, $t4 -/* 094DF0 800941F0 01C16821 */ addu $t5, $t6, $at -/* 094DF4 800941F4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 094DF8 800941F8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 094DFC 800941FC 01A17824 */ and $t7, $t5, $at -/* 094E00 80094200 AC4F0004 */ sw $t7, 4($v0) -/* 094E04 80094204 85380000 */ lh $t8, ($t1) -/* 094E08 80094208 8E020000 */ lw $v0, ($s0) -/* 094E0C 8009420C 3C0C0200 */ lui $t4, %hi(D_02007F18) # $t4, 0x200 -/* 094E10 80094210 27190001 */ addiu $t9, $t8, 1 -/* 094E14 80094214 244B0008 */ addiu $t3, $v0, 8 -/* 094E18 80094218 A5390000 */ sh $t9, ($t1) -/* 094E1C 8009421C AE0B0000 */ sw $t3, ($s0) -/* 094E20 80094220 258C7F18 */ addiu $t4, %lo(D_02007F18) # addiu $t4, $t4, 0x7f18 -/* 094E24 80094224 3C0A0600 */ lui $t2, 0x600 -/* 094E28 80094228 3C058019 */ lui $a1, %hi(D_8018E850) # $a1, 0x8019 -/* 094E2C 8009422C 3C068019 */ lui $a2, %hi(D_8018E858) # $a2, 0x8019 -/* 094E30 80094230 24C6E858 */ addiu $a2, %lo(D_8018E858) # addiu $a2, $a2, -0x17a8 -/* 094E34 80094234 24A5E850 */ addiu $a1, %lo(D_8018E850) # addiu $a1, $a1, -0x17b0 -/* 094E38 80094238 24040004 */ li $a0, 4 -/* 094E3C 8009423C AC4A0000 */ sw $t2, ($v0) -/* 094E40 80094240 0C0248A4 */ jal func_80092290 -/* 094E44 80094244 AC4C0004 */ sw $t4, 4($v0) -/* 094E48 80094248 3C058019 */ lui $a1, %hi(D_8018E854) # $a1, 0x8019 -/* 094E4C 8009424C 3C068019 */ lui $a2, %hi(D_8018E85C) # $a2, 0x8019 -/* 094E50 80094250 24C6E85C */ addiu $a2, %lo(D_8018E85C) # addiu $a2, $a2, -0x17a4 -/* 094E54 80094254 24A5E854 */ addiu $a1, %lo(D_8018E854) # addiu $a1, $a1, -0x17ac -/* 094E58 80094258 0C0248A4 */ jal func_80092290 -/* 094E5C 8009425C 24040005 */ li $a0, 5 -/* 094E60 80094260 0C024852 */ jal func_80092148 -/* 094E64 80094264 00000000 */ nop -/* 094E68 80094268 0C02669C */ jal func_80099A70 -/* 094E6C 8009426C 00000000 */ nop -/* 094E70 80094270 0C026795 */ jal func_80099E54 -/* 094E74 80094274 00000000 */ nop -/* 094E78 80094278 0C02A08C */ jal func_800A8230 -/* 094E7C 8009427C 00000000 */ nop -/* 094E80 80094280 0C0266BB */ jal func_80099AEC -/* 094E84 80094284 00000000 */ nop -/* 094E88 80094288 0C0267B1 */ jal func_80099EC4 -/* 094E8C 8009428C 00000000 */ nop -/* 094E90 80094290 0C02729B */ jal func_8009CA6C -/* 094E94 80094294 8FA40030 */ lw $a0, 0x30($sp) -/* 094E98 80094298 8E020000 */ lw $v0, ($s0) -/* 094E9C 8009429C 3C0F0200 */ lui $t7, %hi(D_02007F48) # $t7, 0x200 -/* 094EA0 800942A0 25EF7F48 */ addiu $t7, %lo(D_02007F48) # addiu $t7, $t7, 0x7f48 -/* 094EA4 800942A4 244E0008 */ addiu $t6, $v0, 8 -/* 094EA8 800942A8 AE0E0000 */ sw $t6, ($s0) -/* 094EAC 800942AC 3C0D0600 */ lui $t5, 0x600 -/* 094EB0 800942B0 AC4D0000 */ sw $t5, ($v0) -/* 094EB4 800942B4 0C015F39 */ jal func_80057CE4 -/* 094EB8 800942B8 AC4F0004 */ sw $t7, 4($v0) -/* 094EBC 800942BC 8FBF002C */ lw $ra, 0x2c($sp) -/* 094EC0 800942C0 8FB00028 */ lw $s0, 0x28($sp) -/* 094EC4 800942C4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 094EC8 800942C8 03E00008 */ jr $ra -/* 094ECC 800942CC 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800947B4.s b/asm/non_matchings/code_80091750/func_800947B4.s deleted file mode 100644 index 13697ae67..000000000 --- a/asm/non_matchings/code_80091750/func_800947B4.s +++ /dev/null @@ -1,173 +0,0 @@ -glabel func_800947B4 -/* 0953B4 800947B4 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0953B8 800947B8 AFBF0034 */ sw $ra, 0x34($sp) -/* 0953BC 800947BC AFB10030 */ sw $s1, 0x30($sp) -/* 0953C0 800947C0 00808825 */ move $s1, $a0 -/* 0953C4 800947C4 AFB0002C */ sw $s0, 0x2c($sp) -/* 0953C8 800947C8 0C0A9F02 */ jal move_segment_table_to_dmem -/* 0953CC 800947CC AFA50084 */ sw $a1, 0x84($sp) -/* 0953D0 800947D0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0953D4 800947D4 44812000 */ mtc1 $at, $f4 -/* 0953D8 800947D8 3C014648 */ li $at, 0x46480000 # 12800.000000 -/* 0953DC 800947DC 44813000 */ mtc1 $at, $f6 -/* 0953E0 800947E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0953E4 800947E4 44814000 */ mtc1 $at, $f8 -/* 0953E8 800947E8 26240040 */ addiu $a0, $s1, 0x40 -/* 0953EC 800947EC 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa -/* 0953F0 800947F0 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab -/* 0953F4 800947F4 AFA40050 */ sw $a0, 0x50($sp) -/* 0953F8 800947F8 27A5007E */ addiu $a1, $sp, 0x7e -/* 0953FC 800947FC 3C064234 */ lui $a2, 0x4234 -/* 095400 80094800 E7A40010 */ swc1 $f4, 0x10($sp) -/* 095404 80094804 E7A60014 */ swc1 $f6, 0x14($sp) -/* 095408 80094808 0C033CCC */ jal guPerspective -/* 09540C 8009480C E7A80018 */ swc1 $f8, 0x18($sp) -/* 095410 80094810 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 095414 80094814 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 095418 80094818 8E020000 */ lw $v0, ($s0) -/* 09541C 8009481C 3C0FB400 */ lui $t7, 0xb400 -/* 095420 80094820 3C198019 */ lui $t9, %hi(D_8018EDC0) # $t9, 0x8019 -/* 095424 80094824 244E0008 */ addiu $t6, $v0, 8 -/* 095428 80094828 AE0E0000 */ sw $t6, ($s0) -/* 09542C 8009482C AC4F0000 */ sw $t7, ($v0) -/* 095430 80094830 97B8007E */ lhu $t8, 0x7e($sp) -/* 095434 80094834 44800000 */ mtc1 $zero, $f0 -/* 095438 80094838 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09543C 8009483C AC580004 */ sw $t8, 4($v0) -/* 095440 80094840 8F39EDC0 */ lw $t9, %lo(D_8018EDC0)($t9) -/* 095444 80094844 44818000 */ mtc1 $at, $f16 -/* 095448 80094848 26240200 */ addiu $a0, $s1, 0x200 -/* 09544C 8009484C 44995000 */ mtc1 $t9, $f10 -/* 095450 80094850 44050000 */ mfc1 $a1, $f0 -/* 095454 80094854 44060000 */ mfc1 $a2, $f0 -/* 095458 80094858 468052A0 */ cvt.s.w $f10, $f10 -/* 09545C 8009485C AFA4004C */ sw $a0, 0x4c($sp) -/* 095460 80094860 E7A00024 */ swc1 $f0, 0x24($sp) -/* 095464 80094864 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 095468 80094868 E7A00018 */ swc1 $f0, 0x18($sp) -/* 09546C 8009486C E7A00014 */ swc1 $f0, 0x14($sp) -/* 095470 80094870 44075000 */ mfc1 $a3, $f10 -/* 095474 80094874 E7A00010 */ swc1 $f0, 0x10($sp) -/* 095478 80094878 0C033D92 */ jal guLookAt -/* 09547C 8009487C E7B00020 */ swc1 $f16, 0x20($sp) -/* 095480 80094880 44800000 */ mtc1 $zero, $f0 -/* 095484 80094884 3401CAC0 */ li $at, 51904 -/* 095488 80094888 02212021 */ addu $a0, $s1, $at -/* 09548C 8009488C 3C058019 */ lui $a1, %hi(D_8018EDC8) # $a1, 0x8019 -/* 095490 80094890 44070000 */ mfc1 $a3, $f0 -/* 095494 80094894 8CA5EDC8 */ lw $a1, %lo(D_8018EDC8)($a1) -/* 095498 80094898 AFA40048 */ sw $a0, 0x48($sp) -/* 09549C 8009489C 3C063F80 */ lui $a2, 0x3f80 -/* 0954A0 800948A0 0C033C01 */ jal guRotate -/* 0954A4 800948A4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0954A8 800948A8 44800000 */ mtc1 $zero, $f0 -/* 0954AC 800948AC 3401CB00 */ li $at, 51968 -/* 0954B0 800948B0 02212021 */ addu $a0, $s1, $at -/* 0954B4 800948B4 3C058019 */ lui $a1, %hi(D_8018EDCC) # $a1, 0x8019 -/* 0954B8 800948B8 44060000 */ mfc1 $a2, $f0 -/* 0954BC 800948BC 8CA5EDCC */ lw $a1, %lo(D_8018EDCC)($a1) -/* 0954C0 800948C0 AFA40044 */ sw $a0, 0x44($sp) -/* 0954C4 800948C4 3C073F80 */ lui $a3, 0x3f80 -/* 0954C8 800948C8 0C033C01 */ jal guRotate -/* 0954CC 800948CC E7A00010 */ swc1 $f0, 0x10($sp) -/* 0954D0 800948D0 44800000 */ mtc1 $zero, $f0 -/* 0954D4 800948D4 3401CB40 */ li $at, 52032 -/* 0954D8 800948D8 02212021 */ addu $a0, $s1, $at -/* 0954DC 800948DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0954E0 800948E0 44819000 */ mtc1 $at, $f18 -/* 0954E4 800948E4 3C058019 */ lui $a1, %hi(D_8018EDD0) # $a1, 0x8019 -/* 0954E8 800948E8 44060000 */ mfc1 $a2, $f0 -/* 0954EC 800948EC 44070000 */ mfc1 $a3, $f0 -/* 0954F0 800948F0 8CA5EDD0 */ lw $a1, %lo(D_8018EDD0)($a1) -/* 0954F4 800948F4 AFA40040 */ sw $a0, 0x40($sp) -/* 0954F8 800948F8 0C033C01 */ jal guRotate -/* 0954FC 800948FC E7B20010 */ swc1 $f18, 0x10($sp) -/* 095500 80094900 3401CB80 */ li $at, 52096 -/* 095504 80094904 02212021 */ addu $a0, $s1, $at -/* 095508 80094908 3C018019 */ lui $at, %hi(D_8018EDC4) # $at, 0x8019 -/* 09550C 8009490C C420EDC4 */ lwc1 $f0, %lo(D_8018EDC4)($at) -/* 095510 80094910 AFA4003C */ sw $a0, 0x3c($sp) -/* 095514 80094914 44050000 */ mfc1 $a1, $f0 -/* 095518 80094918 44060000 */ mfc1 $a2, $f0 -/* 09551C 8009491C 44070000 */ mfc1 $a3, $f0 -/* 095520 80094920 0C033C2D */ jal guScale -/* 095524 80094924 00000000 */ nop -/* 095528 80094928 3401CBC0 */ li $at, 52160 -/* 09552C 8009492C 02212021 */ addu $a0, $s1, $at -/* 095530 80094930 3C058019 */ lui $a1, %hi(D_8018EDD4) # $a1, 0x8019 -/* 095534 80094934 3C068019 */ lui $a2, %hi(D_8018EDD8) # $a2, 0x8019 -/* 095538 80094938 3C078019 */ lui $a3, %hi(D_8018EDDC) # $a3, 0x8019 -/* 09553C 8009493C 8CE7EDDC */ lw $a3, %lo(D_8018EDDC)($a3) -/* 095540 80094940 8CC6EDD8 */ lw $a2, %lo(D_8018EDD8)($a2) -/* 095544 80094944 8CA5EDD4 */ lw $a1, %lo(D_8018EDD4)($a1) -/* 095548 80094948 0C033DC2 */ jal guTranslate -/* 09554C 8009494C AFA40038 */ sw $a0, 0x38($sp) -/* 095550 80094950 8E020000 */ lw $v0, ($s0) -/* 095554 80094954 3C0C0103 */ lui $t4, (0x01030040 >> 16) # lui $t4, 0x103 -/* 095558 80094958 358C0040 */ ori $t4, (0x01030040 & 0xFFFF) # ori $t4, $t4, 0x40 -/* 09555C 8009495C 244B0008 */ addiu $t3, $v0, 8 -/* 095560 80094960 AE0B0000 */ sw $t3, ($s0) -/* 095564 80094964 AC4C0000 */ sw $t4, ($v0) -/* 095568 80094968 8FAD0050 */ lw $t5, 0x50($sp) -/* 09556C 8009496C 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102 -/* 095570 80094970 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40 -/* 095574 80094974 AC4D0004 */ sw $t5, 4($v0) -/* 095578 80094978 8E020000 */ lw $v0, ($s0) -/* 09557C 8009497C 3C030100 */ lui $v1, (0x01000040 >> 16) # lui $v1, 0x100 -/* 095580 80094980 34630040 */ ori $v1, (0x01000040 & 0xFFFF) # ori $v1, $v1, 0x40 -/* 095584 80094984 244E0008 */ addiu $t6, $v0, 8 -/* 095588 80094988 AE0E0000 */ sw $t6, ($s0) -/* 09558C 8009498C AC4F0000 */ sw $t7, ($v0) -/* 095590 80094990 8FB8004C */ lw $t8, 0x4c($sp) -/* 095594 80094994 3C110600 */ lui $s1, 0x600 -/* 095598 80094998 AC580004 */ sw $t8, 4($v0) -/* 09559C 8009499C 8E020000 */ lw $v0, ($s0) -/* 0955A0 800949A0 24590008 */ addiu $t9, $v0, 8 -/* 0955A4 800949A4 AE190000 */ sw $t9, ($s0) -/* 0955A8 800949A8 AC430000 */ sw $v1, ($v0) -/* 0955AC 800949AC 8FAB0048 */ lw $t3, 0x48($sp) -/* 0955B0 800949B0 AC4B0004 */ sw $t3, 4($v0) -/* 0955B4 800949B4 8E020000 */ lw $v0, ($s0) -/* 0955B8 800949B8 244C0008 */ addiu $t4, $v0, 8 -/* 0955BC 800949BC AE0C0000 */ sw $t4, ($s0) -/* 0955C0 800949C0 AC430000 */ sw $v1, ($v0) -/* 0955C4 800949C4 8FAD0044 */ lw $t5, 0x44($sp) -/* 0955C8 800949C8 AC4D0004 */ sw $t5, 4($v0) -/* 0955CC 800949CC 8E020000 */ lw $v0, ($s0) -/* 0955D0 800949D0 244E0008 */ addiu $t6, $v0, 8 -/* 0955D4 800949D4 AE0E0000 */ sw $t6, ($s0) -/* 0955D8 800949D8 AC430000 */ sw $v1, ($v0) -/* 0955DC 800949DC 8FAF0040 */ lw $t7, 0x40($sp) -/* 0955E0 800949E0 3C0E0200 */ lui $t6, %hi(D_02007FC8) # $t6, 0x200 -/* 0955E4 800949E4 25CE7FC8 */ addiu $t6, %lo(D_02007FC8) # addiu $t6, $t6, 0x7fc8 -/* 0955E8 800949E8 AC4F0004 */ sw $t7, 4($v0) -/* 0955EC 800949EC 8E020000 */ lw $v0, ($s0) -/* 0955F0 800949F0 24580008 */ addiu $t8, $v0, 8 -/* 0955F4 800949F4 AE180000 */ sw $t8, ($s0) -/* 0955F8 800949F8 AC430000 */ sw $v1, ($v0) -/* 0955FC 800949FC 8FB9003C */ lw $t9, 0x3c($sp) -/* 095600 80094A00 AC590004 */ sw $t9, 4($v0) -/* 095604 80094A04 8E020000 */ lw $v0, ($s0) -/* 095608 80094A08 244B0008 */ addiu $t3, $v0, 8 -/* 09560C 80094A0C AE0B0000 */ sw $t3, ($s0) -/* 095610 80094A10 AC430000 */ sw $v1, ($v0) -/* 095614 80094A14 8FAC0038 */ lw $t4, 0x38($sp) -/* 095618 80094A18 AC4C0004 */ sw $t4, 4($v0) -/* 09561C 80094A1C 8E020000 */ lw $v0, ($s0) -/* 095620 80094A20 244D0008 */ addiu $t5, $v0, 8 -/* 095624 80094A24 AE0D0000 */ sw $t5, ($s0) -/* 095628 80094A28 AC4E0004 */ sw $t6, 4($v0) -/* 09562C 80094A2C 0C02C001 */ jal func_800B0004 -/* 095630 80094A30 AC510000 */ sw $s1, ($v0) -/* 095634 80094A34 8E020000 */ lw $v0, ($s0) -/* 095638 80094A38 3C180200 */ lui $t8, %hi(D_02007650) # $t8, 0x200 -/* 09563C 80094A3C 27187650 */ addiu $t8, %lo(D_02007650) # addiu $t8, $t8, 0x7650 -/* 095640 80094A40 244F0008 */ addiu $t7, $v0, 8 -/* 095644 80094A44 AE0F0000 */ sw $t7, ($s0) -/* 095648 80094A48 AC580004 */ sw $t8, 4($v0) -/* 09564C 80094A4C AC510000 */ sw $s1, ($v0) -/* 095650 80094A50 8FBF0034 */ lw $ra, 0x34($sp) -/* 095654 80094A54 8FB10030 */ lw $s1, 0x30($sp) -/* 095658 80094A58 8FB0002C */ lw $s0, 0x2c($sp) -/* 09565C 80094A5C 03E00008 */ jr $ra -/* 095660 80094A60 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/include/variables.h b/include/variables.h index 314336073..8dd26f945 100644 --- a/include/variables.h +++ b/include/variables.h @@ -5,7 +5,7 @@ #include "defines.h" #include "common_structs.h" -extern s32 gCCSelection; +extern s32 gCCSelection; // D_800DC548 extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0 extern s8 gCharacterGridSelections[4]; // D_8018EDE4 extern s8 gCharacterSelections[4]; // D_800E86A8 @@ -24,14 +24,15 @@ extern u8 gCupSelectionByCourseId[NUM_COURSES]; // D_800E7664 extern s16 gCurrentCourseId; // D_800DC5A0 extern s32 gD_8018E118TotalSize; // D_8018E110 +extern s8 gDebugMenuSelection; // D_8018EDEF extern char *gDebugSoundModeNames[NUM_SOUND_MODES]; // D_800E7700 extern Gfx *gDisplayListHead; // D_80150298 -extern u16 gEnableDebugMode; // D_800DC520 +extern u16 gEnableDebugMode; // D_800DC520 -extern s32 gGlobalTimer; // D_800DC54C -extern s8 gGPPointsByCharacterId[8]; // D_8018D9C8 -extern s16 gGPCurrentRacePlayerIdByRank[8]; // D_80164360 +extern s32 gGlobalTimer; // D_800DC54C +extern s8 gGPPointsByCharacterId[8]; // D_8018D9C8 +extern s16 gGPCurrentRacePlayerIdByRank[8]; // D_80164360 extern s8 gHumanPlayerCount; @@ -42,6 +43,7 @@ extern f32 gKartBoundingBoxTable[]; extern f32 gKartGravityTable[]; extern s32 gMenuTimingCounter; // D_8018EE00 +extern s32 gMenuSelection; // D_800E86A0 extern s32 gModeSelection; // D_800DC53C // Indicates the ID of the next title screen demo that will be played @@ -49,9 +51,10 @@ extern u8 gNextDemoId; // D_800E86BC extern s32 gNumD_8018E118Entries; // D_8018E758 // Maps course IDs (as defined in the COURSES enum) to an index in a given cup's track order -extern u8 gPerCupIndexByCourseId[NUM_COURSES]; // D_800EFD50 +extern u8 gPerCupIndexByCourseId[NUM_COURSES]; // D_800EFD50 extern s32 gPlayerCountSelection1; -extern s32 gPlayerPositions[]; // D_801643B8 +extern s32 gPlayerIsThrottleActive[]; // D_801653E0 +extern s32 gPlayerPositions[]; // D_801643B8 extern u8 gSaveDataSoundMode; // D_8018ED14 extern u8 gSaveDataSoundModeBackup; // D_8018ED8C @@ -64,29 +67,11 @@ extern char *gSoundModeNames[NUM_SOUND_MODES]; // D_800E7710 extern f32 gTimePlayerLastTouchedFinishLine[8]; // D_8015F898 extern s8 gTimeTrialDataCourseIndex; // D_8018EDF7 -extern SaveData D_8018EB90; -extern struct_D_802874D8 D_802874D8; -extern s16 D_801650D0[4][8]; -extern s16 D_80165110[4][8]; -extern s16 D_80165150[4][8]; -extern s16 D_80165190[4][8]; -extern s16 D_801651D0[4][8]; -extern struct_D_8018CE10 D_8018CE10[]; -extern struct_D_802DFB80 D_802DFB80[][8]; -extern struct_D_802BFB80 D_802BFB80[][8]; -extern s32 D_800DC52C; -extern s32 D_800DC50C; -extern s16 D_80165578; -extern s16 D_8016557A; -extern s16 D_8016557C; -extern s16 D_8016557E; -extern s16 D_80165574; -extern s16 D_80165576; -extern s16 D_80165570; -extern s16 D_80165572; -extern s16 D_80165580; -extern s16 D_80165582; -extern s16 D_80165270[8]; +extern Camera *camera1; +extern Camera *camera2; +extern Camera *camera3; +extern Camera *camera4; + extern Player* gPlayerOne; extern Player* gPlayerTwo; extern Player* gPlayerThree; @@ -96,45 +81,88 @@ extern Player* gPlayerSix; extern Player* gPlayerSeven; extern Player* gPlayerEight; extern Player* gPlayerOneCopy; -extern u16 D_800DC51C; -extern s8 gDebugMenuSelection; // D_8018EDEF -extern s32 D_80164A28; -extern s16 D_8016556E; -extern s32 D_80162DE0; -extern s32 D_80162DE4; -extern s32 D_80162DE8; -extern u16 D_8015F890; -extern u16 D_80162DD4[]; -extern u16 D_80162DD8; -extern s16* D_80164550; -extern f32 D_80165210[]; -extern f32 D_80165230[]; + +extern SaveData D_8018EB90; + +extern Mtx D_80183D60; + extern struct_D_800E261C D_800E261C; -extern f32 D_80164510[]; -extern s32 D_80165420[]; -extern s32 D_80165440[]; -extern s32 D_80165460[]; -extern s32 D_80165480[]; -extern s32 D_801654E0[]; -extern s32 D_80165500[]; -extern s32 D_80165520[]; -extern s32 D_80165540[]; -extern s32 D_8018D900; -extern s32 D_801652E0[]; -extern s32 D_801652C0[]; -extern s16 D_80165020[]; +extern struct_D_8018CE10 D_8018CE10[]; +extern struct_D_802874D8 D_802874D8; +extern struct_D_802DFB80 D_802DFB80[][8]; +extern struct_D_802BFB80 D_802BFB80[][8]; + +extern struct GfxPool *gGfxPool; // D_8014EF40 + extern Vec3f D_80165070[]; -extern f32 D_80165280[]; -extern f32 D_801652A0[]; -extern s32 gPlayerIsThrottleActive[]; -extern s32 D_80165400[]; -extern s32 D_801654A0[]; -extern s32 D_801654C0[]; -extern s16 D_80165300[]; -extern Camera *camera1; -extern Camera *camera2; -extern Camera *camera3; -extern Camera *camera4; -extern s32 D_8016524C; + +extern Vp D_802B8880[]; + +extern Gfx D_0D0077A0[]; + +extern u16 D_800DC51C; +extern s32 D_800DC52C; +extern s32 D_800DC50C; + +extern u16 D_8015F890; + +extern u16 D_80162DD4[]; +extern u16 D_80162DD8; +extern s32 D_80162DE0; +extern s32 D_80162DE4; +extern s32 D_80162DE8; + +extern s32 D_80164A28; +extern f32 D_80164510[]; +extern s16* D_80164550; +extern s16 D_80164AF0; + +extern s16 D_80165020[]; +extern s16 D_801650D0[4][8]; + +extern s16 D_80165110[4][8]; +extern s16 D_80165150[4][8]; +extern s16 D_80165190[4][8]; +extern s16 D_801651D0[4][8]; + +extern f32 D_80165210[]; +extern f32 D_80165230[]; +extern s32 D_8016524C; +extern s16 D_80165270[8]; +extern f32 D_80165280[]; +extern f32 D_801652A0[]; +extern s32 D_801652C0[]; +extern s32 D_801652E0[]; + +extern s16 D_80165300[]; + +extern s32 D_80165400[]; +extern s32 D_80165420[]; +extern s32 D_80165440[]; +extern s32 D_80165460[]; +extern s32 D_80165480[]; +extern s32 D_801654A0[]; +extern s32 D_801654C0[]; +extern s32 D_801654E0[]; + +extern s32 D_80165500[]; +extern s32 D_80165520[]; +extern s32 D_80165540[]; +extern s16 D_8016556E; +extern s16 D_80165570; +extern s16 D_80165572; +extern s16 D_80165574; +extern s16 D_80165576; +extern s16 D_80165578; +extern s16 D_8016557A; +extern s16 D_8016557C; +extern s16 D_8016557E; +extern s16 D_80165580; +extern s16 D_80165582; + +extern s8 D_801658FE; + +extern s32 D_8018D120; +extern s32 D_8018D900; #endif diff --git a/permuter_settings.toml b/permuter_settings.toml index 64ee43ac8..739e24d0d 100644 --- a/permuter_settings.toml +++ b/permuter_settings.toml @@ -8,3 +8,5 @@ "gs?DP.*" = "void" "gs?SP.*" = "void" "G_.*" = "int" +"VIRTUAL_.*" = "unsigned int" +"PHYSICAL_.*" = "unsigned int" diff --git a/src/code_80040E50.c b/src/code_80040E50.c index 19c0526f9..ff7767a79 100644 --- a/src/code_80040E50.c +++ b/src/code_80040E50.c @@ -1,6 +1,9 @@ #include #include #include +#include "code_80040E50.h" +#include "main.h" +#include "variables.h" //#ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -696,59 +699,164 @@ GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041D24.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe +void guOrtho(Mtx *, f32, f32, f32, f32, f32, f32, f32); /* extern */ +extern s32 D_800DC52C; extern s8 D_801658FE; extern Mtx D_80183D60; void func_80041D34(void) { - s32 temp_v0; - guOrtho(&D_80183D60, 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); - temp_v0 = D_800DC52C; - if (temp_v0 != 0) { - if (temp_v0 != 1) { - if (temp_v0 != 2) { - if (temp_v0 != 3) { - return; - } - guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); - return; - } - guOrtho(&gGfxPool->buffer[40], 0.0f, 160.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f); - return; - } + switch (D_800DC52C) { /* irregular */ + case 0: + guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); + break; + case 2: + guOrtho(&gGfxPool->mtxPool[5], 0.0f, 160.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f); + break; + case 1: if (D_801658FE == 0) { - guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f); - return; + guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 120.0f, 0.0f, -1.0f, 1.0f, 1.0f); + break; } - guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); - return; + guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); + break; + case 3: + guOrtho(&gGfxPool->mtxPool[5], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); + break; } - guOrtho(&gGfxPool->buffer[40], 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f); } #else GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041D34.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern void *gDisplayListHead; - void func_80041EF4(void) { + gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[5]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); +} + +#ifdef MIPS_TO_C +? func_80022180(s32, ? *, s32 *); /* extern */ +? func_80041A78(? *, s32, ?); /* extern */ +extern s32 D_8018D120; +extern void *gDisplayListHead; +extern s32 gGfxPool; + +UNUSED void func_80041F54(s32 arg0, ? arg1) { + ? sp20; + void *temp_v1; + + func_80041A78(&sp20, arg0, arg1); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120); + temp_v1 = gDisplayListHead; + gDisplayListHead = temp_v1 + 8; + temp_v1->unk0 = 0x01020040; + temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; +} +#else +GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041F54.s") +#endif + +#ifdef MIPS_TO_C +? func_80022180(s32, ? *, s32 *); /* extern */ +? func_80041AD8(? *, s32); /* extern */ +extern s32 D_8018D120; +extern void *gDisplayListHead; +extern s32 gGfxPool; + +UNUSED void func_80042000(s32 arg0) { + ? sp20; + void *temp_v1; + + func_80041AD8(&sp20, arg0 & 0xFFFF); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120); + temp_v1 = gDisplayListHead; + gDisplayListHead = temp_v1 + 8; + temp_v1->unk0 = 0x01020040; + temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; +} +#else +GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80042000.s") +#endif + +#ifdef MIPS_TO_C +? func_80022180(s32, ? *, s32 *); /* extern */ +? func_80041B68(? *, f32); /* extern */ +extern s32 D_8018D120; +extern void *gDisplayListHead; +extern s32 gGfxPool; + +UNUSED void func_800420A8(f32 arg0) { + ? sp20; + void *temp_v1; + + func_80041B68(&sp20, arg0); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120); + temp_v1 = gDisplayListHead; + gDisplayListHead = temp_v1 + 8; + temp_v1->unk0 = 0x01020040; + temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; +} +#else +GLOBAL_ASM("asm/non_matchings/code_80040E50/func_800420A8.s") +#endif + +#ifdef MIPS_TO_C +? func_80022180(s32, ? *, s32 *); /* extern */ +? func_80041BBC(?, ? *, u16, ?); /* extern */ +extern s32 D_8018D120; +extern void *gDisplayListHead; +extern s32 gGfxPool; + +UNUSED void func_8004214C(u16 arg0, ? arg1) { + ? sp20; + void *temp_v1; + + func_80041BBC(arg1, &sp20, arg0, arg1); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp20, &D_8018D120); + temp_v1 = gDisplayListHead; + gDisplayListHead = temp_v1 + 8; + temp_v1->unk0 = 0x01020040; + temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; +} +#else +GLOBAL_ASM("asm/non_matchings/code_80040E50/func_8004214C.s") +#endif + +#ifdef MIPS_TO_C +? func_80022180(s32, ? *); /* extern */ +? func_80041A78(? *, s32, s32); /* extern */ +? func_80041B68(? *, s32, void **); /* extern */ +extern s32 D_8018D120; +extern void *gDisplayListHead; +extern s32 gGfxPool; + +UNUSED void func_800421FC(s32 arg0, s32 arg1, s32 arg2) { + ? sp30; void *temp_v1; void *temp_v1_2; + func_80041A78(&sp30, arg0, arg1); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30); temp_v1 = gDisplayListHead; gDisplayListHead = temp_v1 + 8; - temp_v1->unk4 = 0x80000; - temp_v1->unk0 = 0xBA001301; + temp_v1->unk0 = 0x01020040; + temp_v1->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; + func_80041B68(&sp30, arg2, &gDisplayListHead); + func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp30); temp_v1_2 = gDisplayListHead; gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0x1030040; - temp_v1_2->unk4 = &gGfxPool->buffer[40] & 0x1FFFFFFF; + temp_v1_2->unk0 = 0x01000040; + temp_v1_2->unk4 = (s32) ((gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF); + D_8018D120 += 1; } #else -GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041EF4.s") +GLOBAL_ASM("asm/non_matchings/code_80040E50/func_800421FC.s") #endif #ifdef MIPS_TO_C diff --git a/src/code_80040E50.h b/src/code_80040E50.h new file mode 100644 index 000000000..0f5015d70 --- /dev/null +++ b/src/code_80040E50.h @@ -0,0 +1,11 @@ +#ifndef CODE_80040E50_H +#define CODE_80040E50_H + +#include "common_structs.h" + +/* Function Prototypes */ +void func_80041EF4(); + +/* This is where I'd put my static data, if I had any */ + +#endif \ No newline at end of file diff --git a/src/code_800431B0.c b/src/code_800431B0.c index 16f66f07f..4052f3168 100644 --- a/src/code_800431B0.c +++ b/src/code_800431B0.c @@ -9449,58 +9449,33 @@ GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80055F48.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80022180(void *, ? *); // extern -? func_800425D0(? *, void *, void *, s32); // extern -? func_802B4FF8(? *, ?); // extern -? mtxf_identity(? *); // extern -extern ? D_0D0077A0; +//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe +? func_80022180(Mtx *, ? *); /* extern */ +? func_800425D0(? *, void *, void *, s32); /* extern */ +? func_802B4FF8(? *, ?); /* extern */ +? mtxf_identity(? *); /* extern */ +extern Gfx D_0D0077A0[]; extern ? D_80165C18; extern s32 D_8018D120; -extern void *gDisplayListHead; -void func_80055FA0(s32 arg0, ? arg1) { +void func_80055FA0(s32 arg0, s32 arg1) { ? sp80; ? sp40; void *sp20; void *temp_t0; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; temp_t0 = (arg0 * 0xE0) + &D_80165C18; - if (temp_t0->unkA6 >= 2) { - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x1030040; - temp_v0->unk4 = &gGfxPool->buffer[8] & 0x1FFFFFFF; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1020040; - temp_v0_2->unk4 = &gGfxPool->buffer[56] & 0x1FFFFFFF; + if ((s32) temp_t0->unkA6 >= 2) { + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); sp20 = temp_t0; func_800425D0(&sp80, temp_t0 + 4, temp_t0 + 0xBE, temp_t0->unk0); - func_80022180(gGfxPool + (D_8018D120 << 6) + 0x2C0, &sp80); - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x1000040; - temp_v0_3->unk4 = (gGfxPool + (D_8018D120 << 6) + 0x2C0) & 0x1FFFFFFF; - temp_v0_4 = gDisplayListHead; - D_8018D120 = D_8018D120 + 1; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = &D_0D0077A0; - temp_v0_4->unk0 = 0x6000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x6000000; - temp_v0_5->unk4 = temp_t0->unk70; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk0 = 0x1010040; - temp_v0_6->unk4 = &gGfxPool->buffer[56] & 0x1FFFFFFF; + func_80022180(&gGfxPool->mtxPool[D_8018D120 + 0xB], &sp80); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_8018D120 + 0xB]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + D_8018D120++; + gSPDisplayList(gDisplayListHead++, D_0D0077A0); + gSPDisplayList(gDisplayListHead++, sp20->unk70); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(&sp40); func_802B4FF8(&sp40, 0); } diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 5192b92f5..abd9bcd80 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -185,8 +185,8 @@ extern u16 D_800DC51C; void func_800581C8(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_8001C3C4(0); if (D_800DC50C == ENDING_SEQUENCE) { @@ -205,8 +205,8 @@ void func_800581C8(void) { void func_800582CC(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_8001C3C4(1); if (D_800DC51C == 0) { func_800532A4(1); @@ -216,8 +216,8 @@ void func_800582CC(void) { void func_80058394(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_8001C3C4(2); if (D_800DC51C == 0) { func_800532A4(2); @@ -228,8 +228,8 @@ void func_80058394(void) { void func_8005845C(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_8001C3C4(3); if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) { func_800532A4(3); @@ -289,8 +289,8 @@ void func_80058B58(); void func_80058640(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); if (D_800DC50C != ENDING_SEQUENCE) { func_80058B58(0); } @@ -298,22 +298,22 @@ void func_80058640(void) { void func_800586FC(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_80058B58(1); } void func_800587A4(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_80058B58(2); } void func_8005884C(void) { gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); func_80058B58(3); } diff --git a/src/code_80091750.c b/src/code_80091750.c index f49aefb3a..d5d79122f 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -4,6 +4,9 @@ #include "code_80091750.h" #include "code_800AF9B0.h" #include "variables.h" +// TODO: Move gGfxPool out of main.h +// Unfortunately that's not a small effort due to weird import structure in this project +#include "main.h" f64 exponent_by_squaring(f64 base, s32 exponent) { s32 positive_exponent; @@ -535,18 +538,16 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092258.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void *segmented_to_virtual_dupe(segment_address_t); // extern -extern s32 D_800E84C0; -extern ? D_800E84CC; -extern s32 gGlobalTimer; +//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe +extern ? D_02007BB8; +extern ? D_02007CD8; +extern ? D_02007DF8; +static u32 D_800E84C0[3] = { (u32) &D_02007BB8, (u32) &D_02007CD8, (u32) &D_02007DF8 }; /* const */ +static ? D_800E84CC; /* unable to generate initializer; const */ -void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) { - s32 *temp_a2; - s32 *temp_s0; +void func_80092290(s32 arg0, s32 *arg1, s32 *arg2) { s32 temp_a0; s32 temp_a1; - s32 temp_a3; s32 temp_s4; s32 temp_t0; s32 temp_t6; @@ -554,26 +555,22 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) { s32 temp_t8; s32 temp_t8_2; s32 temp_t9; - s32 temp_v0; + u32 *temp_s0; + void *temp_a2; + void *temp_v0; void *temp_v1; void *temp_v1_2; - s32 *phi_s0; - s32 *phi_a1; - s32 *phi_a2; - s32 phi_a3; + u32 *phi_s0; - phi_a1 = arg1; - phi_a2 = arg2; - phi_a3 = arg3; if ((arg0 >= 4) && (arg0 < 6)) { temp_t8 = *arg2 + 0x10; *arg2 = temp_t8; if (temp_t8 >= 0x100) { *arg2 = 0; - *arg1 = (*arg1 + 1) % 3; + *arg1 = (s32) (*arg1 + 1) % 3; } - temp_s4 = (((arg0 * 4) + ((gGlobalTimer % 2) * 2)) - 6) * 0x10; - phi_s0 = &D_800E84C0; + temp_s4 = (((arg0 * 4) + (((s32) gGlobalTimer % 2) * 2)) - 6) * 0x10; + phi_s0 = D_800E84C0; do { temp_v0 = segmented_to_virtual_dupe(*phi_s0); temp_a0 = *arg2; @@ -582,24 +579,20 @@ void func_80092290(s32 arg0, s32 *arg1, s32 *arg2, s32 arg3) { temp_s0 = phi_s0 + 4; temp_t0 = (*arg1 * 2) + 2; temp_v1 = temp_v0 + (temp_t0 * 0x10); - temp_a3 = (temp_t0 % 6) + 2; - temp_v1_2 = temp_v0 + (temp_a3 * 0x10); - temp_t6 = ((temp_a1 * temp_v1->unkC) + (temp_a0 * temp_v1_2->unkC)) / 0x100; - temp_a2->unkC = temp_t6; - temp_t9 = ((temp_a1 * temp_v1->unkD) + (temp_a0 * temp_v1_2->unkD)) / 0x100; - temp_a2->unkD = temp_t9; - temp_t7 = ((temp_a1 * temp_v1->unkE) + (temp_a0 * temp_v1_2->unkE)) / 0x100; - temp_a2->unkE = temp_t7; - temp_t8_2 = ((temp_a1 * temp_v1->unkF) + (temp_a0 * temp_v1_2->unkF)) / 0x100; - temp_a2->unkF = temp_t8_2; - temp_a2->unk1C = temp_t6; - temp_a2->unk1D = temp_t9; - temp_a2->unk1E = temp_t7; - temp_a2->unk1F = temp_t8_2; + temp_v1_2 = temp_v0 + (((temp_t0 % 6) + 2) * 0x10); + temp_t6 = (s32) ((temp_a1 * temp_v1->unkC) + (temp_a0 * temp_v1_2->unkC)) / 256; + temp_a2->unkC = (s8) temp_t6; + temp_t9 = (s32) ((temp_a1 * temp_v1->unkD) + (temp_a0 * temp_v1_2->unkD)) / 256; + temp_a2->unkD = (s8) temp_t9; + temp_t7 = (s32) ((temp_a1 * temp_v1->unkE) + (temp_a0 * temp_v1_2->unkE)) / 256; + temp_a2->unkE = (s8) temp_t7; + temp_t8_2 = (s32) ((temp_a1 * temp_v1->unkF) + (temp_a0 * temp_v1_2->unkF)) / 256; + temp_a2->unkF = (s8) temp_t8_2; + temp_a2->unk1C = (s8) temp_t6; + temp_a2->unk1D = (s8) temp_t9; + temp_a2->unk1E = (s8) temp_t7; + temp_a2->unk1F = (s8) temp_t8_2; phi_s0 = temp_s0; - phi_a1 = temp_t8_2; - phi_a2 = temp_a2; - phi_a3 = temp_a3; } while (temp_s0 != &D_800E84CC); } } @@ -1277,41 +1270,13 @@ void func_80093C1C(void) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093C1C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_8009CA6C(?); // extern -? func_800A54EC(); // extern -? func_800A8250(); // extern -extern ? D_02007F18; -extern s16 D_80164AF0; -extern s32 D_80165754; -extern ? D_802B8880; -extern void *gDisplayListHead; - void func_80093C98(s32 arg0) { - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF; - temp_v0->unk0 = 0x3800010; - guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1030040; - temp_v0_2->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF; - temp_v0_3 = gDisplayListHead; - D_80164AF0 = D_80164AF0 + 1; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_02007F18; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xED000000; - temp_v0_4->unk4 = 0x5003C0; + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); + guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + D_80164AF0++; + gSPDisplayList(gDisplayListHead++, D_02007F18); + gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240); func_800A8250(); if (arg0 == 0) { func_800A54EC(); @@ -1320,9 +1285,6 @@ void func_80093C98(s32 arg0) { D_80164AF0 = 0; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093C98.s") -#endif void func_80093E20(void) { func_80093C98(0); @@ -1375,51 +1337,13 @@ void func_80093E60(void) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093E60.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80092290(?, ? *, ? *); // extern -? func_80099A70(); // extern -? func_80099AEC(); // extern -? func_80099E54(); // extern -? func_80099EC4(); // extern -? func_8009C918(); // extern -? func_8009CA2C(); // extern -? func_800A8230(); // extern -extern ? D_02007F18; -extern ? D_02007F48; -extern s16 D_80164AF0; -extern ? D_8018E850; -extern ? D_8018E854; -extern ? D_8018E858; -extern ? D_8018E85C; -extern ? D_802B8880; -extern void *gDisplayListHead; - void func_80093F10(void) { - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF; - temp_v0->unk0 = 0x3800010; - guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1030040; - temp_v0_2->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF; - temp_v0_3 = gDisplayListHead; - D_80164AF0 = D_80164AF0 + 1; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x6000000; - temp_v0_3->unk4 = &D_02007F18; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0xED000000; - temp_v0_4->unk4 = 0x5003C0; + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); + guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + D_80164AF0++; + gSPDisplayList(gDisplayListHead++, D_02007F18); + gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240); func_80092290(4, &D_8018E850, &D_8018E858); func_80092290(5, &D_8018E854, &D_8018E85C); func_8009C918(); @@ -1429,62 +1353,17 @@ void func_80093F10(void) { func_80099AEC(); func_80099EC4(); func_8009CA2C(); - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x6000000; - temp_v0_5->unk4 = &D_02007F48; + gSPDisplayList(gDisplayListHead++, D_02007F48); D_80164AF0 = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093F10.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_80057CE4(); // extern -? func_80092148(); // extern -? func_80092290(?, ? *, ? *); // extern -? func_80099A70(); // extern -? func_80099AEC(); // extern -? func_80099E54(); // extern -? func_80099EC4(); // extern -? func_8009CA6C(s32); // extern -? func_800A8230(); // extern -extern ? D_02007F18; -extern ? D_02007F48; -extern s16 D_80164AF0; -extern ? D_8018E850; -extern ? D_8018E854; -extern ? D_8018E858; -extern ? D_8018E85C; -extern ? D_802B8880; -extern void *gDisplayListHead; void func_800940EC(s32 arg0) { - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = &D_802B8880 & 0x1FFFFFFF; - temp_v0->unk0 = 0x3800010; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xED000000; - temp_v0_2->unk4 = 0x5003C0; - guOrtho(gGfxPool + (D_80164AF0 << 6) + 0xFAC0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x1030040; - temp_v0_3->unk4 = (gGfxPool + (D_80164AF0 << 6) + 0xFAC0) & 0x1FFFFFFF; - temp_v0_4 = gDisplayListHead; - D_80164AF0 = D_80164AF0 + 1; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0x6000000; - temp_v0_4->unk4 = &D_02007F18; + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); + gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240); + guOrtho(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + D_80164AF0++; + gSPDisplayList(gDisplayListHead++, D_02007F18); func_80092290(4, &D_8018E850, &D_8018E858); func_80092290(5, &D_8018E854, &D_8018E85C); func_80092148(); @@ -1494,52 +1373,38 @@ void func_800940EC(s32 arg0) { func_80099AEC(); func_80099EC4(); func_8009CA6C(arg0); - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x6000000; - temp_v0_5->unk4 = &D_02007F48; + gSPDisplayList(gDisplayListHead++, D_02007F48); func_80057CE4(); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800940EC.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_02007F60; +//generated by mips_to_c commit 5bd751fca3befef73d6a2e20d84a88cc918a77fe extern ? D_06009410; -extern f32 D_800E8530; -extern f32 D_800E8534; -extern f32 D_8018EDC4; -extern f32 D_8018EDC8; -extern f32 D_8018EDCC; -extern void *gDisplayListHead; void func_800942D0(void) { ? *sp6C; - Gfx *temp_s1; - Gfx *temp_s1_2; - Gfx *temp_s4; + Gfx *temp_v0; + Gfx *temp_v0_10; + Gfx *temp_v0_11; + Gfx *temp_v0_12; + Gfx *temp_v0_13; + Gfx *temp_v0_14; + Gfx *temp_v0_15; + Gfx *temp_v0_16; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + Gfx *temp_v0_5; + Gfx *temp_v0_6; + Gfx *temp_v0_7; + Gfx *temp_v0_8; + Gfx *temp_v0_9; + Mtx *temp_s1; + Mtx *temp_s1_2; Mtx *temp_s1_3; + Mtx *temp_s4; Mtx *temp_s4_2; - f32 temp_f26; s32 temp_s3; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_11; - void *temp_v0_12; - void *temp_v0_13; - void *temp_v0_14; - void *temp_v0_15; - void *temp_v0_16; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; Mtx *phi_s1; s32 phi_s2; f32 phi_f26; @@ -1547,53 +1412,52 @@ void func_800942D0(void) { temp_v0 = gDisplayListHead; gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0x1030040; - temp_v0->unk4 = gGfxPool; + temp_v0->words.w0 = 0x01030040; + temp_v0->words.w1 = (u32) gGfxPool; temp_v0_2 = gDisplayListHead; gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1020040; - temp_s1 = &gGfxPool->buffer[6488]; - temp_v0_2->unk4 = &gGfxPool->buffer[56]; + temp_v0_2->words.w0 = 0x01020040; + temp_s1 = &gGfxPool->mtxPool[0x32B]; + temp_v0_2->words.w1 = (u32) &gGfxPool->mtxPool[7]; guRotate(temp_s1, D_8018EDC8, 1.0f, 0.0f, 0.0f); temp_s4 = temp_s1 + 0x40; guRotate(temp_s4, D_8018EDCC, 0.0f, 1.0f, 0.0f); - guScale(temp_s1 + 0x80, 1.0f, 1.0f, D_8018EDC4); + guScale(temp_s1 + 0x80, 1.0f, 1.0f, (bitwise s32) D_8018EDC4); temp_v0_3 = gDisplayListHead; gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = temp_s1; - temp_v0_3->unk0 = 0x1000040; + temp_v0_3->words.w1 = (u32) temp_s1; + temp_v0_3->words.w0 = 0x01000040; temp_v0_4 = gDisplayListHead; temp_s1_2 = temp_s4 + 0x40; gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = temp_s4; - temp_v0_4->unk0 = 0x1000040; + temp_v0_4->words.w1 = (u32) temp_s4; + temp_v0_4->words.w0 = 0x01000040; temp_v0_5 = gDisplayListHead; gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = temp_s1_2; - temp_v0_5->unk0 = 0x1040040; + temp_v0_5->words.w1 = (u32) temp_s1_2; + temp_v0_5->words.w0 = 0x01040040; temp_v0_6 = gDisplayListHead; gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk0 = 0xB900031D; - temp_v0_6->unk4 = 0x552078; + temp_v0_6->words.w0 = 0xB900031D; + temp_v0_6->words.w1 = 0x552078; temp_v0_7 = gDisplayListHead; gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk4 = 0; - temp_v0_7->unk0 = 0xFB000000; + temp_v0_7->words.w1 = 0; + temp_v0_7->words.w0 = 0xFB000000; temp_v0_8 = gDisplayListHead; gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk4 = &D_02007F60; - temp_v0_8->unk0 = 0x6000000; + temp_v0_8->words.w1 = (u32) D_02007F60; + temp_v0_8->words.w0 = 0x06000000; temp_v0_9 = gDisplayListHead; gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk4 = 0; - temp_v0_9->unk0 = 0xBD000000; + temp_v0_9->words.w1 = 0; + temp_v0_9->words.w0 = 0xBD000000; phi_s1 = temp_s1_2 + 0x40; phi_s2 = 0; phi_s5 = 0xC0; - if (D_800E8530 > 0.0f) { - temp_f26 = D_800E8534; - phi_f26 = temp_f26; - if (temp_f26 > 10.0f) { + if (0.0f < 0.0f) { + phi_f26 = 3.0f; + if (10.0f < 3.0f) { phi_f26 = 10.0f; } sp6C = &D_06009410; @@ -1601,37 +1465,37 @@ void func_800942D0(void) { guRotate(phi_s1, 0.0f, 1.0f, 0.0f, 0.0f); temp_s3 = phi_s2 + 1; temp_s4_2 = phi_s1 + 0x40; - guRotate(temp_s4_2, temp_s3 * D_800E8530 * phi_f26, 0.0f, 1.0f, 0.0f); - guScale(phi_s1 + 0x80, 1.0f, 1.0f, 2.0f); + guRotate(temp_s4_2, (f32) temp_s3 * 0.0f * phi_f26, 0.0f, 1.0f, 0.0f); + guScale(phi_s1 + 0x80, 1.0f, 1.0f, 0x40000000); temp_v0_10 = gDisplayListHead; gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = phi_s1; - temp_v0_10->unk0 = 0x1040040; + temp_v0_10->words.w1 = (u32) phi_s1; + temp_v0_10->words.w0 = 0x01040040; temp_v0_11 = gDisplayListHead; temp_s1_3 = temp_s4_2 + 0x40; gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->unk4 = temp_s4_2; - temp_v0_11->unk0 = 0x1000040; + temp_v0_11->words.w1 = (u32) temp_s4_2; + temp_v0_11->words.w0 = 0x01000040; temp_v0_12 = gDisplayListHead; gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->unk4 = temp_s1_3; - temp_v0_12->unk0 = 0x1000040; + temp_v0_12->words.w1 = (u32) temp_s1_3; + temp_v0_12->words.w0 = 0x01000040; temp_v0_13 = gDisplayListHead; gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->unk4 = 0x5049D8; - temp_v0_13->unk0 = 0xB900031D; + temp_v0_13->words.w1 = 0x5049D8; + temp_v0_13->words.w0 = 0xB900031D; temp_v0_14 = gDisplayListHead; gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->unk4 = phi_s5 & 0xFF; - temp_v0_14->unk0 = 0xFB000000; + temp_v0_14->words.w1 = phi_s5 & 0xFF; + temp_v0_14->words.w0 = 0xFB000000; temp_v0_15 = gDisplayListHead; gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->unk0 = 0x6000000; - temp_v0_15->unk4 = sp6C; + temp_v0_15->words.w0 = 0x06000000; + temp_v0_15->words.w1 = (u32) sp6C; temp_v0_16 = gDisplayListHead; gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->unk4 = 0; - temp_v0_16->unk0 = 0xBD000000; + temp_v0_16->words.w1 = 0; + temp_v0_16->words.w0 = 0xBD000000; phi_s1 = temp_s1_3 + 0x40; phi_s2 = temp_s3; phi_s5 += -0x10; @@ -1642,218 +1506,59 @@ void func_800942D0(void) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_800942D0.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800942D0(); // extern -? move_segment_table_to_dmem(); // extern -extern s32 D_8018EDC0; -extern void *gDisplayListHead; - -void func_80094660(Mtx *arg0, ? arg1) { - u16 sp56; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - +void func_80094660(struct GfxPool *arg0, s32 unused) { + u16 perspNorm; move_segment_table_to_dmem(); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = 0x80000; - temp_v0->unk0 = 0xBA001301; - guPerspective(arg0, &sp56, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0xB4000000; - temp_v0_2->unk4 = sp56; - guLookAt(arg0 + 0x1C0, 0.0f, 0.0f, D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); + gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); + guPerspective(&arg0->mtxPool[0], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); + gDPHalf1(gDisplayListHead++, perspNorm); + guLookAt(&arg0->mtxPool[7], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); func_800942D0(); - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk4 = 0; - temp_v0_3->unk0 = 0xE7000000; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk4 = 0; - temp_v0_4->unk0 = 0xBA001301; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk4 = 0x2000; - temp_v0_5->unk0 = 0xBA000C02; + gDPPipeSync(gDisplayListHead++); + gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE); + gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80094660.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_800B0004(); // extern -? move_segment_table_to_dmem(); // extern -extern ? D_02007650; -extern ? D_02007FC8; -extern s32 D_8018EDC0; -extern f32 D_8018EDC4; -extern f32 D_8018EDC8; -extern f32 D_8018EDCC; -extern f32 D_8018EDD0; -extern f32 D_8018EDD4; -extern f32 D_8018EDD8; -extern f32 D_8018EDDC; -extern void *gDisplayListHead; - -void func_800947B4(s32 arg0, ? arg1) { - u16 sp7E; - Mtx *sp50; - Mtx *sp4C; - Mtx *sp48; - Mtx *sp44; - Mtx *sp40; - Mtx *sp3C; - Mtx *sp38; - Mtx *temp_a0; - Mtx *temp_a0_2; - Mtx *temp_a0_3; - Mtx *temp_a0_4; - Mtx *temp_a0_5; - Mtx *temp_a0_6; - Mtx *temp_a0_7; - f32 temp_f0; - void *temp_v0; - void *temp_v0_10; - void *temp_v0_2; - void *temp_v0_3; - void *temp_v0_4; - void *temp_v0_5; - void *temp_v0_6; - void *temp_v0_7; - void *temp_v0_8; - void *temp_v0_9; +void func_800947B4(struct GfxPool *arg0, s32 unused) { + u16 perspNorm; move_segment_table_to_dmem(); - temp_a0 = arg0 + 0x40; - sp50 = temp_a0; - guPerspective(temp_a0, &sp7E, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk0 = 0xB4000000; - temp_v0->unk4 = sp7E; - temp_a0_2 = arg0 + 0x200; - sp4C = temp_a0_2; - guLookAt(temp_a0_2, 0.0f, 0.0f, D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); - temp_a0_3 = arg0 + 0xCAC0; - sp48 = temp_a0_3; - guRotate(temp_a0_3, D_8018EDC8, 1.0f, 0.0f, 0.0f); - temp_a0_4 = arg0 + 0xCB00; - sp44 = temp_a0_4; - guRotate(temp_a0_4, D_8018EDCC, 0.0f, 1.0f, 0.0f); - temp_a0_5 = arg0 + 0xCB40; - sp40 = temp_a0_5; - guRotate(temp_a0_5, D_8018EDD0, 0.0f, 0.0f, 1.0f); - temp_a0_6 = arg0 + 0xCB80; - temp_f0 = D_8018EDC4; - sp3C = temp_a0_6; - guScale(temp_a0_6, temp_f0, temp_f0, temp_f0); - temp_a0_7 = arg0 + 0xCBC0; - sp38 = temp_a0_7; - guTranslate(temp_a0_7, D_8018EDD4, D_8018EDD8, D_8018EDDC); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x1030040; - temp_v0_2->unk4 = sp50; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->unk0 = 0x1020040; - temp_v0_3->unk4 = sp4C; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->unk0 = 0x1000040; - temp_v0_4->unk4 = sp48; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->unk0 = 0x1000040; - temp_v0_5->unk4 = sp44; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->unk0 = 0x1000040; - temp_v0_6->unk4 = sp40; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->unk0 = 0x1000040; - temp_v0_7->unk4 = sp3C; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->unk0 = 0x1000040; - temp_v0_8->unk4 = sp38; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->unk4 = &D_02007FC8; - temp_v0_9->unk0 = 0x6000000; + guPerspective(&arg0->mtxPool[1], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); + gDPHalf1(gDisplayListHead++, perspNorm); + guLookAt(&arg0->mtxPool[8], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); + guRotate(&arg0->mtxPool[0x32B], D_8018EDC8, 1.0f, 0, 0); + guRotate(&arg0->mtxPool[0x32C], D_8018EDCC, 0, 1.0f, 0); + guRotate(&arg0->mtxPool[0x32D], D_8018EDD0, 0, 0, 1.0f); + guScale(&arg0->mtxPool[0x32E], D_8018EDC4, D_8018EDC4, D_8018EDC4); + guTranslate(&arg0->mtxPool[0x32F], D_8018EDD4, D_8018EDD8, D_8018EDDC); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[1], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[8], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32B], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32C], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32D], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32E], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, &arg0->mtxPool[0x32F], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, D_02007FC8); func_800B0004(); - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->unk4 = &D_02007650; - temp_v0_10->unk0 = 0x6000000; + gSPDisplayList(gDisplayListHead++, D_02007650); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800947B4.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80092290(?, ? *, ? *); /* extern */ -? func_80093E40(); /* extern */ -? func_80094C60(); /* extern */ -? func_80095574(); /* extern */ -? func_80099A70(); /* extern */ -? func_80099AEC(); /* extern */ -? func_8009C918(); /* extern */ -? func_8009CA2C(); /* extern */ -? func_800A8230(); /* extern */ -? guOrtho(s32, f32, ?, ?, f32, f32, f32, f32); /* extern */ -extern ? D_8018E850; -extern ? D_8018E854; -extern ? D_8018E858; -extern ? D_8018E85C; -extern ? D_802B8880; -static ? D_02007650; /* unable to generate initializer */ -static ? D_020076B0; /* unable to generate initializer */ - -void func_80094A64(s32 arg0) { - Gfx *temp_v0; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - s32 temp_t1; +#ifdef NON_MATCHING +// Non-matching due to .rodata diffs resulting from the switch/case +// jump table +void func_80094A64(Mtx *arg0) { D_8018D120 = 0; D_80164AF0 = 0; - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w1 = &D_802B8880 & 0x1FFFFFFF; - temp_v0->words.w0 = 0x3800010; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w0 = 0xED000000; - temp_v0_2->words.w1 = 0x5003C0; - guOrtho(arg0, 0.0f, 0x439F8000, 0x436F0000, 0.0f, -100.0f, 100.0f, 1.0f); - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w0 = 0x1030040; - temp_v0_3->words.w1 = arg0; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = &D_02007650; - temp_v0_4->words.w0 = 0x6000000; + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_802B8880)); + gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 320, 240); + guOrtho(arg0, 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); + gSPMatrix(gDisplayListHead++, arg0, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPDisplayList(gDisplayListHead++, D_02007650); func_80094C60(); func_80092290(4, &D_8018E850, &D_8018E858); func_80092290(5, &D_8018E854, &D_8018E85C); func_80099A70(); func_8009C918(); - temp_t1 = gMenuSelection; - switch (temp_t1) { + switch (gMenuSelection) { case START_MENU: func_80095574(); func_80093E40(); @@ -1871,15 +1576,9 @@ void func_80094A64(s32 arg0) { break; } func_8009CA2C(); - temp_v0_5 = gDisplayListHead; D_8018E7A8 += 1; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w1 = 0; - temp_v0_5->words.w0 = 0xE7000000; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w0 = 0x6000000; - temp_v0_6->words.w1 = &D_020076B0; + gDPPipeSync(gDisplayListHead++); + gSPDisplayList(gDisplayListHead++, D_020076B0); } #else GLOBAL_ASM("asm/non_matchings/code_80091750/func_80094A64.s") diff --git a/src/code_80091750.h b/src/code_80091750.h index 404f2bf48..ea57ed5ae 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -2,14 +2,17 @@ #define CODE_80091750_H #include "common_structs.h" +#include "main.h" /* Function Prototypes */ f64 exponent_by_squaring(f64, s32); void swap_values(s32*, s32*); +void func_80092148(); void func_800921B4(); void func_800921C0(s32, s32, s32); void func_80092224(s32, s32, s32); +void func_80092290(s32, s32*, s32*); void func_80092500(); void func_80092564(); void func_800925A0(); @@ -34,8 +37,17 @@ void func_80093754(s32, s32, char*, s32, f32, f32); void print_text2(s32, s32, char*, s32, f32, f32, s32); void func_800939C8(s32, s32, char*, s32, f32, f32); void text_draw(s32, s32, char*, s32, f32, f32); +void func_80093C98(s32); void func_80093E20(); void func_80093E40(); +void func_80093F10(); +void func_800940EC(s32); +void func_800942D0(); +void func_80094660(struct GfxPool*, s32); +void func_800947B4(struct GfxPool*, s32); +void func_80094A64(Mtx*); +void func_80094C60(); +void func_80095574(); Gfx *func_80098C18(Gfx*, s32, s32, s32, s32, s32, s32, u32, s32); Gfx *draw_box(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32); Gfx *func_80098FC8(Gfx*, s32, s32, s32, s32); @@ -43,19 +55,27 @@ void func_80099110(); void func_80099184(s32); void *segmented_to_virtual(segment_address_t); void *segmented_to_virtual_dupe(segment_address_t); +void func_8009CA2C(); +void func_8009CA6C(s32); void func_80099A94(Mk64_Texture *, s32); +void func_80099AEC(); +void func_80099E54(); void func_80099E60(Mk64_Texture *, s32, s32); +void func_80099EC4(); void func_8009A594(s32, s32, segment_address_t); void func_8009A640(s32, s32, s32, segment_address_t); +void func_80099A70(); segment_address_t func_8009A878(struct_8018DEE0_entry*); +void func_800A54EC(); void func_8009A76C(s32, s32, s32, s32); void func_8009A7EC(s32, s32, s32, s32, s32); +void func_800A8250(); void func_8009A944(struct_8018DEE0_entry*, s32); Gfx *func_8009BA74(Gfx *, Mk64_Texture*, s32, s32); s32 func_8009C434(s32, struct_8018DEE0_entry*, s32, s32, s32); s32 func_8009C708(s32, struct_8018DEE0_entry *, s32, s32, s32, s32); +void func_8009C918(); void func_8009E1C0(); -void func_8009E1E4(void); void func_8009E208(); void func_8009E258(); void func_800A0AD0(struct_8018D9E0_entry*); @@ -70,6 +90,7 @@ void write_dashes(char*); void get_time_record_minutes(s32, char*); void get_time_record_seconds(s32 , char*); void get_time_record_centiseconds(s32, char*); +void func_800A8230(); void func_800A86E8(struct_8018D9E0_entry*); void func_800A8E14(struct_8018D9E0_entry*); void func_800A8EC0(struct_8018D9E0_entry*); @@ -80,18 +101,28 @@ struct_8018D9E0_entry *func_800AAEB4(s32); struct_8018D9E0_entry *func_800AAEF4(s32); void func_800AAF94(struct_8018D9E0_entry*, s32); +// code_80057C60.c +void func_80057CE4(); + /* This is where I'd put my static data, if I had any */ extern Mk64_Texture D_0200157C; extern Mk64_Texture D_02001874; extern Gfx D_02004A0C[]; +extern Gfx D_02007650[]; +extern Gfx D_020076B0[]; extern Gfx D_020077A8[]; extern Gfx D_020077D8[]; +extern Gfx D_02007F18[]; +extern Gfx D_02007F48[]; +extern Gfx D_02007F60[]; +extern Gfx D_02007FC8[]; extern Gfx D_02008008[]; extern Gfx D_02008030[]; extern Gfx D_02008058[]; +extern Gfx D_06009410[]; extern s16 gGlyphDisplayWidth[]; // D_800EF690 extern RGBA16 D_800E74A8[5]; @@ -107,6 +138,8 @@ extern char *D_800E7A98; extern char *D_800E7A9C[2]; extern s32 gGlyphTextureLUT[]; // D_800E7E84 extern Mk64_Texture_Group *D_800E82B4[5]; +extern f32 D_800E8530; +extern f32 D_800E8534; extern s8 D_800E86D0[20]; extern f32 D_800F1F30; extern f32 D_800F24A8; @@ -115,12 +148,25 @@ extern f32 D_800F24B0; extern f32 D_800F24B4; extern f32 D_800F24B8; extern f64 D_800F24C0; +extern s32 D_80165754; extern s8 D_8018D9D9; extern struct_8018D9E0_entry D_8018D9E0[32]; // D_8018D9E0 extern struct_8018DEE0_entry D_8018DEE0[16]; // D_8018DEE0 extern struct_8018E118_entry D_8018E118[200]; // D_8018E118 extern s8 gTextColor; // D_8018E860 extern s8 D_8018ED91; +extern s32 D_8018E850; +extern s32 D_8018E854; +extern s32 D_8018E858; +extern s32 D_8018E85C; +extern s32 D_8018EDC0; +extern f32 D_8018EDC4; +extern f32 D_8018EDC8; +extern f32 D_8018EDCC; +extern f32 D_8018EDD0; +extern f32 D_8018EDD4; +extern f32 D_8018EDD8; +extern f32 D_8018EDDC; extern s8 D_802874F5; #endif diff --git a/src/code_800AF9B0.h b/src/code_800AF9B0.h index 535298cb6..46f7ab4ef 100644 --- a/src/code_800AF9B0.h +++ b/src/code_800AF9B0.h @@ -14,6 +14,7 @@ union GrandPrixPointsUnion /* Function Prototypes */ void func_800AF9B0(); +void func_800B0004(); void func_800B053C(struct Controller*, u16); void func_800B13B0(struct Controller*, u16); void func_800B15AC(struct Controller*, u16); diff --git a/src/code_80280000.c b/src/code_80280000.c index 5ab7f74f3..4beb8d9db 100644 --- a/src/code_80280000.c +++ b/src/code_80280000.c @@ -50,11 +50,11 @@ void func_80280038(void) { func_802A3E3C(); func_80057FC4(0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[8], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp44[37]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); gCurrentCourseId = gCreditsCourseId; mtxf_identity(&sp44); func_802B4FF8(&sp44, 0); diff --git a/src/code_80280650.c b/src/code_80280650.c index fa30634f2..e94d72c2f 100644 --- a/src/code_80280650.c +++ b/src/code_80280650.c @@ -185,11 +185,8 @@ extern struct UnkStruct_80287500 *D_80287500; void func_80280A28(s32 arg0, s32 arg1, f32 arg2) { f32 sp20[14]; - //f32 temp_f12; Gfx *temp_v1; - //temp_f12 = arg2; - //arg2 = temp_f12; func_80021E10(arg2, &sp20, arg0, arg1); sp20[0] = D_80287500->unk0[0] * arg2; sp20[1] = D_80287500->unk10 * arg2; @@ -200,15 +197,9 @@ void func_80280A28(s32 arg0, s32 arg1, f32 arg2) { sp20[6] = D_80287500->unk0[2] * arg2; sp20[7] = D_80287500->unk18 * arg2; sp20[8] = D_80287500->unk28 * arg2; - func_80022180(arg2, &gGfxPool->buffer[D_80164AF0] + 0xFAC0, &sp20); + func_80022180(arg2, &gGfxPool->mtxPool[D_80164AF0 + 0x3EB], &sp20); - gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - - - //temp_v1 = gDisplayListHead; - //gDisplayListHead = temp_v1 + 8; - //temp_v1->words.w0 = 0x01020040; - //temp_v1->words.w1 = VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[D_80164AF0 << 6] + 0xFAC0); + gSPMatrix(gDisplayListHead, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80164AF0 + 0x3EB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } #else GLOBAL_ASM("asm/non_matchings/code_80280650/func_80280A28.s") diff --git a/src/code_80281C40.c b/src/code_80281C40.c index b2ef6bf8d..b14f2781c 100644 --- a/src/code_80281C40.c +++ b/src/code_80281C40.c @@ -64,11 +64,11 @@ void func_80281D00(void) { } func_8028150C(); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective((Mtx*) &gGfxPool->buffer[8], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp64[39]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt((Mtx*) &gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt((Mtx*) &gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(&sp64[6]); func_802B4FF8(&sp64[6], 0); gSPDisplayList(gDisplayListHead++, &D_00284F70); diff --git a/src/code_802A3730.c b/src/code_802A3730.c index 88e06db69..ddfa1a8b2 100644 --- a/src/code_802A3730.c +++ b/src/code_802A3730.c @@ -460,9 +460,9 @@ void func_802A487C(Vtx *arg0, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3, gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING); - guOrtho((Mtx *)&gGfxPool->buffer, 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f); + guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f); gDPHalf1(gDisplayListHead++, 0xFFFF); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_0D008E98), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(gDisplayListHead++, &arg0[4], 4, 0); gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0); @@ -530,9 +530,9 @@ void func_802A4A0C(Vtx *arg0, struct UnkStruct_800DC5EC *arg1, s32 arg2, s32 arg gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING); - guOrtho(&gGfxPool->buffer, 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f); + guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f); gDPHalf1(gDisplayListHead++, 0xFFFF); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_0D008E98), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(gDisplayListHead++, &arg0, 4, 0); gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0); @@ -983,23 +983,23 @@ void func_802A59A4(void) { gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); - guPerspective(&gGfxPool->buffer[8], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, spAA[23]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], + guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp5C); func_802B4FF8(sp5C, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5EC); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp5C); func_802B4FF8(sp5C, 0); } @@ -1033,23 +1033,23 @@ void func_802A5CB4(void) { gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5EC); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); @@ -1082,23 +1082,23 @@ void func_802A5FAC(void) { func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); //D_801647A8, D_801647AC, D_801647B0, D_801647B4, D_801647B8, D_801647BC, D_801647C0, D_801647C4, D_801647C8); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5F0); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } @@ -1130,22 +1130,22 @@ void func_802A62A4(void) { func_802A3E3C(); func_802A3730(D_800DC5EC); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5EC); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } @@ -1178,21 +1178,21 @@ void func_802A65B8(void) { func_802A3E3C(); func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5F0); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(&sp58); func_802B4FF8(&sp58, 0); } @@ -1224,21 +1224,21 @@ void func_802A68CC(void) { func_802A3730(D_800DC5EC); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[8], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[56], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(&sp58); func_802B4FF8(&sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5EC); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[56]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[7]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(&sp58); func_802B4FF8(&sp58, 0); } @@ -1270,21 +1270,21 @@ void func_802A6BB0(void) { func_802A3730(D_800DC5F0); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[16], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[16]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[64], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5F0); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[64]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[8]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } @@ -1315,21 +1315,21 @@ void func_802A6E94(void) { func_802A3E3C(); func_802A3730(D_800DC5F4); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[24], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp9A[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[24]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[72], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[9], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5F4); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[72]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[9]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp58); func_802B4FF8(sp58, 0); } @@ -1370,20 +1370,20 @@ void func_802A7178(void) { func_802A3730(D_800DC5F8); gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH); - guPerspective(&gGfxPool->buffer[32], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f); + guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f); gDPHalf1(gDisplayListHead++, sp92[17]); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[32]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - guLookAt(&gGfxPool->buffer[80], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + guLookAt(&gGfxPool->mtxPool[10], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ); if (D_800DC5C8 == 0) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp50); func_802B4FF8(sp50, 0); } else { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } func_80295A38(D_800DC5F8); if (D_800DC5C8 == 1) { - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->buffer[80]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[10]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(sp50); func_802B4FF8(sp50, 0); } diff --git a/src/gbiMacro.c b/src/gbiMacro.c index 610cd8678..ca925951e 100644 --- a/src/gbiMacro.c +++ b/src/gbiMacro.c @@ -2,11 +2,11 @@ #include #include "types.h" #include "PR/gu.h" +#include "main.h" extern s16 D_800E43A8; extern Mtx D_0D008E98; extern Gfx* gDisplayListHead; -extern Mtx* gGfxPool; // rsp init void gfx_func_80040D00(void) { @@ -15,7 +15,7 @@ void gfx_func_80040D00(void) { gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); - guOrtho((Mtx *) gGfxPool, 0.0f, 320.0f, 0.0f, 240.0f, -1.0f, 1.0f, 1.0f); + guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, -1.0f, 1.0f, 1.0f); gDPHalf1(gDisplayListHead++, 0x0000FFFF); gSPMatrix(gDisplayListHead++, (u32) gGfxPool & 0x1FFFFFFF, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gDisplayListHead++, (u32) &D_0D008E98 & 0x1FFFFFFF, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); diff --git a/src/main.c b/src/main.c index 5370cce47..bbccb7747 100644 --- a/src/main.c +++ b/src/main.c @@ -335,8 +335,8 @@ void func_800006E8(void) { gGfxSPTask->task.t.dram_stack_size = SP_DRAM_STACK_SIZE8; gGfxSPTask->task.t.output_buff = (u64 *) &gGfxSPTaskOutputBuffer; gGfxSPTask->task.t.output_buff_size = (u64 *) &gGfxSPTaskOutputBufferSize; - gGfxSPTask->task.t.data_ptr = (u64 *) &gGfxPool->buffer[0x3418]; - gGfxSPTask->task.t.data_size = (gDisplayListHead - &gGfxPool->buffer[0x3418]) * sizeof(Gfx); + gGfxSPTask->task.t.data_ptr = (u64 *) gGfxPool->gfxPool; + gGfxSPTask->task.t.data_size = (gDisplayListHead - gGfxPool->gfxPool) * sizeof(Gfx); func_8008C214(); gGfxSPTask->task.t.yield_data_ptr = (u64 *) &gGfxSPTaskYieldBuffer; gGfxSPTask->task.t.yield_data_size = 0xD00; /* Not equal to OS_YIELD_DATA_SIZE */ @@ -466,9 +466,9 @@ void *clear_framebuffer(s32 color) { void rendering_init(void) { gGfxPool = &gGfxPools[0]; - set_segment_base_addr(1, gGfxPool->buffer); + set_segment_base_addr(1, gGfxPool); gGfxSPTask = &gGfxPool->spTask; - gDisplayListHead = &gGfxPool->buffer[0x3418]; + gDisplayListHead = gGfxPool->gfxPool; func_80000CA8(); clear_framebuffer(0); func_80000CE8(); @@ -479,8 +479,8 @@ void rendering_init(void) { void config_gfx_pool(void) { gGfxPool = &gGfxPools[gGlobalTimer & 1]; - set_segment_base_addr(1, gGfxPool->buffer); - gDisplayListHead = &gGfxPool->buffer[0x3418]; + set_segment_base_addr(1, gGfxPool); + gDisplayListHead = gGfxPool->gfxPool; gGfxSPTask = &gGfxPool->spTask; } diff --git a/src/main.h b/src/main.h index 0398c1730..cd15cbb32 100644 --- a/src/main.h +++ b/src/main.h @@ -2,13 +2,14 @@ #define MAIN_H #include "types.h" -// 20836 -// 655 -#define GFX_POOL_SIZE 20836 + +#define MTX_POOL_SIZE 0x0683 +#define GFX_POOL_SIZE 0x1D4C struct GfxPool { - Gfx buffer[GFX_POOL_SIZE]; - struct SPTask spTask; -}; + /* 0x00000 */ Mtx mtxPool[MTX_POOL_SIZE]; + /* 0x1A0C0 */ Gfx gfxPool[GFX_POOL_SIZE]; + /* 0x28B20 */ struct SPTask spTask; +}; // size = 0x28B70 extern struct GfxPool *gGfxPool;