Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool Visible( CPlayer* target_player, D3DXVECTOR3* LocalPlayerPosition, int BoneID )
- {
- if( (!target_player)||
- (!target_player->Soldier)||
- (!target_player->Soldier->ptr)||
- (!target_player->Info->ObjectInfo->object_matrix)||
- (!target_player->Soldier->ptr->object_root)||
- (!g_pObjectManager))
- return FALSE;
- D3DXVECTOR3 TargetPosition;
- if(!GetBonePos(&TargetPosition, target_player, BoneID ) )
- GetOrigin(&TargetPosition, &target_player->Soldier->ptr->object_matrix);
- if(TargetPosition == NULL)
- return FALSE;
- D3DXVECTOR3 VectorToTarget;
- D3DXVec3Subtract( &VectorToTarget, &TargetPosition, LocalPlayerPosition );
- if(VectorToTarget == NULL)
- return FALSE;
- CObject* player_object = g_pPlayerManager->GetLocalPlayer()->Soldier->ptr->object_root;
- if(player_object == NULL)
- return FALSE;
- CRayTest raytest( player_object );
- D3DXVECTOR3 inter_point, inter_angle;
- int material = 0;
- CObject* pObject = 0;
- g_pObjectManager->Intersect( &pObject, &inter_point, &inter_angle, &material, LocalPlayerPosition, &VectorToTarget, &raytest, TRUE, FALSE, TRUE, FALSE, FALSE );
- return (
- target_player->Soldier->ptr == pObject
- || target_player->Info->ObjectInfo == pObject
- || g_pPlayerManager->GetLocalPlayer()->Soldier->ptr == pObject
- || g_pPlayerManager->GetLocalPlayer()->Info->ObjectInfo == pObject
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement