Ñò
žU9Nc           @   s1   d  d k  Z  d  d k Z d „  Z e d „ Z d S(   iÿÿÿÿNc         C   s©  g  } |  | i  | ƒ | i  | | d ƒ } | |  | f g } xbt | ƒ d j oNt | ƒ d } | | \ }	 }
 } | | =| |
 } t i | i d | i ƒ } | | } t | i ƒ | j  o | i | ƒ qC n | i	 ƒ  | i
 |	 ƒ | i | i } |	 i  | ƒ | i  | | d ƒ } t | i
 | ƒ ƒ } | | j oK |	 | i  | ƒ } | i | |
 | | f ƒ | i |	 |
 |
 | f ƒ qC | i | ƒ qC W| S(   Ng      à?i    i   g        (   t   scalet   lent   Matht   Vector3t   zt   xt   abst   yt   appendt	   normaliset   dot(   t
   beginPointt   velocityt   gravityt   timet   epsilont   checkPointst   endPointt   stackt   lastIdxt   v1t   p1t   p2t   deltat   xzNormalt   normalt   extremeTimet   extremePointt   distt   extremeVelocity(    (    s'   scripts/common/projectile_trajectory.pyt   computeProjectileTrajectory   s0    ( 


$c   	   
   C   sp   |  i  d d |  i d } |  i d } |  i d } |  i d } t i | | | | | | d | d | | ƒ	 S(   Nt   turretPositionsi    t   hullPositiont   gunPositiont   speedR   i   (   t   hullt   chassist   turrett   shott   BigWorldt   wg_getShotAngles(	   t   vehTypeDescrt	   vehMatrixt   curShotAnglest   pointt   adjustt
   turretOffst   gunOffsR"   R   (    (    s'   scripts/common/projectile_trajectory.pyt   getShotAnglesC   s    	(   R'   R   R   t   TrueR0   (    (    (    s'   scripts/common/projectile_trajectory.pyt   <module>   s   	6