add FLT_MAX, FLT_EPSILON, NAN, and HUGE_VALF to MSL_C headers (#316)

This commit is contained in:
Jcw87
2023-04-21 02:01:46 -07:00
committed by GitHub
parent 0629e60eab
commit 6f30fa4d2a
20 changed files with 65 additions and 50 deletions
+1
View File
@@ -8,6 +8,7 @@
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/JMath/JMath.h"
#include "JSystem/JStudio/JStudio/stb.h"
#include "MSL_C/float.h"
#include "SSystem/SComponent/c_math.h"
#include "d/a/d_a_horse_static.h"
#include "d/com/d_com_inf_game.h"
+2 -2
View File
@@ -53,7 +53,7 @@ bool daAlink_c::checkHookshotShootReturnMode() const {
void daAlink_c::resetHookshotMode() {
mItemMode = 0;
initLockAt();
mSearchBallScale = __float_max[0];
mSearchBallScale = FLT_MAX;
}
/* 8010871C-80108784 10305C 0068+00 0/0 0/0 1/1 .text
@@ -367,7 +367,7 @@ void daAlink_c::setHookshotReadyAnime() {
#ifdef NONMATCHING
int daAlink_c::checkUpperItemActionHookshot() {
if (checkHookshotWait()) {
mSearchBallScale = __float_max[0];
mSearchBallScale = FLT_MAX;
}
if (mItemMode == 1) {
+4 -3
View File
@@ -4,6 +4,7 @@
//
#include "d/d_demo.h"
#include "MSL_C/float.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
@@ -605,8 +606,8 @@ dDemo_actor_c::dDemo_actor_c() {
mScale.set(1.0f, 1.0f, 1.0f);
mRotate.set(0, 0, 0);
mModel = NULL;
mAnmFrameMax = __float_max[0];
mTexAnmFrameMax = __float_max[0];
mAnmFrameMax = FLT_MAX;
mTexAnmFrameMax = FLT_MAX;
}
#else
#pragma push
@@ -924,7 +925,7 @@ void dDemo_actor_c::JSGSetShape(u32 i_shape) {
*/
void dDemo_actor_c::JSGSetAnimation(u32 i_anmID) {
mAnmId = i_anmID;
mAnmFrameMax = __float_max[0];
mAnmFrameMax = FLT_MAX;
onEnable(0x20);
}
+5 -5
View File
@@ -4,7 +4,7 @@
*/
#include "d/map/d_map_path_dmap.h"
#include "MSL_C/math.h"
#include "MSL_C/float.h"
#include "d/com/d_com_inf_game.h"
#include "d/map/d_map_path.h"
#include "d/meter/d_meter_HIO.h"
@@ -532,16 +532,16 @@ dDrawPath_c::room_class** dMpath_c::mLayerList;
/* 80450E68-80450E6C 000368 0004+00 3/3 1/1 0/0 .sbss mMinX__8dMpath_c */
// these are needed for sinit, but its got reversed reg alloc?
f32 dMpath_c::mMinX /* = __float_max[0] */;
f32 dMpath_c::mMinX /* = FLT_MAX */;
/* 80450E6C-80450E70 00036C 0004+00 3/3 1/1 0/0 .sbss mMaxX__8dMpath_c */
f32 dMpath_c::mMaxX /* = -__float_max[0] */;
f32 dMpath_c::mMaxX /* = -FLT_MAX */;
/* 80450E70-80450E74 000370 0004+00 3/3 2/2 0/0 .sbss mMinZ__8dMpath_c */
f32 dMpath_c::mMinZ /* = __float_max[0] */;
f32 dMpath_c::mMinZ /* = FLT_MAX */;
/* 80450E74-80450E78 000374 0004+00 3/3 1/1 0/0 .sbss mMaxZ__8dMpath_c */
f32 dMpath_c::mMaxZ /* = -__float_max[0] */;
f32 dMpath_c::mMaxZ /* = -FLT_MAX */;
/* 80450E78-80450E7C 000378 0004+00 1/1 2/2 0/0 .sbss mAllCenterX__8dMpath_c */
f32 dMpath_c::mAllCenterX;
+5 -4
View File
@@ -4,6 +4,7 @@
//
#include "d/map/d_map_path_fmap.h"
#include "MSL_C/float.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
@@ -336,10 +337,10 @@ SECTION_SDATA2 static f32 lit_3894[1 + 1 /* padding */] = {
* buildFmapStageData__23dMenu_Fmap_stage_data_cFiff */
int dMenu_Fmap_stage_data_c::buildFmapStageData(int param_0, f32 param_1, f32 param_2) {
dMenu_Fmap_room_data_c* room = mp_roomTop;
f32 fvar3 = __float_max[0];
f32 fvar4 = __float_max[0];
f32 fvar5 = -__float_max[0];
f32 fvar6 = -__float_max[0];
f32 fvar3 = FLT_MAX;
f32 fvar4 = FLT_MAX;
f32 fvar5 = -FLT_MAX;
f32 fvar6 = -FLT_MAX;
int ivar = 0;
for (; room != NULL; room = room->getNextData()) {
+2 -2
View File
@@ -843,9 +843,9 @@ inline f32 local_sqrtf(f32 mag) {
tmpd = DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag);
return DOUBLE_LABEL(lit_4745) * tmpd * (DOUBLE_LABEL(lit_4746) - tmpd * tmpd * mag) * mag;
} else if (mag < DOUBLE_LABEL(lit_4747)) {
return __float_nan[0];
return NAN;
} else if (fpclassify(mag) == 1) {
return __float_nan[0];
return NAN;
} else {
return mag;
}