Use isnan instead of CHECK_FLOAT_CLASS

This commit is contained in:
LagoLunatic
2025-09-28 13:59:43 -04:00
parent eca6bd2d13
commit bf818e8aec
10 changed files with 78 additions and 87 deletions
@@ -15,8 +15,8 @@
#define fpclassify(x) ((sizeof(x) == sizeof(float)) ? __fpclassifyf((float)(x)) : __fpclassifyd((double)(x)) )
#define signbit(x) ((sizeof(x) == sizeof(float)) ? __signbitf(x) : __signbitd(x))
#define isfinite(x) ((fpclassify(x) > 2))
#define isnan(x) ((fpclassify(x) == FP_NAN))
#define isinf(x) ((fpclassify(x) == FP_INFINITE))
#define isnan(x) (fpclassify(x) == FP_NAN)
#define isinf(x) (fpclassify(x) == FP_INFINITE)
#define __signbitf(x) ((int)(__HI(x) & 0x80000000))
+3 -4
View File
@@ -8,7 +8,6 @@
#include "f_pc/f_pc_manager.h"
#include "dolphin/types.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
@@ -210,9 +209,9 @@ void cCcD_Stts::PlusCcMove(f32 x, f32 y, f32 z) {
m_cc_move.x += x;
m_cc_move.y += y;
m_cc_move.z += z;
CHECK_FLOAT_CLASS(0x1bb, m_cc_move.x);
CHECK_FLOAT_CLASS(0x1bc, m_cc_move.y);
CHECK_FLOAT_CLASS(0x1bd, m_cc_move.z);
JUT_ASSERT(0x1bb, !isnan(m_cc_move.x));
JUT_ASSERT(0x1bc, !isnan(m_cc_move.y));
JUT_ASSERT(0x1bd, !isnan(m_cc_move.z));
CHECK_VEC3_RANGE(0x1c1, m_cc_move);
}
#endif
+13 -14
View File
@@ -9,7 +9,6 @@
#include "SSystem/SComponent/c_cc_s.h"
#include "JSystem/JUtility/JUTAssert.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#define CHECK_PVEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v->x && v->x < 1.0e32f && -1.0e32f < v->y && v->y < 1.0e32f && -1.0e32f < v->z && v->z < 1.0e32f)
@@ -254,7 +253,7 @@ void cCcS::SetCoCommonHitInf(cCcD_Obj* obj1, cXyz* ppos1, cCcD_Obj* obj2, cXyz*
/* 8024388C-80244750 .text SetPosCorrect__4cCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf */
void cCcS::SetPosCorrect(cCcD_Obj* obj1, cXyz* ppos1, cCcD_Obj* obj2, cXyz* ppos2, f32 cross_len) {
CHECK_FLOAT_CLASS(604, cross_len);
JUT_ASSERT(604, !isnan(cross_len));
#if VERSION > VERSION_DEMO
CHECK_FLOAT_RANGE(605, cross_len);
#endif
@@ -377,12 +376,12 @@ void cCcS::SetPosCorrect(cCcD_Obj* obj1, cXyz* ppos1, cCcD_Obj* obj2, cXyz* ppos
}
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(794, vec1.x);
CHECK_FLOAT_CLASS(795, vec1.y);
CHECK_FLOAT_CLASS(796, vec1.z);
CHECK_FLOAT_CLASS(798, vec2.x);
CHECK_FLOAT_CLASS(799, vec2.y);
CHECK_FLOAT_CLASS(800, vec2.z);
JUT_ASSERT(794, !isnan(vec1.x));
JUT_ASSERT(795, !isnan(vec1.y));
JUT_ASSERT(796, !isnan(vec1.z));
JUT_ASSERT(798, !isnan(vec2.x));
JUT_ASSERT(799, !isnan(vec2.y));
JUT_ASSERT(800, !isnan(vec2.z));
CHECK_VEC3_RANGE(804, vec1);
CHECK_VEC3_RANGE(808, vec2);
#endif
@@ -393,12 +392,12 @@ void cCcS::SetPosCorrect(cCcD_Obj* obj1, cXyz* ppos1, cCcD_Obj* obj2, cXyz* ppos
(*ppos2) += vec2;
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(817, ppos1->x);
CHECK_FLOAT_CLASS(818, ppos1->y);
CHECK_FLOAT_CLASS(819, ppos1->z);
CHECK_FLOAT_CLASS(821, ppos2->x);
CHECK_FLOAT_CLASS(822, ppos2->y);
CHECK_FLOAT_CLASS(823, ppos2->z);
JUT_ASSERT(817, !isnan(ppos1->x));
JUT_ASSERT(818, !isnan(ppos1->y));
JUT_ASSERT(819, !isnan(ppos1->z));
JUT_ASSERT(821, !isnan(ppos2->x));
JUT_ASSERT(822, !isnan(ppos2->y));
JUT_ASSERT(823, !isnan(ppos2->z));
CHECK_PVEC3_RANGE(827, ppos1);
CHECK_PVEC3_RANGE(831, ppos2);
#endif
+33 -34
View File
@@ -15,7 +15,6 @@
#include "SSystem/SComponent/c_math.h"
#include "SSystem/SComponent/c_sxyz.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#define CHECK_PVEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v->x && v->x < 1.0e32f && -1.0e32f < v->y && v->y < 1.0e32f && -1.0e32f < v->z && v->z < 1.0e32f)
@@ -1377,16 +1376,16 @@ int cM3d_Cross_LinSph_CrossPos(const cM3dGSph& sph, const cM3dGLin& line, Vec* p
/* 8024D378-8024DB34 .text cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf */
bool cM3d_Cross_CylSph(const cM3dGCyl* pcyl, const cM3dGSph* psph, Vec* param_2, f32* pcross_len) {
const Vec* pnow_sph_center = psph->GetCP();
CHECK_FLOAT_CLASS(DEMO_SELECT(2499, 2498), pnow_sph_center->x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2500, 2499), pnow_sph_center->y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2501, 2500), pnow_sph_center->z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2502, 2501), psph->GetR());
JUT_ASSERT(DEMO_SELECT(2499, 2498), !isnan(pnow_sph_center->x));
JUT_ASSERT(DEMO_SELECT(2500, 2499), !isnan(pnow_sph_center->y));
JUT_ASSERT(DEMO_SELECT(2501, 2500), !isnan(pnow_sph_center->z));
JUT_ASSERT(DEMO_SELECT(2502, 2501), !isnan(psph->GetR()));
const Vec* pnow_cyl_center = pcyl->GetCP();
CHECK_FLOAT_CLASS(DEMO_SELECT(2504, 2503), pnow_cyl_center->x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2505, 2504), pnow_cyl_center->y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2506, 2505), pnow_cyl_center->z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2507, 2506), pcyl->GetH());
CHECK_FLOAT_CLASS(DEMO_SELECT(2508, 2507), pcyl->GetR());
JUT_ASSERT(DEMO_SELECT(2504, 2503), !isnan(pnow_cyl_center->x));
JUT_ASSERT(DEMO_SELECT(2505, 2504), !isnan(pnow_cyl_center->y));
JUT_ASSERT(DEMO_SELECT(2506, 2505), !isnan(pnow_cyl_center->z));
JUT_ASSERT(DEMO_SELECT(2507, 2506), !isnan(pcyl->GetH()));
JUT_ASSERT(DEMO_SELECT(2508, 2507), !isnan(pcyl->GetR()));
f32 radius_sum = pcyl->GetR() + psph->GetR();
f32 dist = std::sqrtf(cM3d_Len2dSq(pnow_sph_center->x, pnow_sph_center->z, pnow_cyl_center->x, pnow_cyl_center->z));
@@ -1412,7 +1411,7 @@ bool cM3d_Cross_CylSph(const cM3dGCyl* pcyl, const cM3dGSph* psph, Vec* param_2,
*param_2 = *pnow_sph_center;
}
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(2539, *pcross_len);
JUT_ASSERT(2539, !isnan(*pcross_len));
#endif
return true;
}
@@ -1422,26 +1421,26 @@ bool cM3d_Cross_CylSph(const cM3dGCyl* pcyl, const cM3dGSph* psph, Vec* param_2,
/* 8024DB34-8024E1B4 .text cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPfPf */
bool cM3d_Cross_SphSph(const cM3dGSph* i_a, const cM3dGSph* i_b, f32* param_2, f32* i_pcc_crosslen) {
CHECK_FLOAT_CLASS(DEMO_SELECT(2566, 2565), i_a->GetCP()->x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2567, 2566), i_a->GetCP()->y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2568, 2567), i_a->GetCP()->z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2569, 2568), i_a->GetR());
JUT_ASSERT(DEMO_SELECT(2566, 2565), !isnan(i_a->GetCP()->x));
JUT_ASSERT(DEMO_SELECT(2567, 2566), !isnan(i_a->GetCP()->y));
JUT_ASSERT(DEMO_SELECT(2568, 2567), !isnan(i_a->GetCP()->z));
JUT_ASSERT(DEMO_SELECT(2569, 2568), !isnan(i_a->GetR()));
CHECK_FLOAT_CLASS(DEMO_SELECT(2570, 2569), i_b->GetCP()->x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2571, 2570), i_b->GetCP()->y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2572, 2571), i_b->GetCP()->z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2573, 2572), i_b->GetR());
JUT_ASSERT(DEMO_SELECT(2570, 2569), !isnan(i_b->GetCP()->x));
JUT_ASSERT(DEMO_SELECT(2571, 2570), !isnan(i_b->GetCP()->y));
JUT_ASSERT(DEMO_SELECT(2572, 2571), !isnan(i_b->GetCP()->z));
JUT_ASSERT(DEMO_SELECT(2573, 2572), !isnan(i_b->GetR()));
Vec delta;
VECSubtract(i_a->GetCP(), i_b->GetCP(), &delta);
*param_2 = VECMag(&delta);
*i_pcc_crosslen = i_a->GetR() + i_b->GetR() - *param_2;
if (*i_pcc_crosslen > G_CM3D_F_ABS_MIN) {
CHECK_FLOAT_CLASS(DEMO_SELECT(2583, 2582), *i_pcc_crosslen);
JUT_ASSERT(DEMO_SELECT(2583, 2582), !isnan(*i_pcc_crosslen));
return true;
} else {
*i_pcc_crosslen = 0.0f;
CHECK_FLOAT_CLASS(DEMO_SELECT(2588, 2587), *i_pcc_crosslen);
JUT_ASSERT(DEMO_SELECT(2588, 2587), !isnan(*i_pcc_crosslen));
return false;
}
}
@@ -1554,17 +1553,17 @@ bool cM3d_Cross_SphTri(const cM3dGSph* sph, const cM3dGTri* tri, Vec* param_2) {
/* 8024E694-8024EF80 .text cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylPf */
bool cM3d_Cross_CylCyl(const cM3dGCyl* i_cyl1, const cM3dGCyl* i_cyl2, f32* i_pcross_len) {
const Vec& c1 = i_cyl1->GetC();
CHECK_FLOAT_CLASS(DEMO_SELECT(2827, 2826), c1.x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2828, 2827), c1.y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2829, 2828), c1.z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2830, 2829), i_cyl1->GetR());
CHECK_FLOAT_CLASS(DEMO_SELECT(2831, 2830), i_cyl1->GetH());
JUT_ASSERT(DEMO_SELECT(2827, 2826), !isnan(c1.x));
JUT_ASSERT(DEMO_SELECT(2828, 2827), !isnan(c1.y));
JUT_ASSERT(DEMO_SELECT(2829, 2828), !isnan(c1.z));
JUT_ASSERT(DEMO_SELECT(2830, 2829), !isnan(i_cyl1->GetR()));
JUT_ASSERT(DEMO_SELECT(2831, 2830), !isnan(i_cyl1->GetH()));
const Vec& c2 = i_cyl2->GetC();
CHECK_FLOAT_CLASS(DEMO_SELECT(2833, 2832), c2.x);
CHECK_FLOAT_CLASS(DEMO_SELECT(2834, 2833), c2.y);
CHECK_FLOAT_CLASS(DEMO_SELECT(2835, 2834), c2.z);
CHECK_FLOAT_CLASS(DEMO_SELECT(2836, 2835), i_cyl2->GetR());
CHECK_FLOAT_CLASS(DEMO_SELECT(2837, 2836), i_cyl2->GetH());
JUT_ASSERT(DEMO_SELECT(2833, 2832), !isnan(c2.x));
JUT_ASSERT(DEMO_SELECT(2834, 2833), !isnan(c2.y));
JUT_ASSERT(DEMO_SELECT(2835, 2834), !isnan(c2.z));
JUT_ASSERT(DEMO_SELECT(2836, 2835), !isnan(i_cyl2->GetR()));
JUT_ASSERT(DEMO_SELECT(2837, 2836), !isnan(i_cyl2->GetH()));
f32 delta_x = c1.x - c2.x;
f32 delta_z = c1.z - c2.z;
@@ -1573,18 +1572,18 @@ bool cM3d_Cross_CylCyl(const cM3dGCyl* i_cyl1, const cM3dGCyl* i_cyl2, f32* i_pc
if (dist_sq > radius_sum * radius_sum) {
*i_pcross_len = 0.0f;
CHECK_FLOAT_CLASS(DEMO_SELECT(2850, 2849), *i_pcross_len);
JUT_ASSERT(DEMO_SELECT(2850, 2849), !isnan(*i_pcross_len));
return false;
}
if (c1.y + i_cyl1->GetH() < c2.y || c1.y > c2.y + i_cyl2->GetH()) {
*i_pcross_len = 0.0f;
CHECK_FLOAT_CLASS(DEMO_SELECT(2858, 2857), *i_pcross_len);
JUT_ASSERT(DEMO_SELECT(2858, 2857), !isnan(*i_pcross_len));
return false;
}
*i_pcross_len = radius_sum - std::sqrtf(dist_sq);
CHECK_FLOAT_CLASS(DEMO_SELECT(2865, 2864), *i_pcross_len);
JUT_ASSERT(DEMO_SELECT(2865, 2864), !isnan(*i_pcross_len));
return true;
}
+5 -6
View File
@@ -7,30 +7,29 @@
#include "SSystem/SComponent/c_m3d.h"
#include "JSystem/JUtility/JUTAssert.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#if VERSION > VERSION_DEMO
/* 80251D88-80252020 .text SetC__8cM3dGCylFRC4cXyz */
void cM3dGCyl::SetC(const cXyz& pos) {
CHECK_FLOAT_CLASS(21, pos.x);
CHECK_FLOAT_CLASS(22, pos.y);
CHECK_FLOAT_CLASS(23, pos.z);
JUT_ASSERT(21, !isnan(pos.x));
JUT_ASSERT(22, !isnan(pos.y));
JUT_ASSERT(23, !isnan(pos.z));
CHECK_VEC3_RANGE(26, pos);
mCenter = pos;
}
/* 80252020-8025214C .text SetH__8cM3dGCylFf */
void cM3dGCyl::SetH(f32 h) {
CHECK_FLOAT_CLASS(36, h);
JUT_ASSERT(36, !isnan(h));
CHECK_FLOAT_RANGE(37, h);
mHeight = h;
}
/* 8025214C-80252278 .text SetR__8cM3dGCylFf */
void cM3dGCyl::SetR(f32 r) {
CHECK_FLOAT_CLASS(48, r);
JUT_ASSERT(48, !isnan(r));
CHECK_FLOAT_RANGE(49, r);
mRadius = r;
}
+4 -5
View File
@@ -8,23 +8,22 @@
#include "JSystem/JUtility/JUTAssert.h"
#include "float.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#if VERSION > VERSION_DEMO
/* 8025238C-80252624 .text SetC__8cM3dGSphFRC4cXyz */
void cM3dGSph::SetC(const cXyz& p) {
CHECK_FLOAT_CLASS(18, p.x);
CHECK_FLOAT_CLASS(19, p.y);
CHECK_FLOAT_CLASS(20, p.z);
JUT_ASSERT(18, !isnan(p.x));
JUT_ASSERT(19, !isnan(p.y));
JUT_ASSERT(20, !isnan(p.z));
CHECK_VEC3_RANGE(23, p);
mCenter = p;
}
/* 80252624-80252750 .text SetR__8cM3dGSphFf */
void cM3dGSph::SetR(float r) {
CHECK_FLOAT_CLASS(32, r);
JUT_ASSERT(32, !isnan(r));
CHECK_FLOAT_RANGE(33, r);
mRadius = r;
}
-1
View File
@@ -9,7 +9,6 @@
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#define CHECK_PVEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v->x && v->x < 1.0e32f && -1.0e32f < v->y && v->y < 1.0e32f && -1.0e32f < v->z && v->z < 1.0e32f)
+6 -7
View File
@@ -11,7 +11,6 @@
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_sea.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_FLOAT_RANGE(line, x) JUT_ASSERT(line, -1.0e32f < x && x < 1.0e32f);
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
#define CHECK_PVEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v->x && v->x < 1.0e32f && -1.0e32f < v->y && v->y < 1.0e32f && -1.0e32f < v->z && v->z < 1.0e32f)
@@ -215,9 +214,9 @@ void dBgS_Acch::CrrPos(dBgS& i_bgs) {
JUT_ASSERT(494, pm_pos != NULL);
JUT_ASSERT(495, pm_old_pos != NULL);
CHECK_FLOAT_CLASS(535, pm_pos->x);
CHECK_FLOAT_CLASS(536, pm_pos->y);
CHECK_FLOAT_CLASS(537, pm_pos->z);
JUT_ASSERT(535, !isnan(pm_pos->x));
JUT_ASSERT(536, !isnan(pm_pos->y));
JUT_ASSERT(537, !isnan(pm_pos->z));
CHECK_PVEC3_RANGE(541, pm_pos);
i_bgs.MoveBgCrrPos(m_gnd, ChkGroundHit(), pm_pos, pm_angle, pm_shape_angle);
@@ -322,9 +321,9 @@ void dBgS_Acch::CrrPos(dBgS& i_bgs) {
}
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(780, pm_pos->x);
CHECK_FLOAT_CLASS(781, pm_pos->y);
CHECK_FLOAT_CLASS(782, pm_pos->z);
JUT_ASSERT(780, !isnan(pm_pos->x));
JUT_ASSERT(781, !isnan(pm_pos->y));
JUT_ASSERT(782, !isnan(pm_pos->z));
CHECK_PVEC3_RANGE(786, pm_pos);
#endif
}
+6 -7
View File
@@ -10,7 +10,6 @@
#include "SSystem/SComponent/c_m2d.h"
#include "SSystem/SComponent/c_math.h"
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
/* 800A5C3C-800A5CA8 .text __ct__4dBgWFv */
dBgW::dBgW() {
@@ -36,8 +35,8 @@ void dBgW::positionWallCorrect(dBgS_Acch* acch, f32 dist, cM3dGPla& plane, cXyz*
f32 move = speed * dist;
pupper_pos->x += move * plane.mNormal.x;
pupper_pos->z += move * plane.mNormal.z;
CHECK_FLOAT_CLASS(0xd0, pupper_pos->x);
CHECK_FLOAT_CLASS(0xd1, pupper_pos->z);
JUT_ASSERT(0xd0, !isnan(pupper_pos->x));
JUT_ASSERT(0xd1, !isnan(pupper_pos->z));
}
/* 800A5E64-800A6DF8 .text RwgWallCorrect__4dBgWFP9dBgS_AcchUs */
@@ -201,8 +200,8 @@ bool dBgW::RwgWallCorrect(dBgS_Acch* pwi, u16 i_poly_idx) {
pwi->GetPos()->x += cx0 - spF0;
pwi->GetPos()->z += cy0 - spF4;
CHECK_FLOAT_CLASS(484, pwi->GetPos()->x);
CHECK_FLOAT_CLASS(485, pwi->GetPos()->z);
JUT_ASSERT(484, !isnan(pwi->GetPos()->x));
JUT_ASSERT(485, !isnan(pwi->GetPos()->z));
pwi->CalcMovePosWork();
pwi->SetWallCirHit(cir_index);
@@ -221,8 +220,8 @@ bool dBgW::RwgWallCorrect(dBgS_Acch* pwi, u16 i_poly_idx) {
pwi->GetPos()->x += cx1 - spF8;
pwi->GetPos()->z += cy1 - spFC;
CHECK_FLOAT_CLASS(524, pwi->GetPos()->x);
CHECK_FLOAT_CLASS(525, pwi->GetPos()->z);
JUT_ASSERT(524, !isnan(pwi->GetPos()->x));
JUT_ASSERT(525, !isnan(pwi->GetPos()->z));
pwi->CalcMovePosWork();
pwi->SetWallCirHit(cir_index);
+6 -7
View File
@@ -158,7 +158,6 @@ s32 fopAc_Draw(void* pProc) {
return ret;
}
#define CHECK_FLOAT_CLASS(line, x) JUT_ASSERT(line, !(fpclassify(x) == 1));
#define CHECK_VEC3_RANGE(line, v) JUT_ASSERT(line, -1.0e32f < v.x && v.x < 1.0e32f && -1.0e32f < v.y && v.y < 1.0e32f && -1.0e32f < v.z && v.z < 1.0e32f)
/* 8002362C-80023BDC .text fopAc_Execute__FPv */
@@ -167,9 +166,9 @@ BOOL fopAc_Execute(void* pProc) {
BOOL ret = TRUE;
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(0x27d, actor->current.pos.x);
CHECK_FLOAT_CLASS(0x27e, actor->current.pos.y);
CHECK_FLOAT_CLASS(0x27f, actor->current.pos.z);
JUT_ASSERT(0x27d, !isnan(actor->current.pos.x));
JUT_ASSERT(0x27e, !isnan(actor->current.pos.y));
JUT_ASSERT(0x27f, !isnan(actor->current.pos.z));
CHECK_VEC3_RANGE(0x286, actor->current.pos);
#endif
@@ -204,9 +203,9 @@ BOOL fopAc_Execute(void* pProc) {
}
#if VERSION > VERSION_DEMO
CHECK_FLOAT_CLASS(0x2b4, actor->current.pos.x);
CHECK_FLOAT_CLASS(0x2b5, actor->current.pos.y);
CHECK_FLOAT_CLASS(0x2b6, actor->current.pos.z);
JUT_ASSERT(0x2b4, !isnan(actor->current.pos.x));
JUT_ASSERT(0x2b5, !isnan(actor->current.pos.y));
JUT_ASSERT(0x2b6, !isnan(actor->current.pos.z));
CHECK_VEC3_RANGE(0x2bd, actor->current.pos);
#endif
}