;;-*-Lisp-*- (in-package goal) ;; name: transformq-h.gc ;; name in dgo: transformq-h ;; dgos: GAME, ENGINE ;; transforms, but using quaternions to represent rotations. (deftype transformq (transform) ;; this overlays the rot field of transform. ((quat quaternion :inline :offset 16) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) (deftype trsq (trs) ;; this overlays the rot field of trs. ((quat quaternion :inline :offset 32) ) :method-count-assert 9 :size-assert #x40 :flag-assert #x900000040 ) ;; Representing a translate/rotate/scale with a quaternion and a velocity. (deftype trsqv (trsq) ((pause-adjust-distance float :offset 4) ;; todo meters (nav-radius float :offset 8) ;; todo meters (transv vector :inline :offset-assert 64) (rotv vector :inline :offset-assert 80) (scalev vector :inline :offset-assert 96) (dir-targ quaternion :inline :offset-assert 112) (angle-change-time uint64 :offset-assert 128) (old-y-angle-diff float :offset-assert 136) ) :method-count-assert 28 :size-assert #x8c :flag-assert #x1c0000008c (:methods (dummy-9 () none 9) (dummy-10 () none 10) (dummy-11 () none 11) (dummy-12 () none 12) (dummy-13 () none 13) (dummy-14 () none 14) (dummy-15 () none 15) (dummy-16 () none 16) (dummy-17 () none 17) (dummy-18 () none 18) (dummy-19 () none 19) (dummy-20 () none 20) (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) ) ) ;; todo trsqv methods 23 and 24