rendered paste bodyNT NearestCHTarget( ){ FLOAT CHDist = 0; FLOAT lastCHDist = 9999; FLOAT AngleX, AngleY; INT iBestTargetCH = -1; vec3_t aimSpot; for ( INT i = 0; i < 64; i++ ) { if( cg_entities[i].currentValid && cg_entities[i].currentState.clientNum != cg->clientNum ) { if( clientInfo[ cg_entities[i].currentState.clientNum ].team != clientInfo[ cg->clientNum ].team || clientInfo[ cg_entities[i].currentState.clientNum ].team == TEAM_DEATHMATCH ) { INT hModel = trap_GetEntityModelHandle( i ); if ( !hModel ) return NULL; GetTag( &cg_entities[i], &tag, hModel, "Bip01 Head" ); VectorCopy( tag.origin, aimSpot ); if( IsVisible( aimSpot ) ) { INT hModel = trap_GetEntityModelHandle( i ); if ( !hModel ) return NULL; GetTag( &cg_entities[i], &tag, hModel, "Bip01 Head" ); VectorCopy( tag.origin, aimSpot ); GetAngleToOrigin( aimSpot, AngleX, AngleY ); CHDist = sqrt( AngleX*AngleX + AngleY*AngleY ); if ( (CHDist < lastCHDist) ) { lastCHDist = CHDist; iBestTargetCH = i; } } } } } return iBestTargetCH;}VOID DoAim( INT i ){ FLOAT AngleX, AngleY; vec3_t aimSpot; if( i < 0 ) { return; } INT hModel = trap_GetEntityModelHandle( i ); if ( !hModel ) return; GetTag( &cg_entities[i], &tag, hModel, "Bip01 Head" ); VectorCopy( tag.origin, aimSpot ); GetAngleToOrigin( aimSpot, AngleX, AngleY ); *ViewAngleX += AngleX; *ViewAngleY += AngleY;}