diff --git a/goal_src/jak2/levels/city/slums/ctysluma-part.gc b/goal_src/jak2/levels/city/slums/ctysluma-part.gc index 3dc596604c..f3b61d1565 100644 --- a/goal_src/jak2/levels/city/slums/ctysluma-part.gc +++ b/goal_src/jak2/levels/city/slums/ctysluma-part.gc @@ -5,5 +5,1300 @@ ;; name in dgo: ctysluma-part ;; dgos: CTA +;; og:ignore-from-loc + ;; DECOMP BEGINS +(deftype ctysluma-part (part-spawner) + () + :heap-base #x30 + :method-count-assert 16 + :size-assert #xb0 + :flag-assert #x10003000b0 + ) + + +(defpartgroup group-ctysluma-barrel-fire + :id 859 + :bounds (static-bspherem 0 3 0 4) + :parts ((sp-item 3693 :fade-after (meters 50) :falloff-to (meters 80)) + (sp-item 3694 :fade-after (meters 60) :falloff-to (meters 90) :period 100 :length 50) + (sp-item 3695 :fade-after (meters 20) :falloff-to (meters 20) :period 120 :length 55 :offset 20) + (sp-item 3696 :fade-after (meters 40) :falloff-to (meters 40) :period 160 :length 30 :offset 35) + (sp-item 3694 :fade-after (meters 20) :falloff-to (meters 20) :period 255 :length 60 :offset 65) + (sp-item 3695 :fade-after (meters 40) :falloff-to (meters 40) :period 375 :length 40 :offset 15) + (sp-item 3696 :fade-after (meters 60) :falloff-to (meters 90) :period 430 :length 50 :offset 85) + (sp-item 3694 :fade-after (meters 40) :falloff-to (meters 40) :period 600 :length 70 :offset 100) + (sp-item 3695 :fade-after (meters 20) :falloff-to (meters 20) :period 1250 :length 45 :offset 450) + (sp-item 3696 :fade-after (meters 60) :falloff-to (meters 90) :period 1500 :length 25 :offset 115) + (sp-item 3694 :fade-after (meters 20) :falloff-to (meters 20) :period 2100 :length 55 :offset 80) + (sp-item 3697 :fade-after (meters 20) :falloff-to (meters 10) :binding 3692) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3698 :fade-after (meters 50) :falloff-to (meters 50)) + (sp-item 3699 :fade-after (meters 30) :falloff-to (meters 30)) + (sp-item 3700 :fade-after (meters 70) :flags (bit6)) + ) + ) + +(defpart 3700 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-scale-x (meters 5) (meters 0.1) 1.0) + (sp-flt spt-rot-x 8192.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 12.0) + (sp-flt spt-fade-a -0.4) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 10240.0) + ) + ) + +(defpart 3697 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.8 1.0) + (sp-sound (static-sound-spec "fire-pop" :volume 10000.0)) + (sp-rnd-flt spt-x (meters -0.3) (meters 0.6) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +(defpart 3692 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 0.1) (meters 0.3) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0)) + (sp-rnd-flt spt-vel-z (meters -0.0013333333) (meters 0.0026666666) 1.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.7111111) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 3701) + ) + ) + +(defpart 3701 + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + ) + +(defpart 3694 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +(defpart 3695 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +(defpart 3696 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +(defpart 3702 + :init-specs ((sp-flt spt-b 0.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-fade-a -0.4 -0.2 1.0) + (sp-int-plain-rnd spt-next-time 40 9 1) + (sp-launcher-by-id spt-next-launcher 3703) + ) + ) + +(defpart 3703 + :init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4)) + ) + +(defpart 3693 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 1.0 4.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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-flt spt-r 32.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-a -0.16 -0.16 1.0) + (sp-flt spt-accel-y -0.4096) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +(defpart 3698 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 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-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 8.0 8.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g -0.32) + (sp-flt spt-fade-b -0.32) + (sp-rnd-flt spt-fade-a -0.017777778 -0.026666667 1.0) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (sp-int-plain-rnd spt-next-time 150 49 1) + (sp-launcher-by-id spt-next-launcher 3704) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +(defpart 3704 + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + ) + +(defpart 3699 + :init-specs ((sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) + (sp-int spt-rot-x 8) + (sp-flt spt-r 1638.4) + (sp-flt spt-g 1331.2) + (sp-flt spt-b 1433.6) + (sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags distort) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 3705) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +(defpart 3705 + :init-specs ((sp-flt spt-fade-b -0.68266666)) + ) + +(defpartgroup group-ctysluma-streetlight-glows + :id 860 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 5 :fade-after (meters 120) :flags (bit6) :hour-mask #b111111111110000000) + (sp-item 6 :fade-after (meters 120) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 5 + :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 2.5) (meters 0.1) 1.0) + (sp-flt spt-rot-x 409.6) + (sp-flt spt-rot-z (degrees -17.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 32.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +(defpart 6 + :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 16) (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 255.0) + (sp-rnd-flt spt-g 255.0 255.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 16.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +(defpartgroup group-ctysluma-steamescape + :id 861 + :flags (unk-4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3706 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3707 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + ) + ) + +(defpart 3706 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-rnd-int-flt spt-x (meters -0.8) 4 1638.4) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.3) 1.0) + (sp-rnd-flt spt-z (meters 0.2) (meters 0.2) 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.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.0033333334) 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.64) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3708) + (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 3707 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-int-flt spt-x (meters -0.4) 1 1638.4) + (sp-rnd-flt spt-y (meters 0) (meters 0.3) 1.0) + (sp-rnd-flt spt-z (meters 0.2) (meters 0.2) 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.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.0033333334) 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.64) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3708) + (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 3708 + :init-specs ((sp-rnd-flt spt-fade-a -0.064 -0.064 1.0)) + ) + +(defpartgroup group-ctysluma-steamvent + :id 862 + :flags (unk-4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3709 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7)) + (sp-item 3710 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7)) + ) + ) + +(defpart 3709 + :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 3710 + :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-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3711) + (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 3711 + :init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0)) + ) + +(defpartgroup group-ctysluma-spray + :id 863 + :flags (unk-4) + :bounds (static-bspherem 0 -8 0 24) + :parts ((sp-item 3712 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3713 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7)) + ) + ) + +(defpart 3712 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.28444445 -0.28444445 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -5.0) (degrees 10.0) 1.0) + ) + ) + +(defpart 3714 + :init-specs ((sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 3715) + ) + ) + +(defpart 3715 + :init-specs ((sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-int-plain-rnd spt-next-time 0 449 1) + (sp-launcher-by-id spt-next-launcher 3714) + ) + ) + +(defpart 3713 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.28444445 -0.28444445 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -30.0) (degrees 60.0) 1.0) + ) + ) + +(defpartgroup group-ctysluma-spray-check-userdata-8 + :id 864 + :flags (unk-4) + :bounds (static-bspherem 0 -8 0 24) + :parts ((sp-item 3716 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3717 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + ) + ) + +(defun check-drop-level-ctysluma-drop-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) + (when (< (-> arg2 y) (-> arg1 user-float)) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! s3-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (let ((t9-1 sp-launch-particles-var) + (a0-3 *sp-particle-system-2d*) + (a1-2 (-> *part-id-table* 3718)) + (a2-1 *launch-matrix*) + ) + (set! (-> a2-1 trans quad) (-> s3-0 quad)) + (t9-1 a0-3 a1-2 a2-1 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + ) + ) + (sparticle-motion-blur arg0 arg1 arg2) + (none) + ) + +(defpart 3716 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.14222223 -0.42666668 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-flt spt-userdata 32768.0) + (sp-func spt-func 'check-drop-level-ctysluma-drop-userdata) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -5.0) (degrees 10.0) 1.0) + ) + ) + +(defpart 3717 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.14222223 -0.42666668 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-flt spt-userdata 32768.0) + (sp-func spt-func 'check-drop-level-ctysluma-drop-userdata) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -30.0) (degrees 60.0) 1.0) + ) + ) + +(defpart 3718 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-flt spt-omega 10.24) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.026666667) 1.0) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y -4.096 -0.68266666 1.0) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +(defpartgroup group-ctysluma-chimney + :id 865 + :bounds (static-bspherem 0 0 -10 24) + :parts ((sp-item 3719 :fade-after (meters 200) :falloff-to (meters 300)) + (sp-item 3720 :fade-after (meters 200) :flags (bit6)) + ) + ) + +(defpart 3720 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 16) (meters 0.1) 1.0) + (sp-flt spt-rot-x 1228.8) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 240.0) + (sp-flt spt-b 100.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 6144.0) + ) + ) + +(defpart 3719 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.36) + (sp-flt spt-fade-b -4.24) + (sp-rnd-flt spt-fade-a -0.053333335 -0.053333335 1.0) + (sp-rnd-flt spt-accel-x -2.7306666 -1.3653333 1.0) + (sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 2400) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 25 4 1) + (sp-launcher-by-id spt-next-launcher 3721) + ) + ) + +(defpart 3721 + :init-specs ((sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-int-plain-rnd spt-next-time 10 39 1) + (sp-launcher-by-id spt-next-launcher 3722) + ) + ) + +(defpart 3722 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.14666666) + (sp-flt spt-fade-g -0.7866667) + (sp-flt spt-fade-b -0.88) + (sp-int-plain-rnd spt-next-time 105 44 1) + (sp-launcher-by-id spt-next-launcher 3723) + ) + ) + +(defpart 3723 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0016666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.2944444) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.094444446) + (sp-int-plain-rnd spt-next-time 150 29 1) + (sp-launcher-by-id spt-next-launcher 3724) + ) + ) + +(defpart 3724 + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.024)) + ) + +(defpartgroup group-ctysluma-chimney-smoke + :id 866 + :bounds (static-bspherem 0 0 -12 24) + :parts ((sp-item 3725 :fade-after (meters 200) :falloff-to (meters 300))) + ) + +(defpart 3725 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 0.0 0.4 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 0.0 128.0 1.0) + (sp-copy-from-other spt-g -1) + (sp-copy-from-other spt-b -1) + (sp-rnd-flt spt-a 24.0 24.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-b -0.21333334) + (sp-rnd-flt spt-fade-a -0.026666667 -0.026666667 1.0) + (sp-rnd-flt spt-accel-x -2.7306666 -1.3653333 1.0) + (sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 75 4 1) + (sp-launcher-by-id spt-next-launcher 3726) + ) + ) + +(defpart 3726 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int-plain-rnd spt-next-time 105 44 1) + (sp-launcher-by-id spt-next-launcher 3727) + ) + ) + +(defpart 3727 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0016666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + ) + ) + +(defpartgroup group-ctysluma-sign-m5-8x4 + :id 867 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3728 :flags (is-3d launch-asap bit7)) + (sp-item 3729 :flags (is-3d launch-asap bit7)) + (sp-item 3730 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3730 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 32) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 48) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3728 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xd :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00d00 -2139062144 0 1 #x3fd00d00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3729 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xd :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00d00 -2139062144 0 1 #x3fd00d00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpartgroup group-ctysluma-sign-metalhead-8x4 + :id 868 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3731 :flags (is-3d launch-asap bit7)) + (sp-item 3732 :flags (is-3d launch-asap bit7)) + (sp-item 3730 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3731 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00b00 -2139062144 0 1 #x3fd00b00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3732 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00b00 -2139062144 0 1 #x3fd00b00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpartgroup group-ctysluma-sign-crimson-4x8 + :id 869 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3733 :flags (is-3d launch-asap bit7)) + (sp-item 3734 :flags (is-3d launch-asap bit7)) + (sp-item 3735 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3735 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 48) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 32) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +(defpart 3733 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 16)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00300 -2139062144 0 1 #x3fd00300 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3734 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 16)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00300 -2139062144 0 1 #x3fd00300 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpartgroup group-ctysluma-sign-doctors-4x4 + :id 870 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3736 :flags (is-3d launch-asap bit7)) + (sp-item 3737 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3738 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 32) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 32) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +(defpart 3736 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00500 -2139062144 0 1 #x3fd00500 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3737 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00500 -2139062144 0 1 #x3fd00500 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpartgroup group-ctysluma-sign-hiphog-4x4 + :id 871 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3739 :flags (is-3d launch-asap bit7)) + (sp-item 3740 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3739 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00900 -2139062144 0 1 #x3fd00900 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3740 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00900 -2139062144 0 1 #x3fd00900 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpartgroup group-ctysluma-sign-blank-4x4 + :id 872 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3741 :flags (is-3d launch-asap bit7)) + (sp-item 3742 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3741 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00700 -2139062144 0 1 #x3fd00700 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +(defpart 3742 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00700 -2139062144 0 1 #x3fd00700 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) diff --git a/test/decompiler/reference/jak2/levels/city/slums/ctysluma-part_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/ctysluma-part_REF.gc new file mode 100644 index 0000000000..c8f2abd9b6 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/slums/ctysluma-part_REF.gc @@ -0,0 +1,1382 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type ctysluma-part +(deftype ctysluma-part (part-spawner) + () + :heap-base #x30 + :method-count-assert 16 + :size-assert #xb0 + :flag-assert #x10003000b0 + ) + +;; definition for method 3 of type ctysluma-part +(defmethod inspect ctysluma-part ((obj ctysluma-part)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type part-spawner inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-barrel-fire + :id 859 + :bounds (static-bspherem 0 3 0 4) + :parts ((sp-item 3693 :fade-after (meters 50) :falloff-to (meters 80)) + (sp-item 3694 :fade-after (meters 60) :falloff-to (meters 90) :period 100 :length 50) + (sp-item 3695 :fade-after (meters 20) :falloff-to (meters 20) :period 120 :length 55 :offset 20) + (sp-item 3696 :fade-after (meters 40) :falloff-to (meters 40) :period 160 :length 30 :offset 35) + (sp-item 3694 :fade-after (meters 20) :falloff-to (meters 20) :period 255 :length 60 :offset 65) + (sp-item 3695 :fade-after (meters 40) :falloff-to (meters 40) :period 375 :length 40 :offset 15) + (sp-item 3696 :fade-after (meters 60) :falloff-to (meters 90) :period 430 :length 50 :offset 85) + (sp-item 3694 :fade-after (meters 40) :falloff-to (meters 40) :period 600 :length 70 :offset 100) + (sp-item 3695 :fade-after (meters 20) :falloff-to (meters 20) :period 1250 :length 45 :offset 450) + (sp-item 3696 :fade-after (meters 60) :falloff-to (meters 90) :period 1500 :length 25 :offset 115) + (sp-item 3694 :fade-after (meters 20) :falloff-to (meters 20) :period 2100 :length 55 :offset 80) + (sp-item 3697 :fade-after (meters 20) :falloff-to (meters 10) :binding 3692) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3692 :flags (bit1 start-dead launch-asap)) + (sp-item 3698 :fade-after (meters 50) :falloff-to (meters 50)) + (sp-item 3699 :fade-after (meters 30) :falloff-to (meters 30)) + (sp-item 3700 :fade-after (meters 70) :flags (bit6)) + ) + ) + +;; failed to figure out what this is: +(defpart 3700 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-scale-x (meters 5) (meters 0.1) 1.0) + (sp-flt spt-rot-x 8192.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 12.0) + (sp-flt spt-fade-a -0.4) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 10240.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3697 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.8 1.0) + (sp-sound (static-sound-spec "fire-pop" :volume 10000.0)) + (sp-rnd-flt spt-x (meters -0.3) (meters 0.6) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3692 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 0.1) (meters 0.3) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0)) + (sp-rnd-flt spt-vel-z (meters -0.0013333333) (meters 0.0026666666) 1.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.7111111) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 3701) + ) + ) + +;; failed to figure out what this is: +(defpart 3701 + :init-specs ((sp-flt spt-fade-r -1.0666667) (sp-flt spt-fade-g 1.0666667) (sp-flt spt-fade-b 1.0666667)) + ) + +;; failed to figure out what this is: +(defpart 3694 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 87.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3695 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 120.0) (degrees 90.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3696 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 4.0 6.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 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 240.0 15.0 1.0) + (sp-rnd-flt spt-g 200.0 16.0 1.0) + (sp-rnd-flt spt-b 160.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-r -2.1333334 -1.0666667 1.0) + (sp-rnd-flt spt-fade-g -4.266667 -2.1333334 1.0) + (sp-flt spt-fade-b -5.3333335) + (sp-flt spt-accel-y -0.4096) + (sp-int-plain-rnd spt-timer 160 79 1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 30 9 1) + (sp-launcher-by-id spt-next-launcher 3702) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 240.0) (degrees 110.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3702 + :init-specs ((sp-flt spt-b 0.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-fade-a -0.4 -0.2 1.0) + (sp-int-plain-rnd spt-next-time 40 9 1) + (sp-launcher-by-id spt-next-launcher 3703) + ) + ) + +;; failed to figure out what this is: +(defpart 3703 + :init-specs ((sp-flt spt-fade-r -0.125) (sp-flt spt-fade-g 0.4) (sp-flt spt-fade-b 0.4)) + ) + +;; failed to figure out what this is: +(defpart 3693 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 1.0 4.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters -0.25) 1.0) + (sp-flt spt-y (meters -0.8)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 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-flt spt-r 32.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.00033333333)) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-rnd-flt spt-fade-a -0.16 -0.16 1.0) + (sp-flt spt-accel-y -0.4096) + (sp-int spt-timer 300) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-4) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3698 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 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-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 8.0 8.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g -0.32) + (sp-flt spt-fade-b -0.32) + (sp-rnd-flt spt-fade-a -0.017777778 -0.026666667 1.0) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (sp-int-plain-rnd spt-next-time 150 49 1) + (sp-launcher-by-id spt-next-launcher 3704) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3704 + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0)) + ) + +;; failed to figure out what this is: +(defpart 3699 + :init-specs ((sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 0) (meters 0.2) 1.0) + (sp-int spt-rot-x 8) + (sp-flt spt-r 1638.4) + (sp-flt spt-g 1331.2) + (sp-flt spt-b 1433.6) + (sp-rnd-flt spt-vel-x (meters 0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags distort) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 3705) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3705 + :init-specs ((sp-flt spt-fade-b -0.68266666)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-streetlight-glows + :id 860 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 5 :fade-after (meters 120) :flags (bit6) :hour-mask #b111111111110000000) + (sp-item 6 :fade-after (meters 120) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 5 + :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 2.5) (meters 0.1) 1.0) + (sp-flt spt-rot-x 409.6) + (sp-flt spt-rot-z (degrees -17.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 32.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +;; failed to figure out what this is: +(defpart 6 + :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 16) (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 255.0) + (sp-rnd-flt spt-g 255.0 255.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 16.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-steamescape + :id 861 + :flags (unk-4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3706 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3707 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3706 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-rnd-int-flt spt-x (meters -0.8) 4 1638.4) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.3) 1.0) + (sp-rnd-flt spt-z (meters 0.2) (meters 0.2) 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.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.0033333334) 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.64) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3708) + (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)) + ) + ) + +;; failed to figure out what this is: +(defpart 3707 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-int-flt spt-x (meters -0.4) 1 1638.4) + (sp-rnd-flt spt-y (meters 0) (meters 0.3) 1.0) + (sp-rnd-flt spt-z (meters 0.2) (meters 0.2) 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.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.0033333334) 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.64) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3708) + (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)) + ) + ) + +;; failed to figure out what this is: +(defpart 3708 + :init-specs ((sp-rnd-flt spt-fade-a -0.064 -0.064 1.0)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-steamvent + :id 862 + :flags (unk-4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3709 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7)) + (sp-item 3710 :fade-after (meters 100) :falloff-to (meters 140) :flags (bit7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3709 + :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)) + ) + ) + +;; failed to figure out what this is: +(defpart 3710 + :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-12) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 3711) + (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)) + ) + ) + +;; failed to figure out what this is: +(defpart 3711 + :init-specs ((sp-rnd-flt spt-fade-a -0.48 -0.48 1.0)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-spray + :id 863 + :flags (unk-4) + :bounds (static-bspherem 0 -8 0 24) + :parts ((sp-item 3712 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3713 :fade-after (meters 60) :falloff-to (meters 60) :flags (bit7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3712 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.28444445 -0.28444445 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -5.0) (degrees 10.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3714 + :init-specs ((sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 3715) + ) + ) + +;; failed to figure out what this is: +(defpart 3715 + :init-specs ((sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-int-plain-rnd spt-next-time 0 449 1) + (sp-launcher-by-id spt-next-launcher 3714) + ) + ) + +;; failed to figure out what this is: +(defpart 3713 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.28444445 -0.28444445 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -30.0) (degrees 60.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-spray-check-userdata-8 + :id 864 + :flags (unk-4) + :bounds (static-bspherem 0 -8 0 24) + :parts ((sp-item 3716 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + (sp-item 3717 :fade-after (meters 100) :falloff-to (meters 100) :flags (bit7)) + ) + ) + +;; definition for function check-drop-level-ctysluma-drop-userdata +;; INFO: Used lq/sq +(defun check-drop-level-ctysluma-drop-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) + (when (< (-> arg2 y) (-> arg1 user-float)) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! s3-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (let ((t9-1 sp-launch-particles-var) + (a0-3 *sp-particle-system-2d*) + (a1-2 (-> *part-id-table* 3718)) + (a2-1 *launch-matrix*) + ) + (set! (-> a2-1 trans quad) (-> s3-0 quad)) + (t9-1 a0-3 a1-2 a2-1 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + ) + ) + (sparticle-motion-blur arg0 arg1 arg2) + (none) + ) + +;; failed to figure out what this is: +(defpart 3716 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.14222223 -0.42666668 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-flt spt-userdata 32768.0) + (sp-func spt-func 'check-drop-level-ctysluma-drop-userdata) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -5.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -5.0) (degrees 10.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3717 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-z (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4.096) + (sp-rnd-flt spt-vel-z (meters 0.1) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-fade-a -0.14222223 -0.42666668 1.0) + (sp-rnd-flt spt-accel-y -13.653334 1.3653333 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc) + (sp-flt spt-userdata 32768.0) + (sp-func spt-func 'check-drop-level-ctysluma-drop-userdata) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-launchrot-x (degrees -30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-launchrot-z (degrees -30.0) (degrees 60.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3718 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-int spt-rot-x 4) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-flt spt-omega 10.24) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.026666667) 1.0) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y -4.096 -0.68266666 1.0) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-func spt-func 'sparticle-motion-blur) + (sp-int-plain-rnd spt-next-time 0 224 1) + (sp-launcher-by-id spt-next-launcher 3714) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-chimney + :id 865 + :bounds (static-bspherem 0 0 -10 24) + :parts ((sp-item 3719 :fade-after (meters 200) :falloff-to (meters 300)) + (sp-item 3720 :fade-after (meters 200) :flags (bit6)) + ) + ) + +;; failed to figure out what this is: +(defpart 3720 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 16) (meters 0.1) 1.0) + (sp-flt spt-rot-x 1228.8) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 240.0) + (sp-flt spt-b 100.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 6144.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3719 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.36) + (sp-flt spt-fade-b -4.24) + (sp-rnd-flt spt-fade-a -0.053333335 -0.053333335 1.0) + (sp-rnd-flt spt-accel-x -2.7306666 -1.3653333 1.0) + (sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 2400) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 25 4 1) + (sp-launcher-by-id spt-next-launcher 3721) + ) + ) + +;; failed to figure out what this is: +(defpart 3721 + :init-specs ((sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-int-plain-rnd spt-next-time 10 39 1) + (sp-launcher-by-id spt-next-launcher 3722) + ) + ) + +;; failed to figure out what this is: +(defpart 3722 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.14666666) + (sp-flt spt-fade-g -0.7866667) + (sp-flt spt-fade-b -0.88) + (sp-int-plain-rnd spt-next-time 105 44 1) + (sp-launcher-by-id spt-next-launcher 3723) + ) + ) + +;; failed to figure out what this is: +(defpart 3723 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0016666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.2944444) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.094444446) + (sp-int-plain-rnd spt-next-time 150 29 1) + (sp-launcher-by-id spt-next-launcher 3724) + ) + ) + +;; failed to figure out what this is: +(defpart 3724 + :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.024)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-chimney-smoke + :id 866 + :bounds (static-bspherem 0 0 -12 24) + :parts ((sp-item 3725 :fade-after (meters 200) :falloff-to (meters 300))) + ) + +;; failed to figure out what this is: +(defpart 3725 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #xc)) + (sp-func spt-birth-func 'birth-func-texture-group) + (sp-rnd-flt spt-num 0.0 0.4 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 0.0 128.0 1.0) + (sp-copy-from-other spt-g -1) + (sp-copy-from-other spt-b -1) + (sp-rnd-flt spt-a 24.0 24.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-b -0.21333334) + (sp-rnd-flt spt-fade-a -0.026666667 -0.026666667 1.0) + (sp-rnd-flt spt-accel-x -2.7306666 -1.3653333 1.0) + (sp-rnd-flt spt-accel-y 0.4096 0.4096 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags sp-cpuinfo-flag-2) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300) + ) + (sp-int-plain-rnd spt-next-time 75 4 1) + (sp-launcher-by-id spt-next-launcher 3726) + ) + ) + +;; failed to figure out what this is: +(defpart 3726 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int-plain-rnd spt-next-time 105 44 1) + (sp-launcher-by-id spt-next-launcher 3727) + ) + ) + +;; failed to figure out what this is: +(defpart 3727 + :init-specs ((sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0016666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-m5-8x4 + :id 867 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3728 :flags (is-3d launch-asap bit7)) + (sp-item 3729 :flags (is-3d launch-asap bit7)) + (sp-item 3730 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3730 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 32) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 48) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3728 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xd :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00d00 -2139062144 0 1 #x3fd00d00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3729 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xd :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00d00 -2139062144 0 1 #x3fd00d00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-metalhead-8x4 + :id 868 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3731 :flags (is-3d launch-asap bit7)) + (sp-item 3732 :flags (is-3d launch-asap bit7)) + (sp-item 3730 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3731 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00b00 -2139062144 0 1 #x3fd00b00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3732 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.1)) + (sp-flt spt-scale-x (meters 16)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00b00 -2139062144 0 1 #x3fd00b00 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-crimson-4x8 + :id 869 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3733 :flags (is-3d launch-asap bit7)) + (sp-item 3734 :flags (is-3d launch-asap bit7)) + (sp-item 3735 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3735 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 48) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 32) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3733 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 16)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00300 -2139062144 0 1 #x3fd00300 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3734 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 16)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00300 -2139062144 0 1 #x3fd00300 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-doctors-4x4 + :id 870 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3736 :flags (is-3d launch-asap bit7)) + (sp-item 3737 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3738 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 32) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-scale-y (meters 32) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 4.0 1.0) + (sp-flt spt-omega 822476.8) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3736 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00500 -2139062144 0 1 #x3fd00500 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3737 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00500 -2139062144 0 1 #x3fd00500 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-hiphog-4x4 + :id 871 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3739 :flags (is-3d launch-asap bit7)) + (sp-item 3740 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3739 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00900 -2139062144 0 1 #x3fd00900 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3740 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00900 -2139062144 0 1 #x3fd00900 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctysluma-sign-blank-4x4 + :id 872 + :flags (unk-4 unk-6) + :bounds (static-bspherem 0 0 0 4) + :rotate ((degrees 0) (degrees 4) (degrees 0)) + :parts ((sp-item 3741 :flags (is-3d launch-asap bit7)) + (sp-item 3742 :flags (is-3d launch-asap bit7)) + (sp-item 3738 :fade-after (meters 200) :flags (bit6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3741 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters 0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00700 -2139062144 0 1 #x3fd00700 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3742 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x3fd)) + (sp-flt spt-num 1.0) + (sp-flt spt-z (meters -0.05)) + (sp-flt spt-scale-x (meters 8)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 8)) + (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-int spt-timer -1) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-12) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-userdata) + :flags (sp-flag plain-v2) + :object (new 'static 'boxed-array :type int32 5 0 0 #x3fd00700 -2139062144 0 1 #x3fd00700 -2143272896 #x404040 0) + ) + (sp-func spt-func 'sparticle-texture-day-night) + (sp-flt spt-rotate-y (degrees 0.0)) + ) + ) + + + + diff --git a/test/offline/config/jak2/config.jsonc b/test/offline/config/jak2/config.jsonc index f90b26d1a5..a3dad84db8 100644 --- a/test/offline/config/jak2/config.jsonc +++ b/test/offline/config/jak2/config.jsonc @@ -6,7 +6,8 @@ "CGO/GAME.CGO", "DGO/CWI.DGO", "DGO/STD.DGO", - "DGO/PALOUT.DGO" + "DGO/PALOUT.DGO", + "DGO/CTA.DGO" ], "skip_compile_files": [],