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

;; definition for function part-hud-racer-speed-func
;; INFO: Return type mismatch float vs none.
(defun part-hud-racer-speed-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (let* ((f0-0 (-> *target* control unknown-float01))
         (f0-1 (cond
                 ((>= 122880.0 f0-0)
                  (lerp-scale 42780.445 27488.71 f0-0 0.0 122880.0)
                  )
                 ((>= 131072.0 f0-0)
                  (lerp-scale 27488.71 14927.645 f0-0 122880.0 131072.0)
                  )
                 ((>= 139264.0 f0-0)
                  (lerp-scale 14927.645 7281.778 f0-0 131072.0 139264.0)
                  )
                 ((>= 147456.0 f0-0)
                  (lerp-scale 7281.778 -546.13336 f0-0 139264.0 147456.0)
                  )
                 ((>= 155648.0 f0-0)
                  (lerp-scale -546.13336 -6371.5557 f0-0 147456.0 155648.0)
                  )
                 ((>= 163840.0 f0-0)
                  (lerp-scale -6371.5557 -10922.667 f0-0 155648.0 163840.0)
                  )
                 (else
                   (lerp-scale -10922.667 -15473.777 f0-0 163840.0 172032.0)
                   )
                 )
               )
         )
    (cond
      ((< (-> *hud-parts* bike-speed 0 offset) 10)
       (if (< f0-1 (-> arg2 vector 1 z))
           (set! (-> arg2 vector 1 z) (deg-seek (-> arg2 vector 1 z) f0-1 (* 131072.0 (-> *display* seconds-per-frame))))
           (set! (-> arg2 vector 1 z) (deg-seek (-> arg2 vector 1 z) f0-1 (* 32768.0 (-> *display* seconds-per-frame))))
           )
       )
      (else
        (set! (-> arg2 vector 1 z) f0-1)
        )
      )
    )
  (none)
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-speed-dial
  :id 108
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 740 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-speed
  :id 109
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 741 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-speed-front
  :id 110
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 1999 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpart 741
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 3))
    (sp-int spt-rot-x 4)
    (sp-flt spt-scale-y (meters 3))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    )
  )

;; failed to figure out what this is:
(defpart 740
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 1))
    (sp-int spt-rot-x 4)
    (sp-flt spt-rot-z (degrees 235.0))
    (sp-flt spt-scale-y (meters 0.3))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    (sp-func spt-func 'part-hud-racer-speed-func)
    )
  )

;; failed to figure out what this is:
(defpart 1999
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 0.8))
    (sp-int spt-rot-x 4)
    (sp-flt spt-scale-y (meters 0.8))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    )
  )

;; definition for function part-hud-racer-heat-func
;; INFO: Return type mismatch float vs none.
(defun part-hud-racer-heat-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max))))
    (set! (-> arg2 vector 1 z) (* 182.04445 (+ -45.0 (* 215.0 f0-1))))
    (cond
      ((and (< 0.8 f0-1) (zero? (logand (-> *display* integral-frame-counter) 8)))
       (set! (-> arg2 vector 2 x) 128.0)
       (set! (-> arg2 vector 2 y) 0.0)
       (set! (-> arg2 vector 2 z) 0.0)
       )
      (else
        (set! (-> arg2 vector 2 x) 128.0)
        (set! (-> arg2 vector 2 y) 128.0)
        (set! (-> arg2 vector 2 z) 128.0)
        )
      )
    )
  (none)
  )

;; definition for function zoomer-heat-slice-color
;; INFO: Return type mismatch float vs none.
(defun zoomer-heat-slice-color ((arg0 matrix) (arg1 float))
  (cond
    ((< arg1 0.6)
     (set! (-> arg0 vector 2 x) (* 213.33333 arg1))
     (set! (-> arg0 vector 2 y) 128.0)
     (set! (-> arg0 vector 2 z) 0.0)
     )
    ((< arg1 0.8)
     (set! (-> arg0 vector 2 x) 128.0)
     (set! (-> arg0 vector 2 y) (- 128.0 (* 640.0 (+ -0.6 arg1))))
     (set! (-> arg0 vector 2 z) 0.0)
     )
    ((zero? (logand (-> *display* integral-frame-counter) 8))
     (set! (-> arg0 vector 2 x) 128.0)
     (set! (-> arg0 vector 2 y) 0.0)
     (set! (-> arg0 vector 2 z) 0.0)
     )
    (else
      (set! (-> arg0 vector 2 x) 128.0)
      (set! (-> arg0 vector 2 y) 100.0)
      (set! (-> arg0 vector 2 z) 100.0)
      )
    )
  (none)
  )

;; definition for function part-hud-zoomer-heat-slice-01-func
(defun part-hud-zoomer-heat-slice-01-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max))))
    (set! (-> arg2 vector 1 z) (* 182.04445 (+ -135.0 (* 215.0 f0-1))))
    (zoomer-heat-slice-color arg2 f0-1)
    )
  (none)
  )

;; definition for function part-hud-zoomer-heat-slice-02-func
(defun part-hud-zoomer-heat-slice-02-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max))))
    (set! (-> arg2 vector 1 z) (* 182.04445 (+ -225.0 (* 215.0 f0-1))))
    (if (< (-> arg2 vector 1 z) -24576.0)
        (set! (-> arg2 vector 1 z) -24576.0)
        )
    (zoomer-heat-slice-color arg2 f0-1)
    )
  (none)
  )

;; definition for function part-hud-zoomer-heat-slice-03-func
(defun part-hud-zoomer-heat-slice-03-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
  (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max))))
    (set! (-> arg2 vector 1 z) (* 182.04445 (+ -315.0 (* 215.0 f0-1))))
    (if (< (-> arg2 vector 1 z) -24576.0)
        (set! (-> arg2 vector 1 z) -24576.0)
        )
    (zoomer-heat-slice-color arg2 f0-1)
    )
  (none)
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-heat-backing
  :id 111
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 737 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-heat-dial
  :id 112
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 738 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-heat
  :id 113
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 739 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpartgroup group-part-hud-racer-heat-slice
  :id 114
  :flags (use-local-clock screen-space)
  :bounds (static-bspherem 0 0 0 100)
  :parts ((sp-item 2010 :flags (launch-asap)) (sp-item 2011 :flags (launch-asap)) (sp-item 2012 :flags (launch-asap)))
  )

;; failed to figure out what this is:
(defpart 739
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 3))
    (sp-int spt-rot-x 4)
    (sp-flt spt-scale-y (meters 3))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    )
  )

;; failed to figure out what this is:
(defpart 737
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 3.5))
    (sp-int spt-rot-x 4)
    (sp-flt spt-scale-y (meters 3.5))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 100.0)
    (sp-flt spt-b 63.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    )
  )

;; failed to figure out what this is:
(defpart 738
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x45f))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 0.9))
    (sp-int spt-rot-x 4)
    (sp-flt spt-scale-y (meters 0.52))
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    (sp-func spt-func 'part-hud-racer-heat-func)
    )
  )

;; failed to figure out what this is:
(defpart 2010
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 2))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 0.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    (sp-func spt-func 'part-hud-zoomer-heat-slice-01-func)
    )
  )

;; failed to figure out what this is:
(defpart 2011
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 2))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 0.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    (sp-func spt-func 'part-hud-zoomer-heat-slice-02-func)
    )
  )

;; failed to figure out what this is:
(defpart 2012
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-scale-x (meters 2))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 0.0)
    (sp-flt spt-a 128.0)
    (sp-int spt-timer -1)
    (sp-cpuinfo-flags bit2 bit9)
    (sp-func spt-func 'part-hud-zoomer-heat-slice-03-func)
    )
  )

;; definition of type hud-bike-heat
(deftype hud-bike-heat (hud)
  ()
  :heap-base #xb0
  :method-count-assert 27
  :size-assert         #x118
  :flag-assert         #x1b00b00118
  )

;; definition for method 3 of type hud-bike-heat
(defmethod inspect hud-bike-heat ((obj hud-bike-heat))
  (let ((t9-0 (method-of-type hud inspect)))
    (t9-0 obj)
    )
  obj
  )

;; definition for method 19 of type hud-bike-heat
;; INFO: Return type mismatch int vs none.
(defmethod hud-update hud-bike-heat ((obj hud-bike-heat))
  (if *target*
      (tally-value obj (the int (-> *target* racer heat)) 0)
      )
  0
  (none)
  )

;; definition for method 20 of type hud-bike-heat
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-heat ((obj hud-bike-heat) (arg0 int))
  (add-setting! 'common-page 'set 0.0 2)
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-0 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-0) (new 'static 'hud-particle))
      (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 111) obj))
      (set! (-> obj particles s5-0 init-pos x) 13.0)
      (set! (-> obj particles s5-0 init-pos y) 370.0)
      (set! (-> obj particles s5-0 init-pos z) 10.0)
      (set! (-> obj particles s5-0 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-1 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-1) (new 'static 'hud-particle))
      (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 112) obj))
      (set! (-> obj particles s5-1 init-pos x) 70.0)
      (set! (-> obj particles s5-1 init-pos y) 370.0)
      (set! (-> obj particles s5-1 init-pos z) 6.0)
      (set! (-> obj particles s5-1 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-2 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-2) (new 'static 'hud-particle))
      (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 113) obj))
      (set! (-> obj particles s5-2 init-pos x) 20.0)
      (set! (-> obj particles s5-2 init-pos y) 370.0)
      (set! (-> obj particles s5-2 init-pos z) 1.0)
      (set! (-> obj particles s5-2 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-3 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-3) (new 'static 'hud-particle))
      (set! (-> obj particles s5-3 part) (create-launch-control (-> *part-group-id-table* 114) obj))
      (set! (-> obj particles s5-3 init-pos x) 70.0)
      (set! (-> obj particles s5-3 init-pos y) 370.0)
      (set! (-> obj particles s5-3 init-pos z) 7.0)
      (set! (-> obj particles s5-3 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (dotimes (s5-4 (-> obj nb-of-particles))
    (if (= (-> obj particles s5-4 part matrix) -1)
        (set! (-> obj particles s5-4 part matrix) (sprite-allocate-user-hvdf))
        )
    )
  (set! (-> obj x-sgn) -1)
  (set! (-> obj y-sgn) 1)
  (set! (-> obj force-on-screen) #t)
  0
  (none)
  )

;; definition of type hud-bike-speed
(deftype hud-bike-speed (hud)
  ()
  :heap-base #xb0
  :method-count-assert 27
  :size-assert         #x118
  :flag-assert         #x1b00b00118
  )

;; definition for method 3 of type hud-bike-speed
(defmethod inspect hud-bike-speed ((obj hud-bike-speed))
  (let ((t9-0 (method-of-type hud inspect)))
    (t9-0 obj)
    )
  obj
  )

;; definition for method 19 of type hud-bike-speed
;; INFO: Return type mismatch int vs none.
(defmethod hud-update hud-bike-speed ((obj hud-bike-speed))
  (if *target*
      (tally-value obj (the int (-> *target* control unknown-float01)) 0)
      )
  0
  (none)
  )

;; definition for method 20 of type hud-bike-speed
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-speed ((obj hud-bike-speed) (arg0 int))
  (add-setting! 'common-page 'set 0.0 2)
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-0 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-0) (new 'static 'hud-particle))
      (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 108) obj))
      (set! (-> obj particles s5-0 init-pos x) 433.0)
      (set! (-> obj particles s5-0 init-pos y) 370.0)
      (set! (-> obj particles s5-0 init-pos z) 3.0)
      (set! (-> obj particles s5-0 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-1 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-1) (new 'static 'hud-particle))
      (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 109) obj))
      (set! (-> obj particles s5-1 init-pos x) 378.0)
      (set! (-> obj particles s5-1 init-pos y) 370.0)
      (set! (-> obj particles s5-1 init-pos z) 5.0)
      (set! (-> obj particles s5-1 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles))
    (let ((s5-2 (-> obj nb-of-particles)))
      (set! (-> obj particles s5-2) (new 'static 'hud-particle))
      (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 110) obj))
      (set! (-> obj particles s5-2 init-pos x) 415.0)
      (set! (-> obj particles s5-2 init-pos y) 370.0)
      (set! (-> obj particles s5-2 init-pos z) 1.0)
      (set! (-> obj particles s5-2 part matrix) -1)
      )
    (+! (-> obj nb-of-particles) 1)
    )
  (dotimes (s5-3 (-> obj nb-of-particles))
    (if (= (-> obj particles s5-3 part matrix) -1)
        (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf))
        )
    )
  (set! (-> obj x-sgn) 1)
  (set! (-> obj y-sgn) 1)
  (set! (-> obj force-on-screen) #t)
  0
  (none)
  )

;; failed to figure out what this is:
(defpartgroup group-racer-trans-pad
  :id 115
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 742 :fade-after (meters 160))
    (sp-item 743 :fade-after (meters 160))
    (sp-item 744 :fade-after (meters 60) :falloff-to (meters 60) :flags (is-3d))
    )
  )

;; failed to figure out what this is:
(defpart 742
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2))
    (sp-flt spt-num 0.5)
    (sp-flt spt-y (meters 7))
    (sp-rnd-flt spt-scale-x (meters 14) (meters 1) 1.0)
    (sp-flt spt-scale-y (meters 14))
    (sp-flt spt-r 40.0)
    (sp-rnd-flt spt-g 60.0 60.0 1.0)
    (sp-flt spt-b 128.0)
    (sp-rnd-flt spt-a 32.0 32.0 1.0)
    (sp-int spt-timer 10)
    (sp-cpuinfo-flags bit2 bit3)
    )
  )

;; failed to figure out what this is:
(defpart 743
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2))
    (sp-flt spt-num 0.5)
    (sp-flt spt-y (meters 4))
    (sp-rnd-flt spt-scale-x (meters 7) (meters 1) 1.0)
    (sp-flt spt-scale-y (meters 14))
    (sp-flt spt-r 40.0)
    (sp-rnd-flt spt-g 60.0 60.0 1.0)
    (sp-flt spt-b 128.0)
    (sp-rnd-flt spt-a 64.0 64.0 1.0)
    (sp-flt spt-fade-a -8.533334)
    (sp-int spt-timer 10)
    (sp-cpuinfo-flags bit2 bit3)
    )
  )

;; failed to figure out what this is:
(defpart 744
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0)
    (sp-flt spt-scale-x (meters 0))
    (sp-rnd-flt spt-rot-x 0.0 2730.6667 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-flt spt-r 16.0)
    (sp-rnd-flt spt-g 0.0 127.0 1.0)
    (sp-flt spt-b 127.0)
    (sp-flt spt-a 127.0)
    (sp-flt spt-vel-y (meters 0))
    (sp-flt spt-scalevel-x (meters 0.02))
    (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.21333334)
    (sp-flt spt-accel-y -0.6144)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit3)
    )
  )

;; failed to figure out what this is:
(defpart 2211
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 255.0)
    (sp-rnd-flt spt-a 16.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.16)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.95)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.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 2207
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 64.0 32.0 1.0)
    (sp-rnd-flt spt-g 96.0 32.0 1.0)
    (sp-rnd-flt spt-b 0.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2221
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2))
    (sp-rnd-flt spt-num 0.5 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0)
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-scale-y (meters 0.15))
    (sp-rnd-flt spt-r 0.0 2.0 64.0)
    (sp-rnd-flt spt-g 64.0 3.0 64.0)
    (sp-rnd-flt spt-a 64.0 64.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0)
    (sp-flt spt-fade-a -0.53333336)
    (sp-flt spt-accel-y -5.4613333)
    (sp-flt spt-friction 0.95)
    (sp-int spt-timer 270)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 40.0) (degrees 40.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 1) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2208
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 16.0 16.0 1.0)
    (sp-rnd-flt spt-g 128.0 64.0 1.0)
    (sp-rnd-flt spt-b 192.0 64.0 1.0)
    (sp-rnd-flt spt-a 32.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.21333334)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2218
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 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 16.0 16.0 1.0)
    (sp-rnd-flt spt-g 128.0 64.0 1.0)
    (sp-rnd-flt spt-b 192.0 64.0 1.0)
    (sp-rnd-flt spt-a 32.0 64.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0)
    (sp-flt spt-fade-a -0.64)
    (sp-flt spt-accel-y -5.4613333)
    (sp-flt spt-friction 0.95)
    (sp-int spt-timer 150)
    (sp-cpuinfo-flags bit2 bit3 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 1) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2215
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 128.0 64.0 1.0)
    (sp-rnd-flt spt-g 70.0 32.0 1.0)
    (sp-rnd-flt spt-b 40.0 20.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2216
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 96.0 32.0 1.0)
    (sp-rnd-flt spt-g 64.0 64.0 1.0)
    (sp-rnd-flt spt-b 96.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2831
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 96.0 32.0 1.0)
    (sp-rnd-flt spt-g 64.0 32.0 1.0)
    (sp-rnd-flt spt-b 96.0 40.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2214
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 192.0 32.0 1.0)
    (sp-rnd-flt spt-g 64.0 64.0 1.0)
    (sp-rnd-flt spt-b 0.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2220
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0)
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 255.0)
    (sp-rnd-int spt-g 0 2 128.0)
    (sp-flt spt-b 0.0)
    (sp-flt spt-a 128.0)
    (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
    (sp-flt spt-fade-a -1.0666667)
    (sp-flt spt-accel-y -5.4613333)
    (sp-flt spt-friction 0.95)
    (sp-int spt-timer 150)
    (sp-cpuinfo-flags bit2 bit3 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 1) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2213
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 1.0 1.0 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 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 192.0 32.0 1.0)
    (sp-rnd-flt spt-g 128.0 64.0 1.0)
    (sp-rnd-flt spt-b 0.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0)
    (sp-flt spt-scalevel-x (meters 0.0033333334))
    (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-a -0.10666667)
    (sp-flt spt-accel-y -1.3653333)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit3 bit12 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.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 2275
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2))
    (sp-flt spt-num 0.06)
    (sp-flt spt-x (meters 10))
    (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3) 1.0)
    (sp-flt spt-rot-y (degrees 0.0))
    (sp-rnd-flt spt-scale-y (meters 1.5) (meters 3) 1.0)
    (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.01) (meters 0.006666667) 1.0)
    (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.008666666) 1.0)
    (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.008666666) 1.0)
    (sp-flt spt-fade-a 0.7111111)
    (sp-flt spt-friction 0.94)
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit2 bit3 left-multiply-quat)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 119)
    (sp-flt spt-rotate-y (degrees 0.0))
    )
  )

;; failed to figure out what this is:
(defpart 2276
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2))
    (sp-rnd-flt spt-num 0.04 0.03 1.0)
    (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0)
    (sp-rnd-flt spt-z (meters -0.2) (meters 0.4) 1.0)
    (sp-rnd-flt spt-scale-x (meters 1) (meters 0.5) 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-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 0.0)
    (sp-flt spt-scalevel-x (meters 0.008333334))
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a 0.64)
    (sp-int spt-timer 600)
    (sp-cpuinfo-flags bit2 bit3 left-multiply-quat)
    (sp-int spt-next-time 150)
    (sp-launcher-by-id spt-next-launcher 116)
    )
  )

;; failed to figure out what this is:
(defpart 2212
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2))
    (sp-func spt-birth-func 'birth-func-vector-orient)
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-scale-x (meters 4) (meters -0.5) 1.0)
    (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0)
    (sp-flt spt-rot-y (degrees 0.0))
    (sp-flt spt-rot-z (degrees 90.0))
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 64.0 -16.0 1.0)
    (sp-rnd-flt spt-g 64.0 -16.0 1.0)
    (sp-rnd-flt spt-b 64.0 -16.0 1.0)
    (sp-flt spt-a 64.0)
    (sp-int spt-timer 5)
    (sp-cpuinfo-flags bit2 bit3 bit14)
    (sp-flt spt-userdata 0.0)
    )
  )

;; failed to figure out what this is:
(defpart 2225
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2))
    (sp-rnd-flt spt-num 4.0 16.0 1.0)
    (sp-flt spt-x (meters 0.9))
    (sp-flt spt-y (meters 0.05))
    (sp-flt spt-z (meters -0.9))
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 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 128.0 2.0 128.0)
    (sp-rnd-flt spt-g 128.0 2.0 64.0)
    (sp-rnd-flt spt-b 0.0 2.0 64.0)
    (sp-rnd-flt spt-a 32.0 96.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0)
    (sp-flt spt-scalevel-x (meters -0.00055555557))
    (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-g -0.35555556)
    (sp-flt spt-fade-a -0.6)
    (sp-flt spt-accel-y -4.096)
    (sp-flt spt-friction 0.9)
    (sp-int-plain-rnd spt-timer 90 59 1)
    (sp-cpuinfo-flags bit0 bit2 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2226
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2))
    (sp-rnd-flt spt-num 4.0 16.0 1.0)
    (sp-flt spt-x (meters 0.9))
    (sp-flt spt-y (meters 0.05))
    (sp-flt spt-z (meters -0.9))
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 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 128.0 2.0 128.0)
    (sp-rnd-flt spt-g 0.0 2.0 64.0)
    (sp-flt spt-b 0.0)
    (sp-rnd-flt spt-a 32.0 96.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0)
    (sp-flt spt-scalevel-x (meters -0.00055555557))
    (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-g -0.35555556)
    (sp-flt spt-fade-a -0.6)
    (sp-flt spt-accel-y -4.096)
    (sp-flt spt-friction 0.9)
    (sp-int-plain-rnd spt-timer 90 59 1)
    (sp-cpuinfo-flags bit0 bit2 bit14)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2227
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-flt spt-num 0.0)
    (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 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 192.0 32.0 1.0)
    (sp-rnd-flt spt-g 64.0 32.0 1.0)
    (sp-flt spt-b 0.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0)
    (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a 4.266667)
    (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0)
    (sp-flt spt-friction 0.85)
    (sp-int spt-timer 450)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-int-plain-rnd spt-next-time 15 4 1)
    (sp-launcher-by-id spt-next-launcher 2277)
    )
  )

;; failed to figure out what this is:
(defpart 2277
  :init-specs ((sp-flt spt-fade-r -5.0)
    (sp-flt spt-fade-g -1.6)
    (sp-flt spt-fade-b 1.6)
    (sp-flt spt-fade-a 0.0)
    (sp-int spt-next-time 20)
    (sp-launcher-by-id spt-next-launcher 2278)
    )
  )

;; failed to figure out what this is:
(defpart 2278
  :init-specs ((sp-flt spt-fade-r -0.2) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -0.21333334))
  )

;; failed to figure out what this is:
(defpartgroup group-racer-explode
  :id 116
  :duration 300
  :linger-duration 3000
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2279 :period 600 :length 5)
    (sp-item 2280 :period 600 :length 40)
    (sp-item 2281 :period 600 :length 20)
    (sp-item 2282 :period 600 :length 20)
    )
  )

;; failed to figure out what this is:
(defpart 2280
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 192.0 64.0 1.0)
    (sp-rnd-flt spt-g 192.0 64.0 1.0)
    (sp-flt spt-b 128.0)
    (sp-rnd-flt spt-a 32.0 96.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0)
    (sp-flt spt-scalevel-x (meters -0.0026666666))
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-g -2.1333334)
    (sp-flt spt-fade-b -1.4222223)
    (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0)
    (sp-flt spt-friction 0.9)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-int-plain-rnd spt-next-time 30 89 1)
    (sp-launcher-by-id spt-next-launcher 2283)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2283
  :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-flt spt-fade-a -1.0666667))
  )

;; failed to figure out what this is:
(defpart 2282
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-flt spt-num 6.0)
    (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0)
    (sp-flt spt-scale-x (meters 0.3))
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0)
    (sp-flt spt-scale-y (meters 12))
    (sp-flt spt-r 255.0)
    (sp-flt spt-g 196.0)
    (sp-flt spt-b 64.0)
    (sp-rnd-flt spt-a 32.0 64.0 1.0)
    (sp-flt spt-scalevel-y (meters 0.85333335))
    (sp-flt spt-fade-g -3.2666667)
    (sp-flt spt-fade-b -1.0666667)
    (sp-flt spt-fade-a -1.6)
    (sp-int spt-timer 60)
    (sp-cpuinfo-flags bit2 bit3 bit14)
    )
  )

;; failed to figure out what this is:
(defpart 2279
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-flt spt-y (meters 2))
    (sp-flt spt-scale-x (meters 24))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 255.0)
    (sp-rnd-flt spt-g 192.0 32.0 1.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 128.0)
    (sp-flt spt-fade-a -2.3272727)
    (sp-int spt-timer 54)
    (sp-cpuinfo-flags bit2 bit3 bit14)
    )
  )

;; failed to figure out what this is:
(defpart 2281
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-flt spt-num 16.0)
    (sp-rnd-flt spt-y (meters 0) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0)
    (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 255.0)
    (sp-rnd-flt spt-g 128.0 64.0 1.0)
    (sp-flt spt-b 128.0)
    (sp-rnd-flt spt-a 64.0 64.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0)
    (sp-flt spt-scalevel-x (meters 0.02))
    (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.28444445)
    (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0)
    (sp-flt spt-friction 0.8)
    (sp-int spt-timer 510)
    (sp-cpuinfo-flags bit2 bit14)
    (sp-int spt-next-time 42)
    (sp-launcher-by-id spt-next-launcher 2284)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-rnd-flt spt-conerot-radius (meters 0) (meters 3) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 2284
  :init-specs ((sp-flt spt-fade-r -1.0666667)
    (sp-flt spt-fade-g -1.0666667)
    (sp-flt spt-fade-b -2.1166666)
    (sp-int spt-next-time 60)
    (sp-launcher-by-id spt-next-launcher 2285)
    )
  )

;; failed to figure out what this is:
(defpart 2285
  :init-specs ((sp-flt spt-fade-r -0.5688889)
    (sp-flt spt-fade-g -0.28444445)
    (sp-flt spt-fade-b 0.0)
    (sp-flt spt-fade-a -0.21333334)
    (sp-int spt-next-time 225)
    (sp-launcher-by-id spt-next-launcher 2286)
    )
  )

;; failed to figure out what this is:
(defpart 2286
  :init-specs ((sp-flt spt-fade-r 0.0) (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0))
  )

;; failed to figure out what this is:
(defpart 2229
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 32.0)
    (sp-rnd-flt spt-g 32.0 64.0 1.0)
    (sp-rnd-flt spt-b 192.0 64.0 1.0)
    (sp-rnd-flt spt-a 64.0 64.0 1.0)
    (sp-flt spt-scalevel-x (meters -0.00033333333))
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.4)
    (sp-flt spt-accel-y -0.06826667)
    (sp-int spt-timer 450)
    (sp-cpuinfo-flags bit0 bit2 bit3 bit14)
    )
  )
