Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. bool Visible( CPlayer* target_player, D3DXVECTOR3* LocalPlayerPosition, int BoneID )
  2. {
  3.     if( (!target_player)||
  4.         (!target_player->Soldier)||
  5.         (!target_player->Soldier->ptr)||
  6.         (!target_player->Info->ObjectInfo->object_matrix)||
  7.         (!target_player->Soldier->ptr->object_root)||
  8.         (!g_pObjectManager))
  9.         return FALSE;
  10.    
  11.     D3DXVECTOR3 TargetPosition;
  12.     if(!GetBonePos(&TargetPosition, target_player, BoneID ) )
  13.         GetOrigin(&TargetPosition, &target_player->Soldier->ptr->object_matrix);
  14.    
  15.     if(TargetPosition == NULL)
  16.         return FALSE;
  17.    
  18.     D3DXVECTOR3 VectorToTarget;
  19.     D3DXVec3Subtract( &VectorToTarget, &TargetPosition, LocalPlayerPosition );
  20.     if(VectorToTarget == NULL)
  21.         return FALSE;
  22.    
  23.     CObject* player_object = g_pPlayerManager->GetLocalPlayer()->Soldier->ptr->object_root;
  24.     if(player_object == NULL)
  25.         return FALSE;
  26.    
  27.     CRayTest raytest( player_object );
  28.  
  29.     D3DXVECTOR3 inter_point, inter_angle;
  30.    
  31.     int material = 0;
  32.    
  33.     CObject* pObject = 0;
  34.    
  35.     g_pObjectManager->Intersect( &pObject, &inter_point, &inter_angle, &material, LocalPlayerPosition, &VectorToTarget, &raytest, TRUE, FALSE, TRUE, FALSE, FALSE );
  36.  
  37.     return (  
  38.         target_player->Soldier->ptr == pObject
  39.         || target_player->Info->ObjectInfo == pObject
  40.         || g_pPlayerManager->GetLocalPlayer()->Soldier->ptr == pObject
  41.         || g_pPlayerManager->GetLocalPlayer()->Info->ObjectInfo == pObject
  42.         );
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement