;;-*-Lisp-*-
(in-package goal)

;; definition of type beach-part
(deftype beach-part (part-spawner)
  ()
  :heap-base #x60
  :method-count-assert 21
  :size-assert         #xd0
  :flag-assert         #x15006000d0
  (:states
    beach-part-grotto-1
    )
  )

;; definition for method 3 of type beach-part
(defmethod inspect beach-part ((obj beach-part))
  (let ((t9-0 (method-of-type part-spawner inspect)))
    (t9-0 obj)
    )
  obj
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 667
  :init-specs ((sp-flt spt-fade-a -0.02))
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(defpart 670
  :init-specs ((sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-func spt-func 'check-water-level-drop))
  )

;; failed to figure out what this is:
(defstate beach-part-grotto-1 (beach-part)
  :code (behavior ()
    (loop
      (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)
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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)))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 676
  :init-specs ((sp-flt spt-fade-a -0.14222223))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 686
  :init-specs ((sp-flt spt-fade-a -0.07111111))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 687
  :init-specs ((sp-flt spt-fade-a -0.07111111))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 688
  :init-specs ((sp-flt spt-fade-a -0.08533333))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 689
  :init-specs ((sp-flt spt-fade-a -0.07111111))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 690
  :init-specs ((sp-flt spt-fade-a -0.017777778))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 691
  :init-specs ((sp-flt spt-fade-a -0.013333334))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 692
  :init-specs ((sp-flt spt-fade-a -0.016410256))
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(defpart 693
  :init-specs ((sp-flt spt-fade-a -0.014222222))
  )

;; definition for symbol sound-beach-waterfall, type sound-spec
(define sound-beach-waterfall (static-sound-spec "waterfall"))

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(defpart 698
  :init-specs ((sp-flt spt-accel-y 1.3653333))
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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))
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )

;; failed to figure out what this is:
(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)
    )
  )
