jak-project/goal_src/levels/beach/beach-part.gc

806 lines
25 KiB
Common Lisp
Raw Normal View History

;;-*-Lisp-*-
2020-09-04 14:44:23 -04:00
(in-package goal)
;; name: beach-part.gc
;; name in dgo: beach-part
;; dgos: BEA, L1
;; DECOMP BEGINS
(deftype beach-part (part-spawner)
()
:heap-base #x60
:method-count-assert 21
:size-assert #xd0
:flag-assert #x15006000d0
(:states
beach-part-grotto-1
)
)
(defpart 666
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2))
(sp-flt spt-num 0.01)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-scale-x (meters 15) (meters 5) 1.0)
(sp-int spt-rot-x 4)
(sp-rnd-flt spt-rot-z (degrees -110.0) (degrees 20.0) 1.0)
(sp-flt spt-scale-y (meters 5))
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-scalevel-x (meters 0.0009765625))
(sp-rnd-flt spt-rotvel-z (degrees -0.0033333332) (degrees 0.0066666664) 1.0)
(sp-flt spt-scalevel-y (meters 0.0009765625))
(sp-flt spt-fade-a 0.02)
(sp-int spt-timer 2400)
(sp-cpuinfo-flags bit2 bit3 bit14)
(sp-int spt-next-time 1200)
(sp-launcher-by-id spt-next-launcher 667)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-flt spt-conerot-radius (meters 8))
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 667
:init-specs
((sp-flt spt-fade-a -0.02))
)
(defpart 668
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2))
(sp-rnd-flt spt-num 0.03 0.2 1.0)
(sp-flt spt-y (meters -4))
(sp-flt spt-scale-x (meters 0.18))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-fade-a 0.21333334)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit3)
(sp-flt spt-userdata 0.0)
(sp-int spt-next-time 150)
(sp-launcher-by-id spt-next-launcher 669)
(sp-flt spt-conerot-x (degrees 90.0))
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
(sp-rnd-flt spt-conerot-radius (meters 8) (meters 5) 1.0)
)
)
(defpart 669
:init-specs
((sp-flt spt-scalevel-y (meters 0.0024414062))
(sp-flt spt-fade-a 0.0)
(sp-flt spt-accel-y -8.192)
(sp-int spt-next-time 210)
(sp-launcher-by-id spt-next-launcher 670)
)
)
(defpart 670
:init-specs
((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop))
)
(defstate beach-part-grotto-1 (beach-part)
:code
(behavior ()
(while #t
(when (is-visible? self)
(let* ((gp-0 (camera-pos))
(f0-0 (vector-vector-distance (-> self root trans) gp-0))
)
(if (or (< (-> gp-0 y) (-> self root trans y)) (< 122880.0 f0-0))
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 666)
(-> self root trans)
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
)
)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 668)
(-> self root trans)
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
)
(suspend)
)
(none)
)
)
(defpart 671
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2))
(sp-rnd-flt spt-num 0.3 0.4 1.0)
(sp-rnd-flt spt-x (meters -23) (meters 55) 1.0)
(sp-flt spt-z (meters 0.5))
(sp-flt spt-scale-x (meters 0.18))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-fade-a 0.10666667)
(sp-int spt-timer 600)
(sp-cpuinfo-flags bit2 bit3)
(sp-flt spt-userdata 0.0)
(sp-int spt-next-time 300)
(sp-launcher-by-id spt-next-launcher 669)
(sp-rnd-flt spt-conerot-x (degrees -40.0) (degrees 80.0) 1.0)
(sp-flt spt-conerot-radius (meters 14.6))
(sp-flt spt-rotate-y (degrees 37.0))
)
)
(defpartgroup group-beach-grotto-2
:id 161
:bounds (static-bspherem 0 -5 0 15)
:parts
((sp-item 671 :fade-after (meters 80) :falloff-to (meters 80)))
)
(defpart 672
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
(sp-rnd-flt spt-num 1.0 1.0 1.0)
(sp-rnd-flt spt-x (meters -10) (meters 4) 1.0)
(sp-flt spt-y (meters 103))
(sp-rnd-flt spt-z (meters -8.5) (meters 16) 1.0)
(sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0)
(sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 24.0 16.0 1.0)
(sp-flt spt-vel-x (meters 0.06666667))
(sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.0073242188))
(sp-flt spt-scalevel-y (meters 0.029296875))
(sp-flt spt-accel-x -3.7304192)
(sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
(sp-int spt-timer 495)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
(sp-flt spt-rotate-y (degrees -124.99999))
)
)
(defpart 673
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :page #x2))
(sp-rnd-flt spt-num 0.8 0.8 1.0)
(sp-rnd-flt spt-x (meters -9) (meters 3.5) 1.0)
(sp-flt spt-y (meters 103))
(sp-rnd-flt spt-z (meters -8.5) (meters 16) 1.0)
(sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
(sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0)
(sp-flt spt-r 192.0)
(sp-flt spt-g 192.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 16.0 20.0 1.0)
(sp-flt spt-vel-x (meters 0.038333334))
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0)
(sp-flt spt-scalevel-x (meters 0.0146484375))
(sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
(sp-flt spt-scalevel-y (meters 0.0146484375))
(sp-flt spt-accel-x -1.189495)
(sp-rnd-flt spt-accel-y -4.7786665 -1.024 1.0)
(sp-int spt-timer 855)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-flt spt-rotate-y (degrees -124.99999))
)
)
(defpart 674
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
(sp-flt spt-num 0.9)
(sp-rnd-flt spt-x (meters -10) (meters 4) 1.0)
(sp-flt spt-y (meters 103))
(sp-rnd-flt spt-z (meters -9.5) (meters 18) 1.0)
(sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 28.0)
(sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters -0.00024414062))
(sp-flt spt-scalevel-y (meters 0.001953125))
(sp-flt spt-accel-x -2.5600002)
(sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0)
(sp-int spt-timer 660)
(sp-cpuinfo-flags bit2 bit3 bit12 bit14)
(sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0)
(sp-flt spt-rotate-y (degrees -124.99999))
)
)
(defpart 675
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-flt spt-num 0.04)
(sp-rnd-flt spt-x (meters 6) (meters 6) 1.0)
(sp-flt spt-y (meters 6.5))
(sp-rnd-flt spt-z (meters -8.5) (meters 16) 1.0)
(sp-flt spt-scale-x (meters 18))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-rnd-flt spt-a 0.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0)
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-flt spt-scalevel-x (meters 0.0044444446))
(sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0)
(sp-copy-from-other spt-scalevel-y -4)
(sp-flt spt-fade-a 0.42666668)
(sp-flt spt-accel-y 0.13653333)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 1050)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-int-plain-rnd spt-next-time 90 59 1)
(sp-launcher-by-id spt-next-launcher 676)
(sp-flt spt-rotate-y (degrees -124.99999))
)
)
(defpart 676
:init-specs
((sp-flt spt-fade-a -0.14222223))
)
(defpart 677
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2))
(sp-flt spt-num 0.2)
(sp-rnd-flt spt-x (meters 2) (meters 10) 1.0)
(sp-flt spt-y (meters 8))
(sp-rnd-flt spt-z (meters -10.5) (meters 20) 1.0)
(sp-flt spt-scale-x (meters 18))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-rnd-flt spt-g 150.0 42.0 1.0)
(sp-flt spt-b 192.0)
(sp-rnd-flt spt-a 32.0 32.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0) (meters 0.06666667) 1.0)
(sp-flt spt-vel-y (meters 0.008333334))
(sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0)
(sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0)
(sp-flt spt-fade-a 0.42666668)
(sp-flt spt-accel-y 0.13653333)
(sp-flt spt-friction 0.99)
(sp-int spt-timer 1050)
(sp-cpuinfo-flags bit2 bit12 bit14)
(sp-int-plain-rnd spt-next-time 90 59 1)
(sp-launcher-by-id spt-next-launcher 676)
(sp-flt spt-rotate-y (degrees -124.99999))
)
)
(defpartgroup group-beach-waterfall
:id 162
:flags (always-draw unknown-bit-01)
:bounds (static-bspherem 0 55 0 55)
:parts
((sp-item 677 :fade-after (meters 200) :falloff-to (meters 200))
(sp-item 675)
(sp-item 675 :fade-after (meters 200) :falloff-to (meters 200))
(sp-item 672)
(sp-item 672 :fade-after (meters 100) :falloff-to (meters 100))
(sp-item 672 :fade-after (meters 160) :falloff-to (meters 160))
(sp-item 673 :fade-after (meters 300) :falloff-to (meters 300))
(sp-item 674 :fade-after (meters 90) :falloff-to (meters 90))
)
)
(defpartgroup group-beach-24
:id 163
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 678 :fade-after (meters 50) :period 2400 :length 1500 :offset 1200))
)
(defpartgroup group-beach-23
:id 164
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 679 :fade-after (meters 50) :period 2400 :length 1500 :offset 600))
)
(defpartgroup group-beach-22
:id 165
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 680 :fade-after (meters 80) :period 2400 :length 1500))
)
(defpartgroup group-beach-18
:id 166
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 681 :fade-after (meters 100) :period 2400 :length 1500 :offset 1200))
)
(defpartgroup group-beach-17
:id 167
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 682 :fade-after (meters 50) :period 2400 :length 1500 :offset 600))
)
(defpartgroup group-beach-16
:id 168
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 683 :fade-after (meters 50) :period 2400 :length 1500))
)
(defpartgroup group-beach-15
:id 169
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 684 :fade-after (meters 50) :period 2400 :length 1500 :offset 64936))
)
(defpartgroup group-beach-14
:id 170
:bounds (static-bspherem 0 3 0 50)
:parts
((sp-item 685 :fade-after (meters 50) :period 2400 :length 1500 :offset 64336))
)
(defpart 678
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.01 0.01 1.0)
(sp-rnd-flt spt-x (meters -85) (meters 60) 1.0)
(sp-flt spt-y (meters 13))
(sp-rnd-flt spt-z (meters -30) (meters 65) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.008888889)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1800)
(sp-launcher-by-id spt-next-launcher 686)
(sp-flt spt-rotate-y (degrees 40.0))
)
)
(defpart 686
:init-specs
((sp-flt spt-fade-a -0.07111111))
)
(defpart 679
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.01 0.01 1.0)
(sp-rnd-flt spt-x (meters -65) (meters 60) 1.0)
(sp-flt spt-y (meters 8))
(sp-rnd-flt spt-z (meters -30) (meters 50) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.02))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.008888889)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1800)
(sp-launcher-by-id spt-next-launcher 687)
(sp-flt spt-rotate-y (degrees 40.0))
)
)
(defpart 687
:init-specs
((sp-flt spt-fade-a -0.07111111))
)
(defpart 680
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.01 0.01 1.0)
(sp-rnd-flt spt-x (meters -50) (meters 20) 1.0)
(sp-flt spt-y (meters 0))
(sp-rnd-flt spt-z (meters -40) (meters 80) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-vel-z (meters 0.016666668))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.010666667)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1500)
(sp-launcher-by-id spt-next-launcher 688)
(sp-flt spt-rotate-y (degrees 120.0))
)
)
(defpart 688
:init-specs
((sp-flt spt-fade-a -0.08533333))
)
(defpart 681
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.03 0.04 1.0)
(sp-rnd-flt spt-x (meters -40) (meters 20) 1.0)
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -40) (meters 90) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-vel-z (meters -0.016666668))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.008888889)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1800)
(sp-launcher-by-id spt-next-launcher 689)
(sp-flt spt-rotate-y (degrees -60.0))
)
)
(defpart 689
:init-specs
((sp-flt spt-fade-a -0.07111111))
)
(defpart 682
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.015 0.02 1.0)
(sp-flt spt-x (meters -10))
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -10) (meters 22.5) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.017777778)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 900)
(sp-launcher-by-id spt-next-launcher 690)
(sp-flt spt-rotate-y (degrees -15.0))
)
)
(defpart 690
:init-specs
((sp-flt spt-fade-a -0.017777778))
)
(defpart 683
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.015 0.02 1.0)
(sp-flt spt-x (meters -25))
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -15) (meters 50) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.013333334)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1200)
(sp-launcher-by-id spt-next-launcher 691)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 691
:init-specs
((sp-flt spt-fade-a -0.013333334))
)
(defpart 684
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.015 0.015 1.0)
(sp-flt spt-x (meters -35))
(sp-flt spt-y (meters 1))
(sp-rnd-flt spt-z (meters -35) (meters 60) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.016410256)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 975)
(sp-launcher-by-id spt-next-launcher 692)
(sp-flt spt-rotate-y (degrees 45.0))
)
)
(defpart 692
:init-specs
((sp-flt spt-fade-a -0.016410256))
)
(defpart 685
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
(sp-rnd-flt spt-num 0.015 0.015 1.0)
(sp-flt spt-x (meters -25))
(sp-flt spt-y (meters 14))
(sp-rnd-flt spt-z (meters -15) (meters 70) 1.0)
(sp-rnd-flt spt-scale-x (meters 10) (meters 20) 1.0)
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 130.0)
(sp-flt spt-g 100.0)
(sp-flt spt-b 54.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-x (meters 0.026666667))
(sp-flt spt-rotvel-z (degrees -0.15))
(sp-flt spt-fade-a 0.014222222)
(sp-int spt-timer 3600)
(sp-cpuinfo-flags bit2 bit12)
(sp-int spt-next-time 1125)
(sp-launcher-by-id spt-next-launcher 693)
(sp-flt spt-rotate-y (degrees 0.0))
)
)
(defpart 693
:init-specs
((sp-flt spt-fade-a -0.014222222))
)
(define sound-beach-waterfall
(new 'static 'sound-spec :num 1.0 :group #x1 :sound-name (static-sound-name "waterfall") :volume #x400)
)
(defpartgroup group-beach-butterflies
:id 171
:bounds (static-bspherem 0 0 0 30)
:parts
((sp-item 696 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694)
(sp-item 696 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 694)
(sp-item 696 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 694)
(sp-item 694 :flags (start-dead launch-asap) :binding 695)
(sp-item 695 :flags (is-3d start-dead))
(sp-item 694 :flags (start-dead launch-asap) :binding 695)
(sp-item 695 :flags (is-3d start-dead))
(sp-item 694 :flags (start-dead launch-asap) :binding 695)
(sp-item 695 :flags (is-3d start-dead))
(sp-item 694 :flags (start-dead launch-asap) :binding 695)
(sp-item 695 :flags (is-3d start-dead))
(sp-item 694 :flags (start-dead launch-asap) :binding 695)
(sp-item 695 :flags (is-3d start-dead))
)
)
(defpart 696
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 7.5) 1.0)
(sp-rnd-flt spt-y (meters 14) (meters 3) 1.0)
(sp-flt spt-scale-x (meters 1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-flt spt-vel-y (meters -0.036666665))
(sp-flt spt-accel-y 1.3653333)
(sp-int spt-timer 6000)
(sp-cpuinfo-flags bit3)
(sp-int spt-next-time 555)
(sp-launcher-by-id spt-next-launcher 697)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 697
:init-specs
((sp-flt spt-accel-y 0.0)
(sp-int-plain-rnd spt-next-time 2700 1499 1)
(sp-launcher-by-id spt-next-launcher 698)
)
)
(defpart 698
:init-specs
((sp-flt spt-accel-y 1.3653333))
)
(defpart 694
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-x (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-rnd-flt spt-z (meters 3) (meters 1) 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-rnd-flt spt-g 0.0 256.0 1.0)
(sp-rnd-int spt-b 1124073472 1 128.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0)
(sp-flt spt-vel-z (meters 0))
(sp-int spt-timer 6000)
(sp-cpuinfo-flags bit3 bit7)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 699)
)
)
(defpart 699
:init-specs
((sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 699)
)
)
(defpart 695
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2))
(sp-func spt-birth-func 'birth-func-copy-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 0.9))
(sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0)
(sp-flt spt-scale-y (meters 1.3))
(sp-flt spt-r 255.0)
(sp-flt spt-g 255.0)
(sp-flt spt-b 255.0)
(sp-flt spt-a 128.0)
(sp-flt spt-fade-a -8.0)
(sp-int spt-timer 10)
(sp-cpuinfo-flags bit2 bit9 bit12)
)
)
(defpartgroup group-beach-moth
:id 172
:bounds (static-bspherem 0 0 0 3)
:parts
((sp-item 702 :fade-after (meters 120) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700)
(sp-item 700 :flags (start-dead launch-asap) :binding 701)
(sp-item 701 :flags (is-3d start-dead))
)
)
(defpart 702
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-flt spt-scale-x (meters 0.1))
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-a 0.0)
(sp-int spt-timer 18000)
(sp-cpuinfo-flags bit3)
(sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
)
)
(defpart 700
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
(sp-flt spt-num 1.0)
(sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
(sp-flt spt-z (meters 1.5))
(sp-flt spt-scale-x (meters 0.1))
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
(sp-copy-from-other spt-scale-y -4)
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 0.0)
(sp-rnd-flt spt-omega 0.0 65536.0 1.0)
(sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0)
(sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0)
(sp-flt spt-vel-z (meters 0))
(sp-int spt-timer 18000)
(sp-cpuinfo-flags bit3 bit7)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 703)
)
)
(defpart 703
:init-specs
((sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0)
(sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0)
(sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
(sp-int-plain-rnd spt-next-time 150 449 1)
(sp-launcher-by-id spt-next-launcher 703)
)
)
(defpart 701
:init-specs
((sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2))
(sp-func spt-birth-func 'birth-func-copy-rot-color)
(sp-flt spt-num 2.0)
(sp-flt spt-scale-x (meters 0.4))
(sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0)
(sp-flt spt-scale-y (meters 0.4))
(sp-flt spt-r 128.0)
(sp-flt spt-g 128.0)
(sp-flt spt-b 128.0)
(sp-flt spt-a 128.0)
(sp-int spt-timer 5)
(sp-cpuinfo-flags bit2 bit3 bit9 bit12)
)
)