;;-*-Lisp-*- (in-package goal) ;; definition of type wind-vector (deftype wind-vector (structure) ((wind-pos vector2w :inline :offset-assert 0) (wind-vel vector2w :inline :offset-assert 8) ) :method-count-assert 9 :size-assert #x10 :flag-assert #x900000010 ) ;; definition for method 3 of type wind-vector (defmethod inspect wind-vector ((obj wind-vector)) (format #t "[~8x] ~A~%" obj 'wind-vector) (format #t "~Twind-pos: #~%" (-> obj wind-pos)) (format #t "~Twind-vel: #~%" (-> obj wind-vel)) obj ) ;; definition for symbol *wind-scales*, type (array uint8) (define *wind-scales* (the-as (array uint8) (new 'static 'boxed-array :type uint8 :length 32 :allocated-length 32 #x2 #x5 #x2 #x3 #x2 #x2 #x3 #x10 #xa #x2 #x4 #x2 #x8 #x2 #x2 #x10 #x2 #x2 #x8 #x2 #x10 #x2 #x4 #x10 #xa #x2 #x4 #x2 #x8 #x2 #x2 #x10 ) ) ) ;; definition of type wind-work (deftype wind-work (basic) ((wind-array vector 64 :inline :offset-assert 16) (wind-normal vector :inline :offset-assert 1040) (wind-temp vector :inline :offset-assert 1056) (wind-force float 64 :offset-assert 1072) (wind-time uint32 :offset-assert 1328) ) :method-count-assert 9 :size-assert #x534 :flag-assert #x900000534 ) ;; definition for method 3 of type wind-work (defmethod inspect wind-work ((obj wind-work)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Twind-array[64] @ #x~X~%" (-> obj wind-array)) (format #t "~Twind-normal: ~`vector`P~%" (-> obj wind-normal)) (format #t "~Twind-temp: ~`vector`P~%" (-> obj wind-temp)) (format #t "~Twind-force[64] @ #x~X~%" (-> obj wind-force)) (format #t "~Twind-time: ~D~%" (-> obj wind-time)) obj ) ;; definition for function wind-get-hashed-index (defun wind-get-hashed-index ((arg0 vector)) (logand (+ (the int (-> arg0 x)) (the int (-> arg0 z)) (-> *wind-work* wind-time)) 63) )