;;-*-Lisp-*-
(in-package goal)
(bundles "FIN.DGO")
(require "engine/gfx/sprite/sparticle/sparticle.gc")

;; DECOMP BEGINS

(defpartgroup group-2d-credits-mist
  :id 682
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts
  ((sp-item 2825 :period (seconds 1) :length (seconds 0.017) :binding 2823)
   (sp-item 2823 :flags (start-dead launch-asap) :binding 2824)
   (sp-item 2823 :flags (start-dead launch-asap) :binding 2824)
   (sp-item 2824 :flags (start-dead))
   (sp-item 2824 :flags (start-dead))
   (sp-item 2824 :flags (start-dead))
   (sp-item 2826)
   (sp-item 2827)))

(defpart 2825
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:x (meters -2.5) (meters 5))
   (:y (meters -1.5) (meters 3))
   (:scale-x (meters 0.1))
   (:scale-y :copy scale-x)
   (:g 128.0)
   (:a 0.0)
   (:vel-y (meters 0.0033333334) (meters 0.0033333334))
   (:timer (seconds 2))
   (:flags (bit3))
   (:conerot-z (degrees 0) (degrees 360))))

(defpart 2823
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0)
   (:x (meters 0) (meters 16))
   (:y (meters 0) (meters 16))
   (:z (meters 0.5) (meters 0.2))
   (:scale-x (meters 0.5) (meters 0.5))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 0.0 96.0)
   (:g 0.0 32.0)
   (:b 64.0 32.0)
   (:a 128.0)
   (:omega 0.0 65536.0)
   (:vel-x (meters -0.053333335) 1 (meters 0.10666667))
   (:scalevel-x (meters -0.0012121212))
   (:rotvel-z (degrees -0.3) 1 (degrees 0.6))
   (:scalevel-y :copy scalevel-x)
   (:timer (seconds 2))
   (:flags (bit2 bit3 bit7))))

(defpart 2824
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0)
   (:scale-x (meters 0.5) (meters 0.3))
   (:scale-y :copy scale-x)
   (:r 32.0 96.0)
   (:g 0.0 32.0)
   (:b 64.0 32.0)
   (:a 64.0 64.0)
   (:scalevel-x (meters -0.0010952381))
   (:scalevel-y :copy scalevel-x)
   (:accel-y (meters 0) (meters -0.000033333334))
   (:timer (seconds 0.1) (seconds 0.997))
   (:flags (bit2 bit3))
   (:next-time (seconds 0.8))
   (:next-launcher 198)))

(defpart 2827
  :init-specs
  ((:texture (p-white effects))
   (:num 1.0)
   (:z (meters -3.90625))
   (:scale-x (meters 15))
   (:scale-y (meters 12))
   (:r 0.0)
   (:g 0.0)
   (:b 0.0)
   (:a 128.0)
   (:timer (seconds 0.017))
   (:flags (bit2 bit13 bit14))))

(defpart 2826
  :init-specs
  ((:texture (bigpuff effects))
   (:num 0.3)
   (:x (meters -4) (meters 8))
   (:y (meters -3) (meters 6))
   (:z (meters 0) (meters 3.4179688))
   (:scale-x (meters 6) (meters 8))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y (meters 6) (meters 8))
   (:r 16.0 80.0)
   (:g 0.0 16.0)
   (:b 16.0 150.0)
   (:a 0.0)
   (:scalevel-x (meters -0.0016666667) (meters 0.0033333334))
   (:rotvel-z (degrees -0.075) (degrees 0.15))
   (:scalevel-y :copy scalevel-x)
   (:fade-a 0.21333334)
   (:timer (seconds 5))
   (:flags (bit2 bit14))
   (:next-time (seconds 0.5) (seconds 0.497))
   (:next-launcher 2828)))

(defpart 2828
  :init-specs ((:fade-a 0.0) (:next-time (seconds 1) (seconds 0.997)) (:next-launcher 2829)))

(defpart 2829
  :init-specs ((:fade-a -0.21333334)))

(defpartgroup group-target-white-eco-ground
  :id 699
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts
  ((sp-item 2921)
   (sp-item 2922 :flags (is-3d))
   (sp-item 2923 :flags (is-3d))
   (sp-item 2924 :flags (is-3d))
   (sp-item 2925)
   (sp-item 2926)))

(defpart 2921
  :init-specs
  ((:num 1.5)
   (:x (meters 2.5))
   (:y (meters -0.5))
   (:rot-x 8)
   (:r 4096.0)
   (:g 2867.2)
   (:b 3276.8)
   (:vel-y (meters 0.026666667))
   (:timer (seconds 0.9))
   (:flags (aux-list))
   (:next-time (seconds 0.6))
   (:next-launcher 2927)
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2927
  :init-specs ((:fade-b -4.551111)))

(defpart 2924
  :init-specs
  ((:texture (bigpuff effects))
   (:num 1.0)
   (:x (meters 0) (meters 2))
   (:y (meters 0.1))
   (:scale-x (meters 1))
   (:rot-y (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 8.0 8.0)
   (:scalevel-x (meters 0.14648438))
   (:scalevel-y :copy scalevel-x)
   (:timer (seconds 0.27))
   (:flags (bit2 bit3 bit14))
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2922
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0)
   (:x (meters 0) (meters 2))
   (:y (meters 0) (meters 16))
   (:scale-x (meters 0.2) (meters 0.2))
   (:rot-x (degrees 90))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y (meters 8) (meters 8))
   (:r 0.0 1 128.0)
   (:g 64.0 196.0)
   (:b 128.0 128.0)
   (:a 128.0)
   (:scalevel-x (meters -0.0025))
   (:scalevel-y (meters 0.24414062) (meters 0.48828125))
   (:timer (seconds 0.27))
   (:flags (bit3 bit14))
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2923
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0 2.0)
   (:x (meters 1.8) (meters 1))
   (:scale-x (meters 0.2) (meters 0.1))
   (:rot-x (degrees 90))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y (meters 1) (meters 3))
   (:r 0.0 1 128.0)
   (:g 64.0 196.0)
   (:b 128.0 128.0)
   (:a 128.0)
   (:scalevel-x (meters -0.0025))
   (:scalevel-y (meters 0.048828125) (meters 0.09765625))
   (:timer (seconds 0.27))
   (:flags (bit3 bit14))
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2925
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0 3.0)
   (:x (meters 0) (meters 5.5))
   (:y (meters -0.5))
   (:scale-x (meters 0.15) (meters 0.2))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 64.0 64.0)
   (:vel-x (meters -0.011666667) (meters -0.0033333334))
   (:vel-y (meters 0))
   (:rotvel-z (degrees -1.2) 1 (degrees 2.4))
   (:fade-a -0.42666668)
   (:accel-y (meters 0.0016666667))
   (:friction 0.996)
   (:timer (seconds 0.6) (seconds 0.397))
   (:flags (bit2 bit14))
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2926
  :init-specs
  ((:texture (bigpuff effects))
   (:num 1.0 3.0)
   (:x (meters 0) (meters 5))
   (:y (meters -0.5))
   (:scale-x (meters 2) (meters 1))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 64.0 32.0)
   (:g 32.0 32.0)
   (:b 10.0 5.0)
   (:a 0.0)
   (:vel-x (meters -0.011666667) (meters -0.0033333334))
   (:vel-y (meters 0))
   (:rotvel-z (degrees -1.2) 1 (degrees 2.4))
   (:fade-a 0.6)
   (:accel-y (meters 0.0016666667))
   (:friction 0.996)
   (:timer (seconds 0.9))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.15))
   (:next-launcher 2928)
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2928
  :init-specs ((:fade-a -0.18)))

(defpartgroup group-target-white-eco-joints
  :id 700
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts ((sp-item 2929) (sp-item 2930)))

(defpart 2930
  :init-specs
  ((:texture (bigpuff effects))
   (:num 0.3 0.2)
   (:x (meters -0.001) (meters 0.002))
   (:y (meters -0.001) (meters 0.002))
   (:z (meters -0.001) (meters 0.002))
   (:scale-x (meters 2) (meters 0.5))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 192.0 64.0)
   (:g 192.0 64.0)
   (:b 192.0 64.0)
   (:a 0.0)
   (:vel-y (meters 0))
   (:scalevel-x (meters 0.006666667))
   (:rotvel-z (degrees -0.3) (degrees 0.6))
   (:scalevel-y :copy scalevel-x)
   (:fade-a 0.10666667)
   (:accel-y (meters 0) (meters 0.00033333333))
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.4) (seconds 0.097))
   (:next-launcher 2931)))

(defpart 2931
  :init-specs ((:fade-a -0.10666667)))

(defpart 2929
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0 8.0)
   (:scale-x (meters 0.1) (meters 0.2))
   (:scale-y :copy scale-x)
   (:r 192.0 64.0)
   (:g 192.0 64.0)
   (:b 192.0 64.0)
   (:a 32.0 64.0)
   (:vel-y (meters 0.10666667) (meters 0.21333334))
   (:scalevel-x (meters -0.00083333335))
   (:scalevel-y :copy scalevel-x)
   (:accel-y (meters 0.0016666667) (meters 0.00066666666))
   (:friction 0.5)
   (:timer (seconds 0.1) (seconds 0.497))
   (:flags (bit0 bit2 bit3 bit14))
   (:userdata 1638400.0)
   (:func 'check-drop-level-eichar-lighteco-pops)
   (:next-time (seconds 0.1) (seconds 0.997))
   (:next-launcher 2932)
   (:conerot-x (degrees 0) (degrees 360))
   (:conerot-y (degrees -1440) (degrees 2880))))

(defpart 2932
  :init-specs ((:userdata 2048000.0)))

(defun check-drop-level-eichar-lighteco-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
  (when (< (-> arg2 y) (-> arg1 user-float))
    (let ((gp-0 (new 'stack-no-clear 'vector)))
      (sp-kill-particle arg0 arg1)
      (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0)
      (launch-particles (-> *part-id-table* 2933) gp-0 :rate 1.0)
      (launch-particles (-> *part-id-table* 2934) gp-0 :rate 1.0)))
  (none))

(defpart 2934
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:scale-x (meters 0.6) (meters 0.3))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 32.0 16.0)
   (:fade-a -1.92)
   (:timer (seconds 0.067))
   (:flags (bit2 bit3 bit14))))

(defpart 2933
  :init-specs
  ((:texture (hotdot effects))
   (:num 4.0 4.0)
   (:scale-x (meters 0.1) (meters 0.1))
   (:scale-y :copy scale-x)
   (:r 192.0 64.0)
   (:g 192.0 64.0)
   (:b 192.0 64.0)
   (:a 32.0 64.0)
   (:vel-y (meters 0.053333335) (meters 0.053333335))
   (:accel-y (meters 0.0016666667) (meters 0.00066666666))
   (:friction 0.85)
   (:timer (seconds 0.05) (seconds 0.397))
   (:flags (bit2 bit3 bit14))
   (:conerot-x (degrees 0) (degrees 360))
   (:conerot-y (degrees 0) (degrees 360))))

(defpartgroup group-target-white-eco-hand-glow
  :id 701
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts ((sp-item 2892)))

(defpart 2892
  :init-specs
  ((:texture (bigpuff effects))
   (:num 4.0 3.0)
   (:x (meters -0.2) (meters -0.1))
   (:z (meters 0.2) (meters 0.1))
   (:scale-x (meters 0.5) (meters 0.25))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 32.0 32.0)
   (:vel-y (meters 0))
   (:scalevel-x (meters -0.005))
   (:rotvel-z (degrees -1.2) (degrees 2.4))
   (:scalevel-y :copy scalevel-x)
   (:fade-a -0.42666668)
   (:accel-y (meters 0.0016666667))
   (:timer (seconds 0.5))
   (:flags (bit2 bit3))))

(defpartgroup group-target-white-eco-hand-shot
  :id 702
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts ((sp-item 2893) (sp-item 2935)))

(defpart 2935
  :init-specs
  ((:texture (hotdot effects))
   (:num 4.0)
   (:x (meters -0.2) (meters -0.1))
   (:z (meters 0.2) (meters 0.1))
   (:scale-x (meters 0.05))
   (:rot-z (degrees 0) (degrees 180))
   (:scale-y (meters 6) (meters 9))
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 128.0 128.0)
   (:scalevel-y (meters 0.42666668))
   (:fade-a -1.6)
   (:timer (seconds 0.2))
   (:flags (bit2 bit3 bit14))))

(defpart 2893
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:x (meters -0.2) (meters -0.1))
   (:z (meters 0.2) (meters 0.1))
   (:scale-x (meters 0.5))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 32.0)
   (:vel-x (meters -0.033333335))
   (:vel-y (meters 0))
   (:scalevel-x (meters 0.21333334))
   (:scalevel-y :copy scalevel-x)
   (:timer (seconds 0.5))
   (:flags (bit2 bit3))))

(defpartgroup group-robotboss-joints
  :id 703
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts
  ((sp-item 2936 :period (seconds 0.12) :length (seconds 0.017))
   (sp-item 2936 :period (seconds 0.467) :length (seconds 0.017))
   (sp-item 2936 :period (seconds 0.205) :length (seconds 0.017))
   (sp-item 2894 :period (seconds 0.05) :length (seconds 0.017))
   (sp-item 2937)))

(defpart 2937
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:y (meters 0))
   (:scale-x (meters 4) (meters 16))
   (:scale-y :copy scale-x)
   (:r 128.0)
   (:g 192.0 32.0)
   (:b 255.0)
   (:a 32.0 64.0)
   (:fade-a -2.3272727)
   (:timer (seconds 0.18))
   (:flags (bit2 bit3 bit14))))

(defpart 2894
  :init-specs
  ((:texture (bigpuff effects))
   (:num 1.0)
   (:x (meters -0.5) (meters 1))
   (:y (meters -0.5) (meters 1))
   (:z (meters -0.5) (meters 1))
   (:scale-x (meters 4) (meters 8))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 128.0)
   (:g 128.0 64.0)
   (:b 255.0)
   (:a 32.0 32.0)
   (:vel-y (meters 0))
   (:scalevel-x (meters 0.013333334))
   (:rotvel-z (degrees -0.6) (degrees 1.2))
   (:scalevel-y :copy scalevel-x)
   (:accel-y (meters 0.00033333333) (meters 0.00033333333))
   (:friction 0.9)
   (:timer (seconds 2.7))
   (:flags (bit2 bit14))
   (:next-time (seconds 0.067) (seconds 0.297))
   (:next-launcher 2596)))

(defpart 2936
  :init-specs
  ((:texture (hotdot effects))
   (:num 0.0 1 8.0)
   (:y (meters 0))
   (:scale-x (meters 0.6) (meters 1))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 192.0 32.0)
   (:b 192.0)
   (:a 32.0 96.0)
   (:vel-y (meters 0.053333335) (meters 0.21333334))
   (:scalevel-x (meters -0.0033333334))
   (:scalevel-y :copy scalevel-x)
   (:fade-r -1.6)
   (:fade-g -1.6)
   (:fade-b 0.0)
   (:accel-y (meters -0.0018333334) (meters -0.0018333334))
   (:friction 0.9)
   (:timer (seconds 1))
   (:flags (bit0 bit2 bit14))
   (:next-time (seconds 0.3) (seconds 0.097))
   (:next-launcher 2595)
   (:conerot-x (degrees 0) (degrees 180))
   (:conerot-y (degrees 0) (degrees 360))
   (:conerot-radius (meters 2) (meters 4))))

(defpartgroup group-robotboss-explode
  :id 696
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts
  ((sp-item 2939 :period (seconds 4) :length (seconds 0.067) :binding 2938)
   (sp-item 2940 :period (seconds 4) :length (seconds 0.017))
   (sp-item 2941 :period (seconds 4) :length (seconds 0.135))
   (sp-item 2942 :period (seconds 4) :length (seconds 0.067))
   (sp-item 2943 :period (seconds 4) :length (seconds 0.067))
   (sp-item 2944 :period (seconds 4) :length (seconds 0.067))
   (sp-item 2945 :flags (is-3d) :period (seconds 4) :length (seconds 0.017))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))
   (sp-item 2938 :flags (start-dead))))

(defpart 2939
  :init-specs
  ((:texture (hotdot effects))
   (:num 4.0)
   (:y (meters 0))
   (:scale-x (meters 4) (meters 2))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 128.0 128.0)
   (:vel-y (meters 0.33333334) (meters 0.85333335))
   (:scalevel-x (meters 0))
   (:rotvel-z (degrees -0.3) (degrees 0.6))
   (:scalevel-y :copy scalevel-x)
   (:accel-y (meters -0.0038333333) (meters -0.017166667))
   (:friction 0.96 0.06)
   (:timer (seconds 3.5))
   (:flags (bit2 bit14))
   (:conerot-x (degrees -120) (degrees 240))
   (:conerot-y (degrees 0) (degrees 360))
   (:conerot-radius (meters 0) (meters 40))))

(defpart 2938
  :init-specs
  ((:texture (bigpuff effects))
   (:num 1.0)
   (:scale-x (meters 4) (meters 4))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 8.0 16.0)
   (:scalevel-x (meters 0.02) (meters 0.02))
   (:rotvel-z (degrees -0.6) (degrees 1.2))
   (:scalevel-y :copy scalevel-x)
   (:fade-a -0.053333335)
   (:timer (seconds 3.5))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.14))
   (:next-launcher 2946)))

(defpart 2946
  :init-specs ((:fade-g -0.14222223) (:fade-b -0.14222223)))

(defpart 2945
  :init-specs
  ((:texture (water-ring effects))
   (:num 6.0)
   (:y (meters 10))
   (:scale-x (meters 8) (meters 60))
   (:rot-x (degrees 0) (degrees 1440))
   (:rot-y (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 8.0 48.0)
   (:scalevel-x (meters 0.33333334) (meters 0.6666667))
   (:scalevel-y :copy scalevel-x)
   (:timer (seconds 1.7))
   (:flags (bit2 bit3 bit12 bit14 left-multiply-quat))
   (:next-time (seconds 0.2) (seconds 0.497))
   (:next-launcher 2947)))

(defpart 2947
  :init-specs ((:fade-a -0.21333334)))

(defpart 2941
  :init-specs
  ((:texture (hotdot effects))
   (:num 128.0)
   (:y (meters 0))
   (:scale-x (meters 4) (meters 1))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 32.0 96.0)
   (:vel-y (meters 0.85333335) (meters 0.85333335))
   (:accel-y (meters -0.0016666667) (meters -0.0016666667))
   (:friction 0.95)
   (:timer (seconds 1))
   (:flags (bit2 bit14))
   (:next-time (seconds 0.1) (seconds 0.297))
   (:next-launcher 2948)
   (:conerot-x (degrees 0) (degrees 180))
   (:conerot-y (degrees 0) (degrees 360))
   (:conerot-radius (meters 2) (meters 4))))

(defpart 2948
  :init-specs ((:fade-a -1.0666667)))

(defpart 2944
  :init-specs
  ((:texture (hotdot effects))
   (:num 16.0)
   (:y (meters 0))
   (:scale-x (meters 2) (meters 1))
   (:rot-z (degrees 0) (degrees 180))
   (:scale-y (meters 128))
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 8.0 88.0)
   (:scalevel-y (meters 3.4133334))
   (:fade-a -0.64)
   (:timer (seconds 0.5))
   (:flags (bit2 bit3 bit14))))

(defpart 2940
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:y (meters 0))
   (:scale-x (meters 256))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 128.0)
   (:fade-a -2.3272727)
   (:timer (seconds 0.18))
   (:flags (bit2 bit3 bit14))))

(defpart 2942
  :init-specs
  ((:texture (bigpuff effects))
   (:num 16.0)
   (:y (meters -8) (meters 16))
   (:scale-x (meters 20) (meters 40))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 8.0 90.0)
   (:vel-y (meters 0.21333334) (meters 0.21333334))
   (:scalevel-x (meters 0.04))
   (:rotvel-z (degrees -0.2) (degrees 0.4))
   (:scalevel-y :copy scalevel-x)
   (:fade-a -0.32666665)
   (:accel-y (meters 0.0013333333) (meters 0.0013333333))
   (:friction 0.9)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:conerot-x (degrees 0) (degrees 1440))
   (:conerot-y (degrees 0) (degrees 1440))
   (:conerot-radius (meters 0) (meters 32))))

(defpart 2943
  :init-specs
  ((:texture (bigpuff effects))
   (:num 20.0)
   (:y (meters -8) (meters 16))
   (:scale-x (meters 40) (meters 40))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 192.0 32.0)
   (:g 128.0 64.0)
   (:b 64.0 64.0)
   (:a 8.0 64.0)
   (:vel-y (meters 0.85333335) (meters 0.85333335))
   (:scalevel-x (meters 0.04))
   (:rotvel-z (degrees -0.2) (degrees 0.4))
   (:scalevel-y :copy scalevel-x)
   (:fade-a -0.068571426)
   (:accel-y (meters 0.0013333333) (meters 0.0013333333))
   (:friction 0.9)
   (:timer (seconds 3.5))
   (:flags (bit2 bit3 bit14))
   (:conerot-x (degrees 0) (degrees 1440))
   (:conerot-y (degrees 0) (degrees 1440))
   (:conerot-radius (meters 0) (meters 32))))

(defpartgroup group-robotboss-splash
  :id 704
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts ((sp-item 2949) (sp-item 2950)))

(defpart 2950
  :init-specs
  ((:texture (hotdot effects))
   (:num 128.0)
   (:x (meters 0) (meters 5))
   (:y (meters -8))
   (:scale-x (meters 0.5) (meters 0.25))
   (:scale-y :copy scale-x)
   (:r 64.0 128.0)
   (:g 0.0 32.0)
   (:b 96.0 64.0)
   (:a 32.0 96.0)
   (:vel-y (meters 0.053333335) (meters 0.42666668))
   (:scalevel-x (meters -0.0016666667))
   (:scalevel-y :copy scalevel-x)
   (:accel-y (meters -0.00066666666) (meters -0.0016666667))
   (:friction 0.94)
   (:timer (seconds 3.5))
   (:flags (bit2 bit14))
   (:next-time (seconds 0.5) (seconds 0.997))
   (:next-launcher 2951)
   (:conerot-x (degrees 0) (degrees 60))
   (:conerot-y (degrees 0) (degrees 360))
   (:conerot-radius (meters 2) (meters 4))
   (:rotate-y (degrees 0) (degrees 360))))

(defpart 2951
  :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.21333334)))

(defpart 2949
  :init-specs
  ((:texture (bigpuff effects))
   (:num 16.0)
   (:x (meters 0) (meters 10))
   (:y (meters -10))
   (:scale-x (meters 6) (meters 6))
   (:scale-y :copy scale-x)
   (:r 64.0 128.0)
   (:g 0.0 32.0)
   (:b 96.0 64.0)
   (:a 64.0 64.0)
   (:vel-y (meters 0.053333335) (meters 0.10666667))
   (:accel-y (meters -0.00033333333))
   (:friction 0.94)
   (:timer (seconds 3.5))
   (:flags (bit2 bit14))
   (:next-time (seconds 0.5) (seconds 0.997))
   (:next-launcher 2951)
   (:rotate-y (degrees 0) (degrees 360))))

(defpartgroup group-bigdoor-open
  :id 698
  :duration (seconds 3)
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 64)
  :parts
  ((sp-item 2952 :flags (is-3d))
   (sp-item 2953 :flags (is-3d))
   (sp-item 2954 :flags (is-3d))
   (sp-item 2955)
   (sp-item 2956)
   (sp-item 2957)
   (sp-item 2958)))

(defpart 2952
  :init-specs
  ((:texture (starflash effects))
   (:num 0.1)
   (:y (meters 10))
   (:z (meters 4))
   (:scale-x (meters 48))
   (:rot-x (degrees 90))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 0.0)
   (:rotvel-y (degrees -0.1) (degrees 0.2))
   (:fade-a 0.16)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14 left-multiply-quat))
   (:next-time (seconds 0.5))
   (:next-launcher 2959)
   (:rotate-y (degrees 40))))

(defpart 2959
  :init-specs ((:fade-a -0.16)))

(defpart 2953
  :init-specs
  ((:texture (starflash effects))
   (:num 0.1)
   (:y (meters 10))
   (:z (meters 4))
   (:scale-x (meters 48))
   (:rot-z (degrees -90))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 0.0)
   (:rotvel-y (degrees -0.1) (degrees 0.2))
   (:fade-a 0.16)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14 left-multiply-quat))
   (:next-time (seconds 0.5))
   (:next-launcher 2959)
   (:rotate-y (degrees 40))))

(defpart 2954
  :init-specs
  ((:texture (starflash effects))
   (:num 0.1)
   (:y (meters 0.5))
   (:z (meters 4))
   (:scale-x (meters 40))
   (:rot-y (degrees -50.000004))
   (:rot-z (degrees 1))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 0.0)
   (:rotvel-y (degrees -0.1) (degrees 0.2))
   (:fade-a 0.16)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14 left-multiply-quat))
   (:next-time (seconds 0.5))
   (:next-launcher 2959)
   (:rotate-y (degrees 40))))

(defpart 2955
  :init-specs
  ((:texture (flare effects))
   (:num 1.0 2.0)
   (:y (meters 10))
   (:z (meters 8))
   (:scale-x (meters 8) (meters 32))
   (:rot-x 4)
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y (meters 2.5) (meters 5.5))
   (:r 128.0 1 128.0)
   (:g 128.0 1 128.0)
   (:b 128.0 1 128.0)
   (:a 0.0)
   (:scalevel-x (meters 0.009765625))
   (:rotvel-z (degrees -0.1) (degrees 0.2))
   (:fade-a 0.21333334)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.25) (seconds 0.247))
   (:next-launcher 2959)
   (:rotate-y (degrees 40))))

(defpart 2956
  :init-specs
  ((:texture (flare effects))
   (:num 0.5)
   (:y (meters 10))
   (:z (meters 8))
   (:scale-x (meters 64))
   (:rot-x 4)
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y (meters 1.5))
   (:r 128.0 1 128.0)
   (:g 128.0 1 128.0)
   (:b 128.0 1 128.0)
   (:a 0.0)
   (:scalevel-x (meters 0.009765625))
   (:rotvel-z (degrees -0.1) (degrees 0.2))
   (:fade-a 0.21333334)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.25) (seconds 0.247))
   (:next-launcher 2959)
   (:rotate-y (degrees 40))))

(defpart 2957
  :init-specs
  ((:texture (hotdot effects))
   (:num 32.0)
   (:x (meters 10) (meters 40))
   (:y (meters 1) (meters 20))
   (:scale-x (meters 0.2) (meters 0.2))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 0.0)
   (:vel-y (meters -0.00066666666) (meters -0.0026666666))
   (:fade-a 0.85333335)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:next-time (seconds 0.25) (seconds 0.247))
   (:next-launcher 2960)
   (:rotate-y (degrees -135) (degrees 1440))))

(defpart 2960
  :init-specs ((:fade-a -0.85333335)))

(defpart 2958
  :init-specs
  ((:texture (hotdot effects))
   (:num 1.0)
   (:x (meters 10) (meters 30))
   (:y (meters 1) (meters 20))
   (:scale-x (meters 0.2) (meters 0.2))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 0.0)
   (:vel-y (meters -0.00066666666) (meters -0.0026666666))
   (:fade-a 0.85333335)
   (:timer (seconds 1))
   (:flags (bit2 bit3 bit14))
   (:userdata -4096000.0)
   (:func 'check-drop-level-bigdoor-open-pops)
   (:next-time (seconds 0.25) (seconds 0.247))
   (:next-launcher 2961)
   (:rotate-y (degrees -135) (degrees 1440))))

(defpart 2961
  :init-specs ((:userdata 4096000.0)))

(defun check-drop-level-bigdoor-open-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
  (when (< (-> arg2 y) (-> arg1 user-float))
    (let ((gp-0 (new 'stack-no-clear 'vector)))
      (sp-kill-particle arg0 arg1)
      (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0)
      (launch-particles (-> *part-id-table* 2962) gp-0 :rate 1.0)
      (launch-particles (-> *part-id-table* 2963) gp-0 :rate 1.0)))
  (none))

(defpart 2963
  :init-specs
  ((:texture (starflash effects))
   (:num 1.0)
   (:scale-x (meters 1) (meters 0.4))
   (:rot-z (degrees 0) (degrees 360))
   (:scale-y :copy scale-x)
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 16.0 32.0)
   (:fade-a -1.92)
   (:timer (seconds 0.067))
   (:flags (bit2 bit3))))

(defpart 2962
  :init-specs
  ((:texture (hotdot effects))
   (:num 4.0 4.0)
   (:scale-x (meters 0.3) (meters 0.2))
   (:scale-y :copy scale-x)
   (:r 192.0 64.0)
   (:g 192.0 64.0)
   (:b 192.0 64.0)
   (:a 32.0 64.0)
   (:vel-y (meters 0.053333335) (meters 0.053333335))
   (:accel-y (meters -0.0016666667) (meters -0.00066666666))
   (:friction 0.85)
   (:timer (seconds 0.3) (seconds 0.197))
   (:flags (bit2 bit3))
   (:conerot-x (degrees 0) (degrees 360))
   (:conerot-y (degrees 0) (degrees 360))))

(defpartgroup group-2d-big-door-whiteout
  :id 706
  :flags (screen-space)
  :bounds (static-bspherem 0 0 0 2)
  :parts ((sp-item 2965)))

(defpart 2965
  :init-specs
  ((:texture (p-white effects))
   (:num 1.0)
   (:z (meters -3.90625))
   (:scale-x (meters 15))
   (:scale-y (meters 12))
   (:r 255.0)
   (:g 255.0)
   (:b 255.0)
   (:a 128.0)
   (:timer (seconds 0.017))
   (:flags (bit2 bit3 bit14))))
