;;-*-Lisp-*- (in-package goal) ;; definition of type collide-puss-sphere (deftype collide-puss-sphere (structure) ((bsphere sphere :inline) (bbox4w bounding-box4w :inline) ) ) ;; definition for method 3 of type collide-puss-sphere (defmethod inspect ((this collide-puss-sphere)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-puss-sphere) (format #t "~1Tbsphere: #~%" (-> this bsphere)) (format #t "~1Tbbox4w: #~%" (-> this bbox4w)) (label cfg-4) this ) ;; definition of type collide-puss-work (deftype collide-puss-work (structure) ((closest-pt vector :inline) (tri-normal vector :inline) (tri-bbox4w bounding-box4w :inline) (spheres-bbox4w bounding-box4w :inline) (spheres collide-puss-sphere 64 :inline) ) (:methods (collide-puss-work-method-9 () none) (collide-puss-work-method-10 () none) ) ) ;; definition for method 3 of type collide-puss-work (defmethod inspect ((this collide-puss-work)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-puss-work) (format #t "~1Tclosest-pt: #~%" (-> this closest-pt)) (format #t "~1Ttri-normal: #~%" (-> this tri-normal)) (format #t "~1Ttri-bbox4w: #~%" (-> this tri-bbox4w)) (format #t "~1Tspheres-bbox4w: #~%" (-> this spheres-bbox4w)) (format #t "~1Tspheres[64] @ #x~X~%" (-> this spheres)) (label cfg-4) this ) ;; definition of type collide-cache-tri (deftype collide-cache-tri (structure) ((vertex vector 3 :inline) (extra-quad uint8 16) (pat pat-surface :overlay-at (-> extra-quad 0)) (collide-ptr basic :overlay-at (-> extra-quad 4)) (prim-index uint16 :overlay-at (-> extra-quad 8)) (user16 uint16 :overlay-at (-> extra-quad 10)) (user32 uint32 :overlay-at (-> extra-quad 12)) (clear-flags uint128 :overlay-at (-> extra-quad 0)) ) ) ;; definition for method 3 of type collide-cache-tri (defmethod inspect ((this collide-cache-tri)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-cache-tri) (format #t "~1Tvertex[3] @ #x~X~%" (-> this vertex)) (format #t "~1Textra-quad[16] @ #x~X~%" (-> this extra-quad)) (format #t "~1Tpat: ~D~%" (-> this pat)) (format #t "~1Tcollide-ptr: ~A~%" (-> this collide-ptr)) (format #t "~1Tprim-index: ~D~%" (-> this prim-index)) (format #t "~1Tuser16: ~D~%" (-> this user16)) (format #t "~1Tuser32: ~D~%" (-> this user32)) (label cfg-4) this ) ;; definition of type collide-cache-prim (deftype collide-cache-prim (structure) ((prim-core collide-prim-core :inline) (extra-quad uint8 16) (ccache collide-cache :overlay-at (-> extra-quad 0)) (prim collide-shape-prim :overlay-at (-> extra-quad 4)) (first-tri uint16 :overlay-at (-> extra-quad 8)) (num-tris uint16 :overlay-at (-> extra-quad 10)) (unused uint8 4 :overlay-at (-> extra-quad 12)) (world-sphere vector :inline :overlay-at (-> prim-core world-sphere)) (collide-as collide-spec :overlay-at (-> prim-core collide-as)) (action collide-action :overlay-at (-> prim-core action)) (prim-type prim-type :overlay-at (-> prim-core prim-type)) ) (:methods (resolve-moving-sphere-tri (_type_ collide-tri-result collide-prim-core vector float collide-action) float) (resolve-moving-sphere-sphere (_type_ collide-tri-result collide-prim-core vector float collide-action) float) ) ) ;; definition for method 3 of type collide-cache-prim (defmethod inspect ((this collide-cache-prim)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-cache-prim) (format #t "~1Tprim-core: #~%" (-> this prim-core)) (format #t "~1Textra-quad[16] @ #x~X~%" (-> this extra-quad)) (format #t "~1Tccache: ~A~%" (-> this ccache)) (format #t "~1Tprim: ~A~%" (-> this prim)) (format #t "~1Tfirst-tri: ~D~%" (-> this first-tri)) (format #t "~1Tnum-tris: ~D~%" (-> this num-tris)) (format #t "~1Tunused[4] @ #x~X~%" (-> this unused)) (format #t "~1Tworld-sphere: ~`vector`P~%" (-> this prim-core)) (format #t "~1Tcollide-as: ~D~%" (-> this prim-core collide-as)) (format #t "~1Taction: ~D~%" (-> this prim-core action)) (format #t "~1Tprim-type: ~D~%" (-> this prim-core prim-type)) (label cfg-4) this ) ;; definition of type collide-cache (deftype collide-cache (basic) ((num-tris int32) (num-tris-u32 uint32 :overlay-at num-tris) (num-prims int32) (num-prims-u32 uint32 :overlay-at num-prims) (ignore-mask pat-surface) (ignore-processes process 2) (collide-box bounding-box :inline) (collide-box4w bounding-box4w :inline) (collide-with collide-spec) (unused uint32) (prims collide-cache-prim 100 :inline) (tris collide-cache-tri 461 :inline) ) (:methods (debug-draw (_type_) none) (fill-and-probe-using-line-sphere (_type_ collide-query) float) (fill-and-probe-using-spheres (_type_ collide-query) symbol) (fill-using-bounding-box (_type_ collide-query) none) (fill-using-line-sphere (_type_ collide-query) none) (fill-using-spheres (_type_ collide-query) none) (reset (_type_) none) (probe-using-line-sphere (_type_ collide-query) float) (probe-using-spheres (_type_ collide-query) symbol) (fill-from-bg (_type_ (function collide-hash int collide-list collide-query int) (function collide-cache collide-list collide-query none) collide-query) none) (fill-from-fg-boxes (_type_) none) (fill-from-fg-line-sphere (_type_ collide-query) none) (fill-from-water (_type_ water-control) none) (collide-cache-method-22 () none) (collide-cache-method-23 () none) (collide-cache-method-24 () none) (collide-cache-method-25 () none) ) ) ;; definition for method 3 of type collide-cache (defmethod inspect ((this collide-cache)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this (-> this type)) (format #t "~1Tnum-tris: ~D~%" (-> this num-tris)) (format #t "~1Tnum-prims: ~D~%" (-> this num-prims)) (format #t "~1Tignore-mask: ~D~%" (-> this ignore-mask)) (format #t "~1Tignore-processes[2] @ #x~X~%" (-> this ignore-processes)) (format #t "~1Tcollide-box: #~%" (-> this collide-box)) (format #t "~1Tcollide-box4w: #~%" (-> this collide-box4w)) (format #t "~1Tcollide-with: ~D~%" (-> this collide-with)) (format #t "~1Tunused: ~D~%" (-> this unused)) (format #t "~1Tprims[100] @ #x~X~%" (-> this prims)) (format #t "~1Ttris[461] @ #x~X~%" (-> this tris)) (label cfg-4) this ) ;; definition of type collide-list-item (deftype collide-list-item (structure) ((mesh instance-tie) (inst basic) ) :pack-me ) ;; definition for method 3 of type collide-list-item (defmethod inspect ((this collide-list-item)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-list-item) (format #t "~1Tmesh: ~A~%" (-> this mesh)) (format #t "~1Tinst: ~A~%" (-> this inst)) (label cfg-4) this ) ;; definition of type collide-list (deftype collide-list (structure) ((num-items int32) (items collide-list-item 256 :inline :offset 16) ) ) ;; definition for method 3 of type collide-list (defmethod inspect ((this collide-list)) (when (not this) (set! this this) (goto cfg-4) ) (format #t "[~8x] ~A~%" this 'collide-list) (format #t "~1Tnum-items: ~D~%" (-> this num-items)) (format #t "~1Titems[256] @ #x~X~%" (-> this items)) (label cfg-4) this ) ;; failed to figure out what this is: (kmemopen global "collide-cache") ;; definition (perm) for symbol *collide-cache*, type collide-cache (define-perm *collide-cache* collide-cache (new 'global 'collide-cache)) ;; definition (perm) for symbol *collide-list*, type collide-list (define-perm *collide-list* collide-list (new 'global 'collide-list)) ;; failed to figure out what this is: (kmemclose)