mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 10:16:45 -04:00
2969833b2d
- `speech` - `ambient` - `water-h` - `vol-h` - `generic-obs` - `carry-h` - `pilot-h` - `board-h` - `gun-h` - `flut-h` - `indax-h` - `lightjak-h` - `darkjak-h` - `target-util` - `history` - `collide-reaction-target` - `logic-target` - `sidekick` - `projectile` - `voicebox` - `ragdoll-edit` - most of `ragdoll` (not added to gsrc yet) - `curves` - `find-nearest` - `lightjak-wings` - `target-handler` - `target-anim` - `target` - `target2` - `target-swim` - `target-lightjak` - `target-invisible` - `target-death` - `target-gun` - `gun-util` - `board-util` - `target-board` - `board-states` - `mech-h` - `vol` - `vent` - `viewer` - `gem-pool` - `collectables` - `crates` - `secrets-menu` Additionally: - Detection of non-virtual state inheritance - Added a config file that allows overriding the process stack size set by `stack-size-set!` calls - Fix for integer multiplication with `r0` - Fixed detection for the following macros: - `static-attack-info` - `defpart` and `defpartgroup` (probably still needs adjustments, uses Jak 2 implementation at the moment) - `sound-play` (Jak 3 seems to always call `sound-play-by-name` with a `sound-group` of 0, so the macro has been temporarily defaulted to use that) One somewhat significant change made here that should be noted is that the return type of `process::init-from-entity!` was changed to `object`. I've been thinking about this for a while, since it looks a bit nicer without the `(none)` at the end and I have recently encountered init methods that early return `0`.
167 lines
5.4 KiB
Common Lisp
Vendored
Generated
167 lines
5.4 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type speech-type-info
|
|
(deftype speech-type-info (structure)
|
|
((channel uint8)
|
|
(flags speech-type-flag)
|
|
(priority int8)
|
|
(delay-pre-time uint16)
|
|
(request-timeout uint16)
|
|
(min-delay uint16)
|
|
(max-delay uint16)
|
|
(delay uint16)
|
|
(play-index int16)
|
|
(list (array string))
|
|
(time uint64)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type speech-type-info
|
|
(defmethod inspect ((this speech-type-info))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-12)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'speech-type-info)
|
|
(format #t "~1Tchannel: ~D~%" (-> this channel))
|
|
(format #t "~1Tflags: #x~X : (speech-type-flag " (-> this flags))
|
|
(let ((s5-0 (-> this flags)))
|
|
(if (= (logand s5-0 (speech-type-flag linked-next)) (speech-type-flag linked-next))
|
|
(format #t "linked-next ")
|
|
)
|
|
(if (= (logand s5-0 (speech-type-flag first-time)) (speech-type-flag first-time))
|
|
(format #t "first-time ")
|
|
)
|
|
(if (= (logand s5-0 (speech-type-flag random-order)) (speech-type-flag random-order))
|
|
(format #t "random-order ")
|
|
)
|
|
(if (= (logand s5-0 (speech-type-flag skip-first-time)) (speech-type-flag skip-first-time))
|
|
(format #t "skip-first-time ")
|
|
)
|
|
)
|
|
(format #t ")~%")
|
|
(format #t "~1Tpriority: ~D~%" (-> this priority))
|
|
(format #t "~1Tdelay-pre-time: ~D~%" (-> this delay-pre-time))
|
|
(format #t "~1Trequest-timeout: ~D~%" (-> this request-timeout))
|
|
(format #t "~1Tmin-delay: ~D~%" (-> this min-delay))
|
|
(format #t "~1Tmax-delay: ~D~%" (-> this max-delay))
|
|
(format #t "~1Tdelay: ~D~%" (-> this delay))
|
|
(format #t "~1Tplay-index: ~D~%" (-> this play-index))
|
|
(format #t "~1Tlist: ~A~%" (-> this list))
|
|
(format #t "~1Ttime: ~D~%" (-> this time))
|
|
(label cfg-12)
|
|
this
|
|
)
|
|
|
|
;; definition of type speech-request
|
|
(deftype speech-request (structure)
|
|
((handle handle)
|
|
(time time-frame)
|
|
(priority float)
|
|
(speech-type speech-type)
|
|
)
|
|
:pack-me
|
|
)
|
|
|
|
;; definition for method 3 of type speech-request
|
|
(defmethod inspect ((this speech-request))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'speech-request)
|
|
(format #t "~1Thandle: ~D~%" (-> this handle))
|
|
(format #t "~1Ttime: ~D~%" (-> this time))
|
|
(format #t "~1Tpriority: ~f~%" (-> this priority))
|
|
(format #t "~1Tspeech-type: ~D~%" (-> this speech-type))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; definition of type speech-channel
|
|
(deftype speech-channel (structure)
|
|
((flags speech-channel-flag)
|
|
(gui-channel gui-channel)
|
|
(delay uint16)
|
|
(id sound-id)
|
|
(update-time time-frame)
|
|
(start-time time-frame)
|
|
(end-time time-frame)
|
|
(request speech-request :inline)
|
|
(last-request speech-request :inline)
|
|
(target-pos vector :inline)
|
|
(speech-table (pointer speech-type-info))
|
|
)
|
|
(:methods
|
|
(speech-channel-method-9 (_type_ process-drawable speech-type) int)
|
|
(speech-channel-method-10 (_type_ handle) none)
|
|
(speech-channel-method-11 (_type_) none)
|
|
(reset-channel! (_type_) none)
|
|
(init! (_type_) none)
|
|
(speech-channel-method-14 (_type_ speech-type float) none)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type speech-channel
|
|
(defmethod inspect ((this speech-channel))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-6)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'speech-channel)
|
|
(format #t "~1Tflags: #x~X : (speech-channel-flag " (-> this flags))
|
|
(let ((a0-3 (-> this flags)))
|
|
(if (= (logand a0-3 (speech-channel-flag disable)) (speech-channel-flag disable))
|
|
(format #t "disable ")
|
|
)
|
|
)
|
|
(format #t ")~%")
|
|
(format #t "~1Tgui-channel: ~D~%" (-> this gui-channel))
|
|
(format #t "~1Tdelay: ~D~%" (-> this delay))
|
|
(format #t "~1Tid: ~D~%" (-> this id))
|
|
(format #t "~1Tupdate-time: ~D~%" (-> this update-time))
|
|
(format #t "~1Tstart-time: ~D~%" (-> this start-time))
|
|
(format #t "~1Tend-time: ~D~%" (-> this end-time))
|
|
(format #t "~1Trequest: #<speech-request @ #x~X>~%" (-> this request))
|
|
(format #t "~1Tlast-request: #<speech-request @ #x~X>~%" (-> this last-request))
|
|
(format #t "~1Ttarget-pos: #<vector @ #x~X>~%" (-> this target-pos))
|
|
(format #t "~1Tspeech-table: #x~X~%" (-> this speech-table))
|
|
(label cfg-6)
|
|
this
|
|
)
|
|
|
|
;; definition of type speech-control
|
|
(deftype speech-control (structure)
|
|
((channel-array speech-channel 2 :inline)
|
|
(speech-table speech-type-info 61)
|
|
)
|
|
(:methods
|
|
(speech-table-reset! (_type_) none)
|
|
(speech-table-set! (_type_ speech-type speech-type-info) none)
|
|
(speech-control-method-11 (_type_) none)
|
|
(speech-control-method-12 (_type_ process-drawable speech-type) none)
|
|
(speech-control-method-13 (_type_ process-drawable speech-type int) none)
|
|
(speech-control-method-14 (_type_ handle) none)
|
|
(speech-control-method-15 (_type_) none)
|
|
(speech-control-method-16 (_type_) none)
|
|
(speech-control-method-17 (_type_ speech-type float) none)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type speech-control
|
|
(defmethod inspect ((this speech-control))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-4)
|
|
)
|
|
(format #t "[~8x] ~A~%" this 'speech-control)
|
|
(format #t "~1Tchannel-array[2] @ #x~X~%" (-> this channel-array))
|
|
(format #t "~1Tspeech-table[61] @ #x~X~%" (-> this speech-table))
|
|
(label cfg-4)
|
|
this
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
0
|