2020-10-26 21:08:24 -04:00
|
|
|
;;-*-Lisp-*-
|
2020-09-04 14:44:23 -04:00
|
|
|
(in-package goal)
|
|
|
|
|
|
|
|
;; name: wind-h.gc
|
|
|
|
;; name in dgo: wind-h
|
|
|
|
;; dgos: GAME, ENGINE
|
|
|
|
|
2021-02-27 14:40:18 -05:00
|
|
|
(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
|
|
|
|
)
|
|
|
|
|
|
|
|
(define *wind-scales* (new 'static 'boxed-array uint8 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
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
(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
|
|
|
|
)
|
|
|
|
|
|
|
|
(define-extern *wind-work* wind-work)
|
|
|
|
|
|
|
|
(defun wind-get-hashed-index ((arg0 vector))
|
|
|
|
(logand (+ (the int (-> arg0 data 0))
|
|
|
|
(the int (-> arg0 data 2))
|
|
|
|
(the-as int (-> *wind-work* wind-time))
|
|
|
|
)
|
2021-05-06 19:00:30 -04:00
|
|
|
#x3f
|
2021-02-27 14:40:18 -05:00
|
|
|
)
|
|
|
|
)
|