func_80005100

This commit is contained in:
Alejandro Javier Asenjo Nitti
2023-10-07 04:29:27 -03:00
parent ced4d1d3e6
commit ff116e1a5d
2 changed files with 32 additions and 1 deletions
+3
View File
@@ -13,3 +13,6 @@ typedef float f32;
#define bool s32
#define NULL 0
double fabs(double f);
#pragma intrinsic(fabs)
+29 -1
View File
@@ -1,6 +1,10 @@
#include "common.h"
extern f32 D_800C80FC;
extern f32 D_800C80D8;
extern f32 D_800C80DC;
extern f32 D_800C80E0;
extern f32 D_800C80E4;
extern f32 D_800C8100;
extern s32 D_8013B3A0;
extern s32 D_8013B3A4;
@@ -9,9 +13,11 @@ extern s32 D_8013B3AC;
extern s32 D_8013B3B0;
extern s32 D_8013B3B4;
extern void func_80005680(s32, s32);
extern f32 func_8001FBE8(f32);
extern u64 func_80023000(void);
extern f32 func_8001FBE8(f32);
f32 func_80004E20(f32 arg0, f32 arg1) {
return arg0 - ((s32)(arg0 / arg1) * arg1);
@@ -33,7 +39,29 @@ void func_80004FC8(s32 arg0, s32 arg1, s32 arg2) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80004FE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_80005100.s")
f32 func_80005100(f32 arg0, f32 arg1) {
if ((arg0 == 0.0f) && (arg1 == 0.0f)) {
return 0.0f;
}
if (arg1 == 0.0f) {
if (arg0 < 0.0f) {
return D_800C80D8;
} else {
return D_800C80DC;
}
}
if (arg1 < 0.0f) {
if (arg0 < 0.0f) {
return -(D_800C80E0 - func_8001FBE8(fabs(arg0 / arg1)));
} else {
return D_800C80E4 - func_8001FBE8(fabs(arg0 / arg1));
}
} else {
return func_8001FBE8(arg0 / arg1);
}
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/5A20/func_800051F8.s")