Decompile func0f14f1d4

This commit is contained in:
Ryan Dwyer
2021-09-30 21:36:20 +10:00
parent 5a40349c8f
commit d1c66a61f4
+38 -67
View File
@@ -5097,74 +5097,45 @@ Gfx *func0f14f07c(Gfx *gdl, s32 headorbodynum, s32 x1, s32 y1, s32 x2, s32 y2)
return gdl;
}
/**
* Calculate the bounding box of the src coordinates and store it in dst.
*
* Note that each element in src is 12 bytes
* but only the first 6 are coordinates.
*/
void func0f14f1d4(s16 *src, s32 len, s32 *dst)
{
s32 i;
if (len > 0) {
dst[0] = dst[3] = src[0];
dst[1] = dst[4] = src[1];
dst[2] = dst[5] = src[2];
for (i = 1; i < len; i++) {
if (src[i * 6] > dst[3]) {
dst[3] = src[i * 6];
} else if (src[i * 6] < dst[0]) {
dst[0] = src[i * 6];
}
if (src[i * 6 + 1] > dst[4]) {
dst[4] = src[i * 6 + 1];
} else if (src[i * 6 + 1] < dst[1]) {
dst[1] = src[i * 6 + 1];
}
if (src[i * 6 + 2] > dst[5]) {
dst[5] = src[i * 6 + 2];
} else if (src[i * 6 + 2] < dst[2]) {
dst[2] = src[i * 6 + 2];
}
}
}
}
GLOBAL_ASM(
glabel func0f14f1d4
/* f14f1d4: 18a00035 */ blez $a1,.L0f14f2ac
/* f14f1d8: 00000000 */ nop
/* f14f1dc: 84820000 */ lh $v0,0x0($a0)
/* f14f1e0: 28a10002 */ slti $at,$a1,0x2
/* f14f1e4: 24030001 */ addiu $v1,$zero,0x1
/* f14f1e8: acc2000c */ sw $v0,0xc($a2)
/* f14f1ec: acc20000 */ sw $v0,0x0($a2)
/* f14f1f0: 84820002 */ lh $v0,0x2($a0)
/* f14f1f4: acc20010 */ sw $v0,0x10($a2)
/* f14f1f8: acc20004 */ sw $v0,0x4($a2)
/* f14f1fc: 84820004 */ lh $v0,0x4($a0)
/* f14f200: acc20014 */ sw $v0,0x14($a2)
/* f14f204: 14200029 */ bnez $at,.L0f14f2ac
/* f14f208: acc20008 */ sw $v0,0x8($a2)
/* f14f20c: 2482000c */ addiu $v0,$a0,0xc
.L0f14f210:
/* f14f210: 84440000 */ lh $a0,0x0($v0)
/* f14f214: 8cce000c */ lw $t6,0xc($a2)
/* f14f218: 24630001 */ addiu $v1,$v1,0x1
/* f14f21c: 01c4082a */ slt $at,$t6,$a0
/* f14f220: 50200004 */ beqzl $at,.L0f14f234
/* f14f224: 8ccf0000 */ lw $t7,0x0($a2)
/* f14f228: 10000006 */ b .L0f14f244
/* f14f22c: acc4000c */ sw $a0,0xc($a2)
/* f14f230: 8ccf0000 */ lw $t7,0x0($a2)
.L0f14f234:
/* f14f234: 008f082a */ slt $at,$a0,$t7
/* f14f238: 50200003 */ beqzl $at,.L0f14f248
/* f14f23c: 84440002 */ lh $a0,0x2($v0)
/* f14f240: acc40000 */ sw $a0,0x0($a2)
.L0f14f244:
/* f14f244: 84440002 */ lh $a0,0x2($v0)
.L0f14f248:
/* f14f248: 8cd80010 */ lw $t8,0x10($a2)
/* f14f24c: 0304082a */ slt $at,$t8,$a0
/* f14f250: 50200004 */ beqzl $at,.L0f14f264
/* f14f254: 8cd90004 */ lw $t9,0x4($a2)
/* f14f258: 10000006 */ b .L0f14f274
/* f14f25c: acc40010 */ sw $a0,0x10($a2)
/* f14f260: 8cd90004 */ lw $t9,0x4($a2)
.L0f14f264:
/* f14f264: 0099082a */ slt $at,$a0,$t9
/* f14f268: 50200003 */ beqzl $at,.L0f14f278
/* f14f26c: 84440004 */ lh $a0,0x4($v0)
/* f14f270: acc40004 */ sw $a0,0x4($a2)
.L0f14f274:
/* f14f274: 84440004 */ lh $a0,0x4($v0)
.L0f14f278:
/* f14f278: 8cc80014 */ lw $t0,0x14($a2)
/* f14f27c: 0104082a */ slt $at,$t0,$a0
/* f14f280: 50200004 */ beqzl $at,.L0f14f294
/* f14f284: 8cc90008 */ lw $t1,0x8($a2)
/* f14f288: 10000006 */ b .L0f14f2a4
/* f14f28c: acc40014 */ sw $a0,0x14($a2)
/* f14f290: 8cc90008 */ lw $t1,0x8($a2)
.L0f14f294:
/* f14f294: 0089082a */ slt $at,$a0,$t1
/* f14f298: 10200002 */ beqz $at,.L0f14f2a4
/* f14f29c: 00000000 */ nop
/* f14f2a0: acc40008 */ sw $a0,0x8($a2)
.L0f14f2a4:
/* f14f2a4: 1465ffda */ bne $v1,$a1,.L0f14f210
/* f14f2a8: 2442000c */ addiu $v0,$v0,0xc
.L0f14f2ac:
/* f14f2ac: 03e00008 */ jr $ra
/* f14f2b0: 00000000 */ nop
glabel func0f14f2b4
/* f14f2b4: 27bdffa8 */ addiu $sp,$sp,-88
/* f14f2b8: afb00018 */ sw $s0,0x18($sp)
/* f14f2bc: 00a08025 */ or $s0,$a1,$zero