keybode

frostbite IsVisible

Jun 9th, 2014
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. bool IsVisible ( fb::Vec3* src, fb::Vec3* end )
  2. {
  3.     fb::ClientGameContext* GameContext = fb::ClientGameContext::Singleton ();
  4.  
  5.     if ( !POINTERCHK(GameContext) || !src || !end )
  6.         return false;
  7.  
  8.     if ( !POINTERCHK(GameContext->m_level) )
  9.         return false;
  10.  
  11.     fb::HavokPhysicsManager* HavokManager = GameContext->m_level->m_PhysicsManager;
  12.  
  13.     if ( !POINTERCHK(HavokManager) )
  14.         return false;
  15.  
  16.     fb::IPhysicsRayCaster* RayCaster = HavokManager->m_rayCaster;
  17.  
  18.     if ( !POINTERCHK(RayCaster) )
  19.         return false;
  20.  
  21.     fb::RayCastHit ray;
  22.  
  23.     __declspec ( align ( 16 ) ) fb::Vec3 from = *src;
  24.     __declspec ( align ( 16 ) ) fb::Vec3 to = *end;
  25.  
  26.     bool ret = !RayCaster->physicsRayQuery ( "OnGroundState::update", &from, &to, &ray, fb::DontCheckWater | fb::DontCheckRagdoll | fb::DontCheckCharacter | fb::DontCheckPhantoms, 0 );
  27.  
  28.     return ret;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment