mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
1b2db09f51
A big one... I figure even if we would like to change the way the particle/scene code is output -- it'd be easier to find patterns with it all decompiled. I've updated my script so it can easily be used to mass update these files: ```bash task update-gsrc-glob GLOB="**/*-part*.gc" ``` > for example will update gsrc files with `part` in their name -- if they are in ref tests (so uncompleted ones aren't touched) I found a few issues along the way that I'll have to make issues for soon.
404 lines
13 KiB
Common Lisp
404 lines
13 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: consite-part.gc
|
|
;; name in dgo: consite-part
|
|
;; dgos: COA
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype consite-part (part-spawner)
|
|
()
|
|
:heap-base #x30
|
|
:method-count-assert 16
|
|
:size-assert #xb0
|
|
:flag-assert #x10003000b0
|
|
)
|
|
|
|
|
|
(defpartgroup group-consite-spotlight
|
|
:id 1167
|
|
:flags (unk-4 unk-6)
|
|
:bounds (static-bspherem 0 0 0 5)
|
|
:rotate ((degrees 4) (degrees 0) (degrees 0))
|
|
:parts ((sp-item 5071 :flags (bit6 bit7) :hour-mask #b111111111110000000)
|
|
(sp-item 5072 :flags (bit6 bit7) :hour-mask #b111111111110000000)
|
|
)
|
|
)
|
|
|
|
(defpart 5071
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-z (meters 0.3))
|
|
(sp-rnd-flt spt-scale-x (meters 4) (meters 0.1) 1.0)
|
|
(sp-flt spt-rot-x 409.6)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 117.0)
|
|
(sp-flt spt-g 80.0)
|
|
(sp-flt spt-b 54.0)
|
|
(sp-flt spt-a 64.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags glow)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5072
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-z (meters 0.3))
|
|
(sp-rnd-flt spt-scale-x (meters 12) (meters 0.1) 1.0)
|
|
(sp-flt spt-rot-x 819.2)
|
|
(sp-flt spt-rot-z (degrees -17.0))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-flt spt-g 96.0)
|
|
(sp-flt spt-b 62.0)
|
|
(sp-flt spt-a 36.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags glow)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-tower-red-light
|
|
:id 1168
|
|
:bounds (static-bspherem 0 0 0 2)
|
|
:parts ((sp-item 5073))
|
|
)
|
|
|
|
(defpart 5073
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 3))
|
|
(sp-flt spt-rot-x 409.6)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-flt spt-g 0.0)
|
|
(sp-flt spt-b 0.0)
|
|
(sp-flt spt-a 32.0)
|
|
(sp-flt spt-omega 2050867.2)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags glow)
|
|
(sp-flt spt-userdata 1024.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-arch-light :id 1169 :bounds (static-bspherem 0 0 0 2) :parts ((sp-item 5074)))
|
|
|
|
(defpart 5074
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 3))
|
|
(sp-flt spt-rot-x 409.6)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-flt spt-g 0.0)
|
|
(sp-flt spt-b 0.0)
|
|
(sp-flt spt-a 32.0)
|
|
(sp-flt spt-omega 2050867.2)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags glow)
|
|
(sp-flt spt-userdata 1024.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-crane-fx :id 1170 :bounds (static-bspherem 0 0 0 2) :parts ((sp-item 5075)))
|
|
|
|
(defpart 5075
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-scale-x (meters 3))
|
|
(sp-flt spt-rot-x 409.6)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-flt spt-g 0.0)
|
|
(sp-flt spt-b 0.0)
|
|
(sp-flt spt-a 32.0)
|
|
(sp-flt spt-omega 2050867.2)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags glow)
|
|
(sp-flt spt-userdata 1024.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-orange-skybox
|
|
:id 1171
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 10)
|
|
:parts ((sp-item 5076 :fade-after (meters 200) :flags (bit6 bit7))
|
|
(sp-item 5077 :fade-after (meters 200) :flags (bit6 bit7))
|
|
(sp-item 5078 :fade-after (meters 200) :flags (bit6 bit7))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-orange-skybox-corner
|
|
:id 1172
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 10)
|
|
:parts ((sp-item 5079 :fade-after (meters 200) :flags (bit6 bit7))
|
|
(sp-item 5080 :fade-after (meters 200) :flags (bit6 bit7))
|
|
(sp-item 5081 :fade-after (meters 200) :flags (bit6 bit7))
|
|
)
|
|
)
|
|
|
|
(defpart 5076
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -5))
|
|
(sp-flt spt-scale-x (meters 12))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5077
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-scale-x (meters 14))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
)
|
|
)
|
|
|
|
(defpart 5078
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 5))
|
|
(sp-flt spt-scale-x (meters 14))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-flt spt-scale-y (meters 14))
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5079
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters -4))
|
|
(sp-flt spt-z (meters -1.75))
|
|
(sp-flt spt-scale-x (meters 12))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5080
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 0))
|
|
(sp-flt spt-scale-x (meters 14))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
)
|
|
)
|
|
|
|
(defpart 5081
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
|
(sp-flt spt-num 1.0)
|
|
(sp-flt spt-x (meters 4))
|
|
(sp-flt spt-z (meters -1.75))
|
|
(sp-flt spt-scale-x (meters 14))
|
|
(sp-flt spt-rot-x 2048.0)
|
|
(sp-rnd-flt spt-rot-z (degrees -17.0) (degrees 2.0) 1.0)
|
|
(sp-flt spt-scale-y (meters 14))
|
|
(sp-flt spt-r 255.0)
|
|
(sp-rnd-flt spt-g 128.0 64.0 1.0)
|
|
(sp-rnd-flt spt-b 0.0 32.0 1.0)
|
|
(sp-rnd-flt spt-a 20.0 2.0 1.0)
|
|
(sp-flt spt-omega 1641267.2)
|
|
(sp-flt spt-scalevel-x (meters -0.0016666667))
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
|
(sp-flt spt-userdata 4096.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-consite-small-pipe-steam
|
|
:id 1173
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 6)
|
|
:parts ((sp-item 5082 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7))
|
|
(sp-item 5083 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7))
|
|
)
|
|
)
|
|
|
|
(defpart 5082
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
|
(sp-rnd-flt spt-num 0.0 5.0 1.0)
|
|
(sp-flt spt-scale-x (meters 0.1))
|
|
(sp-int spt-rot-x 4)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-rnd-flt spt-a 64.0 32.0 1.0)
|
|
(sp-flt spt-omega 4.096)
|
|
(sp-rnd-flt spt-vel-z (meters 0.083333336) (meters 0.033333335) 1.0)
|
|
(sp-rnd-flt spt-fade-a -0.64 -0.64 1.0)
|
|
(sp-rnd-flt spt-friction 0.93 0.025 1.0)
|
|
(sp-int spt-timer 150)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
|
|
(sp-func spt-func 'sparticle-motion-blur)
|
|
(sp-rnd-flt spt-launchrot-x (degrees -7.5) (degrees 15.0) 1.0)
|
|
(sp-rnd-flt spt-launchrot-y (degrees -7.5) (degrees 15.0) 1.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5083
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
|
|
(sp-rnd-flt spt-num 1.0 3.0 1.0)
|
|
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0)
|
|
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 0.0)
|
|
(sp-rnd-flt spt-vel-z (meters 0.083333336) (meters 0.033333335) 1.0)
|
|
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.016666668) 1.0)
|
|
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-flt spt-fade-a 0.96)
|
|
(sp-rnd-flt spt-friction 0.93 0.025 1.0)
|
|
(sp-int spt-timer 150)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12)
|
|
(sp-int-plain-rnd spt-next-time 25 24 1)
|
|
(sp-launcher-by-id spt-next-launcher 5084)
|
|
(sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0)
|
|
(sp-rnd-flt spt-launchrot-y (degrees -5.0) (degrees 10.0) 1.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5084
|
|
:init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0))
|
|
)
|
|
|
|
(defpartgroup group-consite-large-pipe-steam
|
|
:id 1174
|
|
:flags (unk-4)
|
|
:bounds (static-bspherem 0 0 0 6)
|
|
:parts ((sp-item 5085 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7))
|
|
(sp-item 5086 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7))
|
|
)
|
|
)
|
|
|
|
(defpart 5085
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
|
(sp-rnd-flt spt-num 0.0 5.0 1.0)
|
|
(sp-flt spt-scale-x (meters 0.1))
|
|
(sp-int spt-rot-x 4)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 128.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-rnd-flt spt-a 64.0 32.0 1.0)
|
|
(sp-flt spt-omega 4.096)
|
|
(sp-rnd-flt spt-vel-z (meters 0.083333336) (meters 0.033333335) 1.0)
|
|
(sp-rnd-flt spt-fade-a -0.64 -0.64 1.0)
|
|
(sp-rnd-flt spt-friction 0.93 0.025 1.0)
|
|
(sp-int spt-timer 150)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12)
|
|
(sp-func spt-func 'sparticle-motion-blur)
|
|
(sp-rnd-flt spt-launchrot-x (degrees -7.5) (degrees 15.0) 1.0)
|
|
(sp-rnd-flt spt-launchrot-y (degrees -7.5) (degrees 15.0) 1.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5086
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc))
|
|
(sp-rnd-flt spt-num 1.0 3.0 1.0)
|
|
(sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0)
|
|
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-rnd-flt spt-r 64.0 128.0 1.0)
|
|
(sp-copy-from-other spt-g -1)
|
|
(sp-copy-from-other spt-b -1)
|
|
(sp-flt spt-a 0.0)
|
|
(sp-rnd-flt spt-vel-z (meters 0.083333336) (meters 0.033333335) 1.0)
|
|
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.016666668) 1.0)
|
|
(sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-flt spt-fade-a 0.96)
|
|
(sp-rnd-flt spt-friction 0.93 0.025 1.0)
|
|
(sp-int spt-timer 150)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12)
|
|
(sp-int-plain-rnd spt-next-time 25 24 1)
|
|
(sp-launcher-by-id spt-next-launcher 5087)
|
|
(sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0)
|
|
(sp-rnd-flt spt-launchrot-y (degrees -5.0) (degrees 10.0) 1.0)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 5087
|
|
:init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0))
|
|
)
|