;;-*-Lisp-*- (in-package goal) ;; definition of type collide-query (deftype collide-query (structure) "Very general collision-query structure. The meaning is different depending on where it used. This has both inputs from the user, and collision results." ((best-other-tri collide-tri-result :inline) (best-my-tri collide-tri-result :inline :overlay-at best-other-tri) (ignore-processes process-tree 2) (ignore-process0 process-tree :overlay-at (-> ignore-processes 0)) (ignore-process1 process-tree :overlay-at (-> ignore-processes 1)) (ignore-pat pat-surface) (ignore-pat-s32 int32 :overlay-at ignore-pat) (collide-with collide-spec) (collide-with-s32 int32 :overlay-at collide-with) (overlay-params uint32 3 :offset 112) (bbox bounding-box :inline) (bbox4w bounding-box4w :inline) (bsphere sphere :inline) (start-pos vector :inline) (move-dist vector :inline) (rlength vector :inline) (exit-planes plane 2 :inline) (radius float :overlay-at (-> exit-planes 0 data 3)) (inv-mat matrix :inline :offset 288) (spheres (inline-array sphere) :overlay-at (-> overlay-params 0)) (num-spheres uint32 :overlay-at (-> overlay-params 1)) (solid-only symbol :overlay-at (-> overlay-params 2)) (best-dist float :overlay-at spheres) (best-other-prim collide-shape-prim :overlay-at num-spheres) (best-my-prim collide-shape-prim :overlay-at solid-only) (move-vec vector :inline :overlay-at move-dist) (best-u float :overlay-at best-dist) (action-mask collide-action) (local-box4w bounding-box4w :inline) (search-box bounding-box4w :inline) (search-vector vector4w :inline) (instance-mat matrix :inline) (instance-ptr basic) (x-addr uint32) (x-step uint32) (y-addr uint32) (y-step uint32) (z-addr uint32) (z-step uint32) ) ) ;; definition for method 3 of type collide-query (defmethod inspect ((this collide-query)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-query) (format #t "~1Tbest-other-tri: #~%" (-> this best-other-tri)) (format #t "~1Tbest-my-tri: #~%" (-> this best-other-tri)) (format #t "~1Tignore-processes[2] @ #x~X~%" (-> this ignore-processes)) (format #t "~1Tignore-process0: ~A~%" (-> this ignore-process0)) (format #t "~1Tignore-process1: ~A~%" (-> this ignore-process1)) (format #t "~1Tignore-pat: ~D~%" (-> this ignore-pat)) (format #t "~1Tcollide-with: ~D~%" (-> this collide-with)) (format #t "~1Toverlay-params[3] @ #x~X~%" (&-> this best-dist)) (format #t "~1Tbbox: #~%" (-> this bbox)) (format #t "~1Tbbox4w: #~%" (-> this bbox4w)) (format #t "~1Tbsphere: #~%" (-> this bsphere)) (format #t "~1Tstart-pos: #~%" (-> this start-pos)) (format #t "~1Tmove-dist: #~%" (-> this move-dist)) (format #t "~1Trlength: #~%" (-> this rlength)) (format #t "~1Texit-planes[2] @ #x~X~%" (-> this exit-planes)) (format #t "~1Tradius: ~f~%" (-> this radius)) (format #t "~1Tinv-mat: #~%" (-> this inv-mat)) (format #t "~1Tspheres: #x~X~%" (-> this best-dist)) (format #t "~1Tnum-spheres: ~D~%" (-> this num-spheres)) (format #t "~1Tsolid-only: ~A~%" (-> this best-my-prim)) (format #t "~1Tbest-dist: ~f~%" (the-as float (-> this best-dist))) (format #t "~1Tbest-other-prim: ~A~%" (-> this num-spheres)) (format #t "~1Tbest-my-prim: ~A~%" (-> this best-my-prim)) (format #t "~1Tmove-vec: #~%" (-> this move-dist)) (format #t "~1Tbest-u: ~f~%" (the-as float (-> this best-dist))) (format #t "~1Taction-mask: ~D~%" (-> this action-mask)) (format #t "~1Tlocal-box4w: #~%" (-> this local-box4w)) (format #t "~1Tsearch-box: #~%" (-> this search-box)) (format #t "~1Tsearch-vector: #~%" (-> this search-vector)) (format #t "~1Tinstance-mat: #~%" (-> this instance-mat)) (format #t "~1Tinstance-ptr: ~A~%" (-> this instance-ptr)) (format #t "~1Tx-addr: ~D~%" (-> this x-addr)) (format #t "~1Tx-step: ~D~%" (-> this x-step)) (format #t "~1Ty-addr: ~D~%" (-> this y-addr)) (format #t "~1Ty-step: ~D~%" (-> this y-step)) (format #t "~1Tz-addr: ~D~%" (-> this z-addr)) (format #t "~1Tz-step: ~D~%" (-> this z-step)) (label cfg-4) this ) ;; definition for symbol *collide-test-flag*, type symbol (define *collide-test-flag* #f) ;; failed to figure out what this is: 0