mirror of
https://github.com/open-goal/jak-project
synced 2026-06-05 19:28:31 -04:00
7ce58f709f
* some jp support to fix some errors in the original game * music fade toggle * recognize `process-new` macros!! * strip casts in this macro * rename macro * fix cast typecheck * update source 1 * detect kernel stack case * less boilerplate * `manipy-spawn` special case * pretty printer improvements * revert dumb thing from earlier * use shell detection on `send-event` * fix some events * remove unused argument * detect `static-attack-info` and add `CondNoElse` to shell detect * better `attack-info` detect * support `process-spawn` in multi-lets * detect `rand-float-gen` pt 1 * detect as return value * detect in `countdown` and `dotimes` * oops this wasnt working * fancier `send-event`s * clang * update source!! * fix tests * fine jeez * uh okay * fix some accidental regressions * fix more regressions * regression fixes * fix big bug... * extra safety!
88 lines
3.4 KiB
Common Lisp
Vendored
Generated
88 lines
3.4 KiB
Common Lisp
Vendored
Generated
;;-*-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: #<vector2w @ #x~X>~%" (-> obj wind-pos))
|
|
(format #t "~Twind-vel: #<vector2w @ #x~X>~%" (-> 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
|
|
#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)
|
|
)
|