Files
jak-project/test/decompiler/reference/jak2/engine/ui/credits_REF.gc
T
ManDude 4b8b2abbed port pckernel to Jak 2 (#2248)
Adds the `pckernel` system to Jak 2, allowing you to do the PC-specific
things that Jak 1 lets you do like change game resolution, etc.

In other to reduce the amount of code duplication for something that
we're gonna be changing a lot over time, I split it into a few more code
files. In this new system, `pckernel-h.gc`, `pckernel-common.gc`
(previously `pckernel.gc`) and `pc-debug-common.gc` are the files that
should be shared across all games (I hacked the Jak 2 project to pull
these files from the Jak 1 folder), while `pckernel-impl.gc`,
`pckernel.gc` and `pc-debug-methods.gc` are their respective
game-specific counterparts that should be loaded after. I'm not fully
happy with this, I think it's slightly messy, but it cleanly separates
code that should be game-specific and not accidentally copied around and
code that should be the same for all games anyway.
2023-02-25 10:19:32 -05:00

1059 lines
37 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition for function draw-end-credits
(defun draw-end-credits ((arg0 level) (arg1 float))
(let ((f30-0 (- 416.0 arg1))
(s5-0 3839)
(f28-0 0.0)
(s3-0 #t)
(s4-0
(new 'stack 'font-context *font-default-matrix* 6 0 0.0 (font-color default) (font-flags shadow kerning))
)
)
(let ((v1-2 s4-0))
(set! (-> v1-2 width) (the float 500))
)
(let ((v1-3 s4-0))
(set! (-> v1-3 height) (the float 150))
)
(let ((v1-4 s4-0))
(set! (-> v1-4 scale) 0.8)
)
(set! (-> s4-0 flags) (font-flags shadow kerning middle large))
(while (or s3-0 (and (< f30-0 (- f28-0)) (< (the-as uint s5-0) (the-as uint 4272))))
(+! f30-0 f28-0)
(+! s5-0 1)
(let ((a0-6 (lookup-text arg0 (the-as game-text-id s5-0) #t)))
(while (and a0-6 (zero? (-> a0-6 data 0)) (< (the-as uint s5-0) (the-as uint 4272)))
(+! s5-0 1)
(set! a0-6 (lookup-text arg0 (the-as game-text-id s5-0) #t))
)
(set! f28-0 (if a0-6
(+ 5.0 (print-game-text a0-6 s4-0 #t 35 (bucket-id progress)))
40.0
)
)
)
(set! s3-0 #f)
)
(cond
((and (< (the-as uint 3895) (the-as uint s5-0)) (cpad-pressed? 0 triangle circle x))
#t
)
((and (= s5-0 4272) (< f30-0 (- f28-0)))
#t
)
(else
(set! (-> s4-0 origin y) f30-0)
(while (< (-> s4-0 origin y) 416.0)
(let ((a0-15 (lookup-text arg0 (the-as game-text-id s5-0) #t)))
(while (and a0-15 (zero? (-> a0-15 data 0)) (< (the-as uint s5-0) (the-as uint 4272)))
(+! s5-0 1)
(set! a0-15 (lookup-text arg0 (the-as game-text-id s5-0) #t))
)
(let ((f0-10 (if a0-15
(+ 5.0 (print-game-text a0-15 s4-0 #f 35 (bucket-id progress)))
40.0
)
)
)
(+! (-> s4-0 origin y) f0-10)
)
)
(+! s5-0 1)
)
#f
)
)
)
)
;; definition for function start-credits
;; WARN: Return type mismatch int vs none.
(defun start-credits ((arg0 process))
(remove-setting! 'movie)
(remove-setting! 'music-volume)
(persist-with-delay *setting-control* 'music-volume (seconds 3) 'music-volume 'abs 0.001 0)
(process-spawn-function
process
(lambda :behavior scene-player
()
(set-setting! 'allow-pause #f 0 0)
(set-setting! 'allow-progress #f 0 0)
(set-setting! 'music 'forest 0 0)
(set-setting! 'sound-mode #f 0 1)
(apply-settings *setting-control*)
(let ((gp-0 (ppointer->process (-> self parent))))
(when (type? gp-0 scene-player)
(if (lookup-gui-connection
*gui-control*
(the-as process gp-0)
(gui-channel art-load)
(the-as string #f)
(new 'static 'sound-id)
)
(sound-group-pause (sound-group dialog))
)
)
)
(let ((gp-1 (-> self clock frame-counter)))
(while (let ((a0-9 (level-get *level* 'outrocst)))
(and a0-9 (not (draw-end-credits a0-9 (* 0.15 (the float (- (-> self clock frame-counter) gp-1))))))
)
(suspend)
)
)
(let ((gp-2 (ppointer->process (-> self parent))))
(when (type? gp-2 scene-player)
(if (lookup-gui-connection
*gui-control*
(the-as process gp-2)
(gui-channel art-load)
(the-as string #f)
(new 'static 'sound-id)
)
(sound-group-continue (sound-group dialog))
)
)
)
(none)
)
:to arg0
)
0
(none)
)
;; failed to figure out what this is:
(defpartgroup group-ctyport-fireworks
:id 1272
:duration (seconds 169.6)
:flags (always-draw)
:bounds (static-bspherem 0 0 0 2500)
:parts ((sp-item 5406 :binding 5402)
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5402 :flags (start-dead))
(sp-item 5407 :binding 5403)
(sp-item 5403 :flags (start-dead launch-asap) :binding 5404)
(sp-item 5403 :flags (start-dead launch-asap) :binding 5404)
(sp-item 5403 :flags (start-dead launch-asap) :binding 5404)
(sp-item 5403 :flags (start-dead launch-asap) :binding 5404)
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5404 :flags (start-dead))
(sp-item 5408 :binding 5405)
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
(sp-item 5405 :flags (start-dead))
)
)
;; failed to figure out what this is:
(defpart 5408
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-flt spt-num 0.01)
(sp-sound (static-sound-spec "whistle-green"))
(sp-flt spt-scale-x (meters 2.5))
(sp-flt spt-scale-y (meters 4.5))
(sp-rnd-flt spt-r 128.0 128.0 1.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 28.672)
(sp-rnd-flt spt-vel-y (meters 0.4) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -720.0) (degrees 1440.0) 1.0)
(sp-flt spt-friction 0.96)
(sp-int spt-timer 750)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata 4096000.0)
(sp-func spt-func 'check-pop-level-firework-green-userdata)
(sp-int-plain-rnd spt-next-time 200 99 1)
(sp-launcher-by-id spt-next-launcher 5409)
(sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5405
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #xdb9))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-r 64.0 64.0 1.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 64.0)
(sp-rnd-flt spt-a 16.0 48.0 1.0)
(sp-rnd-flt spt-vel-y (meters -0.04) (meters 0.12) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.10666667 -0.21333334 1.0)
(sp-rnd-flt spt-accel-y -0.68266666 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.9 0.02 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 use-global-acc)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-ctyport-firework-green-pop
:id 1273
:duration (seconds 0.835)
:linger-duration (seconds 1.5)
:bounds (static-bspherem 0 0 0 120)
:parts ((sp-item 5412 :flags (launch-asap))
(sp-item 5413 :flags (launch-asap))
(sp-item 5414 :binding 5410)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5410 :flags (bit1 start-dead launch-asap) :binding 5411)
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
(sp-item 5411 :flags (start-dead))
)
)
;; failed to figure out what this is:
(defpart 5412
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
(sp-sound (static-sound-spec "explode-green"))
(sp-rnd-flt spt-scale-x (meters 48) (meters 0.1) 1.0)
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters -1.6))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r -10.2)
(sp-flt spt-fade-g 0.0)
(sp-flt spt-fade-b -10.2)
(sp-int spt-timer 350)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-int spt-next-time 25)
(sp-launcher-by-id spt-next-launcher 5415)
)
)
;; failed to figure out what this is:
(defpart 5415
:init-specs ((sp-flt spt-scale-x (meters 8))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.026666667))
(sp-copy-from-other spt-scalevel-y -4)
)
)
;; failed to figure out what this is:
(defpart 5413
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 24) (meters 0.1) 1.0)
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters -0.8))
(sp-copy-from-other spt-scalevel-y -4)
(sp-int spt-timer 350)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-int spt-next-time 25)
(sp-launcher-by-id spt-next-launcher 5416)
)
)
;; failed to figure out what this is:
(defpart 5416
:init-specs ((sp-flt spt-scale-x (meters 4))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.013333334))
(sp-copy-from-other spt-scalevel-y -4)
)
)
;; failed to figure out what this is:
(defpart 5414
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-rnd-flt spt-num 0.0 1.0 1.0)
(sp-flt spt-scale-x (meters 0))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 255.0)
(sp-rnd-flt spt-vel-y (meters 0.2) (meters 0.05) 1.0)
(sp-rnd-flt spt-accel-y -6.826667 3.4133334 1.0)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 250)
(sp-cpuinfo-flags sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5410
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 160) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 160) 1.0)
(sp-flt spt-z (meters 0.75))
(sp-flt spt-scale-x (meters 3))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 255.0)
(sp-rnd-flt spt-omega 0.0 655360.0 1.0)
(sp-flt spt-vel-x (meters 0.44444442))
(sp-flt spt-vel-z (meters 0.006666667))
(sp-rnd-flt spt-fade-r -2.55 -2.55 1.0)
(sp-flt spt-fade-g -1.7)
(sp-rnd-flt spt-fade-b -10.2 -10.2 1.0)
(sp-flt spt-accel-x -30.340742)
(sp-int-plain-rnd spt-timer 100 199 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-3 ready-to-launch sp-cpuinfo-flag-14)
)
)
;; failed to figure out what this is:
(defpart 5411
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-func spt-birth-func 'birth-func-firework-color)
(sp-flt spt-num 3.0)
(sp-flt spt-scale-x (meters 2.5))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters 0) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-scalevel-x (meters -0.006666667) (meters -0.0033333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-accel-x -0.68266666 -0.34133333 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -0.68266666 1.0)
(sp-rnd-flt spt-friction 0.9 0.02 1.0)
(sp-int-plain-rnd spt-timer 150 449 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 use-global-acc)
(sp-int-plain-rnd spt-next-time 150 599 1)
(sp-launcher-by-id spt-next-launcher 5417)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5417
:init-specs ((sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters -0.025))
(sp-copy-from-other spt-scalevel-y -4)
(sp-int spt-timer 80)
)
)
;; failed to figure out what this is:
(defpart 5407
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
(sp-flt spt-num 0.01)
(sp-sound (static-sound-spec "whistle-red"))
(sp-flt spt-scale-x (meters 2.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 0.0)
(sp-flt spt-omega 28.672)
(sp-rnd-flt spt-vel-y (meters 0.33333334) (meters 0.06666667) 1.0)
(sp-flt spt-accel-y -3.4133334)
(sp-rnd-flt spt-friction 0.98 0.02 1.0)
(sp-int spt-timer 700)
(sp-cpuinfo-flags sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata 4096000.0)
(sp-func spt-func 'check-pop-level-firework-red-userdata)
(sp-int spt-next-time 595)
(sp-launcher-by-id spt-next-launcher 5409)
(sp-rnd-flt spt-conerot-x (degrees -10.0) (degrees 30.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5403
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-flt spt-num 1.0)
(sp-flt spt-x (meters 0))
(sp-flt spt-y (meters 0))
(sp-flt spt-z (meters 0.75))
(sp-rnd-flt spt-scale-x (meters 2.5) (meters 0.3) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 0.0)
(sp-flt spt-vel-x (meters 0.7407408))
(sp-flt spt-vel-y (meters 0.14814815))
(sp-flt spt-vel-z (meters 0))
(sp-flt spt-accel-x -30.340742)
(sp-int spt-timer 590)
(sp-cpuinfo-flags sp-cpuinfo-flag-3 ready-to-launch sp-cpuinfo-flag-14)
)
)
;; failed to figure out what this is:
(defpart 5404
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #xdb9))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 3) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.03) 1.0)
(sp-rnd-flt spt-scalevel-x (meters -0.006666667) (meters -0.013333334) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.9 0.02 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 use-global-acc)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpartgroup group-ctyport-firework-red-pop
:id 1274
:duration (seconds 0.75)
:linger-duration (seconds 1.5)
:bounds (static-bspherem 0 0 0 120)
:parts ((sp-item 5419 :flags (launch-asap)) (sp-item 5420 :flags (launch-asap) :binding 5418))
)
;; failed to figure out what this is:
(defpart 5419
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
(sp-sound (static-sound-spec "explode-red"))
(sp-rnd-flt spt-scale-x (meters 48) (meters 0.1) 1.0)
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters -1.28))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -5.12)
(sp-flt spt-fade-b -10.2)
(sp-int spt-timer 200)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-int spt-next-time 25)
(sp-launcher-by-id spt-next-launcher 5421)
)
)
;; failed to figure out what this is:
(defpart 5421
:init-specs ((sp-flt spt-scalevel-x (meters -0.09142857)) (sp-copy-from-other spt-scalevel-y -4))
)
;; failed to figure out what this is:
(defpart 5420
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #xdb9))
(sp-flt spt-num 128.0)
(sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-omega 40.96 40.96 1.0)
(sp-rnd-flt spt-vel-y (meters 0.26666668) (meters 0.06666667) 1.0)
(sp-flt spt-fade-r 0.0)
(sp-rnd-flt spt-fade-g -0.85 -0.85 1.0)
(sp-rnd-flt spt-fade-b -1.7 -1.7 1.0)
(sp-rnd-flt spt-accel-y -6.826667 3.4133334 1.0)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int spt-timer 450)
(sp-cpuinfo-flags sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 175 49 1)
(sp-launcher-by-id spt-next-launcher 5422)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5422
:init-specs ((sp-flt spt-scale-x (meters 2.5))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-scalevel-x (meters -0.016666668))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-g 0.0)
(sp-func spt-func 'nothing)
(sp-int-plain-rnd spt-next-time 5 149 1)
(sp-launcher-by-id spt-next-launcher 5423)
)
)
;; failed to figure out what this is:
(defpart 5423
:init-specs ((sp-flt spt-scale-x (meters 3))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 255.0)
(sp-int spt-timer 100)
(sp-int spt-next-time 10)
(sp-launcher-by-id spt-next-launcher 5424)
)
)
;; failed to figure out what this is:
(defpart 5424
:init-specs ((sp-flt spt-scale-x (meters 2))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-fade-a -0.8 -0.8 1.0)
)
)
;; definition for function check-pop-level-firework-userdata
;; INFO: Used lq/sq
(defun check-pop-level-firework-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
(when (< (-> arg1 user-float) (-> arg2 launchrot y))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0)
(let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000)))
(when s2-0
(let ((t9-2 (method-of-type part-tracker activate)))
(t9-2
(the-as part-tracker s2-0)
*entity-pool*
(symbol->string (-> part-tracker symbol))
(the-as pointer #x70004000)
)
)
(let ((t9-3 run-function-in-process)
(a0-5 s2-0)
(a1-4 part-tracker-init)
(a2-5 (-> *part-group-id-table* 1275))
(a3-1 0)
(t0-0 #f)
(t1-0 #f)
(t2-0 #f)
(t3-0 *launch-matrix*)
)
(set! (-> t3-0 trans quad) (-> s3-0 quad))
((the-as (function object object object object object object object object none) t9-3)
a0-5
a1-4
a2-5
a3-1
t0-0
t1-0
t2-0
t3-0
)
)
(-> s2-0 ppointer)
)
)
)
)
(sparticle-motion-blur arg0 arg1 (the-as vector arg2))
(none)
)
;; definition for function check-pop-level-firework-red-userdata
;; INFO: Used lq/sq
(defun check-pop-level-firework-red-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
(when (< (-> arg1 user-float) (-> arg2 launchrot y))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0)
(let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000)))
(when s2-0
(let ((t9-2 (method-of-type part-tracker activate)))
(t9-2
(the-as part-tracker s2-0)
*entity-pool*
(symbol->string (-> part-tracker symbol))
(the-as pointer #x70004000)
)
)
(let ((t9-3 run-function-in-process)
(a0-5 s2-0)
(a1-4 part-tracker-init)
(a2-5 (-> *part-group-id-table* 1274))
(a3-1 0)
(t0-0 #f)
(t1-0 #f)
(t2-0 #f)
(t3-0 *launch-matrix*)
)
(set! (-> t3-0 trans quad) (-> s3-0 quad))
((the-as (function object object object object object object object object none) t9-3)
a0-5
a1-4
a2-5
a3-1
t0-0
t1-0
t2-0
t3-0
)
)
(-> s2-0 ppointer)
)
)
)
)
(sparticle-motion-blur arg0 arg1 (the-as vector arg2))
(none)
)
;; definition for function check-pop-level-firework-green-userdata
;; INFO: Used lq/sq
(defun check-pop-level-firework-green-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
(when (< (-> arg1 user-float) (-> arg2 launchrot y))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! s3-0 (-> arg2 launchrot x) (-> arg2 launchrot y) (-> arg2 launchrot z) 1.0)
(let ((s2-0 (get-process *default-dead-pool* part-tracker #x4000)))
(when s2-0
(let ((t9-2 (method-of-type part-tracker activate)))
(t9-2
(the-as part-tracker s2-0)
*entity-pool*
(symbol->string (-> part-tracker symbol))
(the-as pointer #x70004000)
)
)
(let ((t9-3 run-function-in-process)
(a0-5 s2-0)
(a1-4 part-tracker-init)
(a2-5 (-> *part-group-id-table* 1273))
(a3-1 0)
(t0-0 #f)
(t1-0 #f)
(t2-0 #f)
(t3-0 *launch-matrix*)
)
(set! (-> t3-0 trans quad) (-> s3-0 quad))
((the-as (function object object object object object object object object none) t9-3)
a0-5
a1-4
a2-5
a3-1
t0-0
t1-0
t2-0
t3-0
)
)
(-> s2-0 ppointer)
)
)
)
)
(sparticle-motion-blur arg0 arg1 (the-as vector arg2))
(none)
)
;; failed to figure out what this is:
(defpartgroup group-ctyport-firework-pop
:id 1275
:duration (seconds 0.75)
:linger-duration (seconds 1.5)
:bounds (static-bspherem 0 0 0 120)
:parts ((sp-item 5425 :flags (launch-asap))
(sp-item 5426 :flags (launch-asap) :binding 5418)
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
(sp-item 5418 :flags (start-dead))
)
)
;; definition for function birth-func-firework-color
;; WARN: Return type mismatch int vs none.
(defun birth-func-firework-color ((arg0 sparticle-system)
(arg1 sparticle-cpuinfo)
(arg2 sprite-vec-data-3d)
(arg3 sparticle-launcher)
(arg4 sparticle-launch-state)
)
(let ((v1-0 (-> arg4 sprite)))
(set! (-> arg2 r-g-b-a x) (-> v1-0 sprite r-g-b-a x))
(set! (-> arg2 r-g-b-a y) (-> v1-0 sprite r-g-b-a y))
(set! (-> arg2 r-g-b-a z) (-> v1-0 sprite r-g-b-a z))
)
0
(none)
)
;; failed to figure out what this is:
(defpart 5418
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #xdb9))
(sp-func spt-birth-func 'birth-func-firework-color)
(sp-rnd-flt spt-num 0.25 0.5 1.0)
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.03) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.21333334 -0.21333334 1.0)
(sp-rnd-flt spt-accel-x -0.68266666 -0.34133333 1.0)
(sp-rnd-flt spt-accel-y -1.3653333 -0.68266666 1.0)
(sp-rnd-flt spt-friction 0.9 0.02 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 use-global-acc)
(sp-int spt-next-time 50)
(sp-launcher-by-id spt-next-launcher 5427)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5427
:init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.0033333334) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-int spt-next-time 50)
(sp-launcher-by-id spt-next-launcher 5428)
)
)
;; failed to figure out what this is:
(defpart 5428
:init-specs ((sp-rnd-flt spt-scalevel-x (meters -0.00083333335) (meters -0.0016666667) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-int-plain-rnd spt-next-time 150 599 1)
(sp-launcher-by-id spt-next-launcher 5429)
)
)
;; failed to figure out what this is:
(defpart 5429
:init-specs ((sp-flt spt-scale-x (meters 1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-rnd-flt spt-a 128.0 128.0 1.0)
(sp-int spt-next-time 10)
(sp-launcher-by-id spt-next-launcher 5430)
)
)
;; failed to figure out what this is:
(defpart 5430
:init-specs ((sp-flt spt-r 128.0) (sp-flt spt-g 128.0) (sp-flt spt-b 128.0) (sp-flt spt-a 64.0) (sp-flt spt-fade-a -0.8))
)
;; failed to figure out what this is:
(defpart 5425
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
(sp-flt spt-num 1.0)
(sp-sound (static-sound-spec "explode-blue"))
(sp-rnd-flt spt-scale-x (meters 48) (meters 0.1) 1.0)
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-scalevel-x (meters -1.28))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -5.12)
(sp-flt spt-fade-b -10.2)
(sp-int spt-timer 200)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-int spt-next-time 25)
(sp-launcher-by-id spt-next-launcher 5431)
)
)
;; failed to figure out what this is:
(defpart 5431
:init-specs ((sp-flt spt-r 0.0)
(sp-flt spt-scalevel-x (meters -0.09142857))
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-r 0.0)
(sp-flt spt-fade-g -1.6)
(sp-flt spt-fade-b 0.0)
)
)
;; failed to figure out what this is:
(defpart 5426
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #xdb9))
(sp-rnd-flt spt-num 24.0 12.0 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 0.3) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 40.96)
(sp-rnd-flt spt-vel-y (meters 0.26666668) (meters 0.06666667) 1.0)
(sp-flt spt-fade-r -3.4)
(sp-flt spt-fade-g -1.7)
(sp-flt spt-fade-b -0.85)
(sp-rnd-flt spt-accel-y -6.826667 3.4133334 1.0)
(sp-rnd-flt spt-friction 0.94 0.02 1.0)
(sp-int-plain-rnd spt-timer 300 74 1)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-func spt-func 'sparticle-motion-blur)
(sp-int-plain-rnd spt-next-time 175 24 1)
(sp-launcher-by-id spt-next-launcher 5432)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5432
:init-specs ((sp-flt spt-fade-g 0.0) (sp-rnd-flt spt-fade-a -0.85333335 -0.85333335 1.0))
)
;; failed to figure out what this is:
(defpart 5406
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #xdb9))
(sp-flt spt-num 0.01)
(sp-sound (static-sound-spec "whistle--blue"))
(sp-rnd-flt spt-scale-x (meters 4.5) (meters 0.3) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-omega 28.672)
(sp-rnd-flt spt-vel-y (meters 0.4) (meters 0.06666667) 1.0)
(sp-flt spt-accel-y -6.826667)
(sp-rnd-flt spt-friction 0.98 0.02 1.0)
(sp-int spt-timer 750)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)
(sp-flt spt-userdata 4096000.0)
(sp-func spt-func 'check-pop-level-firework-userdata)
(sp-int-plain-rnd spt-next-time 300 299 1)
(sp-launcher-by-id spt-next-launcher 5409)
(sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 60.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
)
)
;; failed to figure out what this is:
(defpart 5409
:init-specs ((sp-flt spt-userdata -4096000.0))
)
;; failed to figure out what this is:
(defpart 5402
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #xdb9))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.03) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-rnd-flt spt-fade-a -0.21333334 -0.42666668 1.0)
(sp-rnd-flt spt-accel-y -0.68266666 -1.3653333 1.0)
(sp-rnd-flt spt-friction 0.9 0.02 1.0)
(sp-int spt-timer 600)
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 use-global-acc)
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
)
)