;;-*-Lisp-*- (in-package goal) ;; name: collide-cache-h.gc ;; name in dgo: collide-cache-h ;; dgos: GAME, ENGINE (deftype collide-using-spheres-params (structure) ((spheres uint32 :offset-assert 0) (num-spheres uint32 :offset-assert 4) (collide-with uint64 :offset-assert 8) (proc basic :offset-assert 16) (ignore-pat uint32 :offset-assert 20) (solid-only basic :offset-assert 24) ) :method-count-assert 9 :size-assert #x1c :flag-assert #x90000001c ) (deftype collide-puss-sphere (structure) ((bsphere sphere :inline :offset-assert 0) (bbox4w bounding-box4w :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) (deftype collide-puss-work (structure) ((closest-pt vector :inline :offset-assert 0) (tri-normal vector :inline :offset-assert 16) (tri-bbox4w bounding-box4w :inline :offset-assert 32) (spheres-bbox4w bounding-box4w :inline :offset-assert 64) (spheres collide-puss-sphere 64 :inline :offset-assert 96) ) :method-count-assert 11 :size-assert #xc60 :flag-assert #xb00000c60 (:methods (dummy-9 () none 9) (dummy-10 () none 10) ) ) (deftype collide-puyp-work (structure) ((best-u float :offset-assert 0) (ignore-pat uint32 :offset-assert 4) (tri-out collide-tri-result :offset-assert 8) (start-pos vector :inline :offset-assert 16) (move-dist vector :inline :offset-assert 32) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) (deftype collide-cache-tri (structure) ((vertex vector 3 :inline :offset-assert 0) ;(extra-quad UNKNOWN 16 :offset-assert 48) (pat uint32 :offset-assert 48) (prim-index uint16 :offset-assert 52) (user16 uint16 :offset-assert 54) (user32 uint32 2 :offset-assert 56) ) :method-count-assert 9 :size-assert #x40 :flag-assert #x900000040 ) (deftype collide-cache-prim (structure) ((prim-core collide-prim-core :inline :offset-assert 0) ;;(extra-quad UNKNOWN 16 :offset-assert 32) (ccache basic :offset-assert 32) (prim basic :offset-assert 36) (first-tri uint16 :offset-assert 40) (num-tris uint16 :offset-assert 42) (unused uint8 4 :offset-assert 44) (world-sphere vector :inline :offset 0) (collide-as uint64 :offset 16) (action uint32 :offset 24) (offense int8 :offset 28) (prim-type int8 :offset 29) ) :method-count-assert 11 :size-assert #x30 :flag-assert #xb00000030 (:methods (dummy-9 () none 9) (dummy-10 () none 10) ) ) (deftype collide-cache (basic) ((num-tris int32 :offset-assert 4) (num-prims int32 :offset-assert 8) (ignore-mask uint32 :offset-assert 12) (proc basic :offset-assert 16) (collide-box bounding-box :inline :offset-assert 32) (collide-box4w bounding-box4w :inline :offset-assert 64) (collide-with uint64 :offset-assert 96) (prims collide-cache-prim 100 :inline :offset-assert 112) (tris collide-cache-tri 461 :inline :offset-assert 4912) ) :method-count-assert 33 :size-assert #x8670 :flag-assert #x2100008670 (:methods (dummy-9 () none 9) (dummy-10 () none 10) (dummy-11 () none 11) (dummy-12 (_type_ vector float uint process bone uint) float 12) ;; TODO - bone not confirmed (dummy-13 () none 13) (dummy-14 () none 14) (dummy-15 () none 15) (dummy-16 (_type_ vector float uint process uint) none 16) (dummy-17 () none 17) (dummy-18 () none 18) (dummy-19 () none 19) (dummy-20 (_type_ vector float uint bone uint) none 20) ;; TODO - bone not confirmed (dummy-21 () none 21) (dummy-22 () none 22) (dummy-23 () none 23) (dummy-24 () none 24) (dummy-25 () none 25) (dummy-26 () none 26) (dummy-27 () none 27) (dummy-28 () none 28) (dummy-29 () none 29) (dummy-30 () none 30) (dummy-31 () none 31) (dummy-32 () none 32) ) ) (deftype collide-list-item (structure) ((mesh basic :offset-assert 0) (inst basic :offset-assert 4) ) :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) (deftype collide-list (structure) ((num-items int32 :offset-assert 0) (items collide-list-item 256 :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x1010 :flag-assert #x900001010 ) (deftype collide-work (structure) ((collide-sphere-neg-r sphere :inline :offset-assert 0) (collide-box4w bounding-box4w :inline :offset-assert 16) (inv-mat matrix :inline :offset-assert 48) ) :method-count-assert 9 :size-assert #x70 :flag-assert #x900000070 ) (define-perm *collide-work* collide-work (new 'global 'collide-work)) (define-perm *collide-cache* collide-cache (new 'global 'collide-cache)) (define-perm *collide-list* collide-list (new 'global 'collide-list))