Skip to content
Snippets Groups Projects
Commit ca3b92cb authored by Jussi Kivilinna's avatar Jussi Kivilinna
Browse files

Avoid usage of edict->v.mins and ->v.maxs for SOLID_BSP entities

parent b5a4a181
No related branches found
No related tags found
No related merge requests found
......@@ -203,6 +203,10 @@ bot_t *UTIL_GetBotPointer(const edict_t *pEdict)
Vector UTIL_AdjustOriginWithExtent(bot_t &pBot, const Vector & v_target_origin, edict_t *pTarget)
{
// mins/maxs are absolute values for SOLID_BSP
if (pTarget->v.solid == SOLID_BSP)
return v_target_origin;
// get smallest extent of bots mins/maxs
float smallest_extent = -pTarget->v.mins[0];
if(-pTarget->v.mins[1] < smallest_extent)
......@@ -801,6 +805,7 @@ qboolean FVisibleEnemy( const Vector &vecOrigin, edict_t *pEdict, edict_t *pEnem
if(!pEnemy)
return(FVisibleEnemyOffset( vecOrigin, Vector(0, 0, 0), pEdict, pEnemy ));
if (pEnemy->v.solid != SOLID_BSP) {
// first check for if head is visible
Vector head_offset = Vector(0, 0, pEnemy->v.maxs.z - 6);
if(FVisibleEnemyOffset( vecOrigin, head_offset, pEdict, pEnemy ))
......@@ -810,10 +815,12 @@ qboolean FVisibleEnemy( const Vector &vecOrigin, edict_t *pEdict, edict_t *pEnem
Vector feet_offset = Vector(0, 0, pEnemy->v.mins.z - 6);
if(FVisibleEnemyOffset( vecOrigin, feet_offset, pEdict, pEnemy ))
return(TRUE);
}
// check center
return(FVisibleEnemyOffset( vecOrigin, Vector(0, 0, 0), pEdict, pEnemy ));
if (pEnemy->v.solid != SOLID_BSP) {
// construct sideways vector
Vector v_right = UTIL_AnglesToRight(UTIL_VecToAngles(vecOrigin - GetGunPosition(pEdict)));
......@@ -826,6 +833,7 @@ qboolean FVisibleEnemy( const Vector &vecOrigin, edict_t *pEdict, edict_t *pEnem
Vector left_offset = v_right * (pEnemy->v.mins.x - 4);
if(FVisibleEnemyOffset( vecOrigin, left_offset, pEdict, pEnemy ))
return(TRUE);
}
return(FALSE);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment