summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2026-07-16 17:21:09 -0400
committerGitHub <noreply@github.com>2026-07-16 17:21:09 -0400
commitc562f05ffa10a901c9749c6105f7446163b04f1c (patch)
tree50b690d497ab90e5398b1a936d18541f588cdee7
parentc30c494a153bb10751e083b5037029e2c7e0af02 (diff)
Merge pull request #1120 from LagoLunatic/clib-limit
Improve cLib limit inlines
-rw-r--r--include/SSystem/SComponent/c_lib.h9
-rw-r--r--src/d/actor/d_a_npc_ji1.cpp6
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;