mirror of
https://github.com/open-goal/jak-project
synced 2026-06-21 16:46:55 -04:00
ea93d32acc
- `pat-h` - `engines` - `res-h` - `res` - `fact-h` - `game-info-h` - `wind-h` - `merc-h` - `shadow-vu1-h` - `shadow-cpu-h` - `dynamics-h` - `memcard-h` - `surface-h` - part of `gui-h` - `ambient-h` - `speech-h` - `prototype-h` - `smush-control-h` - `generic-merc-h` - `generic-work-h` - `collide-func-h` - `collide-mesh-h` - `collide-shape-h` (only missing the `new` method for `collide-shape` because we don't have `process-drawable` yet and that also needs joint stuff etc.) - `collide-touch-h` - `collide-edge-grab-h` - `lightning-h` This also adds argument name remaps for the `relocate` and `mem-usage` methods (Jak 1 and 2 ref tests were updated, but not the gsrc).
186 lines
5.5 KiB
Common Lisp
Vendored
Generated
186 lines
5.5 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type static-screen
|
|
(deftype static-screen (process)
|
|
((part sparticle-launch-control 1)
|
|
(state-time time-frame)
|
|
)
|
|
(:state-methods
|
|
(idle int time-frame symbol)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type static-screen
|
|
(defmethod inspect ((this static-screen))
|
|
(let ((t9-0 (method-of-type process inspect)))
|
|
(t9-0 this)
|
|
)
|
|
(format #t "~T~Tpart[1] @ #x~X~%" (-> this stack))
|
|
(format #t "~T~Tstate-time: ~D~%" (-> this state-time))
|
|
this
|
|
)
|
|
|
|
;; definition for method 7 of type static-screen
|
|
;; INFO: Return type mismatch process vs static-screen.
|
|
(defmethod relocate ((this static-screen) (offset int))
|
|
(let ((v1-0 *kernel-context*))
|
|
(set! (-> v1-0 relocating-process) this)
|
|
(set! (-> v1-0 relocating-min) (the-as int (&-> this type)))
|
|
(set! (-> v1-0 relocating-max)
|
|
(the-as int (+ (+ (-> this allocated-length) -4 (-> process size)) (the-as int this)))
|
|
)
|
|
(set! (-> v1-0 relocating-offset) offset)
|
|
)
|
|
(dotimes (v1-2 1)
|
|
(if (nonzero? (-> this part v1-2))
|
|
(&+! (-> this part v1-2) offset)
|
|
)
|
|
)
|
|
(the-as static-screen ((method-of-type process relocate) this offset))
|
|
)
|
|
|
|
;; definition for method 10 of type static-screen
|
|
(defmethod deactivate ((this static-screen))
|
|
(dotimes (s5-0 1)
|
|
(if (nonzero? (-> this part s5-0))
|
|
(kill-and-free-particles (-> this part s5-0))
|
|
)
|
|
)
|
|
((method-of-type process deactivate) this)
|
|
(none)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2966
|
|
:init-specs ((:texture (new 'static 'texture-id :page #x5c6))
|
|
(:num 1.0)
|
|
(:y (meters 1.18))
|
|
(:scale-x (meters 15))
|
|
(:scale-y (meters 6.5))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:timer (seconds -0.005))
|
|
(:flags (bit2 bit9 bit13))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2967
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x1 :page #x5c6))
|
|
(:num 1.0)
|
|
(:y (meters -1.264))
|
|
(:scale-x (meters 15))
|
|
(:scale-y (meters 3.25))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:timer (seconds -0.005))
|
|
(:flags (bit2 bit9 bit13))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpart 2968
|
|
:init-specs ((:texture (new 'static 'texture-id :index #x2 :page #x5c6))
|
|
(:num 1.0)
|
|
(:y (meters -2.482))
|
|
(:scale-x (meters 15))
|
|
(:scale-y (meters 1.625))
|
|
(:r 128.0)
|
|
(:g 128.0)
|
|
(:b 128.0)
|
|
(:a 128.0)
|
|
(:timer (seconds -0.005))
|
|
(:flags (bit2 bit9 bit13))
|
|
)
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defpartgroup group-part-screen1
|
|
:id 707
|
|
:flags (screen-space)
|
|
:bounds (static-bspherem 0 0 0 1)
|
|
:parts ((sp-item 2966 :flags (launch-asap)) (sp-item 2967 :flags (launch-asap)) (sp-item 2968 :flags (launch-asap)))
|
|
)
|
|
|
|
;; failed to figure out what this is:
|
|
(defstate idle (static-screen)
|
|
:virtual #t
|
|
:enter (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol))
|
|
(set! (-> *setting-control* current bg-a) 1.0)
|
|
(set! (-> *setting-control* default bg-a) 0.0)
|
|
(add-setting! 'common-page 'set 0.0 (ash 1 (+ arg0 1)))
|
|
)
|
|
:trans (behavior ()
|
|
(hide-hud-quick)
|
|
(spawn (-> self part 0) *zero-vector*)
|
|
0
|
|
)
|
|
:code (behavior ((arg0 int) (arg1 time-frame) (arg2 symbol))
|
|
(local-vars (v1-6 symbol))
|
|
(set-time! (-> self state-time))
|
|
(until v1-6
|
|
(suspend)
|
|
(set! v1-6 (or (and (> arg1 0) (time-elapsed? (-> self state-time) arg1))
|
|
(and arg2
|
|
(time-elapsed? (-> self state-time) (seconds 1))
|
|
(cpad-pressed? 0 select start triangle circle x square)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> *setting-control* default bg-a) 1.0)
|
|
(while (!= (-> *setting-control* current bg-a) (-> *setting-control* default bg-a))
|
|
(suspend)
|
|
)
|
|
(remove-setting! 'common-page)
|
|
(suspend)
|
|
0
|
|
)
|
|
)
|
|
|
|
;; definition for function static-screen-init-by-other
|
|
;; INFO: Return type mismatch int vs none.
|
|
(defbehavior static-screen-init-by-other static-screen ((arg0 int) (arg1 texture-id) (arg2 texture-id) (arg3 texture-id) (arg4 time-frame) (arg5 symbol))
|
|
(let ((s3-0 (lookup-part-group-by-name "group-part-screen1")))
|
|
(when (and s3-0 (nonzero? s3-0) (type-type? (-> s3-0 type) sparticle-launch-group))
|
|
(set! (-> *part-id-table* 2966 init-specs 0 initial-valuef) (the-as float arg1))
|
|
(set! (-> *part-id-table* 2967 init-specs 0 initial-valuef) (the-as float arg2))
|
|
(set! (-> *part-id-table* 2968 init-specs 0 initial-valuef) (the-as float arg3))
|
|
(set! (-> self part 0) (create-launch-control (the-as sparticle-launch-group s3-0) self))
|
|
(go-virtual idle arg0 arg4 arg5)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for function static-screen-spawn
|
|
;; INFO: Used lq/sq
|
|
;; INFO: Return type mismatch (pointer process) vs (pointer static-screen).
|
|
(defun static-screen-spawn ((arg0 int)
|
|
(arg1 texture-id)
|
|
(arg2 texture-id)
|
|
(arg3 texture-id)
|
|
(arg4 time-frame)
|
|
(arg5 symbol)
|
|
(arg6 process-tree)
|
|
)
|
|
(local-vars (sv-16 process))
|
|
(set! sv-16 (get-process *default-dead-pool* static-screen #x4000))
|
|
(the-as
|
|
(pointer static-screen)
|
|
(when sv-16
|
|
(let ((t9-1 (method-of-type static-screen activate)))
|
|
(t9-1 (the-as static-screen sv-16) arg6 'static-screen (the-as pointer #x70004000))
|
|
)
|
|
(run-now-in-process sv-16 static-screen-init-by-other arg0 arg1 arg2 arg3 arg4 arg5)
|
|
(-> sv-16 ppointer)
|
|
)
|
|
)
|
|
)
|