jak-project/goal_src/jak3/levels/sewer/sewer-part.gc
Hat Kid 36f1592b90
decomp3: lightning renderer, nav code, texture remap, fix progress menu crash (#3461)
Also adds:

- BLERC
- Minimap (with missing texture for the map, sprites work)
- Eco Mine files
- Precursor robot boss files
- Sewer files
- Vehicle files
2024-04-12 18:44:38 -04:00

2044 lines
59 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: sewer-part.gc
;; name in dgo: sewer-part
;; dgos: SEA
(define-extern *range-color-sewer-gas* curve-color-fast)
(define-extern *range-alpha-sewer-gas* curve2d-fast)
(define-extern *range-scale-sewer-gas-x* curve2d-fast)
(define-extern *range-scale-sewer-gas-y* curve2d-fast)
(define-extern *r-curve-sewer-gas* curve2d-fast)
(define-extern *g-curve-sewer-gas* curve2d-fast)
(define-extern *b-curve-sewer-gas* curve2d-fast)
(define-extern *curve-alpha-sewer-gas* curve2d-fast)
(define-extern *curve-sewer-gas-x* curve2d-fast)
(define-extern *curve-sewer-gas-y* curve2d-fast)
;; DECOMP BEGINS
(defpartgroup group-sewer-gas
:id 1470
:flags (sp0)
:bounds (static-bspherem 0 0 0 640)
:parts ((sp-item 4856 :fade-after (meters 200) :falloff-to (meters 300) :flags (is-3d)))
)
(defpart 4856
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.15)
(:x (meters 10) (meters 50))
(:y (meters 20) (meters 40))
(:scale-x (meters 20) (meters 20))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0 128.0)
(:b 128.0 64.0)
(:a 0.0)
(:vel-x (meters -0.016666668) (meters 0.033333335))
(:vel-y (meters 0) (meters 0.0033333334))
(:scalevel-x (meters 0) (meters 0.033333335))
(:scalevel-y (meters 0) (meters 0.033333335))
(:fade-a 0.053333335)
(:timer (seconds 8))
(:flags (sp-cpuinfo-flag-13 left-multiply-quat))
(:next-time (seconds 4))
(:next-launcher 4857)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4857
:init-specs ((:fade-a -0.053333335))
)
(defpartgroup group-sewer-steamvent
:id 1471
:flags (sp1 sp4)
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 4858 :fade-after (meters 200) :falloff-to (meters 300) :flags (sp7)))
)
(defpart 4858
:init-specs ((:texture (big-cloud level-default-sprite))
(:birth-func 'birth-func-curve)
(:num 0.15)
(:x (meters -1) (meters 2))
(:y (meters -2) (meters 4))
(:z (meters 2))
(:scale-x (meters 4) (meters 8))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 150.0)
(:g 255.0)
(:b 20.0)
(:a 0.0)
(:vel-y (meters 0.0033333334) (meters 0.0016666667))
(:vel-z (meters 0.006666667) (meters 0.02))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:accel-y (meters 0.000033333334))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:userdata 0.0)
(:func 'live-func-curve)
(:launchrot-x (degrees -5) (degrees 10))
(:launchrot-y (degrees -5) (degrees 10))
)
)
(if #t
(set! *range-color-sewer-gas* (new 'static 'curve-color-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'inline-array vector 4
(new 'static 'vector :x 8.0 :y 8.0 :z 8.0 :w 128.0)
(new 'static 'vector :x 64.0 :y 64.0 :z 64.0 :w 128.0)
(new 'static 'vector :x 64.0 :y 64.0 :z 64.0 :w 128.0)
(new 'static 'vector :x 64.0 :y 64.0 :z 64.0 :w 128.0)
)
:one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-alpha-sewer-gas* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 32.0 :y 64.0 :z 65.0 :w 66.0)
:one-over-x-deltas (new 'static 'vector :x 32.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-scale-sewer-gas-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 4.0 :y 4.0 :z 5.0 :w 6.0)
:one-over-x-deltas (new 'static 'vector :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *range-scale-sewer-gas-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 4.0 :y 4.0 :z 5.0 :w 6.0)
:one-over-x-deltas (new 'static 'vector :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *r-curve-sewer-gas* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
:ys (new 'static 'vector :x 1.0 :y 0.5 :z 0.3)
:one-over-x-deltas (new 'static 'vector :x -1.0 :y -1.0 :z -1.0 :w 1.0)
)
)
)
(if #t
(set! *g-curve-sewer-gas* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
:ys (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
:one-over-x-deltas (new 'static 'vector :w 1.0)
)
)
)
(if #t
(set! *b-curve-sewer-gas* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 0.1 :y 0.1 :z 1.1 :w 2.1)
:one-over-x-deltas (new 'static 'vector :y 1.0 :z 0.9999999 :w 1.0)
)
)
)
(if #t
(set! *curve-alpha-sewer-gas* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -0.2 :z -0.7 :w -1.0)
:ys (new 'static 'vector :y 0.5 :z 1.0)
:one-over-x-deltas (new 'static 'vector :x 2.5 :y 1.0 :z -3.3333333 :w 1.0)
)
)
)
(if #t
(set! *curve-sewer-gas-x* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 1.0 :y 4.0 :z 5.0 :w 6.0)
:one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(if #t
(set! *curve-sewer-gas-y* (new 'static 'curve2d-fast
:xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
:ys (new 'static 'vector :x 1.0 :y 4.0 :z 5.0 :w 6.0)
:one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
)
)
)
(define *part-sewer-steam-puff-curve-settings* (new 'static 'particle-curve-settings
:lifetime-base (seconds 3)
:lifetime-offset (seconds 2)
:flags (particle-curve-flags pcf0 pcf1)
)
)
(set! (-> *part-id-table* 4858 init-specs 21 initial-valuef)
(the-as float *part-sewer-steam-puff-curve-settings*)
)
(set! (-> *part-sewer-steam-puff-curve-settings* color-start) *range-color-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* alpha-start) *range-alpha-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* scale-x-start) *range-scale-sewer-gas-x*)
(set! (-> *part-sewer-steam-puff-curve-settings* scale-y-start) *range-scale-sewer-gas-y*)
(set! (-> *part-sewer-steam-puff-curve-settings* r-scalar) *r-curve-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* g-scalar) *g-curve-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* b-scalar) *b-curve-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* a-scalar) *curve-alpha-sewer-gas*)
(set! (-> *part-sewer-steam-puff-curve-settings* scale-x-scalar) *curve-sewer-gas-x*)
(set! (-> *part-sewer-steam-puff-curve-settings* scale-y-scalar) *curve-sewer-gas-y*)
(defpartgroup group-sewer-hard-blowing-steam
:id 1472
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 4859 :flags (sp7)))
)
(define *steam-particle-list* (new 'static 'boxed-array :type int32 #x405c00 #x400000))
(defun birth-func-texture-group-steam ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
(particle-adgif-callback
(-> arg1 adgif)
(the-as
texture-id
(-> *steam-particle-list*
(mod (the-as int (rand-uint31-gen *random-generator*)) (-> *steam-particle-list* length))
)
)
)
0
(none)
)
(defpart 4859
:init-specs ((:texture (big-cloud level-default-sprite))
(:birth-func 'birth-func-texture-group-steam)
(:num 2.0)
(:scale-x (meters 0.3))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 0.0)
(:omega (degrees 0.1575))
(:vel-z (meters 0.2) (meters 0.033333335))
(:scalevel-x (meters 0.033333335))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.16)
(:friction 0.92)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-13 left-multiply-quat))
(:func 'sparticle-motion-blur)
(:next-time (seconds 0.335))
(:next-launcher 4860)
(:conerot-x (degrees 0) (degrees 10))
(:rotate-y (degrees 0))
(:rotate-z (degrees 0) (degrees 3600))
)
)
(defpart 4860
:init-specs ((:fade-a -0.32))
)
(defpartgroup group-sewer-green-steam
:id 1473
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 6)
:parts ((sp-item 4861 :flags (sp7)))
)
(defpart 4861
:init-specs ((:texture (big-cloud level-default-sprite))
(:birth-func 'birth-func-texture-group-steam)
(:num 2.0)
(:x (meters 0) (meters 2))
(:scale-x (meters 1) (meters 2))
(:scale-y :copy scale-x)
(:r 90.0 30.0)
(:g 130.0)
(:b 32.0)
(:a 0.0)
(:omega (degrees 0.1575))
(:vel-y (meters 0.2) (meters 0.033333335))
(:scalevel-x (meters 0.033333335))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.32)
(:friction 0.92 0.02)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-13 left-multiply-quat))
(:func 'sparticle-motion-blur)
(:next-time (seconds 0.167))
(:next-launcher 4862)
(:conerot-x (degrees 0) (degrees 10))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4862
:init-specs ((:fade-a -0.16))
)
(defpartgroup group-sewer-deadly-mist
:id 1474
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 100)
:parts ((sp-item 4863 :flags (sp7)))
)
(defpart 4863
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.5)
(:x (meters 0) (meters 2))
(:scale-x (meters 1) (meters 2))
(:scale-y :copy scale-x)
(:r 90.0 30.0)
(:g 130.0)
(:b 32.0)
(:a 0.0)
(:vel-y (meters 0.0033333334) (meters 0.016666668))
(:scalevel-x (meters 0.033333335))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.32)
(:accel-y (meters 0.00033333333))
(:friction 0.98)
(:timer (seconds 3))
(:flags (sp-cpuinfo-flag-13 left-multiply-quat))
(:next-time (seconds 0.167))
(:next-launcher 4864)
(:conerot-x (degrees 0) (degrees 90))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4864
:init-specs ((:fade-a -0.018823529))
)
(defpartgroup group-sewer-light-glow
:id 1475
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4865 :fade-after (meters 200) :flags (sp6)))
)
(defpart 4865
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:scale-x (meters 3.5) (meters 0.1))
(:rot-x (degrees 4.5))
(:rot-z (degrees -17))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 255.0)
(:b 64.0)
(:a 12.0 4.0)
(:omega (degrees 4515.75))
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 2048.0)
)
)
(defpartgroup group-sewer-panel-light-glow
:id 1476
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4866 :fade-after (meters 200) :flags (sp6)))
)
(defpart 4866
:init-specs ((:texture (glow level-default-sprite))
(:num 1.0)
(:scale-x (meters 7) (meters 0.1))
(:rot-x (degrees 4.5))
(:rot-z (degrees -17))
(:scale-y :copy scale-x)
(:r 100.0)
(:g 255.0)
(:b 255.0)
(:a 12.0 4.0)
(:omega (degrees 4515.75))
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 2048.0)
)
)
(defpartgroup group-sew-little-ridge-wake
:id 1477
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4867 :flags (sp7)))
)
(defpart 4867
:init-specs ((:texture (water-drops level-default-sprite))
(:num 0.3 0.8)
(:scale-x (meters 0.5) (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters 0.006666667) (meters 0.006666667))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:accel-y (meters -0.001))
(:accel-z (meters 0.001))
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-13))
(:conerot-x (degrees -5) (degrees 10))
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-fan-lasersight
:id 1478
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4868 :flags (sp6 sp7)) (sp-item 4869 :flags (sp6 sp7)))
)
(defpart 4868
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:scale-x (meters 1.5))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 16.0)
(:g 64.0)
(:b 10.0)
(:a 64.0 1.0)
(:omega (degrees 6761.25))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 4096.0)
(:rotate-y (degrees 0))
)
)
(defpart 4869
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:z (meters -1))
(:scale-x (meters 1.5))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 16.0)
(:g 64.0)
(:b 10.0)
(:a 64.0 1.0)
(:omega (degrees 6761.25))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 4096.0)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-fan-lasersight-hostile
:id 1479
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4870 :flags (sp6 sp7)) (sp-item 4871 :flags (sp6 sp7)))
)
(defpart 4870
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:scale-x (meters 1.5))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 112.0)
(:g 16.0)
(:b 10.0)
(:a 64.0 1.0)
(:omega (degrees 6761.25))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 4096.0)
(:rotate-y (degrees 0))
)
)
(defpart 4871
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:z (meters -1))
(:scale-x (meters 1.5))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 112.0)
(:g 16.0)
(:b 10.0)
(:a 64.0 1.0)
(:omega (degrees 6761.25))
(:timer (seconds 0.017))
(:flags (glow))
(:userdata 1228.8)
(:rotate-y (degrees 0))
)
)
(defpart 4872
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:z (meters -1))
(:scale-x (meters 3) (meters 0.1))
(:rot-x (degrees 11.25))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 0.0)
(:b 0.0)
(:a 30.0 2.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 4096.0)
)
)
(defpart 4873
:init-specs ((:texture (glow-soft level-default-sprite))
(:num 1.0)
(:z (meters -1))
(:scale-x (meters 3) (meters 0.1))
(:rot-x (degrees 11.25))
(:scale-y :copy scale-x)
(:r 0.0)
(:g 64.0)
(:b 0.0)
(:a 30.0 2.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 4096.0)
)
)
(defpartgroup group-sew-wake-small
:id 1480
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4874 :flags (is-3d sp7)))
)
(defpart 4874
:init-specs ((:texture (splash-foam level-default-sprite))
(:num 0.2)
(:scale-x (meters 1) (meters 1))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:scalevel-x (meters 0.008333334) (meters 0.0016666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.07111111 -0.07111111)
(:accel-z (meters 0.00033333333))
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpartgroup group-sew-grate-wake
:id 1481
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4875 :flags (is-3d sp7)))
)
(defpart 4875
:init-specs ((:texture (water-wake sewa-sprite))
(:num 0.5)
(:x (meters 0))
(:z (meters -6) 6 (meters 2.1))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-x (degrees 0) 1 (degrees 180))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:scalevel-x (meters 0.016666668) (meters 0.0016666667))
(:scalevel-y (meters 0.006666667) (meters 0.0016666667))
(:fade-a -0.10666667 -0.10666667)
(:accel-z (meters 0.00033333333))
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
(:rotate-y (degrees 90))
)
)
(defpartgroup group-sew-yellow-grate-wake
:id 1482
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4876 :flags (is-3d sp7)))
)
(defpart 4876
:init-specs ((:texture (water-wake sewa-sprite))
(:num 1.0)
(:x (meters 0))
(:z (meters -7.6) 4 (meters 3))
(:scale-x (meters 0.5) (meters 0.3))
(:rot-x (degrees 0) 1 (degrees 180))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 64.0 64.0)
(:scalevel-x (meters 0.016666668) (meters 0.0016666667))
(:scalevel-y (meters 0.013333334) (meters 0.0016666667))
(:fade-a -0.21333334 -0.21333334)
(:accel-x (meters 0.00033333333))
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 launch-along-z))
(:rotate-y (degrees 90))
)
)
(defpartgroup group-sewer-falls-froth
:id 1483
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4877 :flags (is-3d sp7))
(sp-item 4878 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
)
)
(defpart 4877
:init-specs ((:texture (water-froth sewa-sprite))
(:num 0.02 0.02)
(:x (meters -4) (meters 8))
(:z (meters -10))
(:scale-x (meters 5) (meters 20))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 110.0)
(:b 60.0 20.0)
(:a 32.0 32.0)
(:vel-z (meters 0.02) (meters 0.006666667))
(:rotvel-y (degrees -0.010000001) (degrees 0.020000001))
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 launch-along-z left-multiply-quat))
(:next-time (seconds 5))
(:next-launcher 4879)
(:rotate-y (degrees 0))
)
)
(defpart 4879
:init-specs ((:fade-a -0.042666666))
)
(defpart 4878
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -5) (meters 10))
(:y (meters 0))
(:z (meters -0.3) (meters 0.6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-y (meters 0.00033333333))
(:accel-z (meters 0.00016666666))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-whirlpool-center
:id 1484
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4880 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
(sp-item 4881 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
)
)
(defpart 4881
:init-specs ((:texture (water-drops level-default-sprite))
(:num 0.5)
(:x (meters 0) (meters 1))
(:y (meters -0.5))
(:scale-x (meters 0.2) (meters 0.2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:vel-y (meters 0.016666668))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335)
(:accel-y (meters -0.00033333333))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:conerot-x (degrees 0) (degrees 2))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 4880
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.5)
(:x (meters 0) (meters 2))
(:y (meters 1))
(:scale-x (meters 1) (meters 2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-y (meters 0.0033333334) (meters 0.016666668))
(:scalevel-x (meters 0.006666667))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.32)
(:accel-y (meters 0) (meters 0.00033333333))
(:friction 0.95)
(:timer (seconds 3))
(:flags (sp-cpuinfo-flag-13 left-multiply-quat))
(:next-time (seconds 0.167))
(:next-launcher 4882)
(:conerot-x (degrees 0) (degrees 90))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4882
:init-specs ((:fade-a -0.018823529))
)
(defpartgroup group-sewer-falls-tilt
:id 1485
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4883 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7)))
)
(defpart 4883
:init-specs ((:texture (water-drops level-default-sprite))
(:num 6.0)
(:x (meters -9) (meters 18))
(:y (meters 0.4))
(:z (meters -0.3) (meters 0.6))
(:scale-x (meters 0.5) (meters 0.5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.006666667) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-x (meters -0.00066666666))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-waterfall-base
:id 1486
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4884 :fade-after (meters 60) :falloff-to (meters 100) :flags (is-3d sp7))
(sp-item 4885 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
)
)
(defpart 4884
:init-specs ((:texture (laser-hit2 level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:z (meters 1))
(:scale-x (meters 3) (meters 0.5))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-z (meters 0.00033333333))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406400 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4885
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -1.5) (meters 3))
(:y (meters 0))
(:z (meters -0.3) (meters 0.6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-waterfall-base-big
:id 1487
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 20)
:parts ((sp-item 4886 :fade-after (meters 100) :falloff-to (meters 400) :flags (sp7))
(sp-item 4887 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
)
)
(defpart 4886
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.3 0.3)
(:x (meters -10) (meters 15))
(:y (meters -0.4))
(:z (meters 0))
(:scale-x (meters 1) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-z (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.021333333 0.021333333)
(:accel-y (meters 0.000033333334) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 2.5))
(:next-launcher 4888)
(:conerot-y (degrees -10) (degrees 20))
(:rotate-y (degrees 0))
)
)
(defpart 4888
:init-specs ((:fade-a -0.042666666 -0.042666666))
)
(defpart 4889
:init-specs ((:texture (laser-hit2 level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.1)
(:z (meters 1))
(:scale-x (meters 12) (meters 0.5))
(:rot-y (degrees 0) 1 (degrees 180))
(:scale-y (meters 3) (meters 0.5))
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:scalevel-x (meters 0.013333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-z (meters 0.00033333333))
(:friction 0.9)
(:timer (seconds 4))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406400 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4890
:init-specs ((:texture (laser-hit2 level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.1)
(:z (meters 1))
(:scale-x (meters 3) (meters 0.5))
(:rot-y (degrees 90) 1 (degrees 180))
(:scale-y (meters 12) (meters 0.5))
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:scalevel-x (meters 0.013333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-z (meters 0.00033333333))
(:friction 0.9)
(:timer (seconds 4))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406400 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4887
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -6) (meters 12))
(:y (meters 0))
(:z (meters -0.3) (meters 0.6))
(:scale-x (meters 1) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-waterfall-base-tube
:id 1488
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 20)
:parts ((sp-item 4891 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)))
)
(defpart 4891
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -6) (meters 12))
(:y (meters 0))
(:z (meters -0.3) (meters 0.6))
(:scale-x (meters 1) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 50.0 50.0)
(:b 40.0)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:vel-z (meters 0.0033333334) (meters 0.02))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-wake-medium
:id 1489
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4892 :flags (sp7)) (sp-item 4893 :flags (sp7)) (sp-item 4894 :flags (is-3d sp7)))
)
(defpart 4892
:init-specs ((:texture (water-drops level-default-sprite))
(:num 5.0)
(:x (meters -3.5))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 100.0 28.0)
(:vel-y (meters 0.0033333334) (meters 0.026666667))
(:scalevel-x (meters 0.01))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.85333335)
(:accel-y (meters -0.001))
(:accel-z (meters 0.0016666667))
(:friction 0.96)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:func 'check-drop-group-center)
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees -10) (degrees -90))
)
)
(defpart 4893
:init-specs ((:texture (water-drops level-default-sprite))
(:num 5.0)
(:x (meters -3.5))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 100.0 28.0)
(:vel-y (meters 0.0033333334) (meters 0.026666667))
(:scalevel-x (meters 0.01))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.85333335)
(:accel-y (meters -0.001))
(:accel-z (meters -0.0016666667))
(:friction 0.96)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:func 'check-drop-group-center)
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees 180) (degrees 100.00001))
)
)
(defpart 4894
:init-specs ((:texture (splash-foam level-default-sprite))
(:num 0.5)
(:scale-x (meters 8) (meters 1))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-z (meters 0.02))
(:scalevel-x (meters -0.013333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.07111111)
(:accel-x (meters -0.00013333333))
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-wake-large
:id 1490
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4895 :flags (is-3d sp7)))
)
(defpart 4895
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.1)
(:scale-x (meters 3.3))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0)
(:scalevel-x (meters 0.01))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.10666667)
(:accel-x (meters 0.00066666666))
(:friction 0.98)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:next-time (seconds 0.335))
(:next-launcher 4896)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 4896
:init-specs ((:scalevel-x (meters -0.006666667)) (:scalevel-y :copy scalevel-x))
)
(defpartgroup group-sew-wake-tiny
:id 1491
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 4897 :flags (is-3d sp7)))
)
(defpart 4897
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.2)
(:scale-x (meters 2))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0)
(:scalevel-x (meters -0.0026666666))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.10666667)
(:accel-x (meters 0.00066666666))
(:friction 0.98)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpartgroup group-sewer-deep-mist
:id 1492
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 200)
:parts ((sp-item 4898 :flags (sp7)))
)
(defpart 4898
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.1 0.1)
(:x (meters 0))
(:y (meters 0))
(:z (meters 0) (meters 10))
(:scale-x (meters 10) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 100.0 20.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-x (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.008 0.008)
(:accel-y (meters 0.0001) (meters 0.000033333334))
(:friction 0.99)
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 6.667))
(:next-launcher 4899)
(:conerot-y (degrees -10) (degrees 20))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 4899
:init-specs ((:fade-a -0.032 -0.032))
)
(defpartgroup group-sewer-waterfall-base-huge
:id 1493
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 30)
:parts ((sp-item 4900 :fade-after (meters 50) :falloff-to (meters 100) :flags (sp7))
(sp-item 4901 :fade-after (meters 50) :falloff-to (meters 100) :flags (sp7))
(sp-item 4902 :fade-after (meters 50) :falloff-to (meters 100) :flags (sp7))
)
)
(defpart 4900
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.3 0.3)
(:x (meters 0))
(:y (meters -0.4))
(:z (meters -40) (meters 80))
(:scale-x (meters 1) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-x (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.013333334) (meters 0.013333334))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.021333333 0.021333333)
(:accel-y (meters 0.000033333334) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 2.5))
(:next-launcher 4903)
(:conerot-y (degrees -10) (degrees 20))
(:rotate-y (degrees 0))
)
)
(defpart 4903
:init-specs ((:fade-a -0.042666666 -0.042666666))
)
(defpart 4901
:init-specs ((:texture (water-drops level-default-sprite))
(:num 10.0)
(:x (meters -0.3) (meters 0.6))
(:y (meters 0))
(:z (meters -40) (meters 40))
(:scale-x (meters 1) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-x (meters 0.00033333333) (meters 0.00066666666))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpart 4902
:init-specs ((:texture (water-drops level-default-sprite))
(:num 10.0)
(:x (meters -0.3) (meters 0.6))
(:y (meters 0))
(:z (meters 0) (meters 40))
(:scale-x (meters 1) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-x (meters 0.00033333333) (meters 0.00066666666))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-waterfall-base-top
:id 1494
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4904 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
(sp-item 4905 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
)
)
(defpart 4904
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.3 0.3)
(:x (meters 0))
(:y (meters -0.4))
(:z (meters -30) (meters 60))
(:scale-x (meters 1) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-x (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.013333334) (meters 0.013333334))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.021333333 0.021333333)
(:accel-y (meters 0.000033333334) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 2.5))
(:next-launcher 4903)
(:conerot-y (degrees -10) (degrees 20))
(:rotate-y (degrees 0))
)
)
(defpart 4905
:init-specs ((:texture (water-drops level-default-sprite))
(:num 20.0)
(:x (meters -0.3) (meters 0.6))
(:y (meters 0))
(:z (meters -30) (meters 60))
(:scale-x (meters 1) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:vel-y (meters -0.01))
(:scalevel-x (meters 0.0033333334) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.256)
(:accel-x (meters 0.00033333333) (meters 0.00066666666))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-4-waterfalls
:id 1495
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 20)
:parts ((sp-item 4906 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
(sp-item 4907 :fade-after (meters 60) :falloff-to (meters 100) :flags (is-3d sp7))
(sp-item 4908 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
(sp-item 4909 :fade-after (meters 60) :falloff-to (meters 100) :flags (is-3d sp7))
(sp-item 4910 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
(sp-item 4911 :fade-after (meters 60) :falloff-to (meters 100) :flags (is-3d sp7))
(sp-item 4912 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
(sp-item 4913 :fade-after (meters 60) :falloff-to (meters 100) :flags (is-3d sp7))
(sp-item 4914 :fade-after (meters 60) :falloff-to (meters 100) :flags (sp7))
)
)
(defpart 4906
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.5 0.5)
(:x (meters 0))
(:y (meters -0.4))
(:z (meters -20) (meters 35))
(:scale-x (meters 1) (meters 4))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-x (meters 0) (meters 0.06666667))
(:scalevel-x (meters 0.006666667) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.021333333 0.021333333)
(:accel-y (meters 0.000033333334) (meters 0.000033333334))
(:friction 0.95)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 2.5))
(:next-launcher 4915)
(:conerot-y (degrees -10) (degrees 20))
(:rotate-y (degrees 0))
)
)
(defpart 4915
:init-specs ((:fade-a -0.042666666 -0.042666666))
)
(defpart 4907
:init-specs ((:texture (water-drops level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:x (meters 1))
(:z (meters 13))
(:scale-x (meters 6) (meters 0.5))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-x (meters 0.00066666666))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4908
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -0.5) (meters 1))
(:y (meters 0))
(:z (meters 10) (meters 6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0 64.0)
(:vel-y (meters -0.013333334))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.4 -0.4)
(:accel-x (meters 0.00033333333) (meters 0.00033333333))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpart 4909
:init-specs ((:texture (water-drops level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:x (meters 1))
(:z (meters 4.6))
(:scale-x (meters 6) (meters 0.5))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-x (meters 0.00066666666))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4910
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -0.5) (meters 1))
(:y (meters 0))
(:z (meters 1.4) (meters 6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0 64.0)
(:vel-y (meters -0.013333334))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.4 -0.4)
(:accel-x (meters 0.00033333333) (meters 0.00033333333))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpart 4911
:init-specs ((:texture (water-drops level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:x (meters 1))
(:z (meters -3))
(:scale-x (meters 6) (meters 0.5))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-x (meters 0.00066666666))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4912
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -0.5) (meters 1))
(:y (meters 0))
(:z (meters -6.5) (meters 6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0 64.0)
(:vel-y (meters -0.013333334))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.4 -0.4)
(:accel-x (meters 0.00033333333) (meters 0.00033333333))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpart 4913
:init-specs ((:texture (water-drops level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:x (meters 1))
(:z (meters -11.5))
(:scale-x (meters 6) (meters 0.5))
(:rot-y (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0 16.0)
(:scalevel-x (meters 0.006666667) (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.053333335 -0.053333335)
(:accel-x (meters 0.00066666666))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0))
)
)
(defpart 4914
:init-specs ((:texture (water-drops level-default-sprite))
(:num 4.0)
(:x (meters -0.5) (meters 1))
(:y (meters 0))
(:z (meters -15) (meters 6))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0 64.0)
(:vel-y (meters -0.013333334))
(:scalevel-x (meters 0.0033333334) (meters 0.006666667))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.4 -0.4)
(:accel-x (meters 0.00033333333) (meters 0.00033333333))
(:accel-y (meters 0.00033333333))
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-moving-step-a-wake
:id 1496
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 5)
:parts ((sp-item 4916 :flags (sp7)) (sp-item 4917 :flags (sp7)) (sp-item 4918 :flags (is-3d sp7)))
)
(defpart 4916
:init-specs ((:texture (water-drops level-default-sprite))
(:num 2.0)
(:x (meters -3.5))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 100.0 28.0)
(:vel-y (meters 0.0033333334) (meters 0.026666667))
(:scalevel-x (meters 0.01))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.85333335)
(:accel-y (meters -0.001))
(:accel-z (meters 0.0016666667))
(:friction 0.96)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:func 'check-drop-group-center)
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees 80) (degrees -90))
)
)
(defpart 4917
:init-specs ((:texture (water-drops level-default-sprite))
(:num 2.0)
(:x (meters -3.5))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 100.0 28.0)
(:vel-y (meters 0.0033333334) (meters 0.026666667))
(:scalevel-x (meters 0.01))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.85333335)
(:accel-y (meters -0.001))
(:accel-z (meters -0.0016666667))
(:friction 0.96)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:func 'check-drop-group-center)
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees 260) (degrees 100.00001))
)
)
(defpart 4918
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.1)
(:scale-x (meters 6.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 64.0)
(:scalevel-x (meters 0.01))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.10666667)
(:accel-x (meters 0.00066666666))
(:friction 0.98)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:next-time (seconds 0.335))
(:next-launcher 4919)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 4919
:init-specs ((:scalevel-x (meters -0.006666667)) (:scalevel-y :copy scalevel-x))
)
(defpartgroup group-sew-moving-step-b-wake
:id 1497
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 5)
:parts ((sp-item 4920 :fade-after (meters 80) :falloff-to (meters 100) :flags (sp7))
(sp-item 4921 :fade-after (meters 80) :falloff-to (meters 100) :flags (is-3d sp7))
)
)
(defpart 4920
:init-specs ((:texture (water-drops level-default-sprite))
(:num 3.0)
(:x (meters -4.2) (meters 8.4))
(:z (meters 1.2))
(:scale-x (meters 0.3) (meters 0.3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 100.0 28.0)
(:vel-y (meters 0.0033333334) (meters 0.013333334))
(:scalevel-x (meters 0.01))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.42666668)
(:accel-y (meters -0.0016666667))
(:accel-z (meters 0.001))
(:friction 0.96)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:func 'check-drop-group-center)
(:conerot-z (degrees -5) (degrees 10))
(:rotate-y (degrees 0))
)
)
(defpart 4921
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.4)
(:y (meters 0.8))
(:z (meters 1.5))
(:scale-x (meters 9) (meters 1))
(:rot-y (degrees 0))
(:scale-y (meters 1) (meters 1))
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 32.0 32.0)
(:scalevel-y (meters 0.013333334))
(:fade-a -0.21333334)
(:accel-z (meters 0.001))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-x (degrees 55))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sew-grate-bubbles
:id 1498
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4922 :fade-after (meters 80) :falloff-to (meters 100) :flags (is-3d sp7)))
)
(defpart 4922
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.2)
(:z (meters -1))
(:scale-x (meters 4) (meters 0.5))
(:rot-y (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 16.0)
(:vel-z (meters 0.033333335))
(:scalevel-x (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.017777778 -0.017777778)
(:accel-z (meters 0.00066666666))
(:friction 0.9)
(:timer (seconds 3))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x408200))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-slide-froth
:id 1499
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 8)
:parts ((sp-item 4923 :fade-after (meters 80) :falloff-to (meters 100) :flags (is-3d sp7)))
)
(defpart 4923
:init-specs ((:texture (splash-foam level-default-sprite))
(:birth-func 'birth-func-texture-group)
(:num 0.5)
(:x (meters -2) (meters 4))
(:z (meters -1))
(:scale-x (meters 4) (meters 0.5))
(:rot-y (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 120.0 50.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-z (meters 0.033333335))
(:scalevel-x (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.32)
(:accel-z (meters 0.00066666666))
(:friction 0.9 0.03)
(:timer (seconds 3))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
(:userdata :data (new 'static 'boxed-array :type int32 5 0 0 #x406500 #x58300600))
(:next-time (seconds 0.335))
(:next-launcher 4924)
(:rotate-y (degrees 0))
)
)
(defpart 4924
:init-specs ((:fade-a -0.04))
)
(defpartgroup group-flyingsaw-sparks
:id 1500
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 10)
:parts ((sp-item 4925 :flags (sp7)) (sp-item 4926 :flags (sp7)))
)
(defpart 4925
:init-specs ((:texture (hitspark level-default-sprite))
(:num 1.0)
(:scale-x (meters 0.1) (meters 0.5))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 255.0)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-3))
)
)
(defpart 4926
:init-specs ((:texture (motion-blur-part level-default-sprite))
(:num 0.5 0.5)
(:scale-x (meters 0.05) (meters 0.05))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 255.0)
(:omega (degrees 0.0225))
(:vel-y (meters 0.033333335) (meters 0.033333335))
(:fade-g -0.64)
(:fade-b -2.56)
(:fade-a -1.28 -1.28)
(:accel-y (meters -0.0013333333))
(:friction 0.9)
(:timer (seconds 0.335))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:func 'sparticle-motion-blur)
(:conerot-x (degrees 0) (degrees 360))
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpartgroup group-sew-fan-gust
:id 1501
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 20)
:parts ((sp-item 4927 :flags (sp7)))
)
(defpart 4927
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 6.0)
(:y (meters 1) (meters 0.5))
(:scale-x (meters 1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 8.0 8.0)
(:vel-z (meters 0.1))
(:scalevel-x (meters 0.013333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.064)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2))
(:conerot-x (degrees 0) (degrees 20))
(:rotate-z (degrees 0) (degrees 3600))
)
)
(defpartgroup group-sewer-rising-bubbles
:id 1502
:flags (sp0)
:bounds (static-bspherem 0 0 0 40)
:parts ((sp-item 4928 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)))
)
(defpart 4928
:init-specs ((:texture (lakedrop level-default-sprite))
(:num 0.01 0.5)
(:x (meters 0) (meters 2))
(:y (meters 0))
(:scale-x (meters 0.1))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 0.0)
(:accel-y (meters 0.00083333335))
(:timer (seconds 3.667))
(:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:func 'spt-func-birth-on-bubble-pop)
(:next-time (seconds 0.017))
(:next-launcher 4929)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 4929
:init-specs ((:scale-x (meters 0.2) (meters 0.2))
(:scale-y :copy scale-x)
(:fade-a -0.04 0.16)
(:accel-x (meters -0.00033333333) 1 (meters 0.00066666666))
(:accel-z (meters -0.00033333333) 1 (meters 0.00066666666))
(:friction 0.9)
(:next-time (seconds 0.1) (seconds 0.03))
(:next-launcher 4929)
)
)
;; WARN: Return type mismatch (pointer process) vs none.
(defun spt-func-birth-on-bubble-pop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
(when (zero? (-> arg1 timer))
(cond
((logtest? (-> *part-group-id-table* 1503 flags) (sp-group-flag sp13))
(let ((v1-6 (-> *launch-matrix* trans))
(a0-1 (new 'stack-no-clear 'vector))
)
(set! (-> a0-1 x) (-> arg2 launchrot x))
(set! (-> a0-1 y) (-> arg2 launchrot y))
(set! (-> a0-1 z) (-> arg2 launchrot z))
(set! (-> a0-1 w) 1.0)
(set! (-> v1-6 quad) (-> a0-1 quad))
)
(part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1503))
)
(else
(let ((v1-19 (-> *launch-matrix* trans))
(a0-6 (new 'stack-no-clear 'vector))
)
(set! (-> a0-6 x) (-> arg2 launchrot x))
(set! (-> a0-6 y) (-> arg2 launchrot y))
(set! (-> a0-6 z) (-> arg2 launchrot z))
(set! (-> a0-6 w) 1.0)
(set! (-> v1-19 quad) (-> a0-6 quad))
)
(part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1503))
)
)
)
(none)
)
(defpartgroup group-sewer-rising-bubbles-pop
:id 1503
:duration (seconds 1.5)
:linger-duration (seconds 0)
:flags (sp0)
:bounds (static-bspherem 0 0 0 40)
:parts ((sp-item 4930 :fade-after (meters 100) :falloff-to (meters 200) :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035))
)
)
(defpart 4930
:init-specs ((:texture (splash-foam level-default-sprite))
(:num 1.0)
(:scale-x (meters 0.3) (meters 0.3))
(:rot-y (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 32.0 32.0)
(:scalevel-x (meters 0.0033333334))
(:scalevel-y :copy scalevel-x)
(:fade-a -0.21333334)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2))
(:rotate-y (degrees 0))
)
)
(defpartgroup group-sewer-abyss-waterfall-mist
:id 1504
:flags (sp0 sp4)
:bounds (static-bspherem 0 0 0 100)
:parts ((sp-item 4931 :fade-after (meters 200) :falloff-to (meters 400) :flags (sp7))
(sp-item 4932 :fade-after (meters 200) :falloff-to (meters 400) :flags (sp7))
)
)
(defpart 4932
:init-specs ((:texture (ceiling-dust sewa-sprite))
(:num 0.04 0.02)
(:x (meters 0))
(:y (meters 0))
(:z (meters 0))
(:scale-x (meters 4) (meters 2))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-z (meters 0.046666667))
(:scalevel-x (meters 0.00033333333) (meters 0.0016666667))
(:scalevel-y (meters 0.0033333334) (meters 0.0033333334))
(:fade-a 0.021333333 0.021333333)
(:accel-y (meters -0.0005))
(:friction 0.99)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 2.5))
(:next-launcher 4933)
(:conerot-y (degrees -20) (degrees 40))
(:rotate-y (degrees 0))
)
)
(defpart 4933
:init-specs ((:fade-a -0.042666666 -0.042666666))
)
(defpart 4931
:init-specs ((:texture (big-cloud level-default-sprite))
(:num 0.2 0.2)
(:x (meters -5) (meters 10))
(:y (meters 1))
(:z (meters -10))
(:scale-x (meters 6) (meters 2))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 180.0 70.0)
(:g :copy r)
(:b :copy r)
(:a 0.0)
(:vel-z (meters 0.046666667))
(:scalevel-x (meters 0.006666667) (meters 0.026666667))
(:rotvel-z (degrees -0.13333334) (degrees 0.26666668))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.064 0.064)
(:accel-y (meters -0.00006666667) (meters -0.00006666667))
(:friction 0.99)
(:timer (seconds 5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
(:next-time (seconds 0.835))
(:next-launcher 4934)
(:conerot-y (degrees -30) (degrees 60))
(:rotate-y (degrees 0))
)
)
(defpart 4934
:init-specs ((:fade-a -0.032 -0.032))
)