ntsc-beta: Decompile cdFindGroundFromList

This commit is contained in:
Ryan Dwyer
2022-11-23 18:46:17 +10:00
parent 98145647e9
commit 0e68241363
+2 -606
View File
@@ -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.