Decompile floorf

This commit is contained in:
Ryan Dwyer 2020-04-05 12:42:58 +10:00
parent d447082482
commit 2394fc4bb3
5 changed files with 27 additions and 46 deletions

View File

@ -4958,7 +4958,7 @@ glabel var7f1a9f54
/* f0645d0: c7a00058 */ lwc1 $f0,0x58($sp)
/* f0645d4: 0fc282fb */ jal func0f0a0bec
/* f0645d8: afa0004c */ sw $zero,0x4c($sp)
/* f0645dc: 0fc25e24 */ jal func0f097890
/* f0645dc: 0fc25e24 */ jal floorf
/* f0645e0: c7ac008c */ lwc1 $f12,0x8c($sp)
/* f0645e4: e7a0008c */ swc1 $f0,0x8c($sp)
/* f0645e8: 0fc25e5c */ jal ceilf

View File

@ -10,41 +10,22 @@
#include "gvars/gvars.h"
#include "types.h"
GLOBAL_ASM(
glabel func0f097890
/* f097890: 44802000 */ mtc1 $zero,$f4
/* f097894: 00000000 */ sll $zero,$zero,0x0
/* f097898: 460c203e */ c.le.s $f4,$f12
/* f09789c: 00000000 */ sll $zero,$zero,0x0
/* f0978a0: 45020008 */ bc1fl .L0f0978c4
/* f0978a4: 4600628d */ trunc.w.s $f10,$f12
/* f0978a8: 4600618d */ trunc.w.s $f6,$f12
/* f0978ac: 440f3000 */ mfc1 $t7,$f6
/* f0978b0: 00000000 */ sll $zero,$zero,0x0
/* f0978b4: 448f4000 */ mtc1 $t7,$f8
/* f0978b8: 03e00008 */ jr $ra
/* f0978bc: 46804020 */ cvt.s.w $f0,$f8
/* f0978c0: 4600628d */ trunc.w.s $f10,$f12
.L0f0978c4:
/* f0978c4: 3c013f80 */ lui $at,0x3f80
/* f0978c8: 44195000 */ mfc1 $t9,$f10
/* f0978cc: 00000000 */ sll $zero,$zero,0x0
/* f0978d0: 44998000 */ mtc1 $t9,$f16
/* f0978d4: 00000000 */ sll $zero,$zero,0x0
/* f0978d8: 468080a0 */ cvt.s.w $f2,$f16
/* f0978dc: 46026032 */ c.eq.s $f12,$f2
/* f0978e0: 00000000 */ sll $zero,$zero,0x0
/* f0978e4: 45020004 */ bc1fl .L0f0978f8
/* f0978e8: 44819000 */ mtc1 $at,$f18
/* f0978ec: 03e00008 */ jr $ra
/* f0978f0: 46001006 */ mov.s $f0,$f2
/* f0978f4: 44819000 */ mtc1 $at,$f18
.L0f0978f8:
/* f0978f8: 00000000 */ sll $zero,$zero,0x0
/* f0978fc: 46121001 */ sub.s $f0,$f2,$f18
/* f097900: 03e00008 */ jr $ra
/* f097904: 00000000 */ sll $zero,$zero,0x0
);
f32 floorf(f32 value)
{
f32 fvalue;
if (value >= 0) {
return (s32)value;
}
fvalue = (s32)value;
if (value == fvalue) {
return fvalue;
}
return fvalue - 1;
}
s32 floor(f32 value)
{

View File

@ -28394,7 +28394,7 @@ glabel var7f1aa6ec
/* f07eda8: 5140003e */ beqzl $t2,.L0f07eea4
/* f07edac: 2604001c */ addiu $a0,$s0,0x1c
/* f07edb0: 8deb0020 */ lw $t3,0x20($t7)
/* f07edb4: 0fc25e24 */ jal func0f097890
/* f07edb4: 0fc25e24 */ jal floorf
/* f07edb8: c56c000c */ lwc1 $f12,0xc($t3)
/* f07edbc: 4600048d */ trunc.w.s $f18,$f0
/* f07edc0: 3c07800a */ lui $a3,%hi(g_Vars)
@ -28408,7 +28408,7 @@ glabel var7f1aa6ec
/* f07ede0: afb80094 */ sw $t8,0x94($sp)
/* f07ede4: 8fad0254 */ lw $t5,0x254($sp)
/* f07ede8: 8dac0020 */ lw $t4,0x20($t5)
/* f07edec: 0fc25e24 */ jal func0f097890
/* f07edec: 0fc25e24 */ jal floorf
/* f07edf0: c58c000c */ lwc1 $f12,0xc($t4)
/* f07edf4: 4600018d */ trunc.w.s $f6,$f0
/* f07edf8: 8fa30094 */ lw $v1,0x94($sp)
@ -44069,7 +44069,7 @@ glabel func0f08cb20
/* f08cb74: 10000004 */ beqz $zero,.L0f08cb88
/* f08cb78: 0000a825 */ or $s5,$zero,$zero
.L0f08cb7c:
/* f08cb7c: 0fc25e24 */ jal func0f097890
/* f08cb7c: 0fc25e24 */ jal floorf
/* f08cb80: c7ac008c */ lwc1 $f12,0x8c($sp)
/* f08cb84: 0000a825 */ or $s5,$zero,$zero
.L0f08cb88:
@ -48574,7 +48574,7 @@ glabel var7f1ab1a8
/* f090a64: c428b1a0 */ lwc1 $f8,%lo(var7f1ab1a0)($at)
/* f090a68: e7a0004c */ swc1 $f0,0x4c($sp)
/* f090a6c: 46080302 */ mul.s $f12,$f0,$f8
/* f090a70: 0fc25e24 */ jal func0f097890
/* f090a70: 0fc25e24 */ jal floorf
/* f090a74: 00000000 */ sll $zero,$zero,0x0
/* f090a78: 4600028d */ trunc.w.s $f10,$f0
/* f090a7c: 3c017f1b */ lui $at,%hi(var7f1ab1a4)
@ -48582,7 +48582,7 @@ glabel var7f1ab1a8
/* f090a84: c7b0004c */ lwc1 $f16,0x4c($sp)
/* f090a88: 440e5000 */ mfc1 $t6,$f10
/* f090a8c: 46128302 */ mul.s $f12,$f16,$f18
/* f090a90: 0fc25e24 */ jal func0f097890
/* f090a90: 0fc25e24 */ jal floorf
/* f090a94: afae005c */ sw $t6,0x5c($sp)
/* f090a98: 4600010d */ trunc.w.s $f4,$f0
/* f090a9c: 8fb9005c */ lw $t9,0x5c($sp)
@ -48595,7 +48595,7 @@ glabel var7f1ab1a8
/* f090ab8: 00094880 */ sll $t1,$t1,0x2
/* f090abc: 03095023 */ subu $t2,$t8,$t1
/* f090ac0: 46083302 */ mul.s $f12,$f6,$f8
/* f090ac4: 0fc25e24 */ jal func0f097890
/* f090ac4: 0fc25e24 */ jal floorf
/* f090ac8: afaa0058 */ sw $t2,0x58($sp)
/* f090acc: 8fad005c */ lw $t5,0x5c($sp)
/* f090ad0: 4600028d */ trunc.w.s $f10,$f0

View File

@ -3,7 +3,7 @@
#include <ultra64.h>
#include "types.h"
u32 func0f097890(void);
f32 floorf(f32 value);
s32 floor(f32 value);
#endif

View File

@ -1281,7 +1281,7 @@ glabel func0001b0e8
/* 1b168: c5120010 */ lwc1 $f18,0x10($t0)
/* 1b16c: afa80040 */ sw $t0,0x40($sp)
/* 1b170: afa20044 */ sw $v0,0x44($sp)
/* 1b174: 0fc25e24 */ jal func0f097890
/* 1b174: 0fc25e24 */ jal floorf
/* 1b178: 46009303 */ div.s $f12,$f18,$f0
/* 1b17c: 8fa80040 */ lw $t0,0x40($sp)
/* 1b180: 8fa30044 */ lw $v1,0x44($sp)
@ -1534,7 +1534,7 @@ glabel func0001b400
/* 1b508: 45020009 */ bc1fl .L0001b530
/* 1b50c: c6020010 */ lwc1 $f2,0x10($s0)
/* 1b510: c60a0010 */ lwc1 $f10,0x10($s0)
/* 1b514: 0fc25e24 */ jal func0f097890
/* 1b514: 0fc25e24 */ jal floorf
/* 1b518: 46005303 */ div.s $f12,$f10,$f0
/* 1b51c: c610001c */ lwc1 $f16,0x1c($s0)
/* 1b520: 46100082 */ mul.s $f2,$f0,$f16
@ -2339,7 +2339,7 @@ glabel func0001bfa8
/* 1c088: 4502000a */ bc1fl .L0001c0b4
/* 1c08c: 44807000 */ mtc1 $zero,$f14
/* 1c090: c6040010 */ lwc1 $f4,0x10($s0)
/* 1c094: 0fc25e24 */ jal func0f097890
/* 1c094: 0fc25e24 */ jal floorf
/* 1c098: 46002303 */ div.s $f12,$f4,$f0
/* 1c09c: c606001c */ lwc1 $f6,0x1c($s0)
/* 1c0a0: 44807000 */ mtc1 $zero,$f14