diff --git a/src/lib/collision.c b/src/lib/collision.c index 919a8b3ab..6631869cf 100644 --- a/src/lib/collision.c +++ b/src/lib/collision.c @@ -1802,11 +1802,6 @@ void cd0002901c(struct coord *pos, struct coord *dist, f32 width, struct collisi cdSetObstacleVtxPropFlt(&vtx1, &vtx2, collisions[bestindex].prop, bestvalue); } -f32 cdFindGroundFromList(struct collision *collisions, struct coord *pos, struct collision **collisionptr, f32 width); - -#if VERSION >= VERSION_NTSC_1_0 -// NTSC beta mismatches due to swapped s5/s6 registers -// collision should be s6; next should be s5 f32 cdFindGroundFromList(struct collision *collisions, struct coord *pos, struct collision **collisionptr, f32 width) { struct collision *collision; @@ -2120,6 +2115,8 @@ f32 cdFindGroundFromList(struct collision *collisions, struct coord *pos, struct #if VERSION >= VERSION_NTSC_1_0 hasground = true; hasdie = false; +#else + if (numvertices); #endif } } @@ -2134,607 +2131,6 @@ f32 cdFindGroundFromList(struct collision *collisions, struct coord *pos, struct return curground; } -#else -GLOBAL_ASM( -glabel cdFindGroundFromList -/* 2ab9c: 27bdfef8 */ addiu $sp,$sp,-264 -/* 2aba0: 3c01cf80 */ lui $at,0xcf80 -/* 2aba4: 44812000 */ mtc1 $at,$f4 -/* 2aba8: afbf0074 */ sw $ra,0x74($sp) -/* 2abac: afbe0070 */ sw $s8,0x70($sp) -/* 2abb0: afb7006c */ sw $s7,0x6c($sp) -/* 2abb4: afb60068 */ sw $s6,0x68($sp) -/* 2abb8: afb50064 */ sw $s5,0x64($sp) -/* 2abbc: afb40060 */ sw $s4,0x60($sp) -/* 2abc0: afb3005c */ sw $s3,0x5c($sp) -/* 2abc4: afb20058 */ sw $s2,0x58($sp) -/* 2abc8: afb10054 */ sw $s1,0x54($sp) -/* 2abcc: afb00050 */ sw $s0,0x50($sp) -/* 2abd0: f7be0048 */ sdc1 $f30,0x48($sp) -/* 2abd4: f7bc0040 */ sdc1 $f28,0x40($sp) -/* 2abd8: f7ba0038 */ sdc1 $f26,0x38($sp) -/* 2abdc: f7b80030 */ sdc1 $f24,0x30($sp) -/* 2abe0: f7b60028 */ sdc1 $f22,0x28($sp) -/* 2abe4: f7b40020 */ sdc1 $f20,0x20($sp) -/* 2abe8: afa70114 */ sw $a3,0x114($sp) -/* 2abec: afa000f8 */ sw $zero,0xf8($sp) -/* 2abf0: e7a400fc */ swc1 $f4,0xfc($sp) -/* 2abf4: acc00000 */ sw $zero,0x0($a2) -/* 2abf8: 8c8e0000 */ lw $t6,0x0($a0) -/* 2abfc: 00a09025 */ or $s2,$a1,$zero -/* 2ac00: 00809825 */ or $s3,$a0,$zero -/* 2ac04: 00c0f025 */ or $s8,$a2,$zero -/* 2ac08: 00008025 */ or $s0,$zero,$zero -/* 2ac0c: 00008825 */ or $s1,$zero,$zero -/* 2ac10: 11c00025 */ beqz $t6,.NB0002aca8 -/* 2ac14: 0080b025 */ or $s6,$a0,$zero -/* 2ac18: 8ec70000 */ lw $a3,0x0($s6) -/* 2ac1c: 90e20000 */ lbu $v0,0x0($a3) -.NB0002ac20: -/* 2ac20: 24010001 */ addiu $at,$zero,0x1 -/* 2ac24: 14400013 */ bnez $v0,.NB0002ac74 -/* 2ac28: 00000000 */ sll $zero,$zero,0x0 -/* 2ac2c: 94e20002 */ lhu $v0,0x2($a3) -/* 2ac30: 00e02025 */ or $a0,$a3,$zero -/* 2ac34: 304f4000 */ andi $t7,$v0,0x4000 -/* 2ac38: 51e00004 */ beqzl $t7,.NB0002ac4c -/* 2ac3c: 30580100 */ andi $t8,$v0,0x100 -/* 2ac40: 10000015 */ beqz $zero,.NB0002ac98 -/* 2ac44: aec00004 */ sw $zero,0x4($s6) -/* 2ac48: 30580100 */ andi $t8,$v0,0x100 -.NB0002ac4c: -/* 2ac4c: 53000003 */ beqzl $t8,.NB0002ac5c -/* 2ac50: 8e450000 */ lw $a1,0x0($s2) -/* 2ac54: 24110001 */ addiu $s1,$zero,0x1 -/* 2ac58: 8e450000 */ lw $a1,0x0($s2) -.NB0002ac5c: -/* 2ac5c: 0c009da6 */ jal cdIs2dPointInIntTile -/* 2ac60: 8e460008 */ lw $a2,0x8($s2) -/* 2ac64: 1040000c */ beqz $v0,.NB0002ac98 -/* 2ac68: aec20004 */ sw $v0,0x4($s6) -/* 2ac6c: 1000000a */ beqz $zero,.NB0002ac98 -/* 2ac70: 24100001 */ addiu $s0,$zero,0x1 -.NB0002ac74: -/* 2ac74: 54410009 */ bnel $v0,$at,.NB0002ac9c -/* 2ac78: 8ec70014 */ lw $a3,0x14($s6) -/* 2ac7c: 00e02025 */ or $a0,$a3,$zero -/* 2ac80: 8e450000 */ lw $a1,0x0($s2) -/* 2ac84: 0c009dfd */ jal cdIs2dPointInFltTile -/* 2ac88: 8e460008 */ lw $a2,0x8($s2) -/* 2ac8c: 10400002 */ beqz $v0,.NB0002ac98 -/* 2ac90: aec20004 */ sw $v0,0x4($s6) -/* 2ac94: 24100001 */ addiu $s0,$zero,0x1 -.NB0002ac98: -/* 2ac98: 8ec70014 */ lw $a3,0x14($s6) -.NB0002ac9c: -/* 2ac9c: 26d60014 */ addiu $s6,$s6,0x14 -/* 2aca0: 54e0ffdf */ bnezl $a3,.NB0002ac20 -/* 2aca4: 90e20000 */ lbu $v0,0x0($a3) -.NB0002aca8: -/* 2aca8: 52000065 */ beqzl $s0,.NB0002ae40 -/* 2acac: 8faa00f8 */ lw $t2,0xf8($sp) -/* 2acb0: 8e620000 */ lw $v0,0x0($s3) -/* 2acb4: 0260b025 */ or $s6,$s3,$zero -/* 2acb8: 1040003a */ beqz $v0,.NB0002ada4 -/* 2acbc: 00000000 */ sll $zero,$zero,0x0 -/* 2acc0: 8ed90004 */ lw $t9,0x4($s6) -.NB0002acc4: -/* 2acc4: 53200032 */ beqzl $t9,.NB0002ad90 -/* 2acc8: 8ecc0014 */ lw $t4,0x14($s6) -/* 2accc: 8ec70000 */ lw $a3,0x0($s6) -/* 2acd0: 24010001 */ addiu $at,$zero,0x1 -/* 2acd4: 90e20000 */ lbu $v0,0x0($a3) -/* 2acd8: 14400018 */ bnez $v0,.NB0002ad3c -/* 2acdc: 00000000 */ sll $zero,$zero,0x0 -/* 2ace0: 94e80002 */ lhu $t0,0x2($a3) -/* 2ace4: 31092000 */ andi $t1,$t0,0x2000 -/* 2ace8: 55200029 */ bnezl $t1,.NB0002ad90 -/* 2acec: 8ecc0014 */ lw $t4,0x14($s6) -/* 2acf0: 00e02025 */ or $a0,$a3,$zero -/* 2acf4: 8e450000 */ lw $a1,0x0($s2) -/* 2acf8: 0c009ce8 */ jal cdFindGroundInIntTile -/* 2acfc: 8e460008 */ lw $a2,0x8($s2) -/* 2ad00: c7a600fc */ lwc1 $f6,0xfc($sp) -/* 2ad04: 4600303e */ c.le.s $f6,$f0 -/* 2ad08: 00000000 */ sll $zero,$zero,0x0 -/* 2ad0c: 45020020 */ bc1fl .NB0002ad90 -/* 2ad10: 8ecc0014 */ lw $t4,0x14($s6) -/* 2ad14: c6480004 */ lwc1 $f8,0x4($s2) -/* 2ad18: 240a0001 */ addiu $t2,$zero,0x1 -/* 2ad1c: 4608003c */ c.lt.s $f0,$f8 -/* 2ad20: 00000000 */ sll $zero,$zero,0x0 -/* 2ad24: 4502001a */ bc1fl .NB0002ad90 -/* 2ad28: 8ecc0014 */ lw $t4,0x14($s6) -/* 2ad2c: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2ad30: afd60000 */ sw $s6,0x0($s8) -/* 2ad34: 10000015 */ beqz $zero,.NB0002ad8c -/* 2ad38: afaa00f8 */ sw $t2,0xf8($sp) -.NB0002ad3c: -/* 2ad3c: 54410014 */ bnel $v0,$at,.NB0002ad90 -/* 2ad40: 8ecc0014 */ lw $t4,0x14($s6) -/* 2ad44: 00e02025 */ or $a0,$a3,$zero -/* 2ad48: 8e450000 */ lw $a1,0x0($s2) -/* 2ad4c: 0c009d37 */ jal cdFindGroundInFltTile -/* 2ad50: 8e460008 */ lw $a2,0x8($s2) -/* 2ad54: c7aa00fc */ lwc1 $f10,0xfc($sp) -/* 2ad58: 4600503e */ c.le.s $f10,$f0 -/* 2ad5c: 00000000 */ sll $zero,$zero,0x0 -/* 2ad60: 4502000b */ bc1fl .NB0002ad90 -/* 2ad64: 8ecc0014 */ lw $t4,0x14($s6) -/* 2ad68: c6500004 */ lwc1 $f16,0x4($s2) -/* 2ad6c: 240b0001 */ addiu $t3,$zero,0x1 -/* 2ad70: 4610003c */ c.lt.s $f0,$f16 -/* 2ad74: 00000000 */ sll $zero,$zero,0x0 -/* 2ad78: 45020005 */ bc1fl .NB0002ad90 -/* 2ad7c: 8ecc0014 */ lw $t4,0x14($s6) -/* 2ad80: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2ad84: afd60000 */ sw $s6,0x0($s8) -/* 2ad88: afab00f8 */ sw $t3,0xf8($sp) -.NB0002ad8c: -/* 2ad8c: 8ecc0014 */ lw $t4,0x14($s6) -.NB0002ad90: -/* 2ad90: 26d60014 */ addiu $s6,$s6,0x14 -/* 2ad94: 5580ffcb */ bnezl $t4,.NB0002acc4 -/* 2ad98: 8ed90004 */ lw $t9,0x4($s6) -/* 2ad9c: 0260b025 */ or $s6,$s3,$zero -/* 2ada0: 8e620000 */ lw $v0,0x0($s3) -.NB0002ada4: -/* 2ada4: 50400026 */ beqzl $v0,.NB0002ae40 -/* 2ada8: 8faa00f8 */ lw $t2,0xf8($sp) -/* 2adac: 8ecd0004 */ lw $t5,0x4($s6) -.NB0002adb0: -/* 2adb0: 51a0001f */ beqzl $t5,.NB0002ae30 -/* 2adb4: 8ec90014 */ lw $t1,0x14($s6) -/* 2adb8: 8ec70000 */ lw $a3,0x0($s6) -/* 2adbc: 90ee0000 */ lbu $t6,0x0($a3) -/* 2adc0: 55c0001b */ bnezl $t6,.NB0002ae30 -/* 2adc4: 8ec90014 */ lw $t1,0x14($s6) -/* 2adc8: 94ef0002 */ lhu $t7,0x2($a3) -/* 2adcc: 31f82000 */ andi $t8,$t7,0x2000 -/* 2add0: 53000017 */ beqzl $t8,.NB0002ae30 -/* 2add4: 8ec90014 */ lw $t1,0x14($s6) -/* 2add8: 00e02025 */ or $a0,$a3,$zero -/* 2addc: 8e450000 */ lw $a1,0x0($s2) -/* 2ade0: 0c009ce8 */ jal cdFindGroundInIntTile -/* 2ade4: 8e460008 */ lw $a2,0x8($s2) -/* 2ade8: c7b200fc */ lwc1 $f18,0xfc($sp) -/* 2adec: 4600903e */ c.le.s $f18,$f0 -/* 2adf0: 00000000 */ sll $zero,$zero,0x0 -/* 2adf4: 4502000e */ bc1fl .NB0002ae30 -/* 2adf8: 8ec90014 */ lw $t1,0x14($s6) -/* 2adfc: c6440004 */ lwc1 $f4,0x4($s2) -/* 2ae00: 4604003c */ c.lt.s $f0,$f4 -/* 2ae04: 00000000 */ sll $zero,$zero,0x0 -/* 2ae08: 45030005 */ bc1tl .NB0002ae20 -/* 2ae0c: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2ae10: 8fb900f8 */ lw $t9,0xf8($sp) -/* 2ae14: 57200006 */ bnezl $t9,.NB0002ae30 -/* 2ae18: 8ec90014 */ lw $t1,0x14($s6) -/* 2ae1c: e7a000fc */ swc1 $f0,0xfc($sp) -.NB0002ae20: -/* 2ae20: afd60000 */ sw $s6,0x0($s8) -/* 2ae24: 24080001 */ addiu $t0,$zero,0x1 -/* 2ae28: afa800f8 */ sw $t0,0xf8($sp) -/* 2ae2c: 8ec90014 */ lw $t1,0x14($s6) -.NB0002ae30: -/* 2ae30: 26d60014 */ addiu $s6,$s6,0x14 -/* 2ae34: 5520ffde */ bnezl $t1,.NB0002adb0 -/* 2ae38: 8ecd0004 */ lw $t5,0x4($s6) -/* 2ae3c: 8faa00f8 */ lw $t2,0xf8($sp) -.NB0002ae40: -/* 2ae40: 3c014f80 */ lui $at,0x4f80 -/* 2ae44: 51400004 */ beqzl $t2,.NB0002ae58 -/* 2ae48: 44813000 */ mtc1 $at,$f6 -/* 2ae4c: 5220016b */ beqzl $s1,.NB0002b3fc -/* 2ae50: 8fbf0074 */ lw $ra,0x74($sp) -/* 2ae54: 44813000 */ mtc1 $at,$f6 -.NB0002ae58: -/* 2ae58: 0260b025 */ or $s6,$s3,$zero -/* 2ae5c: e7a600e4 */ swc1 $f6,0xe4($sp) -/* 2ae60: 8e6b0000 */ lw $t3,0x0($s3) -/* 2ae64: 51600165 */ beqzl $t3,.NB0002b3fc -/* 2ae68: 8fbf0074 */ lw $ra,0x74($sp) -/* 2ae6c: 8ecc0004 */ lw $t4,0x4($s6) -.NB0002ae70: -/* 2ae70: 8fad00f8 */ lw $t5,0xf8($sp) -/* 2ae74: 5580015d */ bnezl $t4,.NB0002b3ec -/* 2ae78: 8ec80014 */ lw $t0,0x14($s6) -/* 2ae7c: 11a00008 */ beqz $t5,.NB0002aea0 -/* 2ae80: 8ec70000 */ lw $a3,0x0($s6) -/* 2ae84: 90ee0000 */ lbu $t6,0x0($a3) -/* 2ae88: 55c00158 */ bnezl $t6,.NB0002b3ec -/* 2ae8c: 8ec80014 */ lw $t0,0x14($s6) -/* 2ae90: 94ef0002 */ lhu $t7,0x2($a3) -/* 2ae94: 31f80100 */ andi $t8,$t7,0x100 -/* 2ae98: 53000154 */ beqzl $t8,.NB0002b3ec -/* 2ae9c: 8ec80014 */ lw $t0,0x14($s6) -.NB0002aea0: -/* 2aea0: 90e20000 */ lbu $v0,0x0($a3) -/* 2aea4: 544000ba */ bnezl $v0,.NB0002b190 -/* 2aea8: 24010001 */ addiu $at,$zero,0x1 -/* 2aeac: 90f70001 */ lbu $s7,0x1($a3) -/* 2aeb0: 00e0a025 */ or $s4,$a3,$zero -/* 2aeb4: 00008825 */ or $s1,$zero,$zero -/* 2aeb8: 1ae0014b */ blez $s7,.NB0002b3e8 -/* 2aebc: 00e09825 */ or $s3,$a3,$zero -.NB0002aec0: -/* 2aec0: 26350001 */ addiu $s5,$s1,0x1 -/* 2aec4: 02b7001a */ div $zero,$s5,$s7 -/* 2aec8: 00004810 */ mfhi $t1 -/* 2aecc: 00095080 */ sll $t2,$t1,0x2 -/* 2aed0: 01495023 */ subu $t2,$t2,$t1 -/* 2aed4: 000a5040 */ sll $t2,$t2,0x1 -/* 2aed8: 028a8021 */ addu $s0,$s4,$t2 -/* 2aedc: 860b000e */ lh $t3,0xe($s0) -/* 2aee0: 860c0012 */ lh $t4,0x12($s0) -/* 2aee4: 8679000e */ lh $t9,0xe($s3) -/* 2aee8: 86680012 */ lh $t0,0x12($s3) -/* 2aeec: 448b8000 */ mtc1 $t3,$f16 -/* 2aef0: 448c9000 */ mtc1 $t4,$f18 -/* 2aef4: 44994000 */ mtc1 $t9,$f8 -/* 2aef8: 44885000 */ mtc1 $t0,$f10 -/* 2aefc: 468086a0 */ cvt.s.w $f26,$f16 -/* 2af00: c6440000 */ lwc1 $f4,0x0($s2) -/* 2af04: e7a40010 */ swc1 $f4,0x10($sp) -/* 2af08: 46809720 */ cvt.s.w $f28,$f18 -/* 2af0c: c6460008 */ lwc1 $f6,0x8($s2) -/* 2af10: 4406d000 */ mfc1 $a2,$f26 -/* 2af14: e7a60014 */ swc1 $f6,0x14($sp) -/* 2af18: 468045a0 */ cvt.s.w $f22,$f8 -/* 2af1c: 4407e000 */ mfc1 $a3,$f28 -/* 2af20: 46805620 */ cvt.s.w $f24,$f10 -/* 2af24: 16e00002 */ bnez $s7,.NB0002af30 -/* 2af28: 00000000 */ sll $zero,$zero,0x0 -/* 2af2c: 0007000d */ break 0x7 -.NB0002af30: -/* 2af30: 2401ffff */ addiu $at,$zero,-1 -/* 2af34: 16e10004 */ bne $s7,$at,.NB0002af48 -/* 2af38: 3c018000 */ lui $at,0x8000 -/* 2af3c: 16a10002 */ bne $s5,$at,.NB0002af48 -/* 2af40: 00000000 */ sll $zero,$zero,0x0 -/* 2af44: 0006000d */ break 0x6 -.NB0002af48: -/* 2af48: 4600c386 */ mov.s $f14,$f24 -/* 2af4c: 0c009a8d */ jal cd00025654 -/* 2af50: 4600b306 */ mov.s $f12,$f22 -/* 2af54: 44804000 */ mtc1 $zero,$f8 -/* 2af58: e7a000d4 */ swc1 $f0,0xd4($sp) -/* 2af5c: 46000786 */ mov.s $f30,$f0 -/* 2af60: 4608003c */ c.lt.s $f0,$f8 -/* 2af64: c7aa00e4 */ lwc1 $f10,0xe4($sp) -/* 2af68: 45020003 */ bc1fl .NB0002af78 -/* 2af6c: 460af03c */ c.lt.s $f30,$f10 -/* 2af70: 46000787 */ neg.s $f30,$f0 -/* 2af74: 460af03c */ c.lt.s $f30,$f10 -.NB0002af78: -/* 2af78: 00000000 */ sll $zero,$zero,0x0 -/* 2af7c: 4502007f */ bc1fl .NB0002b17c -/* 2af80: 02a08825 */ or $s1,$s5,$zero -/* 2af84: c6500000 */ lwc1 $f16,0x0($s2) -/* 2af88: 4406d000 */ mfc1 $a2,$f26 -/* 2af8c: 4407e000 */ mfc1 $a3,$f28 -/* 2af90: e7b00010 */ swc1 $f16,0x10($sp) -/* 2af94: c6520008 */ lwc1 $f18,0x8($s2) -/* 2af98: 4600b306 */ mov.s $f12,$f22 -/* 2af9c: 4600c386 */ mov.s $f14,$f24 -/* 2afa0: 0c009ad5 */ jal cd00025774 -/* 2afa4: e7b20014 */ swc1 $f18,0x14($sp) -/* 2afa8: 50400028 */ beqzl $v0,.NB0002b04c -/* 2afac: 4600b306 */ mov.s $f12,$f22 -/* 2afb0: 4616d001 */ sub.s $f0,$f26,$f22 -/* 2afb4: 4618e501 */ sub.s $f20,$f28,$f24 -/* 2afb8: 46000102 */ mul.s $f4,$f0,$f0 -/* 2afbc: e7a000b8 */ swc1 $f0,0xb8($sp) -/* 2afc0: 4614a182 */ mul.s $f6,$f20,$f20 -/* 2afc4: 0c012e84 */ jal sqrtf -/* 2afc8: 46062300 */ add.s $f12,$f4,$f6 -/* 2afcc: c7a800d4 */ lwc1 $f8,0xd4($sp) -/* 2afd0: 4600a407 */ neg.s $f16,$f20 -/* 2afd4: c7a600b8 */ lwc1 $f6,0xb8($sp) -/* 2afd8: 46004383 */ div.s $f14,$f8,$f0 -/* 2afdc: c64a0000 */ lwc1 $f10,0x0($s2) -/* 2afe0: c6440008 */ lwc1 $f4,0x8($s2) -/* 2afe4: 02802025 */ or $a0,$s4,$zero -/* 2afe8: 02203825 */ or $a3,$s1,$zero -/* 2afec: 46107482 */ mul.s $f18,$f14,$f16 -/* 2aff0: 00000000 */ sll $zero,$zero,0x0 -/* 2aff4: 46067202 */ mul.s $f8,$f14,$f6 -/* 2aff8: 46125080 */ add.s $f2,$f10,$f18 -/* 2affc: 46082300 */ add.s $f12,$f4,$f8 -/* 2b000: 44051000 */ mfc1 $a1,$f2 -/* 2b004: 44066000 */ mfc1 $a2,$f12 -/* 2b008: 0c009c15 */ jal cdFindGroundInIntTileAtVertex -/* 2b00c: 00000000 */ sll $zero,$zero,0x0 -/* 2b010: c6500004 */ lwc1 $f16,0x4($s2) -/* 2b014: 4610003c */ c.lt.s $f0,$f16 -/* 2b018: 00000000 */ sll $zero,$zero,0x0 -/* 2b01c: 45030007 */ bc1tl .NB0002b03c -/* 2b020: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b024: 8ecd0000 */ lw $t5,0x0($s6) -/* 2b028: 95ae0002 */ lhu $t6,0x2($t5) -/* 2b02c: 31cf2000 */ andi $t7,$t6,0x2000 -/* 2b030: 51e00052 */ beqzl $t7,.NB0002b17c -/* 2b034: 02a08825 */ or $s1,$s5,$zero -/* 2b038: e7a000fc */ swc1 $f0,0xfc($sp) -.NB0002b03c: -/* 2b03c: afd60000 */ sw $s6,0x0($s8) -/* 2b040: 1000004d */ beqz $zero,.NB0002b178 -/* 2b044: e7be00e4 */ swc1 $f30,0xe4($sp) -/* 2b048: 4600b306 */ mov.s $f12,$f22 -.NB0002b04c: -/* 2b04c: 4600c386 */ mov.s $f14,$f24 -/* 2b050: 8e460000 */ lw $a2,0x0($s2) -/* 2b054: 0c009ac1 */ jal cd00025724 -/* 2b058: 8e470008 */ lw $a3,0x8($s2) -/* 2b05c: 46000506 */ mov.s $f20,$f0 -/* 2b060: 4600d306 */ mov.s $f12,$f26 -/* 2b064: 4600e386 */ mov.s $f14,$f28 -/* 2b068: 8e460000 */ lw $a2,0x0($s2) -/* 2b06c: 0c009ac1 */ jal cd00025724 -/* 2b070: 8e470008 */ lw $a3,0x8($s2) -/* 2b074: 4600a03c */ c.lt.s $f20,$f0 -/* 2b078: 46000586 */ mov.s $f22,$f0 -/* 2b07c: 45020021 */ bc1fl .NB0002b104 -/* 2b080: c7a800e4 */ lwc1 $f8,0xe4($sp) -/* 2b084: c7aa00e4 */ lwc1 $f10,0xe4($sp) -/* 2b088: 460aa03c */ c.lt.s $f20,$f10 -/* 2b08c: 00000000 */ sll $zero,$zero,0x0 -/* 2b090: 4502003a */ bc1fl .NB0002b17c -/* 2b094: 02a08825 */ or $s1,$s5,$zero -/* 2b098: 8678000e */ lh $t8,0xe($s3) -/* 2b09c: 86790012 */ lh $t9,0x12($s3) -/* 2b0a0: 02802025 */ or $a0,$s4,$zero -/* 2b0a4: 44989000 */ mtc1 $t8,$f18 -/* 2b0a8: 44993000 */ mtc1 $t9,$f6 -/* 2b0ac: 02203825 */ or $a3,$s1,$zero -/* 2b0b0: 468090a0 */ cvt.s.w $f2,$f18 -/* 2b0b4: 46803320 */ cvt.s.w $f12,$f6 -/* 2b0b8: 44051000 */ mfc1 $a1,$f2 -/* 2b0bc: 44066000 */ mfc1 $a2,$f12 -/* 2b0c0: 0c009c15 */ jal cdFindGroundInIntTileAtVertex -/* 2b0c4: 00000000 */ sll $zero,$zero,0x0 -/* 2b0c8: c6440004 */ lwc1 $f4,0x4($s2) -/* 2b0cc: 4604003c */ c.lt.s $f0,$f4 -/* 2b0d0: 00000000 */ sll $zero,$zero,0x0 -/* 2b0d4: 45030007 */ bc1tl .NB0002b0f4 -/* 2b0d8: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b0dc: 8ec80000 */ lw $t0,0x0($s6) -/* 2b0e0: 95090002 */ lhu $t1,0x2($t0) -/* 2b0e4: 312a2000 */ andi $t2,$t1,0x2000 -/* 2b0e8: 51400024 */ beqzl $t2,.NB0002b17c -/* 2b0ec: 02a08825 */ or $s1,$s5,$zero -/* 2b0f0: e7a000fc */ swc1 $f0,0xfc($sp) -.NB0002b0f4: -/* 2b0f4: afd60000 */ sw $s6,0x0($s8) -/* 2b0f8: 1000001f */ beqz $zero,.NB0002b178 -/* 2b0fc: e7b400e4 */ swc1 $f20,0xe4($sp) -/* 2b100: c7a800e4 */ lwc1 $f8,0xe4($sp) -.NB0002b104: -/* 2b104: 4608003c */ c.lt.s $f0,$f8 -/* 2b108: 00000000 */ sll $zero,$zero,0x0 -/* 2b10c: 4502001b */ bc1fl .NB0002b17c -/* 2b110: 02a08825 */ or $s1,$s5,$zero -/* 2b114: 860b000e */ lh $t3,0xe($s0) -/* 2b118: 860c0012 */ lh $t4,0x12($s0) -/* 2b11c: 02802025 */ or $a0,$s4,$zero -/* 2b120: 448b8000 */ mtc1 $t3,$f16 -/* 2b124: 448c5000 */ mtc1 $t4,$f10 -/* 2b128: 02203825 */ or $a3,$s1,$zero -/* 2b12c: 468080a0 */ cvt.s.w $f2,$f16 -/* 2b130: 46805320 */ cvt.s.w $f12,$f10 -/* 2b134: 44051000 */ mfc1 $a1,$f2 -/* 2b138: 44066000 */ mfc1 $a2,$f12 -/* 2b13c: 0c009c15 */ jal cdFindGroundInIntTileAtVertex -/* 2b140: 00000000 */ sll $zero,$zero,0x0 -/* 2b144: c6520004 */ lwc1 $f18,0x4($s2) -/* 2b148: 4612003c */ c.lt.s $f0,$f18 -/* 2b14c: 00000000 */ sll $zero,$zero,0x0 -/* 2b150: 45030007 */ bc1tl .NB0002b170 -/* 2b154: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b158: 8ecd0000 */ lw $t5,0x0($s6) -/* 2b15c: 95ae0002 */ lhu $t6,0x2($t5) -/* 2b160: 31cf2000 */ andi $t7,$t6,0x2000 -/* 2b164: 51e00005 */ beqzl $t7,.NB0002b17c -/* 2b168: 02a08825 */ or $s1,$s5,$zero -/* 2b16c: e7a000fc */ swc1 $f0,0xfc($sp) -.NB0002b170: -/* 2b170: afd60000 */ sw $s6,0x0($s8) -/* 2b174: e7b600e4 */ swc1 $f22,0xe4($sp) -.NB0002b178: -/* 2b178: 02a08825 */ or $s1,$s5,$zero -.NB0002b17c: -/* 2b17c: 16b7ff50 */ bne $s5,$s7,.NB0002aec0 -/* 2b180: 26730006 */ addiu $s3,$s3,0x6 -/* 2b184: 10000099 */ beqz $zero,.NB0002b3ec -/* 2b188: 8ec80014 */ lw $t0,0x14($s6) -/* 2b18c: 24010001 */ addiu $at,$zero,0x1 -.NB0002b190: -/* 2b190: 54410096 */ bnel $v0,$at,.NB0002b3ec -/* 2b194: 8ec80014 */ lw $t0,0x14($s6) -/* 2b198: 90f50001 */ lbu $s5,0x1($a3) -/* 2b19c: 00e09825 */ or $s3,$a3,$zero -/* 2b1a0: 00001025 */ or $v0,$zero,$zero -/* 2b1a4: 1aa00090 */ blez $s5,.NB0002b3e8 -/* 2b1a8: 00e08825 */ or $s1,$a3,$zero -.NB0002b1ac: -/* 2b1ac: 24540001 */ addiu $s4,$v0,0x1 -/* 2b1b0: 0295001a */ div $zero,$s4,$s5 -/* 2b1b4: 0000c010 */ mfhi $t8 -/* 2b1b8: 0018c880 */ sll $t9,$t8,0x2 -/* 2b1bc: 0338c823 */ subu $t9,$t9,$t8 -/* 2b1c0: 0019c880 */ sll $t9,$t9,0x2 -/* 2b1c4: 02798021 */ addu $s0,$s3,$t9 -/* 2b1c8: c6460000 */ lwc1 $f6,0x0($s2) -/* 2b1cc: c61a0010 */ lwc1 $f26,0x10($s0) -/* 2b1d0: c61c0018 */ lwc1 $f28,0x18($s0) -/* 2b1d4: c6360010 */ lwc1 $f22,0x10($s1) -/* 2b1d8: c6380018 */ lwc1 $f24,0x18($s1) -/* 2b1dc: e7a60010 */ swc1 $f6,0x10($sp) -/* 2b1e0: c6440008 */ lwc1 $f4,0x8($s2) -/* 2b1e4: 16a00002 */ bnez $s5,.NB0002b1f0 -/* 2b1e8: 00000000 */ sll $zero,$zero,0x0 -/* 2b1ec: 0007000d */ break 0x7 -.NB0002b1f0: -/* 2b1f0: 2401ffff */ addiu $at,$zero,-1 -/* 2b1f4: 16a10004 */ bne $s5,$at,.NB0002b208 -/* 2b1f8: 3c018000 */ lui $at,0x8000 -/* 2b1fc: 16810002 */ bne $s4,$at,.NB0002b208 -/* 2b200: 00000000 */ sll $zero,$zero,0x0 -/* 2b204: 0006000d */ break 0x6 -.NB0002b208: -/* 2b208: 4406d000 */ mfc1 $a2,$f26 -/* 2b20c: 4407e000 */ mfc1 $a3,$f28 -/* 2b210: 4600b306 */ mov.s $f12,$f22 -/* 2b214: 4600c386 */ mov.s $f14,$f24 -/* 2b218: 0c009a8d */ jal cd00025654 -/* 2b21c: e7a40014 */ swc1 $f4,0x14($sp) -/* 2b220: 44804000 */ mtc1 $zero,$f8 -/* 2b224: e7a00098 */ swc1 $f0,0x98($sp) -/* 2b228: 46000786 */ mov.s $f30,$f0 -/* 2b22c: 4608003c */ c.lt.s $f0,$f8 -/* 2b230: c7b000e4 */ lwc1 $f16,0xe4($sp) -/* 2b234: 45020003 */ bc1fl .NB0002b244 -/* 2b238: 4610f03c */ c.lt.s $f30,$f16 -/* 2b23c: 46000787 */ neg.s $f30,$f0 -/* 2b240: 4610f03c */ c.lt.s $f30,$f16 -.NB0002b244: -/* 2b244: 00000000 */ sll $zero,$zero,0x0 -/* 2b248: 45020065 */ bc1fl .NB0002b3e0 -/* 2b24c: 02801025 */ or $v0,$s4,$zero -/* 2b250: c64a0000 */ lwc1 $f10,0x0($s2) -/* 2b254: 4406d000 */ mfc1 $a2,$f26 -/* 2b258: 4407e000 */ mfc1 $a3,$f28 -/* 2b25c: e7aa0010 */ swc1 $f10,0x10($sp) -/* 2b260: c6520008 */ lwc1 $f18,0x8($s2) -/* 2b264: 4600b306 */ mov.s $f12,$f22 -/* 2b268: 4600c386 */ mov.s $f14,$f24 -/* 2b26c: 0c009ad5 */ jal cd00025774 -/* 2b270: e7b20014 */ swc1 $f18,0x14($sp) -/* 2b274: 50400022 */ beqzl $v0,.NB0002b300 -/* 2b278: 4600b306 */ mov.s $f12,$f22 -/* 2b27c: 4616d001 */ sub.s $f0,$f26,$f22 -/* 2b280: 4618e501 */ sub.s $f20,$f28,$f24 -/* 2b284: 46000182 */ mul.s $f6,$f0,$f0 -/* 2b288: e7a0007c */ swc1 $f0,0x7c($sp) -/* 2b28c: 4614a102 */ mul.s $f4,$f20,$f20 -/* 2b290: 0c012e84 */ jal sqrtf -/* 2b294: 46043300 */ add.s $f12,$f6,$f4 -/* 2b298: c7a80098 */ lwc1 $f8,0x98($sp) -/* 2b29c: 4600a287 */ neg.s $f10,$f20 -/* 2b2a0: c7a4007c */ lwc1 $f4,0x7c($sp) -/* 2b2a4: 46004383 */ div.s $f14,$f8,$f0 -/* 2b2a8: c6500000 */ lwc1 $f16,0x0($s2) -/* 2b2ac: c6460008 */ lwc1 $f6,0x8($s2) -/* 2b2b0: 02602025 */ or $a0,$s3,$zero -/* 2b2b4: 460a7482 */ mul.s $f18,$f14,$f10 -/* 2b2b8: 00000000 */ sll $zero,$zero,0x0 -/* 2b2bc: 46047202 */ mul.s $f8,$f14,$f4 -/* 2b2c0: 46128080 */ add.s $f2,$f16,$f18 -/* 2b2c4: 46083300 */ add.s $f12,$f6,$f8 -/* 2b2c8: 44051000 */ mfc1 $a1,$f2 -/* 2b2cc: 44066000 */ mfc1 $a2,$f12 -/* 2b2d0: 0c009d37 */ jal cdFindGroundInFltTile -/* 2b2d4: 00000000 */ sll $zero,$zero,0x0 -/* 2b2d8: c64a0004 */ lwc1 $f10,0x4($s2) -/* 2b2dc: 460a003c */ c.lt.s $f0,$f10 -/* 2b2e0: 00000000 */ sll $zero,$zero,0x0 -/* 2b2e4: 4502003e */ bc1fl .NB0002b3e0 -/* 2b2e8: 02801025 */ or $v0,$s4,$zero -/* 2b2ec: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b2f0: afd60000 */ sw $s6,0x0($s8) -/* 2b2f4: 10000039 */ beqz $zero,.NB0002b3dc -/* 2b2f8: e7be00e4 */ swc1 $f30,0xe4($sp) -/* 2b2fc: 4600b306 */ mov.s $f12,$f22 -.NB0002b300: -/* 2b300: 4600c386 */ mov.s $f14,$f24 -/* 2b304: 8e460000 */ lw $a2,0x0($s2) -/* 2b308: 0c009ac1 */ jal cd00025724 -/* 2b30c: 8e470008 */ lw $a3,0x8($s2) -/* 2b310: 46000506 */ mov.s $f20,$f0 -/* 2b314: 4600d306 */ mov.s $f12,$f26 -/* 2b318: 4600e386 */ mov.s $f14,$f28 -/* 2b31c: 8e460000 */ lw $a2,0x0($s2) -/* 2b320: 0c009ac1 */ jal cd00025724 -/* 2b324: 8e470008 */ lw $a3,0x8($s2) -/* 2b328: 4600a03c */ c.lt.s $f20,$f0 -/* 2b32c: 46000586 */ mov.s $f22,$f0 -/* 2b330: 45020017 */ bc1fl .NB0002b390 -/* 2b334: c7a400e4 */ lwc1 $f4,0xe4($sp) -/* 2b338: c7b000e4 */ lwc1 $f16,0xe4($sp) -/* 2b33c: 4610a03c */ c.lt.s $f20,$f16 -/* 2b340: 00000000 */ sll $zero,$zero,0x0 -/* 2b344: 45020026 */ bc1fl .NB0002b3e0 -/* 2b348: 02801025 */ or $v0,$s4,$zero -/* 2b34c: c6220010 */ lwc1 $f2,0x10($s1) -/* 2b350: c62c0018 */ lwc1 $f12,0x18($s1) -/* 2b354: 02602025 */ or $a0,$s3,$zero -/* 2b358: 44051000 */ mfc1 $a1,$f2 -/* 2b35c: 44066000 */ mfc1 $a2,$f12 -/* 2b360: 0c009d37 */ jal cdFindGroundInFltTile -/* 2b364: 00000000 */ sll $zero,$zero,0x0 -/* 2b368: c6520004 */ lwc1 $f18,0x4($s2) -/* 2b36c: 4612003c */ c.lt.s $f0,$f18 -/* 2b370: 00000000 */ sll $zero,$zero,0x0 -/* 2b374: 4502001a */ bc1fl .NB0002b3e0 -/* 2b378: 02801025 */ or $v0,$s4,$zero -/* 2b37c: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b380: afd60000 */ sw $s6,0x0($s8) -/* 2b384: 10000015 */ beqz $zero,.NB0002b3dc -/* 2b388: e7b400e4 */ swc1 $f20,0xe4($sp) -/* 2b38c: c7a400e4 */ lwc1 $f4,0xe4($sp) -.NB0002b390: -/* 2b390: 4604003c */ c.lt.s $f0,$f4 -/* 2b394: 00000000 */ sll $zero,$zero,0x0 -/* 2b398: 45020011 */ bc1fl .NB0002b3e0 -/* 2b39c: 02801025 */ or $v0,$s4,$zero -/* 2b3a0: c6020010 */ lwc1 $f2,0x10($s0) -/* 2b3a4: c60c0018 */ lwc1 $f12,0x18($s0) -/* 2b3a8: 02602025 */ or $a0,$s3,$zero -/* 2b3ac: 44051000 */ mfc1 $a1,$f2 -/* 2b3b0: 44066000 */ mfc1 $a2,$f12 -/* 2b3b4: 0c009d37 */ jal cdFindGroundInFltTile -/* 2b3b8: 00000000 */ sll $zero,$zero,0x0 -/* 2b3bc: c6460004 */ lwc1 $f6,0x4($s2) -/* 2b3c0: 4606003c */ c.lt.s $f0,$f6 -/* 2b3c4: 00000000 */ sll $zero,$zero,0x0 -/* 2b3c8: 45020005 */ bc1fl .NB0002b3e0 -/* 2b3cc: 02801025 */ or $v0,$s4,$zero -/* 2b3d0: e7a000fc */ swc1 $f0,0xfc($sp) -/* 2b3d4: afd60000 */ sw $s6,0x0($s8) -/* 2b3d8: e7b600e4 */ swc1 $f22,0xe4($sp) -.NB0002b3dc: -/* 2b3dc: 02801025 */ or $v0,$s4,$zero -.NB0002b3e0: -/* 2b3e0: 1695ff72 */ bne $s4,$s5,.NB0002b1ac -/* 2b3e4: 2631000c */ addiu $s1,$s1,0xc -.NB0002b3e8: -/* 2b3e8: 8ec80014 */ lw $t0,0x14($s6) -.NB0002b3ec: -/* 2b3ec: 26d60014 */ addiu $s6,$s6,0x14 -/* 2b3f0: 5500fe9f */ bnezl $t0,.NB0002ae70 -/* 2b3f4: 8ecc0004 */ lw $t4,0x4($s6) -/* 2b3f8: 8fbf0074 */ lw $ra,0x74($sp) -.NB0002b3fc: -/* 2b3fc: c7a000fc */ lwc1 $f0,0xfc($sp) -/* 2b400: d7b40020 */ ldc1 $f20,0x20($sp) -/* 2b404: d7b60028 */ ldc1 $f22,0x28($sp) -/* 2b408: d7b80030 */ ldc1 $f24,0x30($sp) -/* 2b40c: d7ba0038 */ ldc1 $f26,0x38($sp) -/* 2b410: d7bc0040 */ ldc1 $f28,0x40($sp) -/* 2b414: d7be0048 */ ldc1 $f30,0x48($sp) -/* 2b418: 8fb00050 */ lw $s0,0x50($sp) -/* 2b41c: 8fb10054 */ lw $s1,0x54($sp) -/* 2b420: 8fb20058 */ lw $s2,0x58($sp) -/* 2b424: 8fb3005c */ lw $s3,0x5c($sp) -/* 2b428: 8fb40060 */ lw $s4,0x60($sp) -/* 2b42c: 8fb50064 */ lw $s5,0x64($sp) -/* 2b430: 8fb60068 */ lw $s6,0x68($sp) -/* 2b434: 8fb7006c */ lw $s7,0x6c($sp) -/* 2b438: 8fbe0070 */ lw $s8,0x70($sp) -/* 2b43c: 03e00008 */ jr $ra -/* 2b440: 27bd0108 */ addiu $sp,$sp,0x108 -); -#endif /** * Test if the given cylinder is intersecting a tile with the given geoflags.