diff --git a/src/game/game_0601b0.c b/src/game/game_0601b0.c index 1d0d00a46..8df941c1c 100644 --- a/src/game/game_0601b0.c +++ b/src/game/game_0601b0.c @@ -4961,7 +4961,7 @@ glabel var7f1a9f54 /* f0645dc: 0fc25e24 */ jal func0f097890 /* f0645e0: c7ac008c */ lwc1 $f12,0x8c($sp) /* f0645e4: e7a0008c */ swc1 $f0,0x8c($sp) -/* f0645e8: 0fc25e5c */ jal func0f097970 +/* f0645e8: 0fc25e5c */ jal ceilf /* f0645ec: c7ac0084 */ lwc1 $f12,0x84($sp) /* f0645f0: 0fc31ef4 */ jal func0f0c7bd0 /* f0645f4: e7a00084 */ swc1 $f0,0x84($sp) diff --git a/src/game/game_097970.c b/src/game/game_097970.c index 62d42ff2b..128dfa21d 100644 --- a/src/game/game_097970.c +++ b/src/game/game_097970.c @@ -10,41 +10,22 @@ #include "gvars/gvars.h" #include "types.h" -GLOBAL_ASM( -glabel func0f097970 -/* f097970: 44802000 */ mtc1 $zero,$f4 -/* f097974: 00000000 */ sll $zero,$zero,0x0 -/* f097978: 4604603e */ c.le.s $f12,$f4 -/* f09797c: 00000000 */ sll $zero,$zero,0x0 -/* f097980: 45020008 */ bc1fl .L0f0979a4 -/* f097984: 4600628d */ trunc.w.s $f10,$f12 -/* f097988: 4600618d */ trunc.w.s $f6,$f12 -/* f09798c: 440f3000 */ mfc1 $t7,$f6 -/* f097990: 00000000 */ sll $zero,$zero,0x0 -/* f097994: 448f4000 */ mtc1 $t7,$f8 -/* f097998: 03e00008 */ jr $ra -/* f09799c: 46804020 */ cvt.s.w $f0,$f8 -/* f0979a0: 4600628d */ trunc.w.s $f10,$f12 -.L0f0979a4: -/* f0979a4: 3c013f80 */ lui $at,0x3f80 -/* f0979a8: 44195000 */ mfc1 $t9,$f10 -/* f0979ac: 00000000 */ sll $zero,$zero,0x0 -/* f0979b0: 44998000 */ mtc1 $t9,$f16 -/* f0979b4: 00000000 */ sll $zero,$zero,0x0 -/* f0979b8: 468080a0 */ cvt.s.w $f2,$f16 -/* f0979bc: 46026032 */ c.eq.s $f12,$f2 -/* f0979c0: 00000000 */ sll $zero,$zero,0x0 -/* f0979c4: 45020004 */ bc1fl .L0f0979d8 -/* f0979c8: 44819000 */ mtc1 $at,$f18 -/* f0979cc: 03e00008 */ jr $ra -/* f0979d0: 46001006 */ mov.s $f0,$f2 -/* f0979d4: 44819000 */ mtc1 $at,$f18 -.L0f0979d8: -/* f0979d8: 00000000 */ sll $zero,$zero,0x0 -/* f0979dc: 46121000 */ add.s $f0,$f2,$f18 -/* f0979e0: 03e00008 */ jr $ra -/* f0979e4: 00000000 */ sll $zero,$zero,0x0 -); +f32 ceilf(f32 value) +{ + f32 fvalue; + + if (value <= 0) { + return (s32)value; + } + + fvalue = (s32)value; + + if (value == fvalue) { + return fvalue; + } + + return fvalue + 1; +} s32 ceil(f32 value) { diff --git a/src/game/game_197600.c b/src/game/game_197600.c index 365d85257..c77c4ada3 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -1674,7 +1674,7 @@ glabel var7f1b908c /* f198cbc: afb9001c */ sw $t9,0x1c($sp) /* f198cc0: 03201025 */ or $v0,$t9,$zero /* f198cc4: 46083302 */ mul.s $f12,$f6,$f8 -/* f198cc8: 0fc25e5c */ jal func0f097970 +/* f198cc8: 0fc25e5c */ jal ceilf /* f198ccc: 00000000 */ sll $zero,$zero,0x0 /* f198cd0: 44808000 */ mtc1 $zero,$f16 /* f198cd4: 8fa2001c */ lw $v0,0x1c($sp) diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index 4ea438fd3..06e0fe331 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -831,7 +831,7 @@ char *frMenuTextTimeTakenValue(struct menu_item *item) mins++; } - sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)func0f097970(secs)); + sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)ceilf(secs)); return g_StringPointer; } else { sprintf(g_StringPointer, "%s%s%2.2fs\n", "", "", secs); @@ -3379,7 +3379,7 @@ char *dtMenuTextTimeTakenValue(struct menu_item *item) mins++; } - sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)func0f097970(secs)); + sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)ceilf(secs)); return g_StringPointer; } else { sprintf(g_StringPointer, "%s%s%2.2fs\n", "", "", secs); @@ -3548,7 +3548,7 @@ char *htMenuTextTimeTakenValue(struct menu_item *item) mins++; } - sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)func0f097970(secs)); + sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)ceilf(secs)); return g_StringPointer; } else { sprintf(g_StringPointer, "%s%s%2.2fs\n", "", "", secs); diff --git a/src/game/propobj.c b/src/game/propobj.c index 8c804b705..a311b37b1 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -44064,7 +44064,7 @@ glabel func0f08cb20 /* f08cb60: 24130004 */ addiu $s3,$zero,0x4 /* f08cb64: 166e0005 */ bne $s3,$t6,.L0f08cb7c /* f08cb68: 00000000 */ sll $zero,$zero,0x0 -/* f08cb6c: 0fc25e5c */ jal func0f097970 +/* f08cb6c: 0fc25e5c */ jal ceilf /* f08cb70: c7ac0098 */ lwc1 $f12,0x98($sp) /* f08cb74: 10000004 */ beqz $zero,.L0f08cb88 /* f08cb78: 0000a825 */ or $s5,$zero,$zero diff --git a/src/include/game/game_097970.h b/src/include/game/game_097970.h index 725208e4f..cf309c15c 100644 --- a/src/include/game/game_097970.h +++ b/src/include/game/game_097970.h @@ -3,7 +3,7 @@ #include #include "types.h" -f32 func0f097970(f32 arg0); +f32 ceilf(f32 value); s32 ceil(f32 value); #endif