mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-09 18:57:32 -04:00
Use isnan instead of CHECK_FLOAT_CLASS
This commit is contained in:
@@ -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))
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user