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

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

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

;; failed to figure out what this is:
(defpartgroup group-training-geyser-2
  :id 146
  :flags (always-draw)
  :bounds (static-bspherem 0 32 0 70)
  :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4500)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4530)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4560)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4590)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 4620)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 4650)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4050)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4080)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4110)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4140)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 4170)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 3900)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 4050)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 4080)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 4110)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 4140)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 4170)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 3900)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 4050)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 4050)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 3750)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 3450)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 4050)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 4050)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 3750)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 3450)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-geyser-5
  :id 147
  :flags (always-draw)
  :bounds (static-bspherem 0 32 0 70)
  :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 900)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 930)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 960)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 990)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 1020)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 1050)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 450)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 420)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 390)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 360)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 330)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 300)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 450)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 420)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 390)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 360)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 330)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 300)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 450)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 450)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 150)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 4650)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 450)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 450)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 150)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 4650)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-geyser-6
  :id 149
  :flags (always-draw)
  :bounds (static-bspherem 0 32 0 70)
  :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2100)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2130)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2160)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2190)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 2220)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 2250)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 1650)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 1680)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 1710)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 1740)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 1770)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 1500)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 1650)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 1680)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 1710)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 1740)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 1770)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 1500)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-geyser-4
  :id 148
  :flags (always-draw)
  :bounds (static-bspherem 0 32 0 70)
  :parts ((sp-item 752 :falloff-to (meters 500) :period 4800 :length 1200 :offset 3300)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1140 :offset 3330)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1080 :offset 3360)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 1020 :offset 3390)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 960 :offset 3420)
    (sp-item 752 :falloff-to (meters 500) :period 4800 :length 900 :offset 3450)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2850)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2880)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2910)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2940)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 960 :offset 2970)
    (sp-item 753 :falloff-to (meters 500) :period 4800 :length 900 :offset 2700)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1200 :offset 2850)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1140 :offset 2880)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1080 :offset 2910)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 1020 :offset 2940)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 960 :offset 2970)
    (sp-item 754 :falloff-to (meters 500) :period 4800 :length 900 :offset 2700)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 2850)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 2850)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 2550)
    (sp-item 757 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 2250)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 3000 :offset 2850)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 2100 :offset 2850)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 1500 :offset 2550)
    (sp-item 758 :fade-after (meters 100) :falloff-to (meters 100) :period 4800 :length 900 :offset 2250)
    )
  )

;; failed to figure out what this is:
(defpart 752
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 0.2)
    (sp-sound (static-sound-spec "geyser" :num 0.1 :fo-min 50 :fo-max 200))
    (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
    (sp-flt spt-y (meters -8))
    (sp-flt spt-scale-x (meters 8))
    (sp-flt spt-rot-z (degrees 180.0))
    (sp-flt spt-scale-y (meters 16))
    (sp-rnd-flt spt-r 200.0 55.0 1.0)
    (sp-rnd-flt spt-g 200.0 55.0 1.0)
    (sp-rnd-flt spt-b 200.0 55.0 1.0)
    (sp-rnd-flt spt-a 32.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (sp-flt spt-accel-y -16.384)
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-int spt-next-time 510)
    (sp-launcher-by-id spt-next-launcher 761)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 761
  :init-specs ((sp-flt spt-scalevel-x (meters 0.06666667)) (sp-flt spt-fade-a -1.0666667))
  )

;; failed to figure out what this is:
(defpart 753
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 0.15)
    (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
    (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0)
    (sp-flt spt-scale-x (meters 8))
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 200.0 55.0 1.0)
    (sp-rnd-flt spt-g 200.0 55.0 1.0)
    (sp-rnd-flt spt-b 200.0 55.0 1.0)
    (sp-flt spt-a 0.0)
    (sp-flt spt-scalevel-x (meters 0.035555556))
    (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-r -0.053333335)
    (sp-flt spt-fade-g -0.053333335)
    (sp-flt spt-fade-a 1.0666667)
    (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0)
    (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0)
    (sp-int spt-timer 1800)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-flt spt-userdata 0.0)
    (sp-func spt-func 'check-drop-level-training-mist)
    (sp-int-plain-rnd spt-next-time 30 29 1)
    (sp-launcher-by-id spt-next-launcher 762)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

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

;; definition for function check-drop-level-training-mist
(defun check-drop-level-training-mist ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
  (when (< (-> arg2 y) (-> arg1 user-float))
    (new 'stack-no-clear 'vector)
    (sp-kill-particle arg0 arg1)
    )
  (none)
  )

;; failed to figure out what this is:
(defpart 754
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 0.035)
    (sp-rnd-flt spt-x (meters 0) (meters 1) 1.0)
    (sp-rnd-flt spt-y (meters 85) (meters 10) 1.0)
    (sp-flt spt-scale-x (meters 8))
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 200.0 55.0 1.0)
    (sp-rnd-flt spt-g 200.0 55.0 1.0)
    (sp-rnd-flt spt-b 200.0 55.0 1.0)
    (sp-flt spt-a 0.0)
    (sp-flt spt-scalevel-x (meters 0.035555556))
    (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-r -0.053333335)
    (sp-flt spt-fade-g -0.053333335)
    (sp-flt spt-fade-a 1.0666667)
    (sp-rnd-flt spt-accel-x 1.3653333 1.3653333 1.0)
    (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0)
    (sp-int spt-timer 1800)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-flt spt-userdata 0.0)
    (sp-func spt-func 'check-drop-level-training-mist)
    (sp-int-plain-rnd spt-next-time 30 29 1)
    (sp-launcher-by-id spt-next-launcher 762)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 763
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2))
    (sp-rnd-int spt-num 0 1 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 110.0 32.0 1.0)
    (sp-rnd-flt spt-g 128.0 32.0 1.0)
    (sp-rnd-flt spt-b 64.0 64.0 1.0)
    (sp-rnd-flt spt-a 64.0 64.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-fade-a -0.85333335)
    (sp-flt spt-accel-y -2.7306666)
    (sp-int spt-timer 150)
    (sp-cpuinfo-flags bit2 bit3)
    (sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 764
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-y (meters 0.02))
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 110.0 32.0 1.0)
    (sp-rnd-flt spt-g 128.0 32.0 1.0)
    (sp-rnd-flt spt-b 96.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.4)
    (sp-int spt-timer 120)
    (sp-cpuinfo-flags bit2 bit3)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; definition for function check-drop-level-training-spout-rain
(defun check-drop-level-training-spout-rain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
  (when (< (-> arg2 y) (-> arg1 user-float))
    (let ((gp-0 (new 'stack-no-clear 'vector)))
      (sp-kill-particle arg0 arg1)
      (if (< (rand-float-gen) 0.25)
          (sound-play "water-drop")
          )
      (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0)
      (sp-launch-particles-var
        *sp-particle-system-2d*
        (-> *part-id-table* 763)
        gp-0
        (the-as sparticle-launch-state #f)
        (the-as sparticle-launch-control #f)
        1.0
        )
      (sp-launch-particles-var
        *sp-particle-system-3d*
        (-> *part-id-table* 764)
        gp-0
        (the-as sparticle-launch-state #f)
        (the-as sparticle-launch-control #f)
        1.0
        )
      )
    )
  (none)
  )

;; failed to figure out what this is:
(defpart 759
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-flt spt-userdata 66560.0)
    (sp-func spt-func 'check-drop-level-training-spout-rain)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 760
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 4.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 757
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 4) (meters 8) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-flt spt-userdata 0.0)
    (sp-func spt-func 'check-drop-level-training-spout-rain)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 758
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 4.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 4) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 755
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 10) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-flt spt-userdata 0.0)
    (sp-func spt-func 'check-drop-level-training-spout-rain)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 756
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 4.0)
    (sp-rnd-flt spt-x (meters 0) (meters 40) 1.0)
    (sp-rnd-flt spt-y (meters 10) (meters 20) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0)
    (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0)
    (sp-flt spt-r 50.0)
    (sp-rnd-flt spt-g 80.0 55.0 1.0)
    (sp-rnd-flt spt-b 50.0 50.0 1.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0)
    (sp-int spt-timer 240)
    (sp-cpuinfo-flags bit2)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-warpgate
  :id 150
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 767 :fade-after (meters 60) :falloff-to (meters 60))
    (sp-item 768 :fade-after (meters 60) :falloff-to (meters 100) :binding 765)
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 765 :flags (bit1 start-dead launch-asap))
    (sp-item 769 :fade-after (meters 60) :falloff-to (meters 100) :binding 766)
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 766 :flags (bit1 start-dead launch-asap))
    (sp-item 770 :fade-after (meters 100) :flags (is-3d))
    )
  )

;; failed to figure out what this is:
(defpart 770
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2))
    (sp-flt spt-num 0.5)
    (sp-flt spt-x (meters 0))
    (sp-flt spt-scale-x (meters 5))
    (sp-flt spt-rot-x 16384.0)
    (sp-flt spt-rot-z (degrees 15.0))
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 0.0 32.0 1.0)
    (sp-rnd-flt spt-g 0.0 32.0 1.0)
    (sp-rnd-flt spt-b 64.0 64.0 1.0)
    (sp-rnd-flt spt-a 0.0 64.0 1.0)
    (sp-int spt-timer 10)
    (sp-cpuinfo-flags bit3 bit14)
    )
  )

;; failed to figure out what this is:
(defpart 769
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-flt spt-num 0.25)
    (sp-flt spt-x (meters -2))
    (sp-flt spt-scale-x (meters 0.25))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-g 128.0)
    (sp-flt spt-a 0.0)
    (sp-flt spt-vel-x (meters 0.0033333334))
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit3 bit14)
    (sp-flt spt-rotate-y (degrees -105.0))
    )
  )

;; failed to figure out what this is:
(defpart 766
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-x (meters -0.6666667))
    (sp-flt spt-y (meters 4))
    (sp-rnd-flt spt-z (meters 5.4) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 0.0 32.0 1.0)
    (sp-rnd-flt spt-g 0.0 32.0 1.0)
    (sp-rnd-flt spt-b 64.0 196.0 1.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-omega 0.0 65536.0 1.0)
    (sp-flt spt-vel-x (meters 0))
    (sp-flt spt-vel-z (meters 0))
    (sp-flt spt-fade-a 0.16)
    (sp-flt spt-accel-x 1.2136296)
    (sp-flt spt-accel-z -0.75093335)
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit2 bit3 bit7 bit14)
    )
  )

;; failed to figure out what this is:
(defpart 767
  :init-specs ((sp-rnd-flt spt-num 3.0 3.0 1.0)
    (sp-flt spt-x (meters -0.5))
    (sp-int spt-rot-x 5)
    (sp-flt spt-r 4096.0)
    (sp-flt spt-g 3481.6)
    (sp-flt spt-b 3481.6)
    (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0)
    (sp-flt spt-fade-b 2.968116)
    (sp-int spt-timer 69)
    (sp-cpuinfo-flags aux-list)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 4) (meters 3) 1.0)
    (sp-flt spt-rotate-y (degrees -105.0))
    )
  )

;; failed to figure out what this is:
(defpart 768
  :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.25))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-g 128.0)
    (sp-flt spt-a 0.0)
    (sp-flt spt-accel-x 0.06826667)
    (sp-int spt-timer 690)
    (sp-cpuinfo-flags bit3 bit14)
    (sp-flt spt-rotate-y (degrees -105.0))
    )
  )

;; failed to figure out what this is:
(defpart 765
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-x (meters -0.6666667))
    (sp-flt spt-y (meters 4))
    (sp-flt spt-z (meters 2.4))
    (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0)
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 0.0 32.0 1.0)
    (sp-rnd-flt spt-g 0.0 32.0 1.0)
    (sp-rnd-flt spt-b 64.0 64.0 1.0)
    (sp-rnd-flt spt-a 8.0 32.0 1.0)
    (sp-rnd-flt spt-omega 0.0 65536.0 1.0)
    (sp-flt spt-vel-x (meters -0.0044444446))
    (sp-flt spt-vel-z (meters -0.0034999999))
    (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0)
    (sp-flt spt-fade-a 0.21333334)
    (sp-flt spt-accel-x 4.247704)
    (sp-int spt-timer 690)
    (sp-cpuinfo-flags bit2 bit3 bit7 bit14)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-butterflies
  :id 151
  :bounds (static-bspherem 0 0 0 30)
  :parts ((sp-item 773 :fade-after (meters 120) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
    (sp-item 773 :fade-after (meters 120) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
    (sp-item 773 :fade-after (meters 120) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771)
    (sp-item 771 :flags (start-dead launch-asap) :binding 772)
    (sp-item 772 :flags (is-3d start-dead))
    (sp-item 771 :flags (start-dead launch-asap) :binding 772)
    (sp-item 772 :flags (is-3d start-dead))
    (sp-item 771 :flags (start-dead launch-asap) :binding 772)
    (sp-item 772 :flags (is-3d start-dead))
    (sp-item 771 :flags (start-dead launch-asap) :binding 772)
    (sp-item 772 :flags (is-3d start-dead))
    (sp-item 771 :flags (start-dead launch-asap) :binding 772)
    (sp-item 772 :flags (is-3d start-dead))
    )
  )

;; failed to figure out what this is:
(defpart 773
  :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 774)
    (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0)
    )
  )

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

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

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

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

;; failed to figure out what this is:
(defpart 772
  :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-training-birds
  :id 152
  :bounds (static-bspherem 0 8 0 45)
  :parts ((sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
    (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
    (sp-item 779 :fade-after (meters 120) :flags (bit1 launch-asap) :binding 777)
    (sp-item 777 :flags (start-dead launch-asap) :binding 778)
    (sp-item 778 :flags (is-3d start-dead))
    (sp-item 777 :flags (start-dead launch-asap) :binding 778)
    (sp-item 778 :flags (is-3d start-dead))
    (sp-item 777 :flags (start-dead launch-asap) :binding 778)
    (sp-item 778 :flags (is-3d start-dead))
    )
  )

;; definition for function tra-bird-bob-func
;; INFO: Return type mismatch int vs none.
(defun tra-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
  (set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y)
                       (* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))))
                       )
        )
  0
  (none)
  )

;; failed to figure out what this is:
(defpart 779
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-func spt-birth-func 'birth-func-random-next-time)
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-x (meters -15) (meters 30) 1.0)
    (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0)
    (sp-rnd-flt spt-z (meters -15) (meters 30) 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-int spt-timer -1)
    (sp-cpuinfo-flags bit3)
    (sp-flt spt-userdata 199.98)
    (sp-func spt-func 'tra-bird-bob-func)
    )
  )

;; definition for function tra-sparticle-seagull-moon
;; INFO: Return type mismatch int vs none.
(defun tra-sparticle-seagull-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)))
  0
  (none)
  )

;; failed to figure out what this is:
(defpart 777
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-func spt-birth-func 'birth-func-copy-omega-to-z)
    (sp-flt spt-num 1.0)
    (sp-flt spt-x (meters 0))
    (sp-flt spt-y (meters 0))
    (sp-flt spt-z (meters 30))
    (sp-flt spt-scale-x (meters 0))
    (sp-flt spt-rot-z (degrees 0.0))
    (sp-flt spt-r 255.0)
    (sp-flt spt-g 255.0)
    (sp-flt spt-b 255.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-omega 0.0 65536.0 1.0)
    (sp-flt spt-vel-x (meters 0.0044444446))
    (sp-flt spt-vel-z (meters 0))
    (sp-flt spt-scalevel-x (meters 0.04))
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit3 bit7)
    (sp-func spt-func 'tra-sparticle-seagull-moon)
    (sp-int spt-next-time 199)
    (sp-launcher-by-id spt-next-launcher 780)
    )
  )

;; failed to figure out what this is:
(defpart 780
  :init-specs ((sp-flt spt-scale-x (meters 8))
    (sp-flt spt-scalevel-x (meters -0.08))
    (sp-int spt-timer 600)
    (sp-int spt-next-time 100)
    (sp-launcher-by-id spt-next-launcher 781)
    )
  )

;; failed to figure out what this is:
(defpart 781
  :init-specs ((sp-flt spt-scale-x (meters 0))
    (sp-flt spt-scalevel-x (meters -0.04))
    (sp-int spt-timer 600)
    (sp-int spt-next-time 199)
    (sp-launcher-by-id spt-next-launcher 780)
    )
  )

;; failed to figure out what this is:
(defpart 778
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2))
    (sp-func spt-birth-func 'birth-func-copy2-rot-color)
    (sp-flt spt-num 2.0)
    (sp-flt spt-scale-x (meters 4))
    (sp-flt spt-scale-y (meters 1.5))
    (sp-flt spt-a 128.0)
    (sp-int spt-timer 5)
    (sp-cpuinfo-flags bit2 bit9 bit12)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-waterfall-21
  :id 153
  :flags (always-draw)
  :bounds (static-bspherem 0 16 0 32)
  :parts ((sp-item 782 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 783 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 784 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 785 :fade-after (meters 80) :falloff-to (meters 80))
    (sp-item 786 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 787 :fade-after (meters 160) :falloff-to (meters 160))
    )
  )

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

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

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

;; failed to figure out what this is:
(defpart 782
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 0.9)
    (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
    (sp-flt spt-y (meters 47))
    (sp-rnd-flt spt-z (meters -1) (meters 2) 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 32.0 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.05))
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 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 384)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 369)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 783
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 0.9)
    (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
    (sp-rnd-flt spt-y (meters 39) (meters 5) 1.0)
    (sp-flt spt-z (meters 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 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-z (meters 0.011666667) (meters 0.01) 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 210)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 369)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 784
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-x (meters -2) (meters 3) 1.0)
    (sp-rnd-flt spt-y (meters 24) (meters 6) 1.0)
    (sp-flt spt-z (meters 2))
    (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0)
    (sp-rnd-flt spt-scale-y (meters 4.8) (meters 3.2) 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 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-x (meters 0) (meters 0.026666667) 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.0033333334) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.021666666) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0073242188))
    (sp-flt spt-scalevel-y (meters 0.029296875))
    (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0)
    (sp-int spt-timer 270)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 369)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 785
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-x (meters -9) (meters 1) 1.0)
    (sp-flt spt-y (meters 47))
    (sp-rnd-flt spt-z (meters -1) (meters 2) 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 24.0)
    (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 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.8444445)
    (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0)
    (sp-int spt-timer 510)
    (sp-cpuinfo-flags bit2 bit3)
    (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 786
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 0.5 0.4 1.0)
    (sp-rnd-flt spt-x (meters -7) (meters 3.5) 1.0)
    (sp-flt spt-y (meters 47))
    (sp-rnd-flt spt-z (meters -1) (meters 2) 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 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.021666666))
    (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.096 -1.024 1.0)
    (sp-int spt-timer 681)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 666)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 787
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 0.133)
    (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0)
    (sp-flt spt-y (meters -3.5))
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-flt spt-scale-x (meters 12))
    (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-vel-x (meters -0.006666667) (meters 0.02) 1.0)
    (sp-flt spt-vel-y (meters 0.033333335))
    (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (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 1.28)
    (sp-flt spt-accel-y 0.013653334)
    (sp-flt spt-friction 0.99)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2)
    (sp-int-plain-rnd spt-next-time 45 29 1)
    (sp-launcher-by-id spt-next-launcher 790)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpartgroup group-training-waterfall-20
  :id 154
  :flags (always-draw)
  :bounds (static-bspherem 0 12 0 12)
  :parts ((sp-item 792 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 793 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 794 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 795 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 796 :fade-after (meters 160) :falloff-to (meters 160))
    (sp-item 797 :fade-after (meters 160) :falloff-to (meters 160) :flags (is-3d))
    )
  )

;; failed to figure out what this is:
(defpart 792
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0)
    (sp-flt spt-y (meters 15.5))
    (sp-rnd-flt spt-z (meters -6) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0)
    (sp-rnd-flt spt-scale-y (meters 2.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 32.0 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.05))
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 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 210)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 369)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
    (sp-flt spt-rotate-y (degrees 120.0))
    )
  )

;; failed to figure out what this is:
(defpart 793
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 1.4)
    (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0)
    (sp-flt spt-y (meters 15.5))
    (sp-rnd-flt spt-z (meters -3) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0)
    (sp-rnd-flt spt-scale-y (meters 2.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 32.0 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.05))
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 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 210)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 369)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0)
    (sp-flt spt-rotate-y (degrees 190.0))
    )
  )

;; failed to figure out what this is:
(defpart 794
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 0.5 0.4 1.0)
    (sp-rnd-flt spt-x (meters -6) (meters 1) 1.0)
    (sp-flt spt-y (meters 15.5))
    (sp-rnd-flt spt-z (meters -6) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2.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 2.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 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.021666666))
    (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.096 -1.024 1.0)
    (sp-int spt-timer 540)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 360)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-flt spt-rotate-y (degrees 120.0))
    )
  )

;; failed to figure out what this is:
(defpart 795
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 0.5 0.4 1.0)
    (sp-rnd-flt spt-x (meters -4) (meters 1) 1.0)
    (sp-flt spt-y (meters 15.5))
    (sp-rnd-flt spt-z (meters -3) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2.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 2.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 16.0 1.0)
    (sp-flt spt-vel-x (meters 0.021666666))
    (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.096 -1.024 1.0)
    (sp-int spt-timer 540)
    (sp-cpuinfo-flags bit2)
    (sp-int spt-next-time 360)
    (sp-launcher-by-id spt-next-launcher 791)
    (sp-flt spt-rotate-y (degrees 190.0))
    )
  )

;; failed to figure out what this is:
(defpart 796
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 0.133)
    (sp-rnd-flt spt-x (meters 0) (meters 6) 1.0)
    (sp-flt spt-y (meters -3.5))
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-flt spt-scale-x (meters 12))
    (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-vel-x (meters -0.006666667) (meters 0.02) 1.0)
    (sp-flt spt-vel-y (meters 0.033333335))
    (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (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 1.28)
    (sp-flt spt-accel-y 0.013653334)
    (sp-flt spt-friction 0.99)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2)
    (sp-int-plain-rnd spt-next-time 45 29 1)
    (sp-launcher-by-id spt-next-launcher 790)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )

;; failed to figure out what this is:
(defpart 797
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
    (sp-flt spt-num 0.05)
    (sp-rnd-flt spt-x (meters 0) (meters 5) 1.0)
    (sp-rnd-flt spt-z (meters -8) (meters 8) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 92.0)
    (sp-flt spt-g 92.0)
    (sp-flt spt-b 92.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a 0.2)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit3)
    (sp-int spt-next-time 300)
    (sp-launcher-by-id spt-next-launcher 789)
    (sp-flt spt-rotate-y (degrees 90.0))
    )
  )
