Files
Hat Kid 122de4ecf5 jak1: clean up control-info names and other misc cleanup (#4295)
After spending the last month staring at and comparing Jak 3 and Jak 1
versions of a bunch of `target` code for my jetboard mod, I figured this
would be a good opportunity to revive this ancient PR #1714 along with
some other small misc fixes/improvements.

Instead of directly replacing the old fields, I decided to opt for using
overlay fields to maintain backwards compatibility with existing manual
patches, files without ref tests and mods that might use these fields.
2026-05-31 15:08:41 +02:00

66 lines
2.1 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type effect-control
(deftype effect-control (basic)
((process process-drawable)
(flags effect-control-flag)
(last-frame-group art-joint-anim)
(last-frame-num float)
(channel-offset int32)
(res res-lump)
(name (pointer res-tag))
(param uint32)
)
(:methods
(new (symbol type process-drawable) _type_)
(effect-control-method-9 (_type_) none)
(effect-control-method-10 (_type_ symbol float int) object)
(effect-control-method-11 (_type_ symbol float int basic pat-surface) none)
(effect-control-method-12 (_type_ symbol float int basic sound-name) int)
(set-channel-offset! (_type_ int) none)
(effect-control-method-14 (_type_ float float float) none)
)
)
;; definition for method 3 of type effect-control
(defmethod inspect ((this effect-control))
(format #t "[~8x] ~A~%" this (-> this type))
(format #t "~Tprocess: ~A~%" (-> this process))
(format #t "~Tflags: #x~X~%" (-> this flags))
(format #t "~Tlast-frame-group: ~A~%" (-> this last-frame-group))
(format #t "~Tlast-frame-num: ~f~%" (-> this last-frame-num))
(format #t "~Tchannel-offset: ~D~%" (-> this channel-offset))
(format #t "~Tres: ~A~%" (-> this res))
(format #t "~Tname: #x~X~%" (-> this name))
(format #t "~Tparam: #x~X~%" (-> this param))
this
)
;; definition for method 0 of type effect-control
(defmethod new effect-control ((allocation symbol) (type-to-make type) (arg0 process-drawable))
(cond
((res-lump-struct (-> arg0 draw jgeo extra) 'effect-name structure)
(let ((v0-1 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
(set! (-> v0-1 process) arg0)
(set! (-> v0-1 last-frame-group) #f)
v0-1
)
)
(else
(the-as effect-control #f)
)
)
)
;; definition for method 13 of type effect-control
;; INFO: Return type mismatch int vs none.
(defmethod set-channel-offset! ((this effect-control) (arg0 int))
(set! (-> this channel-offset) arg0)
0
(none)
)
;; failed to figure out what this is:
0