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

(import "goal_src/jak1/import/breakaway-right-ag.gc")
(import "goal_src/jak1/import/boatpaddle-ag.gc")
(import "goal_src/jak1/import/breakaway-mid-ag.gc")
(import "goal_src/jak1/import/mis-bone-platform-ag.gc")
(import "goal_src/jak1/import/breakaway-left-ag.gc")
(import "goal_src/jak1/import/windturbine-ag.gc")
(import "goal_src/jak1/import/mistycam-ag.gc")
(import "goal_src/jak1/import/mis-bone-bridge-ag.gc")

;; failed to figure out what this is:
(defpartgroup group-windturbine-particles
  :id 191
  :bounds (static-bspherem 0 0 0 12)
  :parts ((sp-item 908 :fade-after (meters 60) :period 1212 :length 10)
    (sp-item 908 :fade-after (meters 60) :period 5790 :length 10)
    (sp-item 908 :fade-after (meters 60) :period 4988 :length 10)
    (sp-item 908 :fade-after (meters 60) :period 3510 :length 10)
    (sp-item 908 :fade-after (meters 60) :period 1837 :length 10)
    (sp-item 909 :fade-after (meters 60) :period 1650 :length 10)
    (sp-item 909 :fade-after (meters 60) :period 3780 :length 10)
    (sp-item 909 :fade-after (meters 60) :period 2220 :length 10)
    (sp-item 909 :fade-after (meters 60) :period 8235 :length 10)
    (sp-item 909 :fade-after (meters 60) :period 3336 :length 10)
    (sp-item 910 :fade-after (meters 60) :period 150 :length 75)
    (sp-item 910 :fade-after (meters 120) :period 150 :length 75)
    (sp-item 910 :fade-after (meters 180) :period 150 :length 75)
    (sp-item 911 :fade-after (meters 60) :period 150 :length 75 :offset 75)
    (sp-item 911 :fade-after (meters 120) :period 150 :length 75 :offset 75)
    (sp-item 911 :fade-after (meters 180) :period 150 :length 75 :offset 75)
    )
  )

;; failed to figure out what this is:
(defpart 910
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 0.066 0.066 1.0)
    (sp-flt spt-x (meters -4))
    (sp-rnd-flt spt-y (meters -2) (meters 0.5) 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-flt spt-r 32.0)
    (sp-flt spt-g 32.0)
    (sp-flt spt-b 32.0)
    (sp-rnd-flt spt-a 0.0 32.0 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a 0.21333334)
    (sp-flt spt-accel-y 1.2288)
    (sp-int-plain-rnd spt-timer 600 1499 1)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 75)
    (sp-launcher-by-id spt-next-launcher 912)
    )
  )

;; failed to figure out what this is:
(defpart 912
  :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 913))
  )

;; failed to figure out what this is:
(defpart 913
  :init-specs ((sp-flt spt-vel-x (meters -0.06666667))
    (sp-flt spt-vel-y (meters 0.0033333334))
    (sp-flt spt-scalevel-x (meters 0.016666668))
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.2)
    (sp-flt spt-accel-x 1.3653333)
    )
  )

;; failed to figure out what this is:
(defpart 911
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :page #x2))
    (sp-rnd-flt spt-num 0.066 0.066 1.0)
    (sp-flt spt-x (meters -4))
    (sp-rnd-flt spt-y (meters -2) (meters 0.5) 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-flt spt-r 32.0)
    (sp-flt spt-g 32.0)
    (sp-flt spt-b 32.0)
    (sp-rnd-flt spt-a 0.0 32.0 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a 0.21333334)
    (sp-flt spt-accel-y 1.2288)
    (sp-int-plain-rnd spt-timer 600 1499 1)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 150)
    (sp-launcher-by-id spt-next-launcher 912)
    )
  )

;; failed to figure out what this is:
(defpart 908
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-rnd-flt spt-num 8.0 24.0 1.0)
    (sp-flt spt-x (meters -4))
    (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0)
    (sp-flt spt-z (meters -0.5))
    (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 128.0 128.0 1.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 64.0)
    (sp-rnd-flt spt-a 64.0 64.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-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-g -0.2)
    (sp-flt spt-fade-b -0.2)
    (sp-flt spt-fade-a -0.6)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.94)
    (sp-int-plain-rnd spt-timer 90 59 1)
    (sp-cpuinfo-flags bit2)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees -220.0) (degrees 110.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpart 909
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-rnd-flt spt-num 8.0 24.0 1.0)
    (sp-flt spt-x (meters -4))
    (sp-rnd-flt spt-y (meters -4.5) (meters 1) 1.0)
    (sp-flt spt-z (meters 0.5))
    (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-rnd-flt spt-r 128.0 128.0 1.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 64.0)
    (sp-rnd-flt spt-a 64.0 64.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-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-g -0.2)
    (sp-flt spt-fade-b -0.2)
    (sp-flt spt-fade-a -0.6)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.94)
    (sp-int-plain-rnd spt-timer 90 59 1)
    (sp-cpuinfo-flags bit2)
    (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees -110.0) (degrees 110.0) 1.0)
    )
  )

;; failed to figure out what this is:
(defpartgroup group-misty-bone-01
  :id 192
  :duration 600
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 24)
  :parts ((sp-item 914 :period 780 :length 15)
    (sp-item 915 :period 780 :length 15)
    (sp-item 916 :period 780 :length 64)
    (sp-item 917 :period 780 :length 32 :offset 65131)
    (sp-item 918 :period 780 :length 32 :offset 65131)
    (sp-item 919 :period 780 :length 32 :offset 65131)
    (sp-item 920 :period 780 :length 32 :offset 65056)
    (sp-item 921 :period 780 :length 32 :offset 64996)
    )
  )

;; failed to figure out what this is:
(defpart 921
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

;; failed to figure out what this is:
(defpart 920
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-flt spt-x (meters 2.5))
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.16)
    (sp-flt spt-accel-y 0.13653333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

;; failed to figure out what this is:
(defpart 919
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

;; failed to figure out what this is:
(defpart 918
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 64.0 32.0 1.0)
    (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.013333334) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.033333335) (meters 0.06666667) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.996)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 922)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

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

;; failed to figure out what this is:
(defpart 917
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0)
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.026666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-rnd-flt spt-conerot-radius (meters 4) (meters 16) 1.0)
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

;; failed to figure out what this is:
(defpart 914
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.16)
    (sp-flt spt-accel-y 0.13653333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 140.0))
    )
  )

;; failed to figure out what this is:
(defpart 915
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 64.0 32.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.026666667) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.996)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 923)
    (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 30.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 140.0))
    )
  )

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

;; failed to figure out what this is:
(defpart 916
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0)
    (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0)
    (sp-rnd-flt spt-z (meters -3) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 8.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.017777778)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-rotate-y (degrees 187.0))
    )
  )

;; failed to figure out what this is:
(defpartgroup group-misty-bone-03
  :id 193
  :duration 600
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 24)
  :parts ((sp-item 914 :period 780 :length 15)
    (sp-item 915 :period 780 :length 15)
    (sp-item 924 :period 780 :length 64)
    (sp-item 925 :period 780 :length 32 :offset 65131)
    (sp-item 926 :period 780 :length 32 :offset 65131)
    (sp-item 927 :period 780 :length 32 :offset 65131)
    (sp-item 928 :period 780 :length 32 :offset 65056)
    (sp-item 929 :period 780 :length 32 :offset 64996)
    )
  )

;; failed to figure out what this is:
(defpart 929
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpart 928
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-flt spt-x (meters 2.5))
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.16)
    (sp-flt spt-accel-y 0.13653333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpart 927
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpart 926
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 64.0 32.0 1.0)
    (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.013333334) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.033333335) (meters 0.06666667) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.996)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 922)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpart 925
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0)
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.026666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -80.0))
    (sp-rnd-flt spt-conerot-radius (meters 4) (meters 16) 1.0)
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpart 924
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0)
    (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0)
    (sp-rnd-flt spt-z (meters -3) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 8.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.017777778)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-rotate-y (degrees 249.99998))
    )
  )

;; failed to figure out what this is:
(defpartgroup group-misty-bone-02
  :id 194
  :duration 600
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 24)
  :parts ((sp-item 914 :period 780 :length 15)
    (sp-item 915 :period 780 :length 15)
    (sp-item 930 :period 780 :length 64)
    (sp-item 931 :period 780 :length 32 :offset 65131)
    (sp-item 932 :period 780 :length 32 :offset 65131)
    (sp-item 933 :period 780 :length 32 :offset 65131)
    (sp-item 934 :period 780 :length 32 :offset 65056)
    (sp-item 935 :period 780 :length 32 :offset 64996)
    )
  )

;; failed to figure out what this is:
(defpart 935
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpart 934
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-flt spt-x (meters 2.5))
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.16)
    (sp-flt spt-accel-y 0.13653333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpart 933
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpart 932
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 64.0 32.0 1.0)
    (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.013333334) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.033333335) (meters 0.06666667) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.996)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 922)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpart 931
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0)
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.026666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -90.0))
    (sp-rnd-flt spt-conerot-radius (meters 4) (meters 16) 1.0)
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpart 930
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0)
    (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0)
    (sp-rnd-flt spt-z (meters -3) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 8.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.017777778)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-rotate-y (degrees 114.0))
    )
  )

;; failed to figure out what this is:
(defpartgroup group-misty-bone-07
  :id 195
  :duration 600
  :flags (use-local-clock)
  :bounds (static-bspherem 0 0 0 24)
  :parts ((sp-item 914 :period 780 :length 15)
    (sp-item 915 :period 780 :length 15)
    (sp-item 936 :period 780 :length 64)
    (sp-item 937 :period 780 :length 32 :offset 65131)
    (sp-item 938 :period 780 :length 32 :offset 65131)
    (sp-item 939 :period 780 :length 32 :offset 65131)
    (sp-item 940 :period 780 :length 32 :offset 65056)
    (sp-item 941 :period 780 :length 32 :offset 64966)
    )
  )

;; failed to figure out what this is:
(defpart 941
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpart 940
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-flt spt-x (meters 2.5))
    (sp-rnd-flt spt-y (meters 1) (meters 1) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 32.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.16)
    (sp-flt spt-accel-y 0.13653333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0)
    (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0)
    (sp-flt spt-conerot-radius (meters 2))
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpart 939
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 3.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 16.0 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.04) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.023333333) (meters 0.046666667) 1.0)
    (sp-flt spt-scalevel-x (meters 0.006666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-copy-from-other spt-scalevel-y -4)
    (sp-flt spt-fade-a -0.10666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpart 938
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0)
    (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0)
    (sp-rnd-flt spt-z (meters -2.5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.2) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 64.0 32.0 1.0)
    (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.013333334) 1.0)
    (sp-rnd-flt spt-vel-y (meters -0.013333334) (meters 0.053333335) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.033333335) (meters 0.06666667) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-accel-y -6.826667)
    (sp-flt spt-friction 0.996)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 90)
    (sp-launcher-by-id spt-next-launcher 922)
    (sp-flt spt-conerot-z (degrees -94.0))
    (sp-flt spt-conerot-radius (meters 18))
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpart 937
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 8.0)
    (sp-rnd-flt spt-y (meters -1) (meters 1.5) 1.0)
    (sp-rnd-flt spt-z (meters -5) (meters 10) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 16.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.026666667)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-conerot-z (degrees -90.0))
    (sp-rnd-flt spt-conerot-radius (meters 4) (meters 16) 1.0)
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpart 936
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2))
    (sp-flt spt-num 2.0)
    (sp-rnd-flt spt-x (meters -3.5) (meters 4.5) 1.0)
    (sp-rnd-flt spt-y (meters 1) (meters 12) 1.0)
    (sp-rnd-flt spt-z (meters -3) (meters 6) 1.0)
    (sp-rnd-flt spt-scale-x (meters 2) (meters 3) 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 32.0 1.0)
    (sp-rnd-flt spt-g 100.0 32.0 1.0)
    (sp-rnd-flt spt-b 90.0 32.0 1.0)
    (sp-rnd-flt spt-a 8.0 8.0 1.0)
    (sp-flt spt-vel-y (meters -0.0016666667))
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.15) 1 54.613335)
    (sp-flt spt-fade-a -0.017777778)
    (sp-flt spt-accel-y -0.4096)
    (sp-int spt-timer 900)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-flt spt-rotate-y (degrees 14.000005))
    )
  )

;; failed to figure out what this is:
(defpartgroup group-misty-boat-paddle
  :id 196
  :bounds (static-bspherem 0 0 0 15)
  :parts ((sp-item 944 :fade-after (meters 100)))
  )

;; failed to figure out what this is:
(defpart 944
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 0.8)
    (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0)
    (sp-flt spt-y (meters 0))
    (sp-rnd-flt spt-z (meters 5) (meters 5) 1.0)
    (sp-rnd-flt spt-scale-x (meters 5.5) (meters 4) 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 48.0)
    (sp-flt spt-g 64.0)
    (sp-rnd-flt spt-b 96.0 32.0 1.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.033333335) 1.0)
    (sp-rnd-int-flt spt-rotvel-z (degrees -0.2) 1 72.81778)
    (sp-flt spt-fade-a 0.53333336)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-int spt-next-time 75)
    (sp-launcher-by-id spt-next-launcher 945)
    (sp-flt spt-rotate-y (degrees 140.0))
    )
  )

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

;; failed to figure out what this is:
(defpart 943
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2))
    (sp-flt spt-num 6.0)
    (sp-rnd-flt spt-x (meters -9) (meters 18) 1.0)
    (sp-flt spt-scale-x (meters 0.5))
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 64.0)
    (sp-flt spt-g 96.0)
    (sp-rnd-flt spt-b 100.0 28.0 1.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-vel-y (meters 0.001) (meters 0.033333335) 1.0)
    (sp-flt spt-fade-a 0.53333336)
    (sp-flt spt-accel-y -5.4613333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12)
    (sp-int spt-next-time 210)
    (sp-launcher-by-id spt-next-launcher 946)
    (sp-flt spt-conerot-x (degrees 90.0))
    (sp-rnd-int-flt spt-conerot-y (degrees 0.0) 3 8192.0)
    (sp-flt spt-conerot-z (degrees 90.0))
    (sp-flt spt-conerot-radius (meters 9))
    (sp-flt spt-rotate-y (degrees 140.0))
    )
  )

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

;; failed to figure out what this is:
(defpart 942
  :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2))
    (sp-flt spt-num 1.0)
    (sp-rnd-flt spt-x (meters -11) (meters 22) 1.0)
    (sp-flt spt-y (meters 0.5))
    (sp-rnd-flt spt-z (meters 6) (meters 4) 1.0)
    (sp-flt spt-scale-x (meters 3.5))
    (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0)
    (sp-copy-from-other spt-scale-y -4)
    (sp-flt spt-r 128.0)
    (sp-flt spt-g 128.0)
    (sp-flt spt-b 128.0)
    (sp-flt spt-a 0.0)
    (sp-rnd-flt spt-vel-y (meters 0.001) (meters 0.033333335) 1.0)
    (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.033333335) 1.0)
    (sp-flt spt-fade-a 0.53333336)
    (sp-flt spt-accel-y -5.4613333)
    (sp-int spt-timer 300)
    (sp-cpuinfo-flags bit2 bit12 bit14)
    (sp-int spt-next-time 75)
    (sp-launcher-by-id spt-next-launcher 947)
    (sp-flt spt-rotate-y (degrees 140.0))
    )
  )

;; failed to figure out what this is:
(defpart 947
  :init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 948))
  )

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

;; definition of type boatpaddle
(deftype boatpaddle (process-drawable)
  ()
  :heap-base #x40
  :method-count-assert 20
  :size-assert         #xb0
  :flag-assert         #x14004000b0
  (:states
    boatpaddle-idle
    )
  )

;; definition for method 3 of type boatpaddle
(defmethod inspect boatpaddle ((obj boatpaddle))
  (let ((t9-0 (method-of-type process-drawable inspect)))
    (t9-0 obj)
    )
  obj
  )

;; failed to figure out what this is:
(defskelgroup *boatpaddle-sg* boatpaddle boatpaddle-lod0-jg boatpaddle-idle-ja
              ((boatpaddle-lod0-mg (meters 20)) (boatpaddle-lod1-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 18)
              )

;; failed to figure out what this is:
(defstate boatpaddle-idle (boatpaddle)
  :code (behavior ()
    (local-vars (s4-0 int))
    (loop
      (quaternion-rotate-local-x!
        (-> self root quat)
        (-> self root quat)
        (* -5461.3335 (-> *display* seconds-per-frame))
        )
      (let ((gp-0 (-> self part))
            (s5-0 (-> self root trans))
            )
        (let ((f30-0 1274.3112)
              (f28-0 (the float s4-0))
              )
          (set! s4-0 (/ (the int (* 65536.0 (ja-frame-num 0))) (+ (-> (ja-group) data 0 length) -1)))
          (set! (-> *part-id-table* 943 init-specs 17 initial-valuef)
                (+ f30-0 (- f28-0 (* (the float (the int (/ (the float s4-0) 8192.0))) 8192.0)))
                )
          )
        (spawn gp-0 s5-0)
        )
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior boatpaddle) ja-post)
  )

;; definition for method 11 of type boatpaddle
;; INFO: Return type mismatch object vs none.
(defmethod init-from-entity! boatpaddle ((obj boatpaddle) (arg0 entity-actor))
  (set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
  (set! (-> obj root) (new 'process 'trsqv))
  (process-drawable-from-entity! obj arg0)
  (initialize-skeleton obj *boatpaddle-sg* '())
  (logclear! (-> obj mask) (process-mask actor-pause))
  (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 196) obj))
  (go boatpaddle-idle)
  (none)
  )

;; definition of type windturbine
(deftype windturbine (process-drawable)
  ((spawn-particle-enable symbol  :offset-assert 176)
   (angle-speed           float   :offset-assert 180)
   )
  :heap-base #x50
  :method-count-assert 20
  :size-assert         #xb8
  :flag-assert         #x14005000b8
  (:states
    windturbine-idle
    )
  )

;; definition for method 3 of type windturbine
(defmethod inspect windturbine ((obj windturbine))
  (let ((t9-0 (method-of-type process-drawable inspect)))
    (t9-0 obj)
    )
  (format #t "~T~Tspawn-particle-enable: ~A~%" (-> obj spawn-particle-enable))
  (format #t "~T~Tangle-speed: ~f~%" (-> obj angle-speed))
  obj
  )

;; failed to figure out what this is:
(defskelgroup *windturbine-sg* windturbine windturbine-lod0-jg windturbine-idle-ja
              ((windturbine-lod0-mg (meters 20)) (windturbine-lod1-mg (meters 40)) (windturbine-lod2-mg (meters 999999)))
              :bounds (static-spherem 0 3 0 7)
              )

;; failed to figure out what this is:
(defstate windturbine-idle (windturbine)
  :code (behavior ()
    (loop
      (let* ((a0-0 (-> self root trans))
             (f2-0
               (-> *wind-work*
                   wind-force
                   (logand (+ (the int (-> a0-0 x)) (the int (-> a0-0 z)) (-> *wind-work* wind-time)) 63)
                   )
               )
             (f0-5 (* 0.992 (+ (-> self angle-speed) (* 3.6408892 f2-0))))
             )
        (set! (-> self angle-speed) (fmin 65536.0 f0-5))
        )
      (quaternion-rotate-local-y!
        (-> self root quat)
        (-> self root quat)
        (* -1.0 (-> *display* seconds-per-frame) (-> self angle-speed))
        )
      (if (-> self spawn-particle-enable)
          (spawn (-> self part) (-> self root trans))
          )
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior windturbine) ja-post)
  )

;; definition for method 11 of type windturbine
;; INFO: Return type mismatch object vs none.
(defmethod init-from-entity! windturbine ((obj windturbine) (arg0 entity-actor))
  (set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
  (set! (-> obj root) (new 'process 'trsqv))
  (process-drawable-from-entity! obj arg0)
  (logclear! (-> obj mask) (process-mask actor-pause))
  (set! (-> obj spawn-particle-enable) (= (res-lump-value arg0 'particle-select uint128) 1))
  (if (-> obj spawn-particle-enable)
      (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 191) obj))
      )
  (initialize-skeleton obj *windturbine-sg* '())
  (go windturbine-idle)
  (none)
  )

;; definition of type mis-bone-bridge
(deftype mis-bone-bridge (process-drawable)
  ((root-override    collide-shape-moving    :offset        112)
   (particle-group   sparticle-launch-group  :offset-assert 176)
   (player-attack-id int32                   :offset-assert 180)
   (fall-anim-index  int32                   :offset-assert 184)
   (hit-points       int8                    :offset-assert 188)
   )
  :heap-base #x50
  :method-count-assert 20
  :size-assert         #xbd
  :flag-assert         #x14005000bd
  (:states
    mis-bone-bridge-bump
    (mis-bone-bridge-fall symbol)
    mis-bone-bridge-hit
    mis-bone-bridge-idle
    )
  )

;; definition for method 3 of type mis-bone-bridge
(defmethod inspect mis-bone-bridge ((obj mis-bone-bridge))
  (let ((t9-0 (method-of-type process-drawable inspect)))
    (t9-0 obj)
    )
  (format #t "~T~Tparticle-group: ~A~%" (-> obj particle-group))
  (format #t "~T~Tplayer-attack-id: ~D~%" (-> obj player-attack-id))
  (format #t "~T~Tfall-anim-index: ~D~%" (-> obj fall-anim-index))
  (format #t "~T~Thit-points: ~D~%" (-> obj hit-points))
  obj
  )

;; failed to figure out what this is:
(defskelgroup *mis-bone-bridge-sg* mis-bone-bridge mis-bone-bridge-lod0-jg mis-bone-bridge-idle-ja
              ((mis-bone-bridge-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 1 0 20)
              )

;; definition for function mis-bone-bridge-event-handler
;; INFO: Used lq/sq
(defbehavior mis-bone-bridge-event-handler mis-bone-bridge ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
  (case arg2
    (('attack)
     (let ((s5-0 (-> arg3 param 2))
           (gp-0 (vector-x-quaternion! (new-stack-vector0) (-> self root-override quat)))
           (a0-4 (vector-z-quaternion! (new-stack-vector0) (-> self root-override quat)))
           (v1-4 (vector-! (new-stack-vector0) (-> *target* control trans) (-> self root-override trans)))
           )
       0.0
       0.0
       (when (!= s5-0 (-> self player-attack-id))
         (set! (-> self player-attack-id) (the-as int s5-0))
         (let ((f0-3 (vector-dot gp-0 v1-4))
               (f1-1 (vector-dot a0-4 v1-4))
               )
           (cond
             ((and (< 0.0 f1-1) (< (fabs (* 0.5 f0-3)) f1-1))
              (if (send-event *target* 'query 'powerup (pickup-type eco-red))
                  (go mis-bone-bridge-fall #f)
                  (go mis-bone-bridge-hit)
                  )
              )
             (else
               (go mis-bone-bridge-bump)
               #f
               )
             )
           )
         )
       )
     )
    )
  )

;; failed to figure out what this is:
(defstate mis-bone-bridge-idle (mis-bone-bridge)
  :event mis-bone-bridge-event-handler
  :code (behavior ()
    (ja :num-func num-func-identity :frame-num 0.0)
    (loop
      (if (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))))
          (level-hint-spawn
            (game-text-id misty-bone-bridge-hint)
            "sksp0435"
            (the-as entity #f)
            *entity-pool*
            (game-task none)
            )
          )
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior mis-bone-bridge) transform-post)
  )

;; failed to figure out what this is:
(defstate mis-bone-bridge-bump (mis-bone-bridge)
  :event mis-bone-bridge-event-handler
  :trans (the-as (function none :behavior mis-bone-bridge) rider-trans)
  :code (behavior ()
    (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0)
    (until (ja-done? 0)
      (suspend)
      (ja :num! (seek!))
      )
    (go mis-bone-bridge-idle)
    (none)
    )
  :post (the-as (function none :behavior mis-bone-bridge) rider-post)
  )

;; failed to figure out what this is:
(defstate mis-bone-bridge-hit (mis-bone-bridge)
  :event mis-bone-bridge-event-handler
  :trans (the-as (function none :behavior mis-bone-bridge) rider-trans)
  :code (behavior ()
    (+! (-> self hit-points) -1)
    (if (zero? (-> self hit-points))
        (go mis-bone-bridge-fall #f)
        )
    (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0)
    (until (ja-done? 0)
      (suspend)
      (ja :num! (seek!))
      )
    (go mis-bone-bridge-idle)
    (none)
    )
  :post (the-as (function none :behavior mis-bone-bridge) rider-post)
  )

;; failed to figure out what this is:
(defstate mis-bone-bridge-fall (mis-bone-bridge)
  :trans (the-as (function none :behavior mis-bone-bridge) rider-trans)
  :code (behavior ((arg0 symbol))
    (process-entity-status! self (entity-perm-status complete) #t)
    (when (not arg0)
      (process-spawn
        part-tracker
        :init part-tracker-init
        (-> self particle-group)
        -1
        #f
        #f
        #f
        (-> self root-override trans)
        :to *entity-pool*
        )
      (ja-no-eval :group! (-> self draw art-group data (-> self fall-anim-index)) :num! (seek!) :frame-num 0.0)
      (until (ja-done? 0)
        (suspend)
        (ja :num! (seek!))
        )
      )
    (ja :group! (-> self draw art-group data (-> self fall-anim-index))
        :num! (identity (the float (+ (-> (ja-group) data 0 length) -1)))
        )
    (loop
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior mis-bone-bridge) rider-post)
  )

;; definition for method 11 of type mis-bone-bridge
;; INFO: Return type mismatch object vs none.
(defmethod init-from-entity! mis-bone-bridge ((obj mis-bone-bridge) (arg0 entity-actor))
  (set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
  (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others))))
    (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
    (set! (-> s4-0 reaction) default-collision-reaction)
    (set! (-> s4-0 no-reaction)
          (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing)
          )
    (alloc-riders s4-0 1)
    (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0)))
      (set! (-> s3-0 prim-core collide-as) (collide-kind ground-object))
      (set! (-> s3-0 collide-with) (collide-kind target))
      (set! (-> s3-0 prim-core action) (collide-action solid ca-10 ca-11))
      (set! (-> s3-0 prim-core offense) (collide-offense indestructible))
      (set! (-> s3-0 transform-index) 0)
      (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 98304.0)
      (set-root-prim! s4-0 s3-0)
      (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0))))
        (set! (-> s2-0 prim-core collide-as) (collide-kind ground-object))
        (set! (-> s2-0 collide-with) (collide-kind target))
        (set! (-> s2-0 prim-core action) (collide-action solid))
        (set! (-> s2-0 prim-core offense) (collide-offense indestructible))
        (set! (-> s2-0 transform-index) 0)
        (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 9011.2)
        (append-prim s3-0 s2-0)
        )
      (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
        (set! (-> s2-1 prim-core collide-as) (collide-kind ground-object))
        (set! (-> s2-1 collide-with) (collide-kind target))
        (set! (-> s2-1 prim-core action) (collide-action solid))
        (set! (-> s2-1 prim-core offense) (collide-offense indestructible))
        (set! (-> s2-1 transform-index) 4)
        (set-vector! (-> s2-1 local-sphere) 0.0 49152.0 0.0 49152.0)
        (append-prim s3-0 s2-1)
        )
      )
    (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
    (backup-collide-with-as s4-0)
    (set! (-> obj root-override) s4-0)
    )
  (process-drawable-from-entity! obj arg0)
  (initialize-skeleton obj *mis-bone-bridge-sg* '())
  (let ((v1-40 (res-lump-value arg0 'animation-select uint128)))
    (cond
      ((= (the-as uint v1-40) 1)
       (set! (-> obj fall-anim-index) 2)
       (set! (-> obj particle-group) (-> *part-group-id-table* 192))
       )
      ((= (the-as uint v1-40) 2)
       (set! (-> obj fall-anim-index) 3)
       (set! (-> obj particle-group) (-> *part-group-id-table* 194))
       )
      ((= (the-as uint v1-40) 3)
       (set! (-> obj fall-anim-index) 2)
       (set! (-> obj particle-group) (-> *part-group-id-table* 193))
       )
      ((= (the-as uint v1-40) 7)
       (set! (-> obj fall-anim-index) 4)
       (set! (-> obj particle-group) (-> *part-group-id-table* 195))
       )
      (else
        (set! (-> obj fall-anim-index) 2)
        (set! (-> obj particle-group) (-> *part-group-id-table* 192))
        )
      )
    )
  (set! (-> obj hit-points) 3)
  (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete)))
      (go mis-bone-bridge-fall #t)
      (go mis-bone-bridge-idle)
      )
  (none)
  )

;; definition of type breakaway
(deftype breakaway (process-drawable)
  ((root-override collide-shape-moving  :offset 112)
   )
  :heap-base #x40
  :method-count-assert 22
  :size-assert         #xb0
  :flag-assert         #x16004000b0
  (:methods
    (init! (_type_ res-lump int) none 20)
    (go-idle (_type_) none 21)
    )
  (:states
    breakaway-about-to-fall
    breakaway-fall
    breakaway-idle
    )
  )

;; definition for method 3 of type breakaway
(defmethod inspect breakaway ((obj breakaway))
  (let ((t9-0 (method-of-type process-drawable inspect)))
    (t9-0 obj)
    )
  obj
  )

;; failed to figure out what this is:
(defstate breakaway-idle (breakaway)
  :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
    (case arg2
      (('touch)
       (send-event arg0 'no-look-around (seconds 1.5))
       (go breakaway-about-to-fall)
       )
      )
    )
  :code (the-as (function none :behavior breakaway) anim-loop)
  :post (the-as (function none :behavior breakaway) transform-post)
  )

;; definition for function actor-wait-for-period
(defun actor-wait-for-period ((arg0 time-frame))
  (let ((s5-0 (-> *display* base-frame-counter)))
    (while (< (- (-> *display* base-frame-counter) s5-0) arg0)
      (suspend)
      )
    )
  #f
  )

;; failed to figure out what this is:
(defstate breakaway-about-to-fall (breakaway)
  :code (behavior ()
    (sound-play "falling-bones")
    (sp-launch-particles-var
      *sp-particle-system-2d*
      (-> *part-id-table* 281)
      (-> self root-override trans)
      (the-as sparticle-launch-state #f)
      (the-as sparticle-launch-control #f)
      1.0
      )
    (let ((gp-1 #f)
          (s5-1 (-> *display* base-frame-counter))
          )
      (loop
        (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 15.0 0)) :frame-num (ja-aframe 1.0 0))
        (until (ja-done? 0)
          (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.15)))
            (set! gp-1 #t)
            (send-to-next-and-prev (-> self link) 'touch)
            )
          (if (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.25))
              (go breakaway-fall)
              )
          (suspend)
          (ja :num! (seek! (ja-aframe 15.0 0)))
          )
        )
      )
    (none)
    )
  :post (the-as (function none :behavior breakaway) rider-post)
  )

;; failed to figure out what this is:
(defstate breakaway-fall (breakaway)
  :code (behavior ()
    (let ((f30-0 0.0)
          (f28-0 0.0)
          (f26-0 (* 0.1 (- (-> *standard-dynamics* gravity-length))))
          )
      (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 32.0 0) 0.4) :frame-num (ja-aframe 16.0 0))
      (until (ja-done? 0)
        (+! f30-0 (* f28-0 (-> *display* seconds-per-frame)))
        (+! f28-0 (* f26-0 (-> *display* seconds-per-frame)))
        (+! (-> self root-override trans y) f30-0)
        (suspend)
        (ja :num! (seek! (ja-aframe 32.0 0) 0.4))
        )
      )
    (cleanup-for-death self)
    (none)
    )
  :post (the-as (function none :behavior breakaway) rider-post)
  )

;; definition for method 20 of type breakaway
(defmethod init! breakaway ((obj breakaway) (arg0 res-lump) (arg1 int))
  (set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
  (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
    (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
    (set! (-> s4-0 reaction) default-collision-reaction)
    (set! (-> s4-0 no-reaction)
          (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing)
          )
    (alloc-riders s4-0 1)
    (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0))))
      (set! (-> s2-0 prim-core collide-as) (collide-kind ground-object))
      (set! (-> s2-0 collide-with) (collide-kind target))
      (set! (-> s2-0 prim-core action) (collide-action solid))
      (set! (-> s2-0 prim-core offense) (collide-offense indestructible))
      (set! (-> s2-0 transform-index) arg1)
      (set-vector! (-> s2-0 local-sphere) 8192.0 -4096.0 8192.0 16384.0)
      (set-root-prim! s4-0 s2-0)
      )
    (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
    (backup-collide-with-as s4-0)
    (set! (-> obj root-override) s4-0)
    )
  (set! (-> obj link) (new 'process 'actor-link-info obj))
  (process-drawable-from-entity! obj (the-as entity-actor arg0))
  (none)
  )

;; definition for method 21 of type breakaway
;; INFO: Return type mismatch object vs none.
(defmethod go-idle breakaway ((obj breakaway))
  (go breakaway-idle)
  (none)
  )

;; definition of type breakaway-right
(deftype breakaway-right (breakaway)
  ()
  :heap-base #x40
  :method-count-assert 22
  :size-assert         #xb0
  :flag-assert         #x16004000b0
  )

;; definition for method 3 of type breakaway-right
(defmethod inspect breakaway-right ((obj breakaway-right))
  (let ((t9-0 (method-of-type breakaway inspect)))
    (t9-0 obj)
    )
  obj
  )

;; definition of type breakaway-mid
(deftype breakaway-mid (breakaway)
  ()
  :heap-base #x40
  :method-count-assert 22
  :size-assert         #xb0
  :flag-assert         #x16004000b0
  )

;; definition for method 3 of type breakaway-mid
(defmethod inspect breakaway-mid ((obj breakaway-mid))
  (let ((t9-0 (method-of-type breakaway inspect)))
    (t9-0 obj)
    )
  obj
  )

;; definition of type breakaway-left
(deftype breakaway-left (breakaway)
  ()
  :heap-base #x40
  :method-count-assert 22
  :size-assert         #xb0
  :flag-assert         #x16004000b0
  )

;; definition for method 3 of type breakaway-left
(defmethod inspect breakaway-left ((obj breakaway-left))
  (let ((t9-0 (method-of-type breakaway inspect)))
    (t9-0 obj)
    )
  obj
  )

;; failed to figure out what this is:
(defskelgroup *breakaway-right-sg* breakaway-right breakaway-right-lod0-jg breakaway-right-idle-ja
              ((breakaway-right-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 7)
              )

;; failed to figure out what this is:
(defskelgroup *breakaway-mid-sg* breakaway-mid breakaway-mid-lod0-jg breakaway-mid-idle-ja
              ((breakaway-mid-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 7)
              )

;; failed to figure out what this is:
(defskelgroup *breakaway-left-sg* breakaway-left breakaway-left-lod0-jg breakaway-left-idle-ja
              ((breakaway-left-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 7)
              )

;; definition for method 11 of type breakaway-right
(defmethod init-from-entity! breakaway-right ((obj breakaway-right) (arg0 entity-actor))
  (init! obj arg0 3)
  (initialize-skeleton obj *breakaway-right-sg* '())
  (go-idle obj)
  (none)
  )

;; definition for method 11 of type breakaway-mid
(defmethod init-from-entity! breakaway-mid ((obj breakaway-mid) (arg0 entity-actor))
  (init! obj arg0 3)
  (initialize-skeleton obj *breakaway-mid-sg* '())
  (go-idle obj)
  (none)
  )

;; definition for method 11 of type breakaway-left
(defmethod init-from-entity! breakaway-left ((obj breakaway-left) (arg0 entity-actor))
  (init! obj arg0 3)
  (initialize-skeleton obj *breakaway-left-sg* '())
  (go-idle obj)
  (none)
  )

;; definition for symbol *bone-platform-constants*, type rigid-body-platform-constants
(define *bone-platform-constants* (new 'static 'rigid-body-platform-constants
                                    :drag-factor 2.0
                                    :buoyancy-factor 2.0
                                    :max-buoyancy-depth (meters 3)
                                    :gravity-factor 1.0
                                    :gravity (meters 80)
                                    :player-weight (meters 35)
                                    :player-bonk-factor 1.0
                                    :player-dive-factor 1.0
                                    :player-force-distance (meters 1000)
                                    :player-force-clamp (meters 1000000)
                                    :player-force-timeout (seconds 0.1)
                                    :explosion-force (meters 1000)
                                    :linear-damping 1.0
                                    :angular-damping 1.0
                                    :control-point-count 5
                                    :mass 2.0
                                    :inertial-tensor-x (meters 3)
                                    :inertial-tensor-y (meters 2)
                                    :inertial-tensor-z (meters 3)
                                    :cm-joint-y (meters -3)
                                    :idle-distance (meters 50)
                                    :platform #t
                                    :sound-name "mud-plat"
                                    )
        )

;; definition of type bone-platform
(deftype bone-platform (rigid-body-platform)
  ((anchor-point vector :inline :offset-assert 736)
   )
  :heap-base #x280
  :method-count-assert 35
  :size-assert         #x2f0
  :flag-assert         #x23028002f0
  )

;; definition for method 3 of type bone-platform
(defmethod inspect bone-platform ((obj bone-platform))
  (let ((t9-0 (method-of-type rigid-body-platform inspect)))
    (t9-0 obj)
    )
  (format #t "~T~Tanchor-point: #<vector @ #x~X>~%" (-> obj anchor-point))
  obj
  )

;; failed to figure out what this is:
(defskelgroup *mis-bone-platform-sg* mis-bone-platform mis-bone-platform-lod0-jg mis-bone-platform-idle-ja
              ((mis-bone-platform-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 4)
              )

;; definition for method 27 of type bone-platform
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-27 bone-platform ((obj bone-platform) (arg0 vector))
  (let ((gp-0 (new 'stack-no-clear 'vector)))
    (vector-! gp-0 arg0 (-> obj rbody position))
    (set! (-> gp-0 y) 0.0)
    (let* ((f0-1 (vector-length gp-0))
           (f1-1 (* 20.0 (fmax 0.0 (fmin 4096.0 (+ -819.2 f0-1)))))
           )
      (when (< 0.0 f1-1)
        (vector-float*! gp-0 gp-0 (/ f1-1 f0-1))
        (TODO-RENAME-15 (-> obj rbody) gp-0)
        )
      )
    )
  0
  (none)
  )

;; definition for method 23 of type bone-platform
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-23 bone-platform ((obj bone-platform) (arg0 float))
  ((the-as (function rigid-body-platform basic none) (find-parent-method bone-platform 23))
   obj
   (the-as basic arg0)
   )
  (TODO-RENAME-27 obj (-> obj anchor-point))
  0
  (none)
  )

;; failed to figure out what this is:
(defstate rigid-body-platform-idle (bone-platform)
  :virtual #t
  :enter (behavior ()
    (ja-channel-set! 0)
    (none)
    )
  :code (behavior ()
    (loop
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior bone-platform) ja-post)
  )

;; failed to figure out what this is:
(defstate rigid-body-platform-float (bone-platform)
  :virtual #t
  :event (the-as
    (function process int symbol event-message-block object :behavior bone-platform)
    rigid-body-platform-event-handler
    )
  :trans (behavior ()
    (-> self entity extra trans y)
    (cond
      ((or (not *target*) (< (-> self info idle-distance)
                             (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans))
                             )
           )
       (let ((f30-1 -4096.0))
         (seek! (-> self float-height-offset) f30-1 (* 2048.0 (-> *display* seconds-per-frame)))
         (if (= (-> self float-height-offset) f30-1)
             (go-virtual rigid-body-platform-idle)
             )
         )
       )
      (else
        (seek! (-> self float-height-offset) 4096.0 (* 2048.0 (-> *display* seconds-per-frame)))
        )
      )
    (none)
    )
  :code (behavior ()
    (ja-channel-push! 1 (seconds 0.1))
    (ja :group! (-> self draw art-group data 2))
    (ja :num-func num-func-identity :frame-num 0.0)
    (loop
      (suspend)
      )
    (none)
    )
  :post (the-as (function none :behavior bone-platform) rigid-body-platform-post)
  )

;; definition for method 30 of type bone-platform
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-30 bone-platform ((obj bone-platform))
  (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
    (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
    (set! (-> s5-0 reaction) default-collision-reaction)
    (set! (-> s5-0 no-reaction)
          (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing)
          )
    (alloc-riders s5-0 1)
    (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
      (set! (-> s4-0 prim-core collide-as) (collide-kind ground-object))
      (set! (-> s4-0 collide-with) (collide-kind target))
      (set! (-> s4-0 prim-core action) (collide-action solid ca-1))
      (set! (-> s4-0 prim-core offense) (collide-offense indestructible))
      (set! (-> s4-0 transform-index) 3)
      (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0)
      (set-root-prim! s5-0 s4-0)
      )
    (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
    (backup-collide-with-as s5-0)
    (set! (-> obj root-overlay) s5-0)
    )
  0
  (none)
  )

;; definition for method 31 of type bone-platform
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-31 bone-platform ((obj bone-platform))
  (initialize-skeleton obj *mis-bone-platform-sg* '())
  (TODO-RENAME-29 obj *bone-platform-constants*)
  (set! (-> obj float-height-offset) -4096.0)
  (if (name= (-> obj name) "bone-platform-5")
      (set-vector! (-> obj root-overlay scale) 0.8 1.0 0.8 1.0)
      )
  (let ((s5-0 (-> obj info control-point-count)))
    (dotimes (s4-0 s5-0)
      (let ((s3-0 (-> obj control-point-array data s4-0)))
        (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0)))))
          (set! (-> s3-0 local-pos x) (* 12288.0 (sin f30-0)))
          (set! (-> s3-0 local-pos y) -12288.0)
          (set! (-> s3-0 local-pos z) (* 12288.0 (cos f30-0)))
          )
        (set! (-> s3-0 local-pos w) 1.0)
        )
      )
    )
  (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad))
  0
  (none)
  )

;; definition of type mistycam
(deftype mistycam (process-hidden)
  ()
  :method-count-assert 15
  :size-assert         #x70
  :flag-assert         #xf00000070
  )

;; definition for method 3 of type mistycam
(defmethod inspect mistycam ((obj mistycam))
  (format #t "[~8x] ~A~%" obj (-> obj type))
  (format #t "~Tname: ~A~%" (-> obj name))
  (format #t "~Tmask: ~D~%" (-> obj mask))
  (format #t "~Tparent: #x~X~%" (-> obj parent))
  (format #t "~Tbrother: #x~X~%" (-> obj brother))
  (format #t "~Tchild: #x~X~%" (-> obj child))
  (format #t "~Tppointer: #x~X~%" (-> obj ppointer))
  (format #t "~Tself: ~A~%" (-> obj self))
  (format #t "~Tpool: ~A~%" (-> obj pool))
  (format #t "~Tstatus: ~A~%" (-> obj status))
  (format #t "~Tpid: ~D~%" (-> obj pid))
  (format #t "~Tmain-thread: ~A~%" (-> obj main-thread))
  (format #t "~Ttop-thread: ~A~%" (-> obj top-thread))
  (format #t "~Tentity: ~A~%" (-> obj entity))
  (format #t "~Tstate: ~A~%" (-> obj state))
  (format #t "~Ttrans-hook: ~A~%" (-> obj trans-hook))
  (format #t "~Tpost-hook: ~A~%" (-> obj post-hook))
  (format #t "~Tevent-hook: ~A~%" (-> obj event-hook))
  (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
  (format #t "~Tnext-state: ~A~%" (-> obj next-state))
  (format #t "~Theap-base: #x~X~%" (-> obj heap-base))
  (format #t "~Theap-top: #x~X~%" (-> obj heap-top))
  (format #t "~Theap-cur: #x~X~%" (-> obj heap-cur))
  (format #t "~Tstack-frame-top: ~A~%" (-> obj stack-frame-top))
  (format #t "~Theap: #<kheap @ #x~X>~%" (&-> obj heap-base))
  (format #t "~Tconnection-list: ~`'connectable`P~%" (-> obj connection-list))
  (format #t "~Tstack[0] @ #x~X~%" (-> obj stack))
  obj
  )

;; failed to figure out what this is:
(defskelgroup *mistycam-sg* mistycam mistycam-lod0-jg mistycam-anim-ja
              ((mistycam-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 20)
              )

;; definition for function mistycam-spawn
;; INFO: Return type mismatch int vs none.
(defun mistycam-spawn ()
  (with-pp
    (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0)))
      (when gp-0
        (let* ((gp-1
                 (ppointer->handle (process-spawn
                                     pov-camera
                                     (-> gp-0 extra trans)
                                     *mistycam-sg*
                                     (new 'static 'spool-anim :name "mistycam-cannon" :index 5 :parts 1 :command-list '())
                                     0
                                     #f
                                     '()
                                     :to pp
                                     )
                                   )
                 )
               (s5-2 (ppointer->handle
                       (process-spawn fuel-cell :init fuel-cell-init-as-clone gp-1 (-> pp entity extra perm task) :to pp)
                       )
                     )
               )
          (let ((v1-13 (handle->process gp-1)))
            (if v1-13
                (set! (-> (the-as pov-camera v1-13) notify-handle) (the-as handle s5-2))
                )
            )
          (while (handle->process gp-1)
            (suspend)
            )
          (send-event (handle->process s5-2) 'stop-cloning)
          )
        )
      )
    0
    (none)
    )
  )

;; definition of type misty-battlecontroller
(deftype misty-battlecontroller (battlecontroller)
  ()
  :heap-base #x210
  :method-count-assert 29
  :size-assert         #x27c
  :flag-assert         #x1d0210027c
  )

;; definition for method 3 of type misty-battlecontroller
(defmethod inspect misty-battlecontroller ((obj misty-battlecontroller))
  (let ((t9-0 (method-of-type battlecontroller inspect)))
    (t9-0 obj)
    )
  obj
  )

;; failed to figure out what this is:
(defstate battlecontroller-play-intro-camera (misty-battlecontroller)
  :virtual #t
  :code (behavior ()
    (let ((gp-1 (ppointer->handle
                  (process-spawn pov-camera (-> self root trans) *mistycam-sg* "lurkerattack" 0 #f '() :to self)
                  )
                )
          )
      (while (handle->process (the-as handle gp-1))
        (suspend)
        )
      )
    (go-virtual battlecontroller-active)
    (none)
    )
  )

;; definition for method 27 of type misty-battlecontroller
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-27 misty-battlecontroller ((obj misty-battlecontroller))
  ((the-as (function battlecontroller none) (find-parent-method misty-battlecontroller 27)) obj)
  (set! (-> obj misty-ambush-collision-hack) #t)
  0
  (none)
  )

;; definition (debug) for function misty-cam-restore
;; INFO: Used lq/sq
(defun-debug misty-cam-restore ()
  (let ((a0-0 (new-stack-vector0))
        (a1-0 (new-stack-matrix0))
        )
    (set! (-> a0-0 x) -711702.3)
    (set! (-> a0-0 y) 268833.34)
    (set! (-> a0-0 z) 4193524.2)
    (set! (-> a0-0 w) 1.0)
    (set! (-> a1-0 vector 0 x) -0.6991)
    (set! (-> a1-0 vector 0 y) 0.0)
    (set! (-> a1-0 vector 0 z) -0.7149)
    (set! (-> a1-0 vector 0 w) 0.0)
    (set! (-> a1-0 vector 1 x) 0.3474)
    (set! (-> a1-0 vector 1 y) 0.8739)
    (set! (-> a1-0 vector 1 z) -0.3398)
    (set! (-> a1-0 vector 1 w) 0.0)
    (set! (-> a1-0 vector 2 x) 0.6248)
    (set! (-> a1-0 vector 2 y) -0.486)
    (set! (-> a1-0 vector 2 z) -0.611)
    (set! (-> a1-0 vector 2 w) 0.0)
    (set! (-> a1-0 vector 3 x) 0.0)
    (set! (-> a1-0 vector 3 y) 0.0)
    (set! (-> a1-0 vector 3 z) 0.0)
    (set! (-> a1-0 vector 3 w) 1.0)
    (debug-set-camera-pos-rot! a0-0 a1-0)
    )
  (send-event *camera* 'set-fov 11650.845)
  (clear *camera-old-level*)
  (format *camera-old-level* "misty")
  (set! *camera-old-cpu* 6867)
  (set! *camera-old-vu* #x4b0f)
  (set! *camera-old-tfrag-bytes* #x1ec490)
  (clear *camera-old-stat-string-tfrag*)
  (clear *camera-old-stat-string-tfrag-near*)
  (clear *camera-old-stat-string-total*)
  (let ((v0-7 #t))
    (set! *display-camera-old-stats* v0-7)
    v0-7
    )
  )

;; definition of type boat-fuelcell
(deftype boat-fuelcell (process-drawable)
  ((play-cutscene? symbol  :offset-assert 176)
   )
  :heap-base #x50
  :method-count-assert 20
  :size-assert         #xb4
  :flag-assert         #x14005000b4
  (:states
    boat-fuelcell-die
    boat-fuelcell-idle
    boat-fuelcell-spawn
    )
  )

;; definition for method 3 of type boat-fuelcell
(defmethod inspect boat-fuelcell ((obj boat-fuelcell))
  (let ((t9-0 (method-of-type process-drawable inspect)))
    (t9-0 obj)
    )
  (format #t "~T~Tplay-cutscene?: ~A~%" (-> obj play-cutscene?))
  obj
  )

;; failed to figure out what this is:
(defstate boat-fuelcell-idle (boat-fuelcell)
  :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
    (case arg2
      (('task-complete)
       (set! (-> self play-cutscene?) #t)
       (process-entity-status! self (entity-perm-status complete) #t)
       (go boat-fuelcell-spawn)
       )
      )
    )
  :code (the-as (function none :behavior boat-fuelcell) anim-loop)
  )

;; failed to figure out what this is:
(defstate boat-fuelcell-spawn (boat-fuelcell)
  :event (the-as
    (function process int symbol event-message-block object :behavior boat-fuelcell)
    process-drawable-fuel-cell-handler
    )
  :code (behavior ()
    (process-drawable-birth-fuel-cell (the-as entity #f) (the-as vector #f) #f)
    (when (and *target* (-> self play-cutscene?))
      (ambient-hint-spawn "gamcam02" (the-as vector #f) *entity-pool* 'camera)
      (let ((gp-1
              (ppointer->handle
                (process-spawn pov-camera (-> self root trans) *mistycam-sg* "mistycam-balloon-fuel-cell" 0 #f '() :to self)
                )
              )
            )
        (while (handle->process (the-as handle gp-1))
          (suspend)
          )
        )
      )
    (while (-> self child)
      (suspend)
      )
    (go boat-fuelcell-die)
    (none)
    )
  )

;; failed to figure out what this is:
(defstate boat-fuelcell-die (boat-fuelcell)
  :code (behavior ()
    (cleanup-for-death self)
    (none)
    )
  )

;; definition for method 11 of type boat-fuelcell
;; INFO: Return type mismatch object vs none.
(defmethod init-from-entity! boat-fuelcell ((obj boat-fuelcell) (arg0 entity-actor))
  (set! (-> obj root) (new 'process 'trsqv))
  (process-drawable-from-entity! obj arg0)
  (logclear! (-> obj mask) (process-mask actor-pause))
  (set! (-> obj play-cutscene?) #f)
  (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete)))
      (go boat-fuelcell-spawn)
      (go boat-fuelcell-idle)
      )
  (none)
  )
