diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-07-16 17:21:09 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-16 17:21:09 -0400 |
| commit | c562f05ffa10a901c9749c6105f7446163b04f1c (patch) | |
| tree | 50b690d497ab90e5398b1a936d18541f588cdee7 | |
| parent | c30c494a153bb10751e083b5037029e2c7e0af02 (diff) | |
Merge pull request #1120 from LagoLunatic/clib-limit
Improve cLib limit inlines
| -rw-r--r-- | include/SSystem/SComponent/c_lib.h | 9 | ||||
| -rw-r--r-- | src/d/actor/d_a_npc_ji1.cpp | 6 |
2 files changed, 6 insertions, 9 deletions
diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index 1cc7fe42..6395f746 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -58,10 +58,7 @@ inline void cLib_setBit(T& value, T bit) { template <typename T> inline T cLib_minMaxLimit(T val, T min, T max) { - return (T)((T)val < (T)min ? (T)min : ((T)val > (T)max ? (T)max : (T)val)); - // Might also be one of these? Try them first if having issues getting this inline to match. - // return (T)((T)val < min ? min : ((T)val > max ? max : (T)val)); - // return (T)(val < min ? min : (val > max ? max : val)); + return (T)((T)val < min ? min : ((T)val > max ? max : (T)val)); } template <typename T> @@ -71,12 +68,12 @@ inline bool cLib_checkMinMaxLimit(T val, T min, T max) { template <typename T> inline T cLib_maxLimit(T val, T max) { - return (T)((T)val > (T)max ? (T)max : (T)val); + return (T)((T)val > max ? max : (T)val); } template <typename T> inline T cLib_minLimit(T val, T min) { - return (T)((T)val < (T)min ? (T)min : (T)val); + return (T)((T)val < min ? min : (T)val); } template <typename T> diff --git a/src/d/actor/d_a_npc_ji1.cpp b/src/d/actor/d_a_npc_ji1.cpp index e2d0ec5a..212ade85 100644 --- a/src/d/actor/d_a_npc_ji1.cpp +++ b/src/d/actor/d_a_npc_ji1.cpp @@ -5001,7 +5001,7 @@ static cXyz l_head_top(1.0f, 0.0f, 0.0f); /* 0001031C-00010E3C .text daNpc_Ji1_setHairAngle__FP11daNpc_Ji1_c */ static BOOL daNpc_Ji1_setHairAngle(daNpc_Ji1_c* i_this) { - /* Nonmatching - stack */ + /* Nonmatching - retail-only load order */ f32 wind = *dKyw_get_wind_power() * *dKyw_get_wind_power() * 25.0f; cXyz* windVec = dKyw_get_wind_vec(); @@ -5057,7 +5057,7 @@ static BOOL daNpc_Ji1_setHairAngle(daNpc_Ji1_c* i_this) { i_this->field_0xBAA += (s16)(i_this->field_0xBB6 + temp3_2); i_this->field_0xBAA += (s16)(i_this->field_0xBB6 + temp3_2); - i_this->field_0xBAA = cLib_minMaxLimit(i_this->field_0xBAA, l_HIO.field_0xF4, l_HIO.field_0xF6); + i_this->field_0xBAA = cLib_minMaxLimit<s16>(i_this->field_0xBAA, l_HIO.field_0xF4, l_HIO.field_0xF6); s16 r4_2 = i_this->current.angle.y + i_this->m_jnt.getHead_y(); f32 f5 = cM_ssin(r4_2); @@ -5065,7 +5065,7 @@ static BOOL daNpc_Ji1_setHairAngle(daNpc_Ji1_c* i_this) { cLib_addCalcAngleS2(&i_this->field_0xBAC, cM_atan2s(sp3C.z * f5 - sp3C.x * f6, std::sqrtf(temp10 * temp10 + sp3C.y * sp3C.y)), 5, 0x400); i_this->field_0xBAC += (s16)(i_this->field_0xBB8 - temp4_2); - i_this->field_0xBAC = cLib_minMaxLimit(i_this->field_0xBAC, l_HIO.field_0xE8, l_HIO.field_0xEA); + i_this->field_0xBAC = cLib_minMaxLimit<s16>(i_this->field_0xBAC, l_HIO.field_0xE8, l_HIO.field_0xEA); i_this->field_0xBB6 = (s16)(i_this->field_0xBAA - r26) * 0.2f; i_this->field_0xBB8 = (s16)(i_this->field_0xBAC - r25) * 0.2f; |
