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

;; name: mine-part.gc
;; name in dgo: mine-part
;; dgos: MIA

;; DECOMP BEGINS

(defpartgroup group-minb-light-glow
  :id 597
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2310 :fade-after (meters 120) :flags (sp6))
    (sp-item 2311 :fade-after (meters 120) :flags (sp6))
    (sp-item 2312 :fade-after (meters 120) :flags (sp6))
    )
  )

(defpart 2310
  :init-specs ((:texture (glow-hotdot level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 2) (meters 0.1))
    (:rot-x (degrees 4.5))
    (:rot-z (degrees -17))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 80.0)
    (:a 70.0)
    (:omega (degrees 2715.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 1638.4)
    )
  )

(defpart 2311
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 10) (meters 0.1))
    (:rot-x (degrees 9))
    (:rot-z (degrees -17))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 80.0)
    (:b 0.0)
    (:a 30.0 10.0)
    (:omega (degrees 2715.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 819.2)
    )
  )

(defpart 2312
  :init-specs ((:texture (ring level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 3) (meters 0.1))
    (:rot-x (degrees 9))
    (:rot-z (degrees -17))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 128.0)
    (:b 0.0)
    (:a 2.0 1.0)
    (:omega (degrees 1815.7499))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 819.2)
    )
  )

(defpartgroup group-min-target-sign-off
  :id 598
  :bounds (static-bspherem 0 0 0 2.5)
  :parts ((sp-item 2313 :flags (sp6)))
  )

(defpart 2313
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 9))
    (:rot-x (degrees 11.25))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 16.0)
    (:b 16.0)
    (:a 28.0 2.0)
    (:omega (degrees 6761.25))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 glow))
    (:userdata 4096.0)
    (:rotate-y (degrees 0))
    )
  )

(defpartgroup group-min-target-sign-on
  :id 599
  :bounds (static-bspherem 0 0 0 2.5)
  :parts ((sp-item 2314 :flags (sp6)))
  )

(defpart 2314
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 9))
    (:rot-x (degrees 11.25))
    (:scale-y :copy scale-x)
    (:r 16.0)
    (:g 16.0)
    (:b 255.0)
    (:a 28.0 2.0)
    (:omega (degrees 6761.25))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 glow))
    (:userdata 4096.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2315
  :init-specs ((:texture (rockbit01 level-default-sprite))
    (:birth-func 'birth-func-texture-group)
    (:num 2.0 1.0)
    (:scale-x (meters 0.3) (meters 0.1))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y (meters 0.3) (meters 0.1))
    (:r 120.0 5.0)
    (:g 120.0 5.0)
    (:b 80.0 5.0)
    (:a 128.0)
    (:vel-z (meters -0.016666668) (meters -0.083333336))
    (:scalevel-x (meters -0.00066666666))
    (:rotvel-z (degrees -0.6666667) (degrees 1.3333334))
    (:scalevel-y :copy scalevel-x)
    (:accel-y (meters -0.0016666667) (meters -0.00033333333))
    (:timer (seconds 1.5))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-13 launch-along-z))
    (:userdata :data (new 'static 'boxed-array :type int32 20 1 0 #x408b00 #x40a200 #x40a600 #x40aa00))
    (:func 'sparticle-motion-blur)
    (:conerot-x (degrees -40) (degrees 80))
    (:conerot-y (degrees -40) (degrees 80))
    (:rotate-z (degrees 0) (degrees 3600))
    )
  )

(defpart 2316
  :init-specs ((:texture (dirtpuff01 level-default-sprite))
    (:num 0.4)
    (:scale-x (meters 1) (meters 2))
    (:rot-z (degrees 0) (degrees 3600))
    (:scale-y :copy scale-x)
    (:r 60.0)
    (:g 70.0)
    (:b 50.0)
    (:a 40.0 40.0)
    (:vel-z (meters -0.033333335) (meters -0.06666667))
    (:scalevel-x (meters 0.016666668))
    (:rotvel-z (degrees -0.1) (degrees 0.2))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -0.10666667 -0.10666667)
    (:friction 0.94)
    (:timer (seconds 2.5))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z))
    (:conerot-x (degrees -40) (degrees 80))
    (:conerot-y (degrees -40) (degrees 80))
    (:rotate-z (degrees 0) (degrees 3600))
    )
  )

(defpartgroup group-minc-round-light-glow-always-on
  :id 600
  :flags (sp4)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2317 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2318 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2319 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2320 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2321 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2322 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2323 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2324 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2325 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2326 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2327 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2328 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2329 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    )
  )

(defpartgroup group-minc-round-light-glow
  :id 601
  :flags (sp4)
  :bounds (static-bspherem 0 0 0 8)
  :parts ((sp-item 2317 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2318 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2319 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2320 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2321 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2322 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2323 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2324 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2325 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2326 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2327 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2328 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2329 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    )
  )

(defpart 2317
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -0.1))
    (:y (meters 0))
    (:z (meters -0.2))
    (:scale-x (meters 10))
    (:rot-x (degrees 4.5))
    (:rot-z (degrees -17))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 2048.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2318
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 1.55))
    (:y (meters -0.05))
    (:z (meters -1.1))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2319
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -0.2))
    (:y (meters -1.7))
    (:z (meters -1.15))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2320
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -2))
    (:y (meters 0.1))
    (:z (meters -1.13))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2321
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -0.1))
    (:y (meters 1.7))
    (:z (meters -1.05))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2322
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 1.2))
    (:y (meters 1.2))
    (:z (meters -1))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2323
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -1.25))
    (:y (meters 1.1))
    (:z (meters -1))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2324
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -1.4))
    (:y (meters -1.1))
    (:z (meters -1.1))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2325
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 1.05))
    (:y (meters -1.3))
    (:z (meters -1))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 20.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2326
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 10))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2327
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 10))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 45))
    )
  )

(defpart 2328
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 10))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees -45))
    )
  )

(defpart 2329
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9))
    (:scale-x (meters 10))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 90))
    )
  )

(defpartgroup group-minc-t-light-glow-always-on
  :id 602
  :flags (sp4)
  :bounds (static-bspherem 0 0 0 12)
  :parts ((sp-item 2330 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2331 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2332 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2333 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2334 :fade-after (meters 200) :flags (sp6 sp7))
    (sp-item 2335 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2336 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2337 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2338 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2339 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2340 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2341 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2342 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2343 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2344 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2345 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2346 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2347 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2348 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2349 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2350 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2351 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2352 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2353 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    (sp-item 2354 :fade-after (meters 200) :flags (is-3d sp6 sp7))
    )
  )

(defpartgroup group-minc-t-light-glow
  :id 603
  :flags (sp4)
  :bounds (static-bspherem 0 0 0 12)
  :parts ((sp-item 2330 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2331 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2332 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2333 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2334 :fade-after (meters 200) :flags (sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2335 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2336 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2337 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2338 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2339 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2340 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2341 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2342 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2343 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2344 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2345 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2346 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2347 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2348 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2349 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2350 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2351 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2352 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2353 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    (sp-item 2354 :fade-after (meters 200) :flags (is-3d sp6 sp7) :hour-mask #b111111111111000000)
    )
  )

(defpart 2330
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters -0.2))
    (:scale-x (meters 3))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2331
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters -2.12))
    (:z (meters 0))
    (:scale-x (meters 3))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2332
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -4))
    (:y (meters -2.2))
    (:z (meters -0.78))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2333
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters 3.65))
    (:y (meters -2.2))
    (:z (meters -0.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2334
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:x (meters -0.07))
    (:y (meters -3.6))
    (:z (meters -0.2))
    (:scale-x (meters 2))
    (:rot-x (degrees 1.125))
    (:rot-z (degrees 0))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 255.0)
    (:b 128.0)
    (:a 30.0)
    (:omega (degrees 4515.75))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2335
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2336
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2337
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees -45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2338
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters 0))
    (:z (meters 9))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 90))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2339
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters -2.12))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2340
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters -2.12))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2341
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters -2.12))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees -45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2342
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 0))
    (:y (meters -2.12))
    (:z (meters 9))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 90))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2343
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -4))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2344
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -4))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2345
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -4))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees -45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2346
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -4))
    (:y (meters -2.2))
    (:z (meters 9))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 90))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2347
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 3.65))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2348
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 3.65))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2349
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 3.65))
    (:y (meters -2.2))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees -45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2350
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters 3.65))
    (:y (meters -2.2))
    (:z (meters 9))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 90))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2351
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -0.07))
    (:y (meters -3.6))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 0))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2352
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -0.07))
    (:y (meters -3.6))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2353
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -0.07))
    (:y (meters -3.6))
    (:z (meters 9.8))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees -45))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpart 2354
  :init-specs ((:texture (vol-light level-default-sprite))
    (:num 1.0)
    (:x (meters -0.07))
    (:y (meters -3.6))
    (:z (meters 9))
    (:scale-x (meters 2))
    (:rot-x (degrees 0))
    (:rot-y (degrees 0))
    (:rot-z (degrees 90))
    (:scale-y (meters 20))
    (:r 128.0)
    (:g 128.0)
    (:b 64.0)
    (:a 20.0 2.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    (:rotate-x (degrees 0))
    (:rotate-y (degrees 0))
    (:rotate-z (degrees 0))
    )
  )

(defpartgroup group-bomb-train-explode
  :id 604
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 80)
  :parts ((sp-item 2355 :flags (sp3) :period (seconds 30) :length (seconds 0.035))
    (sp-item 2356 :period (seconds 30) :length (seconds 0.035))
    (sp-item 2357 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
    (sp-item 2358 :period (seconds 30) :length (seconds 0.5))
    (sp-item 2359 :period (seconds 30) :length (seconds 0.5))
    (sp-item 2360 :flags (sp3) :period (seconds 30) :length (seconds 0.017))
    )
  )

(defpart 2355
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 60))
    (:rot-x (degrees 225))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 128.0)
    (:b 100.0)
    (:a 128.0)
    (:omega (degrees 18011.25))
    (:fade-a -0.85333335)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow))
    (:userdata 40960.0)
    )
  )

(defpart 2361
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:num 30.0)
    (:scale-x (meters 6) (meters 4))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 160.0)
    (:b 40.0)
    (:a 128.0)
    (:vel-y (meters 0) (meters 0.13333334))
    (:scalevel-x (meters 0.016666668))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -0.13333334)
    (:fade-b -0.05)
    (:fade-a -0.21333334 -0.21333334)
    (:friction 0.93)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:conerot-x (degrees 0) (degrees 360))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2362
  :init-specs ((:texture (explosion-edge level-default-sprite))
    (:num 5.0)
    (:scale-x (meters 6) (meters 4))
    (:rot-y (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 64.0 64.0)
    (:g :copy r)
    (:b :copy r)
    (:a 128.0)
    (:vel-y (meters 0.6666667) (meters 0.26666668))
    (:scalevel-x (meters 0.06666667))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -0.21333334 -0.21333334)
    (:friction 0.7)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:func 'sparticle-2d-spline-align-instant)
    (:conerot-x (degrees 0) (degrees 360))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2356
  :init-specs ((:texture (bigpuff level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 30.0)
    (:scale-x (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 1.0)
    (:g 1.0)
    (:b 128.0)
    (:a 128.0)
    (:vel-y (meters 0.1))
    (:friction 0.97)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-13 sp-cpuinfo-flag-14))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees 0) (degrees 360))
    (:conerot-z (degrees 0) (degrees 360))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-explo-dust-color* (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 70.0 :y 70.0 :z 70.0 :w 128.0)
                                       (new 'static 'vector :x 40.0 :y 40.0 :z 40.0 :w 128.0)
                                       (new 'static 'vector :x 40.0 :y 40.0 :z 40.0 :w 128.0)
                                       (new 'static 'vector :x 40.0 :y 40.0 :z 40.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-explo-dust-alpha* (new 'static 'curve2d-fast
                                     :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                     :ys (new 'static 'vector :x 80.0 :y 64.0 :z 65.0 :w 66.0)
                                     :one-over-x-deltas (new 'static 'vector :x -16.0 :y 1.0 :z 1.0 :w 1.0)
                                     )
          )
    )

(if #t
    (set! *range-explo-dust-scale-x* (new 'static 'curve2d-fast
                                       :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                       :ys (new 'static 'vector :x 16.0 :y 20.0 :z 21.0 :w 22.0)
                                       :one-over-x-deltas (new 'static 'vector :x 4.0 :y 1.0 :z 1.0 :w 1.0)
                                       )
          )
    )

(if #t
    (set! *range-explo-dust-scale-y* (new 'static 'curve2d-fast
                                       :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                       :ys (new 'static 'vector :x 16.0 :y 20.0 :z 21.0 :w 22.0)
                                       :one-over-x-deltas (new 'static 'vector :x 4.0 :y 1.0 :z 1.0 :w 1.0)
                                       )
          )
    )

(if #t
    (set! *curve-explo-dust-alpha* (new 'static 'curve2d-fast
                                     :xs (new 'static 'vector :y -0.7 :z -1.0 :w -2.0)
                                     :ys (new 'static 'vector :y 1.0 :w 1.0)
                                     :one-over-x-deltas (new 'static 'vector :x 1.4285715 :y -3.3333333 :z 1.0 :w 1.0)
                                     )
          )
    )

(if #t
    (set! *curve-explo-dust-scale-x* (new 'static 'curve2d-fast
                                       :xs (new 'static 'vector :y -0.5 :z -1.0 :w -2.0)
                                       :ys (new 'static 'vector :x 0.2 :y 0.8 :z 1.2 :w 2.2)
                                       :one-over-x-deltas (new 'static 'vector :x 1.2 :y 0.8000001 :z 1.0 :w 1.0)
                                       )
          )
    )

(if #t
    (set! *curve-explo-dust-scale-y* (new 'static 'curve2d-fast
                                       :xs (new 'static 'vector :y -0.5 :z -1.0 :w -2.0)
                                       :ys (new 'static 'vector :x 0.2 :y 0.8 :z 1.2 :w 2.2)
                                       :one-over-x-deltas (new 'static 'vector :x 1.2 :y 0.8000001 :z 1.0 :w 1.0)
                                       )
          )
    )

(define *part-bomb-train-explosion-dust-in-curve-settings* (new 'static 'particle-curve-settings
                                                             :lifetime-base (seconds 1)
                                                             :lifetime-offset (seconds 2)
                                                             :flags (particle-curve-flags pcf0)
                                                             )
        )

(set! (-> *part-id-table* 2356 init-specs 14 initial-valuef)
      (the-as float *part-bomb-train-explosion-dust-in-curve-settings*)
      )

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* color-start) *range-explo-dust-color*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* alpha-start) *range-explo-dust-alpha*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* scale-x-start) *range-explo-dust-scale-x*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* scale-y-start) *range-explo-dust-scale-y*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* r-scalar) #f)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* g-scalar) #f)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* b-scalar) #f)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* a-scalar) *curve-explo-dust-alpha*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* scale-x-scalar) *curve-explo-dust-scale-x*)

(set! (-> *part-bomb-train-explosion-dust-in-curve-settings* scale-y-scalar) *curve-explo-dust-scale-y*)

(defpart 2358
  :init-specs ((:texture (explosion-edge level-default-sprite))
    (:num 5.0)
    (:scale-x (meters 6) (meters 4))
    (:rot-y (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 80.0 20.0)
    (:b 30.0)
    (:a 128.0)
    (:vel-y (meters 0.33333334) (meters 0.13333334))
    (:scalevel-x (meters 0.033333335))
    (:scalevel-y :copy scalevel-x)
    (:fade-g -0.17777778)
    (:fade-b -0.06666667)
    (:fade-a -0.28444445 -0.28444445)
    (:friction 0.85)
    (:timer (seconds 1.5))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14))
    (:func 'sparticle-2d-spline-align-instant)
    (:conerot-x (degrees 0) (degrees 360))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2359
  :init-specs ((:texture (explo-texture level-default-sprite))
    (:birth-func 'birth-func-curve)
    (:num 8.0)
    (:x (meters -4) (meters 8))
    (:y (meters -4) (meters 8))
    (:scale-x (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 128.0)
    (:vel-y (meters 0.06666667) (meters 0.033333335))
    (:friction 0.9)
    (:timer (seconds 1))
    (:flags (sp-cpuinfo-flag-14))
    (:userdata 0.0)
    (:func 'live-func-curve)
    (:conerot-x (degrees 20) (degrees 90))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(if #t
    (set! *range-explo-color* (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 255.0 :y 255.0 :z 255.0 :w 128.0)
                                  (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0)
                                  (new 'static 'vector :x 255.0 :y 255.0 :z 255.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-explo-alpha* (new 'static 'curve2d-fast
                                :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                :ys (new 'static 'vector :x 128.0 :y 128.0 :z 129.0 :w 130.0)
                                :one-over-x-deltas (new 'static 'vector :y 1.0 :z 1.0 :w 1.0)
                                )
          )
    )

(if #t
    (set! *range-explo-scale-x* (new 'static 'curve2d-fast
                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                  :ys (new 'static 'vector :x 20.0 :y 30.0 :z 31.0 :w 32.0)
                                  :one-over-x-deltas (new 'static 'vector :x 10.0 :y 1.0 :z 1.0 :w 1.0)
                                  )
          )
    )

(if #t
    (set! *range-explo-scale-y* (new 'static 'curve2d-fast
                                  :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0)
                                  :ys (new 'static 'vector :x 20.0 :y 30.0 :z 31.0 :w 32.0)
                                  :one-over-x-deltas (new 'static 'vector :x 10.0 :y 1.0 :z 1.0 :w 1.0)
                                  )
          )
    )

(if #t
    (set! *curve-explo-alpha* (new 'static 'curve2d-fast
                                :xs (new 'static 'vector :y -0.05 :z -0.7 :w -1.0)
                                :ys (new 'static 'vector :y 1.0 :z 0.8)
                                :one-over-x-deltas (new 'static 'vector :x 20.0 :y -0.3076923 :z -2.6666665 :w 1.0)
                                )
          )
    )

(if #t
    (set! *curve-explo-scale-x* (new 'static 'curve2d-fast
                                  :xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
                                  :ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
                                  :one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
                                  )
          )
    )

(if #t
    (set! *curve-explo-scale-y* (new 'static 'curve2d-fast
                                  :xs (new 'static 'vector :y -0.8 :z -1.0 :w -2.0)
                                  :ys (new 'static 'vector :y 1.0 :z 1.5 :w 2.5)
                                  :one-over-x-deltas (new 'static 'vector :x 1.25 :y 2.5000002 :z 1.0 :w 1.0)
                                  )
          )
    )

(define *part-bomb-train-explosion-texture-curve-settings* (new 'static 'particle-curve-settings
                                                             :lifetime-base (seconds 0.1)
                                                             :lifetime-offset (seconds 0.6)
                                                             :flags (particle-curve-flags pcf0)
                                                             )
        )

(set! (-> *part-id-table* 2359 init-specs 16 initial-valuef)
      (the-as float *part-bomb-train-explosion-texture-curve-settings*)
      )

(set! (-> *part-bomb-train-explosion-texture-curve-settings* color-start) *range-explo-color*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* alpha-start) *range-explo-alpha*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* scale-x-start) *range-explo-scale-x*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* scale-y-start) *range-explo-scale-y*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* r-scalar) #f)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* g-scalar) #f)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* b-scalar) #f)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* a-scalar) *curve-explo-alpha*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* scale-x-scalar) *curve-explo-scale-x*)

(set! (-> *part-bomb-train-explosion-texture-curve-settings* scale-y-scalar) *curve-explo-scale-y*)

(defpart 2357
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 100))
    (:rot-x (degrees 225))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 100.0)
    (:a 128.0)
    (:omega (degrees 18011.25))
    (:scalevel-x (meters -2))
    (:scalevel-y :copy scalevel-x)
    (:timer (seconds 0.135))
    (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 glow))
    (:userdata 40960.0)
    )
  )

(defpart 2360
  :init-specs ((:texture (laser-hit2-add level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 10))
    (:rot-x (degrees 225))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 128.0)
    (:omega (degrees 18011.25))
    (:scalevel-x (meters 1.3333334))
    (:scalevel-y :copy scalevel-x)
    (:fade-b -1.7066667)
    (:fade-a -1.7066667)
    (:timer (seconds 0.25))
    (:flags (sp-cpuinfo-flag-3 glow))
    (:userdata 40960.0)
    )
  )

(defpartgroup group-bomb-train-sparks
  :id 605
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 10)
  :parts ((sp-item 2363 :flags (sp7)) (sp-item 2364 :flags (sp7)))
  )

(defpart 2363
  :init-specs ((:texture (hitspark level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 0.1) (meters 0.5))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 255.0)
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-3))
    )
  )

(defpart 2364
  :init-specs ((:texture (motion-blur-part level-default-sprite))
    (:num 0.5 0.5)
    (:scale-x (meters 0.05) (meters 0.05))
    (:rot-x 4)
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 255.0)
    (:omega (degrees 0.0225))
    (:vel-y (meters 0.033333335) (meters 0.033333335))
    (:fade-g -0.64)
    (:fade-b -2.56)
    (:fade-a -1.28 -1.28)
    (:accel-y (meters -0.0013333333))
    (:friction 0.9)
    (:timer (seconds 0.335))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3))
    (:func 'sparticle-motion-blur)
    (:conerot-x (degrees 0) (degrees 360))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpartgroup group-bomb-train-smoke
  :id 606
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 10)
  :parts ((sp-item 2365 :flags (sp7)))
  )

(defpart 2365
  :init-specs ((:texture (dirtpuff01 level-default-sprite))
    (:num 1.0)
    (:x (meters -1) (meters 2))
    (:y (meters -1) (meters 2))
    (:z (meters -1) (meters 2))
    (:scale-x (meters 1) (meters 1))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 32.0 128.0)
    (:g :copy r)
    (:b :copy r)
    (:a 0.0)
    (:scalevel-x (meters 0.006666667) (meters 0.006666667))
    (:rotvel-z (degrees -0.2) (degrees 0.4))
    (:scalevel-y :copy scalevel-x)
    (:fade-a 1.28 1.28)
    (:accel-y (meters 0.0016666667))
    (:friction 0.9)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat))
    (:next-time (seconds 0.167))
    (:next-launcher 2366)
    )
  )

(defpart 2366
  :init-specs ((:fade-a -0.23272727 -0.23272727))
  )

(defpartgroup group-bomb-train-light
  :id 607
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 10)
  :parts ((sp-item 2367 :flags (sp7)))
  )

(defpart 2367
  :init-specs ((:texture (glow level-default-sprite))
    (:num 4.0)
    (:scale-x (meters 1))
    (:rot-x (degrees 4.5))
    (:scale-y :copy scale-x)
    (:r 200.0)
    (:g 200.0)
    (:b 128.0)
    (:a 32.0)
    (:omega (degrees 6761.25))
    (:timer (seconds 0.017))
    (:flags (glow))
    (:userdata 409.6)
    )
  )

(defpartgroup group-min-elec-gate
  :id 608
  :bounds (static-bspherem 0 -3.5 0 4)
  :parts ((sp-item 2368 :fade-after (meters 160) :flags (sp6) :period (seconds 0.1) :length (seconds 0.05))
    (sp-item 2369 :fade-after (meters 160) :flags (sp6))
    )
  )

(defpart 2369
  :init-specs ((:texture (glow-soft level-default-sprite))
    (:num 2.0)
    (:y (meters -1.2) 6 (meters -1))
    (:scale-x (meters 1.6) (meters 0.1))
    (:rot-x (degrees 1.125))
    (:scale-y (meters 3.6) (meters 0.1))
    (:r 0.0)
    (:g 128.0 64.0)
    (:b 255.0)
    (:a 32.0 4.0)
    (:omega (degrees 3615.75))
    (:timer (seconds 0.035))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 4096.0)
    (:rotate-y (degrees 0))
    )
  )

(defpart 2368
  :init-specs ((:texture (glow level-default-sprite))
    (:num 1.0)
    (:scale-x (meters 1.6) (meters 0.1))
    (:rot-x (degrees 1.125))
    (:scale-y :copy scale-x)
    (:r 255.0)
    (:g 0.0 64.0)
    (:b 0.0)
    (:a 32.0 4.0)
    (:omega (degrees 3615.75))
    (:timer (seconds 0.017))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
    (:userdata 1024.0)
    (:rotate-y (degrees 0))
    )
  )
