Decompile chrGetDistanceToChr

This commit is contained in:
Ryan Dwyer 2019-11-08 18:51:56 +10:00
parent 09f49663fa
commit 818a3049f6
2 changed files with 27 additions and 50 deletions

View File

@ -2351,7 +2351,7 @@ glabel ai0056
/* f050e78: 46083282 */ mul.s $f10,$f6,$f8
/* f050e7c: e7aa0018 */ swc1 $f10,0x18($sp)
/* f050e80: 90450004 */ lbu $a1,0x4($v0)
/* f050e84: 0fc1272c */ jal func0f049cb0
/* f050e84: 0fc1272c */ jal chrGetDistanceToChr
/* f050e88: afa2001c */ sw $v0,0x1c($sp)
/* f050e8c: c7b00018 */ lwc1 $f16,0x18($sp)
/* f050e90: 3c03800a */ lui $v1,0x800a
@ -2404,7 +2404,7 @@ glabel ai0057
/* f050f28: 46083282 */ mul.s $f10,$f6,$f8
/* f050f2c: e7aa0018 */ swc1 $f10,0x18($sp)
/* f050f30: 90450004 */ lbu $a1,0x4($v0)
/* f050f34: 0fc1272c */ jal func0f049cb0
/* f050f34: 0fc1272c */ jal chrGetDistanceToChr
/* f050f38: afa2001c */ sw $v0,0x1c($sp)
/* f050f3c: c7b00018 */ lwc1 $f16,0x18($sp)
/* f050f40: 3c03800a */ lui $v1,0x800a
@ -10068,7 +10068,7 @@ glabel ai0120
/* f059430: 848c0000 */ lh $t4,0x0($a0)
/* f059434: 50ac000d */ beql $a1,$t4,.L0f05946c
/* f059438: 86240002 */ lh $a0,0x2($s1)
/* f05943c: 0fc1272c */ jal func0f049cb0
/* f05943c: 0fc1272c */ jal chrGetDistanceToChr
/* f059440: 00000000 */ sll $zero,$zero,0x0
/* f059444: 3c017f1b */ lui $at,0x7f1b
/* f059448: c4249d4c */ lwc1 $f4,-0x62b4($at)
@ -10376,7 +10376,7 @@ glabel ai0127
/* f059aa0: 84880000 */ lh $t0,0x0($a0)
/* f059aa4: 10a80016 */ beq $a1,$t0,.L0f059b00
/* f059aa8: 00000000 */ sll $zero,$zero,0x0
/* f059aac: 0fc1272c */ jal func0f049cb0
/* f059aac: 0fc1272c */ jal chrGetDistanceToChr
/* f059ab0: 00000000 */ sll $zero,$zero,0x0
/* f059ab4: 4614003c */ c.lt.s $f0,$f20
/* f059ab8: 46000086 */ mov.s $f2,$f0
@ -10562,7 +10562,7 @@ glabel ai0128
/* f059d48: 05c30030 */ bgezl $t6,.L0f059e0c
/* f059d4c: 86840002 */ lh $a0,0x2($s4)
.L0f059d50:
/* f059d50: 0fc1272c */ jal func0f049cb0
/* f059d50: 0fc1272c */ jal chrGetDistanceToChr
/* f059d54: 86250000 */ lh $a1,0x0($s1)
/* f059d58: 461a003c */ c.lt.s $f0,$f26
/* f059d5c: 46000506 */ mov.s $f20,$f0
@ -10729,7 +10729,7 @@ glabel ai0129
/* f059f98: 848a0000 */ lh $t2,0x0($a0)
/* f059f9c: 50aa000b */ beql $a1,$t2,.L0f059fcc
/* f059fa0: 86240002 */ lh $a0,0x2($s1)
/* f059fa4: 0fc1272c */ jal func0f049cb0
/* f059fa4: 0fc1272c */ jal chrGetDistanceToChr
/* f059fa8: 00000000 */ sll $zero,$zero,0x0
/* f059fac: 4614003c */ c.lt.s $f0,$f20
/* f059fb0: 00000000 */ sll $zero,$zero,0x0
@ -11074,7 +11074,7 @@ glabel ai0130
/* f05a550: 00e02025 */ or $a0,$a3,$zero
/* f05a554: 50b90019 */ beql $a1,$t9,.L0f05a5bc
/* f05a558: 8fa20088 */ lw $v0,0x88($sp)
/* f05a55c: 0fc1272c */ jal func0f049cb0
/* f05a55c: 0fc1272c */ jal chrGetDistanceToChr
/* f05a560: afa60064 */ sw $a2,0x64($sp)
/* f05a564: 3c017f1b */ lui $at,0x7f1b
/* f05a568: c4249d64 */ lwc1 $f4,-0x629c($at)
@ -11620,7 +11620,7 @@ glabel ai0131
/* f05ad64: 848b0000 */ lh $t3,0x0($a0)
/* f05ad68: 50ab000f */ beql $a1,$t3,.L0f05ada8
/* f05ad6c: 86240002 */ lh $a0,0x2($s1)
/* f05ad70: 0fc1272c */ jal func0f049cb0
/* f05ad70: 0fc1272c */ jal chrGetDistanceToChr
/* f05ad74: 00000000 */ sll $zero,$zero,0x0
/* f05ad78: 4614003c */ c.lt.s $f0,$f20
/* f05ad7c: 02e02825 */ or $a1,$s7,$zero
@ -11749,7 +11749,7 @@ glabel ai0133
/* f05af3c: 54410010 */ bnel $v0,$at,.L0f05af80
/* f05af40: 86240002 */ lh $a0,0x2($s1)
.L0f05af44:
/* f05af44: 0fc1272c */ jal func0f049cb0
/* f05af44: 0fc1272c */ jal chrGetDistanceToChr
/* f05af48: 00000000 */ sll $zero,$zero,0x0
/* f05af4c: 3c017f1b */ lui $at,0x7f1b
/* f05af50: c4249d68 */ lwc1 $f4,-0x6298($at)
@ -12160,7 +12160,7 @@ glabel ai0137
/* f05b4a8: 848a0000 */ lh $t2,0x0($a0)
/* f05b4ac: 50aa000f */ beql $a1,$t2,.L0f05b4ec
/* f05b4b0: 86240002 */ lh $a0,0x2($s1)
/* f05b4b4: 0fc1272c */ jal func0f049cb0
/* f05b4b4: 0fc1272c */ jal chrGetDistanceToChr
/* f05b4b8: 00000000 */ sll $zero,$zero,0x0
/* f05b4bc: 4614003c */ c.lt.s $f0,$f20
/* f05b4c0: 00000000 */ sll $zero,$zero,0x0
@ -12330,7 +12330,7 @@ glabel ai013a
/* f05b6fc: 848e0000 */ lh $t6,0x0($a0)
/* f05b700: 50ae0028 */ beql $a1,$t6,.L0f05b7a4
/* f05b704: 86240002 */ lh $a0,0x2($s1)
/* f05b708: 0fc1272c */ jal func0f049cb0
/* f05b708: 0fc1272c */ jal chrGetDistanceToChr
/* f05b70c: 00000000 */ sll $zero,$zero,0x0
/* f05b710: 4614003c */ c.lt.s $f0,$f20
/* f05b714: 00000000 */ sll $zero,$zero,0x0

View File

@ -53269,7 +53269,7 @@ glabel func0f02e370
/* f02e390: 30af0004 */ andi $t7,$a1,0x4
/* f02e394: 11e00005 */ beqz $t7,.L0f02e3ac
/* f02e398: 30b80008 */ andi $t8,$a1,0x8
/* f02e39c: 0fc1272c */ jal func0f049cb0
/* f02e39c: 0fc1272c */ jal chrGetDistanceToChr
/* f02e3a0: 00c02825 */ or $a1,$a2,$zero
/* f02e3a4: 1000000a */ beqz $zero,.L0f02e3d0
/* f02e3a8: 8fbf0014 */ lw $ra,0x14($sp)
@ -84369,44 +84369,21 @@ glabel positionGetIndexByChrId
/* f049cac: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f049cb0
/* f049cb0: 27bdffe0 */ addiu $sp,$sp,-32
/* f049cb4: afbf0014 */ sw $ra,0x14($sp)
/* f049cb8: 8c83001c */ lw $v1,0x1c($a0)
/* f049cbc: 0fc126d1 */ jal chrFindById
/* f049cc0: afa3001c */ sw $v1,0x1c($sp)
/* f049cc4: 44801000 */ mtc1 $zero,$f2
/* f049cc8: 10400015 */ beqz $v0,.L0f049d20
/* f049ccc: 8fa3001c */ lw $v1,0x1c($sp)
/* f049cd0: 8c4e001c */ lw $t6,0x1c($v0)
/* f049cd4: 51c00013 */ beqzl $t6,.L0f049d24
/* f049cd8: 8fbf0014 */ lw $ra,0x14($sp)
/* f049cdc: 8c42001c */ lw $v0,0x1c($v0)
/* f049ce0: c4660008 */ lwc1 $f6,0x8($v1)
/* f049ce4: c46a000c */ lwc1 $f10,0xc($v1)
/* f049ce8: c4440008 */ lwc1 $f4,0x8($v0)
/* f049cec: c448000c */ lwc1 $f8,0xc($v0)
/* f049cf0: c4720010 */ lwc1 $f18,0x10($v1)
/* f049cf4: 46062001 */ sub.s $f0,$f4,$f6
/* f049cf8: c4500010 */ lwc1 $f16,0x10($v0)
/* f049cfc: 460a4081 */ sub.s $f2,$f8,$f10
/* f049d00: 46000102 */ mul.s $f4,$f0,$f0
/* f049d04: 46128381 */ sub.s $f14,$f16,$f18
/* f049d08: 46021182 */ mul.s $f6,$f2,$f2
/* f049d0c: 46062200 */ add.s $f8,$f4,$f6
/* f049d10: 460e7282 */ mul.s $f10,$f14,$f14
/* f049d14: 0c012974 */ jal sqrtf
/* f049d18: 460a4300 */ add.s $f12,$f8,$f10
/* f049d1c: 46000086 */ mov.s $f2,$f0
.L0f049d20:
/* f049d20: 8fbf0014 */ lw $ra,0x14($sp)
.L0f049d24:
/* f049d24: 27bd0020 */ addiu $sp,$sp,0x20
/* f049d28: 46001006 */ mov.s $f0,$f2
/* f049d2c: 03e00008 */ jr $ra
/* f049d30: 00000000 */ sll $zero,$zero,0x0
);
float chrGetDistanceToChr(struct chrdata *chr1, s32 chr2num)
{
struct position *pos1 = chr1->pos;
struct chrdata *chr2 = chrFindById(chr1, chr2num);
float distance = 0.00000000;
if (chr2 && chr2->pos) {
float xdiff = chr2->pos->coord.x - pos1->coord.x;
float ydiff = chr2->pos->coord.y - pos1->coord.y;
float zdiff = chr2->pos->coord.z - pos1->coord.z;
distance = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff);
}
return distance;
}
GLOBAL_ASM(
glabel func0f049d34