replace _isnan with Q_isnan

This commit is contained in:
Jonathan Gray 2013-04-22 21:30:27 +10:00
parent 3dff5cdf52
commit a72f2af77e
9 changed files with 41 additions and 39 deletions

View file

@ -762,7 +762,7 @@ void AddSoundEvent( gentity_t *owner, vec3_t position, float radius, alertEventL
// react to enemy alert events in some way? // react to enemy alert events in some way?
#ifdef _DEBUG #ifdef _DEBUG
assert( !_isnan(position[0]) && !_isnan(position[1]) && !_isnan(position[2]) ); assert( !Q_isnan(position[0]) && !Q_isnan(position[1]) && !Q_isnan(position[2]) );
#endif #endif
VectorCopy( position, level.alertEvents[ level.numAlertEvents ].position ); VectorCopy( position, level.alertEvents[ level.numAlertEvents ].position );
@ -810,7 +810,7 @@ void AddSightEvent( gentity_t *owner, vec3_t position, float radius, alertEventL
// react to enemy alert events in some way? // react to enemy alert events in some way?
#ifdef _DEBUG #ifdef _DEBUG
assert( !_isnan(position[0]) && !_isnan(position[1]) && !_isnan(position[2]) ); assert( !Q_isnan(position[0]) && !Q_isnan(position[1]) && !Q_isnan(position[2]) );
#endif #endif
VectorCopy( position, level.alertEvents[ level.numAlertEvents ].position ); VectorCopy( position, level.alertEvents[ level.numAlertEvents ].position );

View file

@ -7321,8 +7321,8 @@ void PM_FootSlopeTrace( float *pDiff, float *pInterval )
#if 1 #if 1
for ( int i = 0; i < 3; i++ ) for ( int i = 0; i < 3; i++ )
{ {
if ( _isnan( pm->gent->client->renderInfo.footLPoint[i] ) if ( Q_isnan( pm->gent->client->renderInfo.footLPoint[i] )
|| _isnan( pm->gent->client->renderInfo.footRPoint[i] ) ) || Q_isnan( pm->gent->client->renderInfo.footRPoint[i] ) )
{ {
if ( pDiff != NULL ) if ( pDiff != NULL )
{ {
@ -15342,4 +15342,4 @@ void Pmove( pmove_t *pmove )
{//half grav {//half grav
pm->ps->gravity *= 2; pm->ps->gravity *= 2;
} }
} }

View file

@ -1381,8 +1381,8 @@ void G_TouchTriggersLerped( gentity_t *ent ) {
#ifdef _DEBUG #ifdef _DEBUG
for ( int j = 0; j < 3; j++ ) for ( int j = 0; j < 3; j++ )
{ {
assert( !_isnan(ent->currentOrigin[j])); assert( !Q_isnan(ent->currentOrigin[j]));
assert( !_isnan(ent->lastOrigin[j])); assert( !Q_isnan(ent->lastOrigin[j]));
} }
#endif// _DEBUG #endif// _DEBUG
VectorSubtract( ent->currentOrigin, ent->lastOrigin, diff ); VectorSubtract( ent->currentOrigin, ent->lastOrigin, diff );

View file

@ -295,7 +295,7 @@ void G_ReflectMissile( gentity_t *ent, gentity_t *missile, vec3_t forward )
VectorNormalize( bounce_dir ); VectorNormalize( bounce_dir );
VectorScale( bounce_dir, speed, missile->s.pos.trDelta ); VectorScale( bounce_dir, speed, missile->s.pos.trDelta );
#ifdef _DEBUG #ifdef _DEBUG
assert( !_isnan(missile->s.pos.trDelta[0])&&!_isnan(missile->s.pos.trDelta[1])&&!_isnan(missile->s.pos.trDelta[2])); assert( !Q_isnan(missile->s.pos.trDelta[0])&&!Q_isnan(missile->s.pos.trDelta[1])&&!Q_isnan(missile->s.pos.trDelta[2]));
#endif// _DEBUG #endif// _DEBUG
missile->s.pos.trTime = level.time - 10; // move a bit on the very first frame missile->s.pos.trTime = level.time - 10; // move a bit on the very first frame
VectorCopy( missile->currentOrigin, missile->s.pos.trBase ); VectorCopy( missile->currentOrigin, missile->s.pos.trBase );
@ -1531,4 +1531,4 @@ void G_RunMissile( gentity_t *ent )
} }
G_MissileImpact( ent, &tr, trHitLoc ); G_MissileImpact( ent, &tr, trHitLoc );
} }

View file

@ -509,6 +509,8 @@ extern const vec3_t axisDefault[3];
#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask) #define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
#define Q_isnan(x) (isnan(x))
#ifdef _XBOX #ifdef _XBOX
inline void Q_CastShort2Float(float *f, const short *s) inline void Q_CastShort2Float(float *f, const short *s)
{ {

View file

@ -1580,7 +1580,7 @@ qboolean G2API_GetBoltMatrix(CGhoul2Info_v &ghoul2, const int modelIndex, const
{ {
for ( int j = 0; j < 4; j++ ) for ( int j = 0; j < 4; j++ )
{ {
assert( !_isnan(matrix->matrix[i][j])); assert( !Q_isnan(matrix->matrix[i][j]));
} }
} }
#endif// _DEBUG #endif// _DEBUG

View file

@ -1134,7 +1134,7 @@ static void G2_Generate_MatrixRag(
{ {
for (j = 0; j < 4; j++ ) for (j = 0; j < 4; j++ )
{ {
assert( !_isnan(bone.matrix.matrix[i][j])); assert( !Q_isnan(bone.matrix.matrix[i][j]));
} }
} }
#endif// _DEBUG #endif// _DEBUG
@ -1214,8 +1214,8 @@ static int G2_Set_Bone_Rag(const mdxaHeader_t *mod_a,
G2_GetBoneMatrixLow(ghoul2,bone.boneNumber,scale,bone.originalTrueBoneMatrix,bone.basepose,bone.baseposeInv); G2_GetBoneMatrixLow(ghoul2,bone.boneNumber,scale,bone.originalTrueBoneMatrix,bone.basepose,bone.baseposeInv);
// bone.parentRawBoneIndex=G2_GetParentBoneMatrixLow(ghoul2,bone.boneNumber,scale,bone.parentTrueBoneMatrix,bone.baseposeParent,bone.baseposeInvParent); // bone.parentRawBoneIndex=G2_GetParentBoneMatrixLow(ghoul2,bone.boneNumber,scale,bone.parentTrueBoneMatrix,bone.baseposeParent,bone.baseposeInvParent);
assert( !_isnan(bone.originalTrueBoneMatrix.matrix[1][1])); assert( !Q_isnan(bone.originalTrueBoneMatrix.matrix[1][1]));
assert( !_isnan(bone.originalTrueBoneMatrix.matrix[1][3])); assert( !Q_isnan(bone.originalTrueBoneMatrix.matrix[1][3]));
bone.originalOrigin[0]=bone.originalTrueBoneMatrix.matrix[0][3]; bone.originalOrigin[0]=bone.originalTrueBoneMatrix.matrix[0][3];
bone.originalOrigin[1]=bone.originalTrueBoneMatrix.matrix[1][3]; bone.originalOrigin[1]=bone.originalTrueBoneMatrix.matrix[1][3];
bone.originalOrigin[2]=bone.originalTrueBoneMatrix.matrix[2][3]; bone.originalOrigin[2]=bone.originalTrueBoneMatrix.matrix[2][3];
@ -1625,7 +1625,7 @@ void G2_SetRagDoll(CGhoul2Info_v &ghoul2V,CRagDollParams *parms)
//I am just leaving it whatever it is for now, because my velocity scaling //I am just leaving it whatever it is for now, because my velocity scaling
//only works on x and y and the gravity stuff for NPCs is a bit unpleasent //only works on x and y and the gravity stuff for NPCs is a bit unpleasent
//trying to change/work with //trying to change/work with
assert( !_isnan(bone.lastShotDir[1])); assert( !Q_isnan(bone.lastShotDir[1]));
*/ */
} }
} }
@ -2091,7 +2091,7 @@ void G2_SetRagDollBullet(CGhoul2Info &ghoul2,const vec3_t rayStart,const vec3_t
// bone.velocityEffector[0]=shotDir[0]*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f); // bone.velocityEffector[0]=shotDir[0]*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f);
// bone.velocityEffector[1]=shotDir[1]*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f); // bone.velocityEffector[1]=shotDir[1]*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f);
// bone.velocityEffector[2]=fabs(shotDir[2])*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f); // bone.velocityEffector[2]=fabs(shotDir[2])*(effect+flrand(0.0f,0.05f))*flrand(-0.1f,3.0f);
assert( !_isnan(shotDir[2])); assert( !Q_isnan(shotDir[2]));
// bone.currentAngles[0]+=flrand(-10.0f*lenr,10.0f*lenr); // bone.currentAngles[0]+=flrand(-10.0f*lenr,10.0f*lenr);
// bone.currentAngles[1]+=flrand(-10.0f*lenr,10.0f*lenr); // bone.currentAngles[1]+=flrand(-10.0f*lenr,10.0f*lenr);
// bone.currentAngles[2]+=flrand(-10.0f*lenr,10.0f*lenr); // bone.currentAngles[2]+=flrand(-10.0f*lenr,10.0f*lenr);
@ -2594,7 +2594,7 @@ static void G2_RagDollCurrentPosition(CGhoul2Info_v &ghoul2V,int g2Index,int fra
for (k=0;k<3;k++) for (k=0;k<3;k++)
{ {
ragEffectors[i].currentOrigin[k]=ragBones[i].matrix[k][3]; ragEffectors[i].currentOrigin[k]=ragBones[i].matrix[k][3];
assert( !_isnan(ragEffectors[i].currentOrigin[k])); assert( !Q_isnan(ragEffectors[i].currentOrigin[k]));
if (!i) if (!i)
{ {
// set mins, maxs and cm // set mins, maxs and cm
@ -2870,10 +2870,10 @@ static bool G2_RagDollSettlePositionNumeroTrois(CGhoul2Info_v &ghoul2V, const ve
{ {
trace_t tr; trace_t tr;
assert( !_isnan(testStart[1])); assert( !Q_isnan(testStart[1]));
assert( !_isnan(testEnd[1])); assert( !Q_isnan(testEnd[1]));
assert( !_isnan(testMins[1])); assert( !Q_isnan(testMins[1]));
assert( !_isnan(testMaxs[1])); assert( !Q_isnan(testMaxs[1]));
Rag_Trace(&tr,testStart,testMins,testMaxs,testEnd,ignoreNum,RAG_MASK,G2_NOCOLLIDE,0/*SV_TRACE_NO_PLAYER*/); Rag_Trace(&tr,testStart,testMins,testMaxs,testEnd,ignoreNum,RAG_MASK,G2_NOCOLLIDE,0/*SV_TRACE_NO_PLAYER*/);
if (tr.entityNum==0) if (tr.entityNum==0)
{ {
@ -2931,10 +2931,10 @@ static bool G2_RagDollSettlePositionNumeroTrois(CGhoul2Info_v &ghoul2V, const ve
vec3_t testEnd; vec3_t testEnd;
VectorCopy(testStart,testEnd); //last arg is dest VectorCopy(testStart,testEnd); //last arg is dest
testEnd[2]-=8.0f; testEnd[2]-=8.0f;
assert( !_isnan(testStart[1])); assert( !Q_isnan(testStart[1]));
assert( !_isnan(testEnd[1])); assert( !Q_isnan(testEnd[1]));
assert( !_isnan(testMins[1])); assert( !Q_isnan(testMins[1]));
assert( !_isnan(testMaxs[1])); assert( !Q_isnan(testMaxs[1]));
float vertEffectorTraceFraction=0.0f; float vertEffectorTraceFraction=0.0f;
{ {
trace_t tr; trace_t tr;
@ -3010,10 +3010,10 @@ static bool G2_RagDollSettlePositionNumeroTrois(CGhoul2Info_v &ghoul2V, const ve
VectorCopy(effectorGroundSpot,testEnd); //last arg is dest VectorCopy(effectorGroundSpot,testEnd); //last arg is dest
bone.solidCount = 0; bone.solidCount = 0;
} }
assert( !_isnan(testStart[1])); assert( !Q_isnan(testStart[1]));
assert( !_isnan(testEnd[1])); assert( !Q_isnan(testEnd[1]));
assert( !_isnan(testMins[1])); assert( !Q_isnan(testMins[1]));
assert( !_isnan(testMaxs[1])); assert( !Q_isnan(testMaxs[1]));
float ztest; float ztest;
@ -3240,7 +3240,7 @@ static inline void G2_RagGetWorldAnimMatrix(CGhoul2Info &ghoul2, boneInfo_t &bon
//bone matrix and give us a useable world position //bone matrix and give us a useable world position
Multiply_3x4Matrix(&retMatrix, &worldMatrix, &baseBoneMatrix); Multiply_3x4Matrix(&retMatrix, &worldMatrix, &baseBoneMatrix);
assert(!_isnan(retMatrix.matrix[2][3])); assert(!Q_isnan(retMatrix.matrix[2][3]));
} }
//get the current pelvis Z direction and the base anim matrix Z direction //get the current pelvis Z direction and the base anim matrix Z direction
@ -3924,7 +3924,7 @@ static void G2_RagDollSolve(CGhoul2Info_v &ghoul2V,int g2Index,float decay,int f
} }
*/ */
assert( !_isnan(bone.ragOverrideMatrix.matrix[2][3])); assert( !Q_isnan(bone.ragOverrideMatrix.matrix[2][3]));
vec3_t deltaInEntitySpace; vec3_t deltaInEntitySpace;
TransformPoint(desiredPelvisOffset,deltaInEntitySpace,&N); // dest middle arg TransformPoint(desiredPelvisOffset,deltaInEntitySpace,&N); // dest middle arg
for (k=0;k<3;k++) for (k=0;k<3;k++)
@ -3993,10 +3993,10 @@ static void G2_RagDollSolve(CGhoul2Info_v &ghoul2V,int g2Index,float decay,int f
vec3_t change; vec3_t change;
VectorSubtract(tPosition,ragEffectors[depIndex].currentOrigin,change); // dest is last arg VectorSubtract(tPosition,ragEffectors[depIndex].currentOrigin,change); // dest is last arg
float goodness=DotProduct(change,ragEffectors[depIndex].desiredDirection); float goodness=DotProduct(change,ragEffectors[depIndex].desiredDirection);
assert( !_isnan(goodness)); assert( !Q_isnan(goodness));
goodness*=depBone.weight; goodness*=depBone.weight;
delAngles[k]+=goodness; // keep bigger stuff more out of wall or something delAngles[k]+=goodness; // keep bigger stuff more out of wall or something
assert( !_isnan(delAngles[k])); assert( !Q_isnan(delAngles[k]));
} }
allSolidCount += depBone.solidCount; allSolidCount += depBone.solidCount;
} }
@ -4102,7 +4102,7 @@ static void G2_RagDollSolve(CGhoul2Info_v &ghoul2V,int g2Index,float decay,int f
Create_Matrix(bone.currentAngles,&temp1); Create_Matrix(bone.currentAngles,&temp1);
Multiply_3x4Matrix(&temp2,&temp1,bone.baseposeInv); Multiply_3x4Matrix(&temp2,&temp1,bone.baseposeInv);
Multiply_3x4Matrix(&bone.ragOverrideMatrix,bone.basepose, &temp2); Multiply_3x4Matrix(&bone.ragOverrideMatrix,bone.basepose, &temp2);
assert( !_isnan(bone.ragOverrideMatrix.matrix[2][3])); assert( !Q_isnan(bone.ragOverrideMatrix.matrix[2][3]));
} }
G2_Generate_MatrixRag(blist,ragBlistIndex[bone.boneNumber]); G2_Generate_MatrixRag(blist,ragBlistIndex[bone.boneNumber]);
} }
@ -4238,10 +4238,10 @@ static void G2_IKSolve(CGhoul2Info_v &ghoul2V,int g2Index,float decay,int frameN
vec3_t change; vec3_t change;
VectorSubtract(tPosition,ragEffectors[depIndex].currentOrigin,change); // dest is last arg VectorSubtract(tPosition,ragEffectors[depIndex].currentOrigin,change); // dest is last arg
float goodness=DotProduct(change,ragEffectors[depIndex].desiredDirection); float goodness=DotProduct(change,ragEffectors[depIndex].desiredDirection);
assert( !_isnan(goodness)); assert( !Q_isnan(goodness));
goodness*=depBone.weight; goodness*=depBone.weight;
delAngles[k]+=goodness; // keep bigger stuff more out of wall or something delAngles[k]+=goodness; // keep bigger stuff more out of wall or something
assert( !_isnan(delAngles[k])); assert( !Q_isnan(delAngles[k]));
} }
} }
} }
@ -4298,7 +4298,7 @@ static void G2_IKSolve(CGhoul2Info_v &ghoul2V,int g2Index,float decay,int frameN
Create_Matrix(bone.currentAngles, &temp1); Create_Matrix(bone.currentAngles, &temp1);
Multiply_3x4Matrix(&temp2, &temp1, bone.baseposeInv); Multiply_3x4Matrix(&temp2, &temp1, bone.baseposeInv);
Multiply_3x4Matrix(&bone.ragOverrideMatrix, bone.basepose, &temp2); Multiply_3x4Matrix(&bone.ragOverrideMatrix, bone.basepose, &temp2);
assert( !_isnan(bone.ragOverrideMatrix.matrix[2][3])); assert( !Q_isnan(bone.ragOverrideMatrix.matrix[2][3]));
G2_Generate_MatrixRag(blist, ragBlistIndex[bone.boneNumber]); G2_Generate_MatrixRag(blist, ragBlistIndex[bone.boneNumber]);
} }

View file

@ -1142,7 +1142,7 @@ static bool G2_TracePolys(const mdxmSurface_t *surface, const mdxmSurfHierarchy_
VectorSubtract(hitPoint, TS.rayStart, distVect); VectorSubtract(hitPoint, TS.rayStart, distVect);
newCol.mDistance = VectorLength(distVect); newCol.mDistance = VectorLength(distVect);
assert( !_isnan(newCol.mDistance) ); assert( !Q_isnan(newCol.mDistance) );
// put the hit point back into world space // put the hit point back into world space
TransformAndTranslatePoint(hitPoint, newCol.mCollisionPosition, &worldMatrix); TransformAndTranslatePoint(hitPoint, newCol.mCollisionPosition, &worldMatrix);
@ -1424,7 +1424,7 @@ static bool G2_RadiusTracePolys(
VectorSubtract(hitPoint, TS.rayStart, distVect); VectorSubtract(hitPoint, TS.rayStart, distVect);
newCol.mDistance = VectorLength(distVect); newCol.mDistance = VectorLength(distVect);
assert( !_isnan(newCol.mDistance) ); assert( !Q_isnan(newCol.mDistance) );
// put the hit point back into world space // put the hit point back into world space
TransformAndTranslatePoint(hitPoint, newCol.mCollisionPosition, &worldMatrix); TransformAndTranslatePoint(hitPoint, newCol.mCollisionPosition, &worldMatrix);

View file

@ -834,7 +834,7 @@ void SV_Trace( trace_t *results, const vec3_t start, const vec3_t mins, const ve
Ghoul2 Insert End Ghoul2 Insert End
*/ */
#ifdef _DEBUG #ifdef _DEBUG
assert( !_isnan(start[0])&&!_isnan(start[1])&&!_isnan(start[2])&&!_isnan(end[0])&&!_isnan(end[1])&&!_isnan(end[2])); assert( !Q_isnan(start[0])&&!Q_isnan(start[1])&&!Q_isnan(start[2])&&!Q_isnan(end[0])&&!Q_isnan(end[1])&&!Q_isnan(end[2]));
#endif// _DEBUG #endif// _DEBUG
#if SV_TRACE_PROFILE #if SV_TRACE_PROFILE