Files
jak-project/goal_src/jak2/levels/forest/forest-part.gc
T
Hat Kid 6a06291e6e jak1, jak2: add get-texture macro (#3778)
Ports the `get-texture` macro added in Jak 3 to Jak 1 and 2.
2024-11-26 11:29:34 +01:00

1569 lines
48 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: forest-part.gc
;; name in dgo: forest-part
;; dgos: FOR
;; DECOMP BEGINS
(deftype forest-part (part-spawner)
()
)
(defpartgroup group-forest-cattails
:id 477
:bounds (static-bspherem 20 0 20 50)
:parts ((sp-item 2110 :fade-after (meters 200) :falloff-to (meters 250) :period (seconds 1) :length (seconds 0.017) :binding 2109)
(sp-item 2110 :fade-after (meters 200) :falloff-to (meters 250) :period (seconds 2.235) :length (seconds 0.017) :binding 2109)
(sp-item 2110 :fade-after (meters 200) :falloff-to (meters 250) :period (seconds 3.45) :length (seconds 0.017) :binding 2109)
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
(sp-item 2109 :flags (bit1 start-dead launch-asap))
)
)
(defpart 2110
:init-specs ((:texture (harddot effects))
(:num 1.0)
(:x (meters -4) (meters 8))
(:y (meters 2) (meters 2))
(:z (meters -4) (meters 8))
(:scale-x (meters 0.01))
(:scale-y :copy scale-x)
(:r 0.0)
(:g 0.0)
(:b 0.0)
(:a 128.0)
(:vel-x (meters 0.0033333334) (meters 0.006666667))
(:vel-y (meters 0) (meters 0.0033333334))
(:vel-z (meters 0.0033333334) (meters 0.006666667))
(:scalevel-x (meters -0.00000033333333))
(:scalevel-y :copy scalevel-x)
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
)
)
(defpart 2109
:init-specs ((:texture (cattail forest-sprite))
(:num 1.0)
(:x (meters 0) (meters 16))
(:y (meters 0) (meters 16))
(:z (meters 1) (meters 1))
(:scale-x (meters 0.3))
(:rot-z (degrees -60) (degrees 20))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 128.0)
(:b 128.0)
(:a 0.0)
(:omega (degrees 0) (degrees 360))
(:vel-x (meters -0.0044444446) 1 (meters 0.008888889))
(:vel-y (meters -0.00037037037) (meters 0.00074074074))
(:vel-z (meters -0.00083333335) (meters 0.0016666667))
(:fade-a 0.256)
(:timer (seconds 10))
(:flags (sp-cpuinfo-flag-2 ready-to-launch sp-cpuinfo-flag-12))
(:next-time (seconds 1.667))
(:next-launcher 2111)
)
)
(defpart 2111
:init-specs ((:rotvel-z (degrees 0.05)) (:fade-a 0.0) (:next-time (seconds 6.667)) (:next-launcher 2112))
)
(defpart 2112
:init-specs ((:fade-a -0.256))
)
(defpartgroup group-forest-waterfall-1
:id 478
:flags (unk-6)
:bounds (static-bspherem 0 0 0 20)
:rotate ((degrees 0) (degrees 80) (degrees 0))
:parts ((sp-item 2113 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2114 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2115 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2115
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 1.0 1.0)
(:x (meters -5.5) (meters 10))
(:y (meters 0.25) (meters 0.25))
(:z (meters 1) (meters 1))
(:scale-x (meters 6) (meters 4))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 6) (meters 4))
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-y (meters 0) (meters 0.01))
(:vel-z (meters 0) (meters 0.02))
(:scalevel-x (meters 0.006666667) (meters 0.016666668))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.384)
(:accel-y (meters -0.00016666666) (meters -0.001))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2113
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:x (meters -5) (meters 10))
(:y (meters 10.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 2) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.3375))
(:vel-x (meters -0.013333334) (meters 0.026666667))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.04) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.0033333334) (meters 0.00033333333))
(:friction 0.97 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2114
:init-specs ((:texture (lakedrop effects))
(:num 0.1)
(:x (meters -5) (meters 10))
(:y (meters 11.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.2) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.016666668) (meters 0.033333335))
(:vel-y (meters 0.006666667) (meters 0.016666668))
(:vel-z (meters 0.06666667) (meters 0.013333334))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.0033333334) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-2
:id 479
:flags (unk-6)
:bounds (static-bspherem 0 10 0 30)
:rotate ((degrees 0) (degrees 45) (degrees 0))
:parts ((sp-item 2118 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2119 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2120 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2120
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 1.0)
(:x (meters -2.5) (meters 5))
(:y (meters 0.25) (meters 0.25))
(:z (meters 0) (meters 1))
(:scale-x (meters 3) (meters 2.5))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-y (meters 0) (meters 0.02))
(:vel-z (meters 0) (meters 0.02))
(:scalevel-x (meters 0.01) (meters 0.0033333334))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.384)
(:accel-y (meters -0.00016666666) (meters -0.00083333335))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2118
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:x (meters -1) (meters 2))
(:y (meters 17.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.1125))
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.02) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2119
:init-specs ((:texture (lakedrop effects))
(:num 0.1)
(:x (meters -1) (meters 2))
(:y (meters 17.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.2) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.01) (meters 0.02))
(:vel-y (meters 0.006666667) (meters 0.016666668))
(:vel-z (meters 0.026666667) (meters 0.033333335))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.0033333334) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-3
:id 480
:flags (unk-6)
:bounds (static-bspherem 0 10 0 30)
:rotate ((degrees 0) (degrees 90) (degrees 0))
:parts ((sp-item 2121 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2122 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2123 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2123
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 1.0)
(:x (meters -2.5) (meters 5))
(:y (meters 0.25) (meters 0.25))
(:z (meters 0) (meters 1))
(:scale-x (meters 3) (meters 2.5))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-y (meters 0) (meters 0.02))
(:vel-z (meters 0) (meters 0.02))
(:scalevel-x (meters 0.01) (meters 0.0033333334))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.368)
(:accel-y (meters 0) (meters -0.00066666666))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2121
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:x (meters 0) (meters 1))
(:y (meters 19.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.1125))
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.02) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.767))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2122
:init-specs ((:texture (lakedrop effects))
(:num 0.1)
(:x (meters 0) (meters 2))
(:y (meters 19.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.2) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.01) (meters 0.02))
(:vel-y (meters 0.006666667) (meters 0.016666668))
(:vel-z (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.0033333334) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-4
:id 481
:flags (unk-6)
:bounds (static-bspherem 0 15 0 30)
:rotate ((degrees 0) (degrees 50.000004) (degrees 0))
:parts ((sp-item 2124 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2125 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2126 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2127 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2126
:init-specs ((:texture (lakedrop effects))
(:num 1.0)
(:x (meters -1.5) (meters 3))
(:y (meters 0) (meters 0.5))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.03375))
(:vel-x (meters 0) (meters 0.1))
(:vel-y (meters 0.06666667) (meters 0.13333334))
(:vel-z (meters 0) (meters 0.1))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'check-drop-level-forest-drop-userdata)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2127
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 0.8)
(:x (meters -1) (meters 5))
(:y (meters 0.25) (meters 0.25))
(:z (meters -0.5) (meters 2))
(:scale-x (meters 5) (meters 3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 5) (meters 3))
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-x (meters 0) (meters 0.053333335))
(:vel-y (meters 0) (meters 0.033333335))
(:vel-z (meters 0) (meters 0.053333335))
(:scalevel-x (meters 0.006666667) (meters 0.016666668))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.384)
(:friction 0.95 0.02)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2124
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:x (meters -1.5) (meters 3))
(:y (meters 25.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.225))
(:vel-x (meters -0.0033333334) (meters 0.006666667))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2125
:init-specs ((:texture (lakedrop effects))
(:num 0.25)
(:x (meters -1.5) (meters 3))
(:y (meters 26.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.01) (meters 0.1))
(:vel-y (meters 0) (meters 0.02))
(:vel-z (meters 0.026666667) (meters 0.053333335))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-5
:id 482
:flags (unk-6)
:bounds (static-bspherem 0 15 0 30)
:rotate ((degrees 0) (degrees 45) (degrees 0))
:parts ((sp-item 2128 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2129 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2130 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2131 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2130
:init-specs ((:texture (lakedrop effects))
(:num 1.0)
(:x (meters -1.5) (meters 3))
(:y (meters 0) (meters 0.5))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.03375))
(:vel-x (meters 0.05) (meters -0.1))
(:vel-y (meters 0.06666667) (meters 0.13333334))
(:vel-z (meters -0.05) (meters 0.1))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'check-drop-level-forest-drop-userdata)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2131
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 0.8)
(:x (meters 0) (meters 3))
(:y (meters 0.25) (meters 0.25))
(:z (meters -2) (meters 2))
(:scale-x (meters 5) (meters 3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 5) (meters 3))
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-x (meters 0.026666667) (meters -0.053333335))
(:vel-y (meters 0) (meters 0.033333335))
(:vel-z (meters 0) (meters 0.053333335))
(:scalevel-x (meters 0.006666667) (meters 0.016666668))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.384)
(:friction 0.95 0.02)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2128
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:y (meters 23.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.225))
(:vel-x (meters -0.0016666667) (meters 0.0033333334))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2129
:init-specs ((:texture (lakedrop effects))
(:num 0.25)
(:x (meters -1) (meters 2))
(:y (meters 24) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.033333335) (meters 0.083333336))
(:vel-y (meters 0) (meters 0.02))
(:vel-z (meters 0.026666667) (meters 0.053333335))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-6
:id 483
:flags (unk-6)
:bounds (static-bspherem 0 5 0 10)
:rotate ((degrees 0) (degrees 110) (degrees 0))
:parts ((sp-item 2132 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2133 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2134 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2134
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 0.4)
(:x (meters -0.5) (meters 1))
(:y (meters 1.25) (meters 0.25))
(:z (meters 0) (meters 1))
(:scale-x (meters 2) (meters 1.5))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-y (meters 0) (meters 0.006666667))
(:vel-z (meters 0) (meters 0.013333334))
(:scalevel-x (meters 0.01) (meters 0.0033333334))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.512)
(:accel-y (meters 0) (meters -0.00066666666))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2132
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 0.5)
(:y (meters 10.75) (meters 0.5))
(:z (meters -2.5))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.1125))
(:vel-x (meters -0.0033333334) (meters 0.006666667))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.04) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2133
:init-specs ((:texture (lakedrop effects))
(:num 0.1)
(:y (meters 10.75) (meters 0.5))
(:z (meters -2.5))
(:scale-x (meters 0.3) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.0675))
(:vel-x (meters -0.006666667) (meters 0.013333334))
(:vel-y (meters 0.006666667) (meters 0.05))
(:vel-z (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.0033333334) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-8
:id 484
:flags (unk-6)
:bounds (static-bspherem 0 15 0 30)
:rotate ((degrees 0) (degrees 100.00001) (degrees 0))
:parts ((sp-item 2135 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2136 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2137 :fade-after (meters 160) :falloff-to (meters 160) :flags (bit7))
(sp-item 2138 :fade-after (meters 200) :falloff-to (meters 200) :flags (bit7))
)
)
(defpart 2137
:init-specs ((:texture (lakedrop effects))
(:num 1.0)
(:x (meters -1.5) (meters 3))
(:y (meters 0) (meters 0.5))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.03375))
(:vel-x (meters 0) (meters -0.1))
(:vel-y (meters 0.06666667) (meters 0.13333334))
(:vel-z (meters 0) (meters 0.1))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'check-drop-level-forest-drop-userdata)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2138
:init-specs ((:texture (explosion-nebula effects))
(:birth-func 'birth-func-texture-group)
(:num 0.8)
(:x (meters 1) (meters -5))
(:y (meters 0.25) (meters 0.25))
(:z (meters -1) (meters 2))
(:scale-x (meters 5) (meters 3))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y (meters 5) (meters 3))
(:r 64.0)
(:g 64.0)
(:b 64.0 64.0)
(:a 0.0)
(:vel-x (meters 0.026666667) (meters -0.053333335))
(:vel-y (meters 0) (meters 0.033333335))
(:vel-z (meters 0) (meters 0.053333335))
(:scalevel-x (meters 0.006666667) (meters 0.016666668))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.384)
(:friction 0.95 0.02)
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #xc00000 #xc00000 #xc03300))
(:next-time (seconds 0.267) (seconds 0.065))
(:next-launcher 2116)
(:rotate-y (degrees 0))
)
)
(defpart 2135
:init-specs ((:texture (waterfall-drops forest-sprite))
(:num 1.0)
(:x (meters -1.5) (meters 3))
(:y (meters 24) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 1.5) (meters 0.5))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0)
(:omega (degrees 0.225))
(:vel-x (meters -0.0033333334) (meters 0.006666667))
(:vel-y (meters -0.006666667))
(:vel-z (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.14222223)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 0.835))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata 42188.8 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpart 2136
:init-specs ((:texture (lakedrop effects))
(:num 0.25)
(:x (meters -1.5) (meters 3))
(:y (meters 24.5) (meters 0.5))
(:z (meters -3))
(:scale-x (meters 0.15) (meters 0.1))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 128.0)
(:omega (degrees 0.045))
(:vel-x (meters -0.016666668) (meters -0.083333336))
(:vel-y (meters 0) (meters 0.02))
(:vel-z (meters 0.026666667) (meters 0.053333335))
(:fade-a -0.14222223 -0.42666668)
(:accel-y (meters -0.006666667) (meters 0.00033333333))
(:friction 0.95 0.02)
(:timer (seconds 1.667))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 use-global-acc))
(:userdata -2048.0 1228.8)
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2117)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-waterfall-7
:id 485
:bounds (static-bspherem 0 0 0 40)
:parts ((sp-item 2139 :fade-after (meters 200) :flags (bit6)))
)
(defpart 2139
:init-specs ((:texture (rainbow forest-sprite))
(:num 1.0)
(:x (meters 5))
(:y (meters -8))
(:z (meters 6))
(:scale-x (meters 40))
(:rot-x (degrees 90))
(:rot-z (degrees 45))
(:scale-y (meters 50))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 8.0 1.0)
(:omega (degrees 4513.5))
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 glow))
(:userdata 20480.0)
)
)
(defpart 2140
:init-specs ((:texture (harddot effects))
(:num 1.0)
(:scale-x (meters 0.5))
(:scale-y :copy scale-x)
(:r 255.0)
(:a 128.0)
(:vel-z (meters 0.033333335))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-3))
(:rotate-y (degrees 0))
)
)
(defpart 2117
:init-specs ((:r 255.0) (:g 255.0) (:b 255.0) (:next-time (seconds 0.017)) (:next-launcher 2141))
)
(defpart 2141
:init-specs ((:r 32.0 32.0) (:g 32.0 32.0) (:b 64.0 32.0) (:next-time (seconds 0) (seconds 0.747)) (:next-launcher 2117))
)
(defun check-drop-level-forest-drop-userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
(when (< (-> arg2 vector 0 y) (-> arg1 user-float))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(sp-kill-particle arg0 arg1)
(set-vector! s3-0 (-> arg2 vector 0 x) (-> arg1 user-float) (-> arg2 vector 0 z) 1.0)
(launch-particles (-> *part-id-table* 2142) s3-0)
(launch-particles (-> *part-id-table* 2143) s3-0)
(launch-particles :system *sp-particle-system-3d* (-> *part-id-table* 2144) s3-0)
)
)
(sparticle-motion-blur arg0 arg1 (the-as vector arg2))
(none)
)
(defpart 2142
:init-specs ((:texture (lakedrop effects))
(:num 1.0)
(:scale-x (meters 0.15) (meters 0.05))
(:rot-x 4)
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 64.0 32.0)
(:omega (degrees 0.0675))
(:vel-y (meters 0.01) (meters 0.026666667))
(:fade-a -0.21333334)
(:accel-y (meters -0.001) (meters -0.00016666666))
(:friction 0.97)
(:timer (seconds 0.5))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:func 'sparticle-motion-blur)
(:next-time (seconds 0) (seconds 0.747))
(:next-launcher 2145)
(:conerot-x (degrees 0) (degrees 60))
(:conerot-y (degrees 0) (degrees 360))
)
)
(defpart 2143
:init-specs ((:texture (bigpuff effects))
(:num 1.0)
(:x (meters -0.5) (meters 1))
(:y (meters 0.25) (meters 0.25))
(:z (meters -0.5) (meters 1))
(:scale-x (meters 4) (meters 0.3))
(:scale-y (meters 2) (meters 0.3))
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 0.0)
(:vel-y (meters 0))
(:scalevel-x (meters 0.006666667) (meters 0.006666667))
(:rotvel-z (degrees -0.1) (degrees 0.2))
(:scalevel-y :copy scalevel-x)
(:fade-a 0.10666667)
(:accel-y (meters 0) (meters 0.00006666667))
(:timer (seconds 1))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:next-time (seconds 0.2) (seconds 0.047))
(:next-launcher 2116)
)
)
(defpart 2116
:init-specs ((:fade-a -0.10666667))
)
(defpart 2144
:init-specs ((:texture (water-ring effects))
(:num 1.0)
(:y (meters 0.02))
(:scale-x (meters 2))
(:scale-y :copy scale-x)
(:r 32.0 32.0)
(:g 32.0 32.0)
(:b 64.0 32.0)
(:a 96.0 32.0)
(:vel-y (meters 0) (meters -0.0033333334))
(:scalevel-x (meters 0.026666667) (meters 0.013333334))
(:scalevel-y (meters 0.026666667) (meters 0.013333334))
(:fade-a -0.96 -0.96)
(:timer (seconds 0.335))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpartgroup group-forest-butterflies-2
:id 486
:bounds (static-bspherem 0 6 0 30)
:parts ((sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 100) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 110) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 90) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 120) :flags (is-3d start-dead))
)
)
(defpartgroup group-forest-butterflies-3
:id 487
:bounds (static-bspherem 0 6 0 30)
:parts ((sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 100) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 120) :flags (is-3d start-dead))
)
)
(defpartgroup group-forest-butterflies-1
:id 488
:bounds (static-bspherem 0 6 0 30)
:parts ((sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 80) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 110) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2147)
(sp-item 2147 :fade-after (meters 100) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 90) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 120) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 110) :flags (is-3d start-dead))
(sp-item 2149 :flags (launch-asap) :hour-mask #b111111100000000000111111 :binding 2146)
(sp-item 2146 :flags (start-dead launch-asap) :binding 2148)
(sp-item 2148 :fade-after (meters 100) :flags (is-3d start-dead))
)
)
(defpart 2149
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:x (meters 0) (meters 7.5))
(:y (meters 4) (meters 4))
(:scale-x (meters 1))
(:scale-y :copy scale-x)
(:r 128.0)
(:a 0.0)
(:timer (seconds -0.005))
(:flags (sp-cpuinfo-flag-3))
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 2146
:init-specs ((:texture (hotdot effects))
(:num 1.0)
(:x (meters 0) (meters 16))
(:y (meters 0) (meters 16))
(:z (meters 3) (meters 1))
(:scale-x (meters 0.1))
(:rot-z (degrees 0) (degrees 360))
(:scale-y :copy scale-x)
(:r 255.0)
(:g 64.0 192.0)
(:b 255.0)
(:a 0.0)
(:omega (degrees 0) (degrees 360))
(:vel-x (meters -0.017777778) (meters 0.035555556))
(:vel-y (meters -0.0074074077) (meters 0.0148148155))
(:vel-z (meters 0))
(:timer (seconds -0.005))
(:flags (sp-cpuinfo-flag-3 ready-to-launch))
(:next-time (seconds 0.5) (seconds 1.497))
(:next-launcher 2150)
)
)
(defpart 2150
:init-specs ((:vel-x (meters -0.017777778) (meters 0.035555556))
(:vel-y (meters -0.0074074077) (meters 0.0148148155))
(:rotvel-z (degrees -0.2) (degrees 0.4))
(:next-time (seconds 0.5) (seconds 1.497))
(:next-launcher 2150)
)
)
(defpart 2147
:init-specs ((:texture (butterfly-1 forest-sprite))
(:birth-func 'birth-func-copy-rot-color)
(:num 2.0)
(:scale-x (meters 0.9))
(:rot-x (degrees -60) (degrees 300))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:fade-a -8.533334)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12))
)
)
(defpart 2148
:init-specs ((:texture (butterfly-2 forest-sprite))
(:birth-func 'birth-func-copy-rot-color)
(:num 2.0)
(:scale-x (meters 0.9))
(:rot-x (degrees -60) (degrees 300))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:fade-a -8.533334)
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12))
)
)
(defpartgroup group-forest-butterfly-sitting-1
:id 489
:bounds (static-bspherem 0 0.2 0 3)
:parts ((sp-item 2151 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
(sp-item 2152 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
)
)
(defpartgroup group-forest-butterfly-sitting-2
:id 490
:bounds (static-bspherem 0 0.2 0 3)
:parts ((sp-item 2153 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
(sp-item 2154 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
)
)
(defpartgroup group-forest-butterfly-sitting-3
:id 491
:bounds (static-bspherem 0 0.2 0 3)
:parts ((sp-item 2155 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
(sp-item 2156 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
)
)
(defpartgroup group-forest-butterfly-sitting-4
:id 492
:bounds (static-bspherem 0 0.2 0 3)
:parts ((sp-item 2157 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
(sp-item 2158 :fade-after (meters 60) :flags (is-3d bit1 bit7) :period (seconds 2) :length (seconds 0.017))
)
)
(defpart 2151
:init-specs ((:texture (butterfly-1 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 100.00001))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees 0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2159)
(:rotate-y (degrees 0))
)
)
(defpart 2159
:init-specs ((:rotvel-x (degrees -0.31666666)))
)
(defpart 2152
:init-specs ((:texture (butterfly-1 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 80))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees -0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2160)
(:rotate-y (degrees 0))
)
)
(defpart 2160
:init-specs ((:rotvel-x (degrees 0.31666666)))
)
(defpart 2153
:init-specs ((:texture (butterfly-1 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 100.00001))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 64.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees 0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2159)
(:rotate-y (degrees 0))
)
)
(defpart 2154
:init-specs ((:texture (butterfly-1 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 80))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 64.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees -0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2160)
(:rotate-y (degrees 0))
)
)
(defpart 2155
:init-specs ((:texture (butterfly-2 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 100.00001))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees 0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2159)
(:rotate-y (degrees 0))
)
)
(defpart 2156
:init-specs ((:texture (butterfly-2 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 80))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 255.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees -0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2160)
(:rotate-y (degrees 0))
)
)
(defpart 2157
:init-specs ((:texture (butterfly-2 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 100.00001))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 64.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees 0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2159)
(:rotate-y (degrees 0))
)
)
(defpart 2158
:init-specs ((:texture (butterfly-2 forest-sprite))
(:num 1.0)
(:y (meters 0.075))
(:scale-x (meters 0.9))
(:rot-x (degrees 80))
(:rot-y (degrees 72.5))
(:scale-y (meters 1.3))
(:r 255.0)
(:g 64.0)
(:b 255.0)
(:a 128.0)
(:rotvel-x (degrees -0.33333334))
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-2 aux-list sp-cpuinfo-flag-12 left-multiply-quat))
(:next-time (seconds 1))
(:next-launcher 2160)
(:rotate-y (degrees 0))
)
)
(defpartgroup group-forest-fireflies
:id 493
:bounds (static-bspherem 0 20 0 80)
:parts ((sp-item 2161 :fade-after (meters 250) :falloff-to (meters 300) :hour-mask #b111111111110000000))
)
(defpart 2161
:init-specs ((:texture (firefly forest-sprite))
(:num 1.0)
(:x (meters 20) (meters 20))
(:y (meters 20) (meters 25))
(:z (meters 0))
(:scale-x (meters 1.5))
(:rot-x (degrees 11.25))
(:rot-z (degrees 0) (degrees 3600))
(:scale-y :copy scale-x)
(:r 128.0)
(:g 255.0)
(:b 64.0)
(:a 0.0)
(:omega (degrees 5638.5))
(:vel-x (meters -0.016666668) (meters 0.033333335))
(:vel-y (meters -0.0033333334) (meters 0.006666667))
(:vel-z (meters -0.016666668) (meters 0.033333335))
(:fade-r -0.14222223)
(:fade-g -0.28444445)
(:fade-b 0.64)
(:fade-a 0.42666668)
(:timer (seconds 2))
(:flags (sp-cpuinfo-flag-3 glow))
(:userdata 0.0)
(:next-time (seconds 0.5))
(:next-launcher 2162)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 2162
:init-specs ((:fade-a 0.0) (:next-time (seconds 1)) (:next-launcher 2163))
)
(defpart 2163
:init-specs ((:fade-a -0.42666668))
)
(defpartgroup group-youngsamos-float
:id 494
:bounds (static-bspherem 0 0 0 4)
:parts ((sp-item 2164 :fade-after (meters 60) :falloff-to (meters 60))
(sp-item 2165 :fade-after (meters 120) :falloff-to (meters 120))
(sp-item 2166 :flags (bit6))
(sp-item 2167 :flags (bit6))
)
)
(defpart 2167
:init-specs ((:texture (glow-soft effects))
(:num 1.0)
(:y (meters -0.5))
(:scale-x (meters 6))
(:rot-x (degrees 4.5))
(:rot-z (degrees -17))
(:scale-y :copy scale-x)
(:r 0.0 32.0)
(:g 255.0)
(:b 0.0)
(:a 16.0)
(:omega (degrees 2715.75))
(:timer (seconds 0.017))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 819.2)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 2166
:init-specs ((:texture (glow-soft effects))
(:num 3.0)
(:x (meters -0.2) (meters 0.6))
(:y (meters -0.5))
(:scale-x (meters 2.5) (meters 0.1))
(:rot-x (degrees 2.25))
(:rot-z (degrees -17))
(:scale-y :copy scale-x)
(:r 128.0 64.0)
(:g 255.0)
(:b 0.0)
(:a 2.0 2.0)
(:omega (degrees 2715.75))
(:timer (seconds 0.05))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
(:userdata 819.2)
(:rotate-y (degrees 0) (degrees 3600))
)
)
(defpart 2165
:init-specs ((:texture (glow-soft effects))
(:num 1.0)
(:x (meters -0.2) (meters 0.6))
(:y (meters -0.3))
(:scale-x (meters 0.05))
(:scale-y :copy scale-x)
(:r 0.0 64.0)
(:g 255.0)
(:b 0.0)
(:a 64.0 64.0)
(:vel-x (meters 0) (meters 0.006666667))
(:vel-y (meters -0.013333334) (meters -0.006666667))
(:fade-a -0.2)
(:friction 0.96 0.02)
(:timer (seconds 0.535))
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
(:next-time (seconds 0.017) (seconds 0.247))
(:next-launcher 2168)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 2168
:init-specs ((:r 255.0) (:g 255.0) (:b 255.0) (:a 255.0) (:next-time (seconds 0.035)) (:next-launcher 2169))
)
(defpart 2169
:init-specs ((:r 0.0 64.0)
(:g 255.0)
(:b 0.0)
(:a 64.0 64.0)
(:fade-a -3.2)
(:next-time (seconds 0.017) (seconds 0.247))
(:next-launcher 2170)
)
)
(defpart 2164
:init-specs ((:num 0.6)
(:x (meters -0.2) (meters 0.6))
(:rot-x 8)
(:r 1024.0)
(:g 716.8)
(:b 655.36)
(:vel-x (meters 0) (meters 0.006666667))
(:vel-y (meters -0.013333334) (meters -0.006666667))
(:friction 0.94)
(:timer (seconds 0.5))
(:flags (distort))
(:next-time (seconds 0.25))
(:next-launcher 2171)
(:rotate-y (degrees 0) (degrees 360))
)
)
(defpart 2171
:init-specs ((:fade-b -0.8192))
)