mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
c_m2d match, add JUT_ASSERT_FLOAT
This commit is contained in:
+1
-1
@@ -526,7 +526,7 @@ config.libs = [
|
||||
Object(Matching, "SSystem/SComponent/c_bg_s_gnd_chk.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_bg_s_lin_chk.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_bg_w.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_m2d.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m2d.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_m2d_g_box.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_m3d.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_aab.cpp"),
|
||||
|
||||
@@ -10,6 +10,14 @@
|
||||
OSPanic(__FILE__, LINE, "Halt"); \
|
||||
}
|
||||
|
||||
// Some asserts on floats have the wrong codegen with JUT_ASSERT's (COND) == 0 check.
|
||||
// Using !(COND) instead fixes them.
|
||||
#define JUT_ASSERT_FLOAT(LINE, COND) \
|
||||
if (!(COND)) { \
|
||||
JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, #COND); \
|
||||
OSPanic(__FILE__, LINE, "Halt"); \
|
||||
}
|
||||
|
||||
#define JUT_PANIC(LINE) \
|
||||
JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, "0"); \
|
||||
OSPanic(__FILE__, LINE, "Halt");
|
||||
|
||||
@@ -326,6 +326,7 @@ private:
|
||||
/* 0x14 */ u8 mWeight;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ u8 mDmg;
|
||||
/* 0x18 */ /* vtable */
|
||||
|
||||
public:
|
||||
cCcD_Stts() {}
|
||||
|
||||
@@ -17,7 +17,7 @@ void cM2d_CrossCirLin(cM2dGCir& circle, f32 x0, f32 y0, f32 x1, f32 y1, f32* pDs
|
||||
f32 c = (fVar1 * fVar1 + fVar15 * fVar15) - (circle.GetR() * circle.GetR());
|
||||
f32 t;
|
||||
|
||||
JUT_ASSERT(0x47, c < 0.0f);
|
||||
JUT_ASSERT_FLOAT(0x47, c < 0.0f);
|
||||
|
||||
if (cM3d_IsZero(dVar13)) {
|
||||
if (!cM3d_IsZero(dVar14)) {
|
||||
@@ -48,7 +48,7 @@ void cM2d_CrossCirLin(cM2dGCir& circle, f32 x0, f32 y0, f32 x1, f32 y1, f32* pDs
|
||||
*pDstX = x0;
|
||||
*pDstY = y0;
|
||||
} else {
|
||||
JUT_ASSERT(0x89, t >= 0.0f);
|
||||
JUT_ASSERT_FLOAT(0x89, t >= 0.0f);
|
||||
*pDstX = x0 + (t * x1);
|
||||
*pDstY = y0 + (t * y1);
|
||||
}
|
||||
|
||||
+2
-11
@@ -208,17 +208,8 @@ void dBgS_Acch::CrrPos(dBgS& i_bgs) {
|
||||
SetWaterIn();
|
||||
}
|
||||
|
||||
// JUT_ASSERT's (COND) == 0 check screws up the codegen here. Using !(COND) instead fixes it.
|
||||
// JUT_ASSERT(718, m_wtr.GetHeight() >= ground.y);
|
||||
// JUT_ASSERT(719, m_wtr.GetHeight() <= top);
|
||||
if (!(m_wtr.GetHeight() >= ground.y)) {
|
||||
JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, 718, "m_wtr.GetHeight() >= ground.y");
|
||||
OSPanic(__FILE__, 718, "Halt");
|
||||
}
|
||||
if (!(m_wtr.GetHeight() <= top)) {
|
||||
JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, 719, "m_wtr.GetHeight() <= top");
|
||||
OSPanic(__FILE__, 719, "Halt");
|
||||
}
|
||||
JUT_ASSERT_FLOAT(718, m_wtr.GetHeight() >= ground.y);
|
||||
JUT_ASSERT_FLOAT(719, m_wtr.GetHeight() <= top);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user