jak-project/goal_src/jak2/levels/consite/consite-part.gc
Tyler Wilding 1b2db09f51
d/jak2: pass through all simple / non-blocked *-part, *-ocean and *-scenes files (#2048)
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.
2022-12-22 13:57:57 -05:00

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))
)