mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
Use standard (f)abs functions
This commit is contained in:
@ -622,7 +622,7 @@ float QuatAngleDiff(const hsQuat &a, const hsQuat &b)
|
||||
|
||||
// Calling acos on 1.0 is returning an undefined value. Need to check for it.
|
||||
float epsilon = 0.00001;
|
||||
if (hsABS(cos_t - 1.f) < epsilon)
|
||||
if (fabs(cos_t - 1.f) < epsilon)
|
||||
return 0;
|
||||
|
||||
theta = acos(cos_t);
|
||||
|
@ -284,7 +284,7 @@ void plAnimatedMovementStrategy::RecalcVelocity(double timeNow, float elapsed, b
|
||||
|
||||
// Update controller rotation
|
||||
float zRot = fAnimAngularVel + fTurnStr;
|
||||
if (hsABS(zRot) > 0.0001f)
|
||||
if (fabs(zRot) > 0.0001f)
|
||||
fController->IncrementAngle(zRot * elapsed);
|
||||
|
||||
// Update controller velocity
|
||||
@ -396,7 +396,7 @@ void plWalkingStrategy::Apply(float delSecs)
|
||||
hsVector3 achievedVelocity = fController->GetAchievedLinearVelocity();
|
||||
|
||||
// Add in gravity if the avatar's z velocity isn't being set explicitly
|
||||
if (hsABS(velocity.fZ) < 0.001f)
|
||||
if (fabs(velocity.fZ) < 0.001f)
|
||||
{
|
||||
// Get our previous z velocity. If we're on the ground, clamp it to zero at
|
||||
// the largest, so we won't launch into the air if we're running uphill.
|
||||
@ -625,7 +625,7 @@ void plSwimStrategy::Apply(float delSecs)
|
||||
hsVector3 linCurrent(0.0f, 0.0f, 0.0f);
|
||||
fCurrentRegion->GetCurrent(fController, linCurrent, angCurrent, delSecs);
|
||||
|
||||
if (hsABS(angCurrent) > 0.0001f)
|
||||
if (fabs(angCurrent) > 0.0001f)
|
||||
fController->IncrementAngle(angCurrent * delSecs);
|
||||
|
||||
velocity += linCurrent;
|
||||
@ -710,7 +710,7 @@ void plDynamicWalkingStrategy::Apply(float delSecs)
|
||||
hsVector3 achievedVelocity = fController->GetAchievedLinearVelocity();
|
||||
|
||||
// Add in gravity if the avatar's z velocity isn't being set explicitly
|
||||
if (hsABS(velocity.fZ) < 0.001f)
|
||||
if (fabs(velocity.fZ) < 0.001f)
|
||||
{
|
||||
// Get our previous z velocity. If we're on the ground, clamp it to zero at
|
||||
// the largest, so we won't launch into the air if we're running uphill.
|
||||
|
@ -849,17 +849,17 @@ bool plAvatarInputInterface::InterpretInputEvent( plInputEventMsg *pMsg )
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagRangePos)
|
||||
{
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
}
|
||||
else
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagRangeNeg)
|
||||
{
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
}
|
||||
pCmd->fPct = pct;
|
||||
if (pct == 1.0f || pct == -1.0f)
|
||||
@ -960,17 +960,17 @@ bool plAvatarInputInterface::InterpretInputEvent( plInputEventMsg *pMsg )
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagRangePos)
|
||||
{
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
}
|
||||
else
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagRangeNeg)
|
||||
{
|
||||
if (mouseMap->fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (mouseMap->fMap[i]->fBox.fY - mouseMap->fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((mouseMap->fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
pct = fabs((mouseMap->fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (mouseMap->fMap[i]->fBox.fW - mouseMap->fMap[i]->fBox.fZ));
|
||||
}
|
||||
pCmd->fPct = pct;
|
||||
if (pct == 1.0f || pct == -1.0f)
|
||||
|
@ -245,17 +245,17 @@ bool plDebugInputInterface::InterpretInputEvent( plInputEventMsg *pMsg )
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagRangePos)
|
||||
{
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
}
|
||||
else
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagRangeNeg)
|
||||
{
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
}
|
||||
pCmd->fPct = pct;
|
||||
if (pct == 1.0f || pct == -1.0f)
|
||||
@ -320,17 +320,17 @@ bool plDebugInputInterface::InterpretInputEvent( plInputEventMsg *pMsg )
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagRangePos)
|
||||
{
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fX - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fZ - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
}
|
||||
else
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagRangeNeg)
|
||||
{
|
||||
if (fMouseMap.fMap[i]->fControlFlags & kControlFlagXAxisEvent)
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fY - pMouseMsg->GetXPos()) / (fMouseMap.fMap[i]->fBox.fY - fMouseMap.fMap[i]->fBox.fX));
|
||||
else
|
||||
pct = hsABS((fMouseMap.fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
pct = fabs((fMouseMap.fMap[i]->fBox.fW - pMouseMsg->GetYPos()) / (fMouseMap.fMap[i]->fBox.fW - fMouseMap.fMap[i]->fBox.fZ));
|
||||
}
|
||||
pCmd->fPct = pct;
|
||||
if (pct == 1.0f || pct == -1.0f)
|
||||
|
@ -413,7 +413,7 @@ bool plSceneInputInterface::MsgReceive( plMessage *msg )
|
||||
return true;
|
||||
}
|
||||
|
||||
if (hsABS(avPt.fZ - objPt.fZ) > 1.0f) // you need to also be in the same plane (some books are on top of rocks you need to jump onto)
|
||||
if (fabs(avPt.fZ - objPt.fZ) > 1.0f) // you need to also be in the same plane (some books are on top of rocks you need to jump onto)
|
||||
{
|
||||
ResetClickableState();
|
||||
return true;
|
||||
|
@ -61,9 +61,9 @@ void hsPoint3Key::Write(hsStream *stream)
|
||||
|
||||
bool hsPoint3Key::CompareValue(hsPoint3Key *key)
|
||||
{
|
||||
return hsABS(fValue.fX - key->fValue.fX) < .01 &&
|
||||
hsABS(fValue.fY - key->fValue.fY) < .01 &&
|
||||
hsABS(fValue.fZ - key->fValue.fZ) < .01;
|
||||
return fabs(fValue.fX - key->fValue.fX) < .01 &&
|
||||
fabs(fValue.fY - key->fValue.fY) < .01 &&
|
||||
fabs(fValue.fZ - key->fValue.fZ) < .01;
|
||||
}
|
||||
|
||||
void hsBezPoint3Key::Read(hsStream *stream)
|
||||
@ -84,9 +84,9 @@ void hsBezPoint3Key::Write(hsStream *stream)
|
||||
|
||||
bool hsBezPoint3Key::CompareValue(hsBezPoint3Key *key)
|
||||
{
|
||||
return hsABS(fValue.fX - key->fValue.fX) < .01 &&
|
||||
hsABS(fValue.fY - key->fValue.fY) < .01 &&
|
||||
hsABS(fValue.fZ - key->fValue.fZ) < .01;
|
||||
return fabs(fValue.fX - key->fValue.fX) < .01 &&
|
||||
fabs(fValue.fY - key->fValue.fY) < .01 &&
|
||||
fabs(fValue.fZ - key->fValue.fZ) < .01;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////
|
||||
@ -179,21 +179,21 @@ void hsCompressedQuatKey32::SetQuat(hsQuat &q)
|
||||
{
|
||||
q.Normalize();
|
||||
uint32_t maxElement = kCompQuatNukeX;
|
||||
float maxVal = hsABS(q.fX);
|
||||
if (hsABS(q.fY) > maxVal)
|
||||
float maxVal = fabs(q.fX);
|
||||
if (fabs(q.fY) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeY;
|
||||
maxVal = hsABS(q.fY);
|
||||
maxVal = fabs(q.fY);
|
||||
}
|
||||
if (hsABS(q.fZ) > maxVal)
|
||||
if (fabs(q.fZ) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeZ;
|
||||
maxVal = hsABS(q.fZ);
|
||||
maxVal = fabs(q.fZ);
|
||||
}
|
||||
if (hsABS(q.fW) > maxVal)
|
||||
if (fabs(q.fW) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeW;
|
||||
maxVal = hsABS(q.fW);
|
||||
maxVal = fabs(q.fW);
|
||||
}
|
||||
switch (maxElement)
|
||||
{
|
||||
@ -322,21 +322,21 @@ void hsCompressedQuatKey64::SetQuat(hsQuat &q)
|
||||
{
|
||||
q.Normalize();
|
||||
uint32_t maxElement = kCompQuatNukeX;
|
||||
float maxVal = hsABS(q.fX);
|
||||
if (hsABS(q.fY) > maxVal)
|
||||
float maxVal = fabs(q.fX);
|
||||
if (fabs(q.fY) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeY;
|
||||
maxVal = hsABS(q.fY);
|
||||
maxVal = fabs(q.fY);
|
||||
}
|
||||
if (hsABS(q.fZ) > maxVal)
|
||||
if (fabs(q.fZ) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeZ;
|
||||
maxVal = hsABS(q.fZ);
|
||||
maxVal = fabs(q.fZ);
|
||||
}
|
||||
if (hsABS(q.fW) > maxVal)
|
||||
if (fabs(q.fW) > maxVal)
|
||||
{
|
||||
maxElement = kCompQuatNukeW;
|
||||
maxVal = hsABS(q.fW);
|
||||
maxVal = fabs(q.fW);
|
||||
}
|
||||
switch (maxElement)
|
||||
{
|
||||
|
@ -40,6 +40,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
*==LICENSE==*/
|
||||
#include <cfloat>
|
||||
#include <type_traits>
|
||||
#include "hsStream.h"
|
||||
#include "hsTimer.h"
|
||||
#include "plSDL.h"
|
||||
@ -2110,10 +2111,24 @@ void plSimpleStateVariable::CopyData(const plSimpleStateVariable* other, uint32_
|
||||
// send notification msg if necessary, called internally
|
||||
//
|
||||
|
||||
template <typename _T>
|
||||
typename std::enable_if<std::is_floating_point<_T>::value, _T>::type
|
||||
_generic_abs(_T value)
|
||||
{
|
||||
return fabs(value);
|
||||
}
|
||||
|
||||
template <typename _T>
|
||||
typename std::enable_if<std::is_integral<_T>::value, _T>::type
|
||||
_generic_abs(_T value)
|
||||
{
|
||||
return abs(value);
|
||||
}
|
||||
|
||||
#define NOTIFY_CHECK(type, var) \
|
||||
case type: \
|
||||
for(i=0;i<cnt;i++) \
|
||||
if (hsABS(var[i] - other->var[i])>d) \
|
||||
if (_generic_abs(var[i] - other->var[i]) > d) \
|
||||
{ \
|
||||
notify=true; \
|
||||
break; \
|
||||
|
Reference in New Issue
Block a user