;;-*-Lisp-*-
(in-package goal)
(bundles "ENGINE.CGO" "GAME.CGO")
(require "kernel-defs.gc")

;; DECOMP BEGINS

;; Trajectory represents a ballistic trajectory.
;; First, call one of the setup methods to setup the trajectory object.
;; Then, use eval-position or eval-velocity to get the position or velocity of the
;; object along the trajectory.
(deftype trajectory (structure)
  ((initial-position vector :inline)
   (initial-velocity vector :inline)
   (time             float)
   (gravity          meters))
  (:methods
   (eval-position! (_type_ float vector) vector)
   (eval-velocity! (_type_ float vector) vector)
   (setup-from-to-duration! (_type_ vector vector float float) none)
   (setup-from-to-xz-vel! (_type_ vector vector float float) none)
   (setup-from-to-y-vel! (_type_ vector vector float float) none)
   (setup-from-to-height! (_type_ vector vector float float) none)
   (debug-draw! (_type_) none)))
