;;-*-Lisp-*- (in-package goal) ;; definition of type joint (deftype joint (basic) ((name string) (number int32) (parent joint) (bind-pose matrix :inline) ) ) ;; definition for method 3 of type joint (defmethod inspect ((this joint)) (format #t "[~8x] ~A~%" this (-> this type)) (format #t "~Tname: ~A~%" (-> this name)) (format #t "~Tnumber: ~D~%" (-> this number)) (format #t "~Tparent: ~A~%" (-> this parent)) (format #t "~Tbind-pose: #~%" (-> this bind-pose)) this ) ;; definition of type bone-cache (deftype bone-cache (structure) ((bone-matrix uint32) (parent-matrix uint32) (dummy uint32) (frame uint32) ) ) ;; definition for method 3 of type bone-cache (defmethod inspect ((this bone-cache)) (format #t "[~8x] ~A~%" this 'bone-cache) (format #t "~Tbone-matrix: ~D~%" (-> this bone-matrix)) (format #t "~Tparent-matrix: ~D~%" (-> this parent-matrix)) (format #t "~Tdummy: ~D~%" (-> this dummy)) (format #t "~Tframe: ~D~%" (-> this frame)) this ) ;; definition of type bone (deftype bone (structure) ((transform matrix :inline) (position vector :inline :overlay-at (-> transform vector 3)) (scale vector :inline) (cache bone-cache :inline) ) ) ;; definition for method 3 of type bone (defmethod inspect ((this bone)) (format #t "[~8x] ~A~%" this 'bone) (format #t "~Ttransform: #~%" (-> this transform)) (format #t "~Tposition: #~%" (-> this transform vector 3)) (format #t "~Tscale: #~%" (-> this scale)) (format #t "~Tcache: #~%" (-> this cache)) this ) ;; definition of type skeleton (deftype skeleton (inline-array-class) ((bones bone :inline :dynamic) ) ) ;; definition for method 3 of type skeleton (defmethod inspect ((this skeleton)) (format #t "[~8x] ~A~%" this (-> this type)) (format #t "~Tlength: ~D~%" (-> this length)) (format #t "~Tallocated-length: ~D~%" (-> this allocated-length)) (format #t "~Tdata[0] @ #x~X~%" (-> this bones)) this ) ;; failed to figure out what this is: (set! (-> skeleton heap-base) (the-as uint 96)) ;; definition of type cspace (deftype cspace (structure) ((parent cspace) (joint joint) (joint-num int16) (geo basic) (bone bone) (param0 function) (param1 basic) (param2 basic) ) (:methods (new (symbol type basic) _type_) (reset-and-assign-geo! (_type_ basic) _type_) ) ) ;; definition for method 3 of type cspace (defmethod inspect ((this cspace)) (format #t "[~8x] ~A~%" this 'cspace) (format #t "~Tparent: #~%" (-> this parent)) (format #t "~Tjoint: ~A~%" (-> this joint)) (format #t "~Tjoint-num: ~D~%" (-> this joint-num)) (format #t "~Tgeo: ~A~%" (-> this geo)) (format #t "~Tbone: #~%" (-> this bone)) (format #t "~Tparam0: ~A~%" (-> this param0)) (format #t "~Tparam1: ~A~%" (-> this param1)) (format #t "~Tparam2: ~A~%" (-> this param2)) this ) ;; definition of type cspace-array (deftype cspace-array (inline-array-class) ((data cspace :inline :dynamic) ) ) ;; definition for method 3 of type cspace-array (defmethod inspect ((this cspace-array)) (format #t "[~8x] ~A~%" this (-> this type)) (format #t "~Tlength: ~D~%" (-> this length)) (format #t "~Tallocated-length: ~D~%" (-> this allocated-length)) (format #t "~Tdata[0] @ #x~X~%" (-> this data)) this ) ;; failed to figure out what this is: (set! (-> cspace-array heap-base) (the-as uint 32)) ;; definition for method 2 of type cspace (defmethod print ((this cspace)) (format #t "#" (if (-> this joint) (-> this joint name) "nojoint" ) this ) this ) ;; failed to figure out what this is: 0