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

;; name: templex-part.gc
;; name in dgo: templex-part
;; dgos: TEMX

(define-extern *range-color-templex-big-torch-flame* curve-color-fast)
(define-extern *range-alpha-templex-big-torch-flame* curve2d-fast)
(define-extern *range-scale-templex-big-torch-flame-x* curve2d-fast)
(define-extern *range-scale-templex-big-torch-flame-y* curve2d-fast)
(define-extern *r-curve-templex-big-torch-flame* curve2d-fast)
(define-extern *g-curve-templex-big-torch-flame* curve2d-fast)
(define-extern *b-curve-templex-big-torch-flame* curve2d-fast)
(define-extern *curve-alpha-templex-big-torch-flame* curve2d-fast)
(define-extern *curve-templex-big-torch-flame-x* curve2d-fast)
(define-extern *curve-templex-big-torch-flame-y* curve2d-fast)
(define-extern *range-color-templex-fire-vase-flame* curve-color-fast)
(define-extern *range-alpha-templex-fire-vase-flame* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-flame-x* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-flame-y* curve2d-fast)
(define-extern *r-curve-templex-fire-vase-flame* curve2d-fast)
(define-extern *g-curve-templex-fire-vase-flame* curve2d-fast)
(define-extern *b-curve-templex-fire-vase-flame* curve2d-fast)
(define-extern *curve-alpha-templex-fire-vase-flame* curve2d-fast)
(define-extern *curve-templex-fire-vase-flame-x* curve2d-fast)
(define-extern *curve-templex-fire-vase-flame-y* curve2d-fast)
(define-extern *range-color-templex-fire-vase-large-flame* curve-color-fast)
(define-extern *range-alpha-templex-fire-vase-large-flame* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-large-flame-x* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-large-flame-y* curve2d-fast)
(define-extern *r-curve-templex-fire-vase-large-flame* curve2d-fast)
(define-extern *g-curve-templex-fire-vase-large-flame* curve2d-fast)
(define-extern *b-curve-templex-fire-vase-large-flame* curve2d-fast)
(define-extern *curve-alpha-templex-fire-vase-large-flame* curve2d-fast)
(define-extern *curve-templex-fire-vase-large-flame-x* curve2d-fast)
(define-extern *curve-templex-fire-vase-large-flame-y* curve2d-fast)
(define-extern *range-color-templex-fire-vase-small-flame* curve-color-fast)
(define-extern *range-alpha-templex-fire-vase-small-flame* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-small-flame-x* curve2d-fast)
(define-extern *range-scale-templex-fire-vase-small-flame-y* curve2d-fast)
(define-extern *r-curve-templex-fire-vase-small-flame* curve2d-fast)
(define-extern *g-curve-templex-fire-vase-small-flame* curve2d-fast)
(define-extern *b-curve-templex-fire-vase-small-flame* curve2d-fast)
(define-extern *curve-alpha-templex-fire-vase-small-flame* curve2d-fast)
(define-extern *curve-templex-fire-vase-small-flame-x* curve2d-fast)
(define-extern *curve-templex-fire-vase-small-flame-y* curve2d-fast)

;; DECOMP BEGINS

(defpartgroup group-templex-big-torch
  :id 690
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 10)
  :parts ((sp-item 2666 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2667 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2668 :fade-after (meters 100) :falloff-to (meters 200))
    (sp-item 2669 :falloff-to (meters 60) :flags (sp7))
    )
  )

(defpart 2666
  :init-specs ((:texture (explosion-nebula level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 1.0 1.0)
    (:y (meters 0))
    (:scale-x (meters 1))
    (:rot-z (degrees -20) (degrees 40))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 0.0)
    (:b 0.0)
    (:a 0.0)
    (:vel-y (meters -0.006666667) (meters 0.0033333334))
    (:accel-y (meters 0.00066666666) (meters 0.00033333333))
    (:timer (seconds 0.005))
    (:flags (sp-cpuinfo-flag-3 launch-along-z))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees -90) (degrees 180))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-color-templex-big-torch-flame* (new 'static 'curve-color-fast
                                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                  :ys (new 'static 'inline-array vector 4
                                                    (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    )
                                                  :one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *range-alpha-templex-big-torch-flame* (new 'static 'curve2d-fast
                                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                  :ys (new 'static 'vector :x 96.0 :y 255.0 :z 256.0 :w 257.0)
                                                  :one-over-x-deltas (new 'static 'vector :x 159.0 :y 1.0 :z 1.0 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *range-scale-templex-big-torch-flame-x* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                    :ys (new 'static 'vector :x 3.0 :y 5.0 :z 6.0 :w 7.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *range-scale-templex-big-torch-flame-y* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                    :ys (new 'static 'vector :x 4.0 :y 7.0 :z 8.0 :w 9.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *r-curve-templex-big-torch-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 0.2 :y 1.0 :z 1.0 :w 1.0)
                                              :one-over-x-deltas (new 'static 'vector :x 1.6 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *g-curve-templex-big-torch-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :y 1.0 :z 0.8 :w 0.2)
                                              :one-over-x-deltas (new 'static 'vector :x 2.0 :y -1.0 :z -2.0 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *b-curve-templex-big-torch-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 1.0 :y 1.0)
                                              :one-over-x-deltas (new 'static 'vector :y -5.0000005 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *curve-alpha-templex-big-torch-flame* (new 'static 'curve2d-fast
                                                  :xs (new 'static 'vector :y -0.4 :z -0.7 :w -1.0)
                                                  :ys (new 'static 'vector :z 1.0 :w 0.2)
                                                  :one-over-x-deltas (new 'static 'vector :y 3.3333335 :z -2.6666665 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *curve-templex-big-torch-flame-x* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.6 :w -1.0)
                                              :ys (new 'static 'vector :x 0.3 :y 0.6 :z 0.5 :w 0.2)
                                              :one-over-x-deltas (new 'static 'vector :x 0.6 :y -1.0 :z -0.75000006 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *curve-templex-big-torch-flame-y* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 0.2 :y 0.4 :z 0.5 :w 0.6)
                                              :one-over-x-deltas (new 'static 'vector :x 0.4 :y 0.5 :z 0.3333334 :w 1.0)
                                              )
          )
    )

(define *part-templex-big-torch-flame-curve-settings* (new 'static 'particle-curve-settings
                                                        :lifetime-base (seconds 0.3)
                                                        :lifetime-offset (seconds 0.4)
                                                        :flags (particle-curve-flags pcf1)
                                                        )
        )

(set! (-> *part-id-table* 2666 init-specs 15 initial-valuef)
      (the-as float *part-templex-big-torch-flame-curve-settings*)
      )

(set! (-> *part-templex-big-torch-flame-curve-settings* color-start) *range-color-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* alpha-start) *range-alpha-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* scale-x-start)
      *range-scale-templex-big-torch-flame-x*
      )

(set! (-> *part-templex-big-torch-flame-curve-settings* scale-y-start)
      *range-scale-templex-big-torch-flame-y*
      )

(set! (-> *part-templex-big-torch-flame-curve-settings* r-scalar) *r-curve-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* g-scalar) *g-curve-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* b-scalar) *b-curve-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* a-scalar) *curve-alpha-templex-big-torch-flame*)

(set! (-> *part-templex-big-torch-flame-curve-settings* scale-x-scalar) *curve-templex-big-torch-flame-x*)

(set! (-> *part-templex-big-torch-flame-curve-settings* scale-y-scalar) *curve-templex-big-torch-flame-y*)

(defpart 2667
  :init-specs ((:texture (glow level-default-sprite))
    (:num 0.4)
    (:y (meters 2))
    (:scale-x (meters 10) (meters 6))
    (:rot-x (degrees 6.7500005))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 0.0)
    (:a 24.0 8.0)
    (:omega (degrees 11261.25))
    (:timer (seconds 0.167) (seconds 0.08))
    (:flags (sp-cpuinfo-flag-3 glow set-conerot))
    (:userdata 2048.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2669
  :init-specs ((:num 0.3)
    (:x (meters -1) (meters 2))
    (:y (meters 1))
    (:z (meters -1) (meters 2))
    (:rot-x 8)
    (:r 8192.0)
    (:g 4096.0)
    (:b 4096.0)
    (:vel-y (meters 0.0033333334))
    (:fade-b -6.826667)
    (:accel-y (meters 0.00066666666))
    (:timer (seconds 1))
    (:flags (distort))
    (:next-time (seconds 0.5))
    (:next-launcher 2670)
    )
  )

(defpart 2670
  :init-specs ((:fade-b 6.826667))
  )

(defpart 2668
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 0.005 0.08)
    (:x (meters 0) (meters 1))
    (:y (meters 0))
    (:scale-x (meters 0.2) (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 8.0)
    (:a 255.0)
    (:omega (degrees 0.0675))
    (:vel-y (meters 0.016666668) (meters 0.016666668))
    (:accel-x (meters -0.001))
    (:accel-z (meters -0.001))
    (:friction 0.98 0.02)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat))
    (:func 'sparticle-motion-blur)
    (:next-time (seconds 0.167))
    (:next-launcher 2671)
    (:conerot-x (degrees -5) (degrees 10))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2671
  :init-specs ((:fade-a -0.85 -0.85)
    (:accel-x (meters 0.002))
    (:accel-z (meters 0.002))
    (:next-time (seconds 0.167))
    (:next-launcher 2672)
    )
  )

(defpart 2672
  :init-specs ((:accel-x (meters -0.0033333334) (meters 0.006666667))
    (:accel-z (meters -0.0033333334) (meters 0.006666667))
    (:next-time (seconds 0.167))
    (:next-launcher 2672)
    )
  )

(defpartgroup group-templex-fire-vase
  :id 691
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 10)
  :parts ((sp-item 2673 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2674 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2675 :fade-after (meters 100) :falloff-to (meters 200))
    (sp-item 2676 :falloff-to (meters 60) :flags (sp7))
    )
  )

(defpart 2673
  :init-specs ((:texture (explosion-nebula level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 1.0 1.0)
    (:x (meters 0) (meters 1))
    (:y (meters -1))
    (:scale-x (meters 1))
    (:rot-z (degrees -20) (degrees 40))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 0.0)
    (:b 0.0)
    (:a 0.0)
    (:vel-y (meters -0.006666667) (meters 0.0033333334))
    (:accel-y (meters 0.001) (meters 0.00033333333))
    (:timer (seconds 0.005))
    (:flags (sp-cpuinfo-flag-3 launch-along-z))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees -90) (degrees 180))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-color-templex-fire-vase-flame* (new 'static 'curve-color-fast
                                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                  :ys (new 'static 'inline-array vector 4
                                                    (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
                                                    )
                                                  :one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *range-alpha-templex-fire-vase-flame* (new 'static 'curve2d-fast
                                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                  :ys (new 'static 'vector :x 96.0 :y 255.0 :z 256.0 :w 257.0)
                                                  :one-over-x-deltas (new 'static 'vector :x 159.0 :y 1.0 :z 1.0 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-flame-x* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                    :ys (new 'static 'vector :x 5.0 :y 8.0 :z 9.0 :w 10.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-flame-y* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                    :ys (new 'static 'vector :x 6.0 :y 10.0 :z 11.0 :w 12.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 4.0 :y 1.0 :z 1.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *r-curve-templex-fire-vase-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 0.2 :y 1.0 :z 1.0 :w 1.0)
                                              :one-over-x-deltas (new 'static 'vector :x 1.6 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *g-curve-templex-fire-vase-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :y 1.0 :z 0.8 :w 0.2)
                                              :one-over-x-deltas (new 'static 'vector :x 2.0 :y -1.0 :z -2.0 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *b-curve-templex-fire-vase-flame* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 1.0 :y 1.0)
                                              :one-over-x-deltas (new 'static 'vector :y -5.0000005 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *curve-alpha-templex-fire-vase-flame* (new 'static 'curve2d-fast
                                                  :xs (new 'static 'vector :y -0.4 :z -0.7 :w -1.0)
                                                  :ys (new 'static 'vector :z 1.0 :w 0.2)
                                                  :one-over-x-deltas (new 'static 'vector :y 3.3333335 :z -2.6666665 :w 1.0)
                                                  )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-flame-x* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.6 :w -1.0)
                                              :ys (new 'static 'vector :x 0.3 :y 0.6 :z 0.5 :w 0.2)
                                              :one-over-x-deltas (new 'static 'vector :x 0.6 :y -1.0 :z -0.75000006 :w 1.0)
                                              )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-flame-y* (new 'static 'curve2d-fast
                                              :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                              :ys (new 'static 'vector :x 0.2 :y 0.4 :z 0.5 :w 0.6)
                                              :one-over-x-deltas (new 'static 'vector :x 0.4 :y 0.5 :z 0.3333334 :w 1.0)
                                              )
          )
    )

(define *part-templex-fire-vase-flame-curve-settings* (new 'static 'particle-curve-settings
                                                        :lifetime-base (seconds 0.3)
                                                        :lifetime-offset (seconds 0.4)
                                                        :flags (particle-curve-flags pcf1)
                                                        )
        )

(set! (-> *part-id-table* 2673 init-specs 16 initial-valuef)
      (the-as float *part-templex-fire-vase-flame-curve-settings*)
      )

(set! (-> *part-templex-fire-vase-flame-curve-settings* color-start) *range-color-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* alpha-start) *range-alpha-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* scale-x-start)
      *range-scale-templex-fire-vase-flame-x*
      )

(set! (-> *part-templex-fire-vase-flame-curve-settings* scale-y-start)
      *range-scale-templex-fire-vase-flame-y*
      )

(set! (-> *part-templex-fire-vase-flame-curve-settings* r-scalar) *r-curve-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* g-scalar) *g-curve-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* b-scalar) *b-curve-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* a-scalar) *curve-alpha-templex-fire-vase-flame*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* scale-x-scalar) *curve-templex-fire-vase-flame-x*)

(set! (-> *part-templex-fire-vase-flame-curve-settings* scale-y-scalar) *curve-templex-fire-vase-flame-y*)

(defpart 2674
  :init-specs ((:texture (glow level-default-sprite))
    (:num 0.4)
    (:y (meters 2))
    (:scale-x (meters 15) (meters 6))
    (:rot-x (degrees 6.7500005))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 0.0)
    (:a 24.0 8.0)
    (:omega (degrees 11261.25))
    (:timer (seconds 0.167) (seconds 0.08))
    (:flags (sp-cpuinfo-flag-3 glow set-conerot))
    (:userdata 2048.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2676
  :init-specs ((:num 0.3)
    (:x (meters -1) (meters 2))
    (:y (meters 2))
    (:z (meters -1) (meters 2))
    (:rot-x 8)
    (:r 8192.0)
    (:g 4096.0)
    (:b 4096.0)
    (:vel-y (meters 0.0033333334))
    (:fade-b -6.826667)
    (:accel-y (meters 0.001))
    (:timer (seconds 1))
    (:flags (distort))
    (:next-time (seconds 0.5))
    (:next-launcher 2677)
    )
  )

(defpart 2677
  :init-specs ((:fade-b 6.826667))
  )

(defpart 2675
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 0.005 0.08)
    (:x (meters 0) (meters 1))
    (:y (meters 0))
    (:scale-x (meters 0.2) (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 8.0)
    (:a 255.0)
    (:omega (degrees 0.0675))
    (:vel-y (meters 0.016666668) (meters 0.016666668))
    (:accel-x (meters -0.001))
    (:accel-z (meters -0.001))
    (:friction 0.98 0.02)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat))
    (:func 'sparticle-motion-blur)
    (:next-time (seconds 0.167))
    (:next-launcher 2678)
    (:conerot-x (degrees -5) (degrees 10))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2678
  :init-specs ((:fade-a -0.85 -0.85)
    (:accel-x (meters 0.002))
    (:accel-z (meters 0.002))
    (:next-time (seconds 0.167))
    (:next-launcher 2679)
    )
  )

(defpart 2679
  :init-specs ((:accel-x (meters -0.0033333334) (meters 0.006666667))
    (:accel-z (meters -0.0033333334) (meters 0.006666667))
    (:next-time (seconds 0.167))
    (:next-launcher 2679)
    )
  )

(defpartgroup group-templex-fire-vase-large
  :id 692
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 10)
  :parts ((sp-item 2680 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2681 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2682 :fade-after (meters 100) :falloff-to (meters 200))
    (sp-item 2683 :falloff-to (meters 60) :flags (sp7))
    )
  )

(defpart 2680
  :init-specs ((:texture (explosion-nebula level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 1.0 1.0)
    (:x (meters 0) (meters 2))
    (:y (meters -1))
    (:scale-x (meters 1))
    (:rot-z (degrees -20) (degrees 40))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 0.0)
    (:b 0.0)
    (:a 0.0)
    (:vel-y (meters -0.006666667) (meters 0.0033333334))
    (:accel-y (meters 0.0016666667) (meters 0.00066666666))
    (:timer (seconds 0.005))
    (:flags (sp-cpuinfo-flag-3 launch-along-z))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees -90) (degrees 180))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-color-templex-fire-vase-large-flame*
          (new 'static 'curve-color-fast
            :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
            :ys (new 'static 'inline-array vector 4
              (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              )
            :one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
            )
          )
    )

(if #t
    (set! *range-alpha-templex-fire-vase-large-flame* (new 'static 'curve2d-fast
                                                        :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                        :ys (new 'static 'vector :x 96.0 :y 255.0 :z 256.0 :w 257.0)
                                                        :one-over-x-deltas (new 'static 'vector :x 159.0 :y 1.0 :z 1.0 :w 1.0)
                                                        )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-large-flame-x* (new 'static 'curve2d-fast
                                                          :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                          :ys (new 'static 'vector :x 7.0 :y 10.0 :z 11.0 :w 12.0)
                                                          :one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
                                                          )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-large-flame-y* (new 'static 'curve2d-fast
                                                          :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                          :ys (new 'static 'vector :x 9.0 :y 15.0 :z 16.0 :w 17.0)
                                                          :one-over-x-deltas (new 'static 'vector :x 6.0 :y 1.0 :z 1.0 :w 1.0)
                                                          )
          )
    )

(if #t
    (set! *r-curve-templex-fire-vase-large-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.2 :y 1.0 :z 1.0 :w 1.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 1.6 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *g-curve-templex-fire-vase-large-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :y 1.0 :z 0.8 :w 0.2)
                                                    :one-over-x-deltas (new 'static 'vector :x 2.0 :y -1.0 :z -2.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *b-curve-templex-fire-vase-large-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 1.0 :y 1.0)
                                                    :one-over-x-deltas (new 'static 'vector :y -5.0000005 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *curve-alpha-templex-fire-vase-large-flame* (new 'static 'curve2d-fast
                                                        :xs (new 'static 'vector :y -0.4 :z -0.7 :w -1.0)
                                                        :ys (new 'static 'vector :z 1.0 :w 0.2)
                                                        :one-over-x-deltas (new 'static 'vector :y 3.3333335 :z -2.6666665 :w 1.0)
                                                        )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-large-flame-x* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.6 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.3 :y 0.6 :z 0.5 :w 0.2)
                                                    :one-over-x-deltas (new 'static 'vector :x 0.6 :y -1.0 :z -0.75000006 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-large-flame-y* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.2 :y 0.4 :z 0.5 :w 0.6)
                                                    :one-over-x-deltas (new 'static 'vector :x 0.4 :y 0.5 :z 0.3333334 :w 1.0)
                                                    )
          )
    )

(define *part-templex-fire-vase-large-flame-curve-settings* (new 'static 'particle-curve-settings
                                                              :lifetime-base (seconds 0.3)
                                                              :lifetime-offset (seconds 0.4)
                                                              :flags (particle-curve-flags pcf1)
                                                              )
        )

(set! (-> *part-id-table* 2680 init-specs 16 initial-valuef)
      (the-as float *part-templex-fire-vase-large-flame-curve-settings*)
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* color-start)
      *range-color-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* alpha-start)
      *range-alpha-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* scale-x-start)
      *range-scale-templex-fire-vase-large-flame-x*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* scale-y-start)
      *range-scale-templex-fire-vase-large-flame-y*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* r-scalar)
      *r-curve-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* g-scalar)
      *g-curve-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* b-scalar)
      *b-curve-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* a-scalar)
      *curve-alpha-templex-fire-vase-large-flame*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* scale-x-scalar)
      *curve-templex-fire-vase-large-flame-x*
      )

(set! (-> *part-templex-fire-vase-large-flame-curve-settings* scale-y-scalar)
      *curve-templex-fire-vase-large-flame-y*
      )

(defpart 2681
  :init-specs ((:texture (glow level-default-sprite))
    (:num 0.4)
    (:y (meters 2))
    (:scale-x (meters 15) (meters 6))
    (:rot-x (degrees 6.7500005))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 0.0)
    (:a 24.0 8.0)
    (:omega (degrees 11261.25))
    (:timer (seconds 0.25) (seconds 0.08))
    (:flags (sp-cpuinfo-flag-3 glow set-conerot))
    (:userdata 2048.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2683
  :init-specs ((:num 0.3)
    (:x (meters -1) (meters 2))
    (:y (meters 2))
    (:z (meters -1) (meters 2))
    (:rot-x 8)
    (:r 16384.0)
    (:g 8192.0)
    (:b 8192.0)
    (:vel-y (meters 0.0033333334))
    (:fade-b -6.826667)
    (:accel-y (meters 0.0016666667))
    (:timer (seconds 1))
    (:flags (distort))
    (:next-time (seconds 0.5))
    (:next-launcher 2684)
    )
  )

(defpart 2684
  :init-specs ((:fade-b 6.826667))
  )

(defpart 2682
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 0.005 0.08)
    (:x (meters 0) (meters 1))
    (:y (meters 2))
    (:scale-x (meters 0.2) (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 8.0)
    (:a 255.0)
    (:omega (degrees 0.0675))
    (:vel-y (meters 0.033333335) (meters 0.033333335))
    (:accel-x (meters -0.001))
    (:accel-z (meters -0.001))
    (:friction 0.98 0.02)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat))
    (:func 'sparticle-motion-blur)
    (:next-time (seconds 0.167))
    (:next-launcher 2685)
    (:conerot-x (degrees -5) (degrees 10))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2685
  :init-specs ((:fade-a -0.85 -0.85)
    (:accel-x (meters 0.002))
    (:accel-z (meters 0.002))
    (:next-time (seconds 0.167))
    (:next-launcher 2686)
    )
  )

(defpart 2686
  :init-specs ((:accel-x (meters -0.0033333334) (meters 0.006666667))
    (:accel-z (meters -0.0033333334) (meters 0.006666667))
    (:next-time (seconds 0.167))
    (:next-launcher 2686)
    )
  )

(defpartgroup group-templex-fire-vase-small
  :id 693
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 10)
  :parts ((sp-item 2687 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2688 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))
    (sp-item 2689 :fade-after (meters 100) :falloff-to (meters 200))
    (sp-item 2690 :falloff-to (meters 60) :flags (sp7))
    )
  )

(defpart 2687
  :init-specs ((:texture (explosion-nebula level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 1.0 1.0)
    (:y (meters -1))
    (:scale-x (meters 1))
    (:rot-z (degrees -20) (degrees 40))
    (:scale-y :copy scale-x)
    (:r 0.0)
    (:g 0.0)
    (:b 0.0)
    (:a 0.0)
    (:vel-y (meters -0.006666667) (meters 0.0033333334))
    (:accel-y (meters 0.00066666666) (meters 0.00033333333))
    (:timer (seconds 0.005))
    (:flags (sp-cpuinfo-flag-3 launch-along-z))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees -90) (degrees 180))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-color-templex-fire-vase-small-flame*
          (new 'static 'curve-color-fast
            :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
            :ys (new 'static 'inline-array vector 4
              (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0)
              )
            :one-over-x-deltas (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
            )
          )
    )

(if #t
    (set! *range-alpha-templex-fire-vase-small-flame* (new 'static 'curve2d-fast
                                                        :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                        :ys (new 'static 'vector :x 96.0 :y 255.0 :z 256.0 :w 257.0)
                                                        :one-over-x-deltas (new 'static 'vector :x 159.0 :y 1.0 :z 1.0 :w 1.0)
                                                        )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-small-flame-x* (new 'static 'curve2d-fast
                                                          :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                          :ys (new 'static 'vector :x 3.0 :y 5.0 :z 6.0 :w 7.0)
                                                          :one-over-x-deltas (new 'static 'vector :x 2.0 :y 1.0 :z 1.0 :w 1.0)
                                                          )
          )
    )

(if #t
    (set! *range-scale-templex-fire-vase-small-flame-y* (new 'static 'curve2d-fast
                                                          :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                                          :ys (new 'static 'vector :x 4.0 :y 7.0 :z 8.0 :w 9.0)
                                                          :one-over-x-deltas (new 'static 'vector :x 3.0 :y 1.0 :z 1.0 :w 1.0)
                                                          )
          )
    )

(if #t
    (set! *r-curve-templex-fire-vase-small-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.2 :y 1.0 :z 1.0 :w 1.0)
                                                    :one-over-x-deltas (new 'static 'vector :x 1.6 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *g-curve-templex-fire-vase-small-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :y 1.0 :z 0.8 :w 0.2)
                                                    :one-over-x-deltas (new 'static 'vector :x 2.0 :y -1.0 :z -2.0 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *b-curve-templex-fire-vase-small-flame* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 1.0 :y 1.0)
                                                    :one-over-x-deltas (new 'static 'vector :y -5.0000005 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *curve-alpha-templex-fire-vase-small-flame* (new 'static 'curve2d-fast
                                                        :xs (new 'static 'vector :y -0.4 :z -0.7 :w -1.0)
                                                        :ys (new 'static 'vector :z 1.0 :w 0.2)
                                                        :one-over-x-deltas (new 'static 'vector :y 3.3333335 :z -2.6666665 :w 1.0)
                                                        )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-small-flame-x* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.6 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.3 :y 0.6 :z 0.5 :w 0.2)
                                                    :one-over-x-deltas (new 'static 'vector :x 0.6 :y -1.0 :z -0.75000006 :w 1.0)
                                                    )
          )
    )

(if #t
    (set! *curve-templex-fire-vase-small-flame-y* (new 'static 'curve2d-fast
                                                    :xs (new 'static 'vector :y -0.5 :z -0.7 :w -1.0)
                                                    :ys (new 'static 'vector :x 0.2 :y 0.4 :z 0.5 :w 0.6)
                                                    :one-over-x-deltas (new 'static 'vector :x 0.4 :y 0.5 :z 0.3333334 :w 1.0)
                                                    )
          )
    )

(define *part-templex-fire-vase-small-flame-curve-settings* (new 'static 'particle-curve-settings
                                                              :lifetime-base (seconds 0.3)
                                                              :lifetime-offset (seconds 0.4)
                                                              :flags (particle-curve-flags pcf1)
                                                              )
        )

(set! (-> *part-id-table* 2687 init-specs 15 initial-valuef)
      (the-as float *part-templex-fire-vase-small-flame-curve-settings*)
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* color-start)
      *range-color-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* alpha-start)
      *range-alpha-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* scale-x-start)
      *range-scale-templex-fire-vase-small-flame-x*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* scale-y-start)
      *range-scale-templex-fire-vase-small-flame-y*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* r-scalar)
      *r-curve-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* g-scalar)
      *g-curve-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* b-scalar)
      *b-curve-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* a-scalar)
      *curve-alpha-templex-fire-vase-small-flame*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* scale-x-scalar)
      *curve-templex-fire-vase-small-flame-x*
      )

(set! (-> *part-templex-fire-vase-small-flame-curve-settings* scale-y-scalar)
      *curve-templex-fire-vase-small-flame-y*
      )

(defpart 2688
  :init-specs ((:texture (glow level-default-sprite))
    (:num 0.4)
    (:y (meters 1))
    (:scale-x (meters 8) (meters 4))
    (:rot-x (degrees 6.7500005))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 0.0)
    (:a 24.0 8.0)
    (:omega (degrees 11261.25))
    (:timer (seconds 0.167) (seconds 0.08))
    (:flags (sp-cpuinfo-flag-3 glow set-conerot))
    (:userdata 2048.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2690
  :init-specs ((:num 0.3)
    (:x (meters -1) (meters 2))
    (:y (meters 1))
    (:z (meters -1) (meters 2))
    (:rot-x 8)
    (:r 8192.0)
    (:g 4096.0)
    (:b 4096.0)
    (:vel-y (meters 0.0033333334))
    (:fade-b -3.4133334)
    (:accel-y (meters 0.001))
    (:timer (seconds 1))
    (:flags (distort))
    (:next-time (seconds 0.5))
    (:next-launcher 2691)
    )
  )

(defpart 2691
  :init-specs ((:fade-b 3.4133334))
  )

(defpart 2689
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 0.005 0.08)
    (:x (meters 0) (meters 1))
    (:y (meters 0))
    (:scale-x (meters 0.2) (meters 0.2))
    (:scale-y :copy scale-x)
    (:r 64.0)
    (:g 32.0)
    (:b 8.0)
    (:a 255.0)
    (:omega (degrees 0.0675))
    (:vel-y (meters 0.013333334) (meters 0.01))
    (:accel-x (meters -0.00033333333))
    (:accel-z (meters -0.00033333333))
    (:friction 0.98 0.02)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat))
    (:func 'sparticle-motion-blur)
    (:next-time (seconds 0.167))
    (:next-launcher 2692)
    (:conerot-x (degrees -5) (degrees 10))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2692
  :init-specs ((:fade-a -0.85 -0.85)
    (:accel-x (meters 0.00066666666))
    (:accel-z (meters 0.00066666666))
    (:next-time (seconds 0.167))
    (:next-launcher 2693)
    )
  )

(defpart 2693
  :init-specs ((:accel-x (meters -0.001) (meters 0.002))
    (:accel-z (meters -0.001) (meters 0.002))
    (:next-time (seconds 0.167))
    (:next-launcher 2693)
    )
  )

(defpartgroup group-temple-waterfall-mist-fall
  :id 694
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 -60 0 80)
  :parts ((sp-item 2694 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7)))
  )

(defpart 2695
  :init-specs ((:fade-a -0.042666666 -0.064))
  )

(defpart 2694
  :init-specs ((:texture (ceiling-dust templex-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 0.1 0.1)
    (:x (meters -5) (meters 10))
    (:y (meters -100) (meters 100))
    (:scale-x (meters 5) (meters 10))
    (:scale-y :copy scale-x)
    (:r 200.0)
    (:g 200.0)
    (:b 200.0)
    (:a 0.0)
    (:vel-y (meters -0.046666667) (meters -0.013333334))
    (:vel-z (meters 0.0033333334))
    (:scalevel-x (meters 0.006666667) (meters 0.006666667))
    (:scalevel-y :copy scalevel-x)
    (:fade-a 0.021333333 0.021333333)
    (:timer (seconds 5))
    (:flags (sp-cpuinfo-flag-2 launch-along-z))
    (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 -2020605696 #x405c00))
    (:next-time (seconds 2.5))
    (:next-launcher 2695)
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-temple-waterfall-splash
  :id 695
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 80)
  :parts ((sp-item 2696 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7)))
  )

(defpart 2696
  :init-specs ((:texture (water-drops level-default-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 0.0 8.0)
    (:y (meters 0))
    (:scale-x (meters 1) (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 100.0 20.0)
    (:g :copy r)
    (:b :copy r)
    (:a 64.0)
    (:vel-y (meters 0.033333335) (meters 0.01))
    (:scalevel-x (meters 0.026666667))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -0.053333335 -0.10666667)
    (:accel-y (meters -0.0016666667))
    (:friction 0.98 0.02)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 launch-along-z left-multiply-quat))
    (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x406500 #x404a00))
    (:conerot-x (degrees 90) (degrees 30))
    (:conerot-y (degrees -60) (degrees 120))
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-temple-waterfall-mist-up
  :id 696
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 1 0 80)
  :parts ((sp-item 2697 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7)))
  )

(defpart 2697
  :init-specs ((:texture (big-cloud level-default-sprite))
    (:num 0.05 0.05)
    (:x (meters 6) (meters 5))
    (:z (meters 10) (meters 8))
    (:scale-x (meters 5) (meters 5))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 180.0 70.0)
    (:g :copy r)
    (:b :copy r)
    (:a 0.0)
    (:vel-y (meters 0.026666667) (meters 0.016666668))
    (:scalevel-x (meters 0.033333335) (meters 0.033333335))
    (:scalevel-y :copy scalevel-x)
    (:fade-a 0.021333333 0.042666666)
    (:timer (seconds 5))
    (:flags (sp-cpuinfo-flag-2))
    (:next-time (seconds 2.5))
    (:next-launcher 2695)
    )
  )

(defpartgroup group-temple-waterfall-mist-rainbow
  :id 697
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 80 0 50)
  :parts ((sp-item 2698 :fade-after (meters 200) :falloff-to (meters 200) :flags (sp7) :hour-mask #b111110000000000001111111)
    )
  )

(defpart 2698
  :init-specs ((:texture (rainbow-halo level-default-sprite))
    (:num 0.1)
    (:x (meters -10))
    (:y (meters 80))
    (:z (meters -10))
    (:scale-x (meters 60))
    (:scale-y :copy scale-x)
    (:r 180.0 70.0)
    (:g :copy r)
    (:b :copy r)
    (:a 0.0)
    (:fade-a 0.0 0.6666667)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:next-time (seconds 0.5))
    (:next-launcher 2699)
    )
  )

(defpart 2699
  :init-specs ((:fade-a -0.42666668 -0.42666668))
  )
