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

;; name: templed-obs.gc
;; name in dgo: templed-obs
;; dgos: TEMD

;; DECOMP BEGINS

(deftype tpl-break-bridge-panel-info (structure)
  ((start-time                 time-frame)
   (grace                      time-frame)
   (fall-rate                  float)
   (fall-rate-realtime         float)
   (time-to-terminal-velocity  time-frame)
   (tumble-axis                vector  :inline)
   (tumble-rate-norm           float)
   (tumble-rate-slow           float)
   (detonate-altitude          float)
   )
  )


(define *tpl-bbridge-array* (new 'static 'boxed-array :type tpl-break-bridge-panel-info
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.257)
                                :grace (seconds 0.04)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.260822 :z -0.965387 :w 1.0)
                                :tumble-rate-norm 8738.134
                                :tumble-rate-slow 26578.488
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.247)
                                :grace (seconds 0.04)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.260776 :z 0.965399 :w 1.0)
                                :tumble-rate-norm 14927.645
                                :tumble-rate-slow 36590.934
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.235)
                                :grace (seconds 0.037)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.013986 :z 0.999902 :w 1.0)
                                :tumble-rate-norm 8920.178
                                :tumble-rate-slow 35680.71
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.22)
                                :grace (seconds 0.035)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.916911 :z 0.399091 :w 1.0)
                                :tumble-rate-norm 15837.866
                                :tumble-rate-slow 40413.867
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.207)
                                :grace (seconds 0.035)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.134896 :z -0.99086 :w 1.0)
                                :tumble-rate-norm 11286.756
                                :tumble-rate-slow 23301.69
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.197)
                                :grace (seconds 0.03)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.854133 :z -0.520055 :w 1.0)
                                :tumble-rate-norm 24576.0
                                :tumble-rate-slow 27124.623
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.185)
                                :grace (seconds 0.03)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.62605 :z 0.779783 :w 1.0)
                                :tumble-rate-norm 19842.844
                                :tumble-rate-slow 23665.777
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.17)
                                :grace (seconds 0.027)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.534018 :z -0.845473 :w 1.0)
                                :tumble-rate-norm 16019.911
                                :tumble-rate-slow 39503.645
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.16)
                                :grace (seconds 0.025)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.805749 :z 0.592257 :w 1.0)
                                :tumble-rate-norm 8738.134
                                :tumble-rate-slow 34952.535
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.147)
                                :grace (seconds 0.025)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.780771 :z 0.624817 :w 1.0)
                                :tumble-rate-norm 14927.645
                                :tumble-rate-slow 27852.8
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.135)
                                :grace (seconds 0.02)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x 0.738983 :z 0.673725 :w 1.0)
                                :tumble-rate-norm 10376.533
                                :tumble-rate-slow 24758.045
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.125)
                                :grace (seconds 0.02)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.891947 :z -0.452141 :w 1.0)
                                :tumble-rate-norm 15473.777
                                :tumble-rate-slow 31675.732
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.11)
                                :grace (seconds 0.017)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.03)
                                :tumble-axis (new 'static 'vector :x -0.007283 :z -0.999973 :w 1.0)
                                :tumble-rate-norm 12925.155
                                :tumble-rate-slow 35680.71
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.097)
                                :grace (seconds 0.015)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.027)
                                :tumble-axis (new 'static 'vector :x -0.984002 :z -0.178157 :w 1.0)
                                :tumble-rate-norm 17294.223
                                :tumble-rate-slow 33860.266
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.085)
                                :grace (seconds 0.015)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.025)
                                :tumble-axis (new 'static 'vector :x -0.992778 :z 0.119962 :w 1.0)
                                :tumble-rate-norm 13835.378
                                :tumble-rate-slow 32221.867
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.075)
                                :grace (seconds 0.01)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.02)
                                :tumble-axis (new 'static 'vector :x -0.468058 :z 0.883698 :w 1.0)
                                :tumble-rate-norm 14563.556
                                :tumble-rate-slow 42052.266
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.06)
                                :grace (seconds 0.01)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.017)
                                :tumble-axis (new 'static 'vector :x 0.841461 :z 0.540317 :w 1.0)
                                :tumble-rate-norm 16748.09
                                :tumble-rate-slow 40777.957
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.047)
                                :grace (seconds 0.007)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.015)
                                :tumble-axis (new 'static 'vector :x 0.848479 :z -0.529229 :w 1.0)
                                :tumble-rate-norm 19296.71
                                :tumble-rate-slow 34042.312
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.037)
                                :grace (seconds 0.005)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.01)
                                :tumble-axis (new 'static 'vector :x -0.998331 :z -0.057758 :w 1.0)
                                :tumble-rate-norm 23483.732
                                :tumble-rate-slow 30583.467
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.025)
                                :grace (seconds 0.005)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.01)
                                :tumble-axis (new 'static 'vector :x -0.360477 :z 0.932768 :w 1.0)
                                :tumble-rate-norm 13107.2
                                :tumble-rate-slow 23119.645
                                :detonate-altitude 180224.0
                                )
                              (new 'static 'tpl-break-bridge-panel-info
                                :start-time (seconds 0.01)
                                :fall-rate 286720.0
                                :fall-rate-realtime 163840.0
                                :time-to-terminal-velocity (seconds 0.01)
                                :tumble-axis (new 'static 'vector :x -0.984418 :z -0.175846 :w 1.0)
                                :tumble-rate-norm 15473.777
                                :tumble-rate-slow 32039.822
                                :detonate-altitude 180224.0
                                )
                              )
        )

(defskelgroup skel-tpl-break-bridge tpl-break-bridge tpl-break-bridge-lod0-jg tpl-break-bridge-idle-ja
              ((tpl-break-bridge-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 38)
              )

(defskelgroup skel-tpl-bridge-debris-a tpl-bridge-debris tpl-bridge-debris-a-lod0-jg -1
              ((tpl-bridge-debris-a-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 2)
              )

(defskelgroup skel-tpl-bridge-debris-b tpl-bridge-debris tpl-bridge-debris-b-lod0-jg -1
              ((tpl-bridge-debris-b-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 2)
              )

(defskelgroup skel-tpl-bridge-debris-c tpl-bridge-debris tpl-bridge-debris-c-lod0-jg -1
              ((tpl-bridge-debris-c-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 2)
              )

(defskelgroup skel-tpl-bridge-debris-d tpl-bridge-debris tpl-bridge-debris-d-lod0-jg -1
              ((tpl-bridge-debris-d-lod0-mg (meters 999999)))
              :bounds (static-spherem 0 0 0 2)
              )

(define *tpl-bridge-debris-params-arr*
  (new 'static 'boxed-array :type debris-static-params
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 4 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 4 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 4 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 4 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 5 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 5 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 5 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 5 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 6 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 6 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 6 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 6 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 7 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 7 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 7 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 7 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 8 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 8 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 8 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 8 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 9 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 9 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 9 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 9 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 10 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 10 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 10 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 10 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 11 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 11 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 11 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 11 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 12 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 12 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 12 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 12 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 13 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 13 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 13 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 13 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 14 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 14 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 14 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 14 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 15 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 15 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 15 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 15 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 16 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 16 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 16 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 16 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 17 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 17 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 17 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 17 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 18 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 18 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 18 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 18 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 19 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 19 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 19 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 19 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 20 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 20 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 20 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 20 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 21 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 21 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 21 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 21 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 22 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 22 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 22 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 22 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 23 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 23 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 23 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 23 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    (new 'static 'debris-static-params
      :joints (new 'static 'boxed-array :type debris-static-joint-params
        (new 'static 'debris-static-joint-params :parent-joint-index 24 :group "skel-tpl-bridge-debris-a")
        (new 'static 'debris-static-joint-params :parent-joint-index 24 :group "skel-tpl-bridge-debris-b")
        (new 'static 'debris-static-joint-params :parent-joint-index 24 :group "skel-tpl-bridge-debris-c")
        (new 'static 'debris-static-joint-params :parent-joint-index 24 :group "skel-tpl-bridge-debris-d")
        )
      :collide-spec (collide-spec backgnd)
      )
    )
  )

;; WARN: Return type mismatch float vs none.
(defun spt-birth-func-brightness-part-temple-bridge-break-dust ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
  (let ((s5-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 51) 70))
        (s3-0 (logand 0 (rand-uint31-gen *random-generator*)))
        (s4-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 11) 10))
        (v1-6 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 21) 30))
        )
    (set! (-> arg2 rotate-x) (the float (- s5-0 (the-as int s3-0))))
    (set! (-> arg2 rotate-y) (the float (- s5-0 s4-0)))
    (set! (-> arg2 rotate-z) (the float (- s5-0 v1-6)))
    )
  (none)
  )

(defpartgroup group-temple-bridge-break-dust
  :id 700
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 20)
  :parts ((sp-item 2702 :flags (sp7) :period (seconds 10) :length (seconds 0.167)))
  )

(defpart 2702
  :init-specs ((:texture (big-cloud level-default-sprite))
    (:birth-func 'spt-birth-func-brightness-part-temple-bridge-break-dust)
    (:num 4.0)
    (:x (meters 0) (meters 5))
    (:scale-x (meters 5) (meters 5))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 0.0)
    (:vel-y (meters -0.01) (meters -0.01))
    (:scalevel-x (meters 0.0033333334) (meters 0.01))
    (:rotvel-z (degrees -0.2) (degrees 0.4))
    (:scalevel-y :copy scalevel-x)
    (:fade-a 0.16)
    (:accel-y (meters -0.00033333333) (meters -0.00033333333))
    (:friction 0.99)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:next-time (seconds 0.335))
    (:next-launcher 2703)
    (:conerot-x (degrees -40) (degrees 80))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(defpart 2703
  :init-specs ((:fade-a -0.032))
  )

(defpartgroup group-temple-bridge-break-kaboom
  :id 701
  :duration (seconds 0.1)
  :flags (sp0 sp4)
  :bounds (static-bspherem 0 0 0 20)
  :parts ((sp-item 2704 :flags (sp7)))
  )

(defpart 2704
  :init-specs ((:texture (big-cloud level-default-sprite))
    (:birth-func 'spt-birth-func-brightness-part-temple-bridge-break-dust)
    (:num 8.0)
    (:scale-x (meters 2) (meters 2))
    (:rot-z (degrees 0) (degrees 360))
    (:scale-y :copy scale-x)
    (:r 128.0)
    (:g 128.0)
    (:b 128.0)
    (:a 64.0 64.0)
    (:vel-z (meters 0.016666668) (meters 0.016666668))
    (:scalevel-x (meters 0.0033333334) (meters 0.016666668))
    (:rotvel-z (degrees -0.2) (degrees 0.4))
    (:scalevel-y :copy scalevel-x)
    (:fade-a -0.21333334)
    (:accel-y (meters 0.000033333334) (meters 0.00006666667))
    (:friction 0.99)
    (:timer (seconds 2))
    (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13))
    (:conerot-x (degrees 0) (degrees 10))
    (:rotate-y (degrees 0) (degrees 3600))
    )
  )

(deftype tpl-break-bridge (process-drawable)
  ((root                  collide-shape-moving :override)
   (panel-jmods           joint-mod-set-local   21 :inline)
   (had-particle-spawned  symbol                21)
   (panel-quashed         symbol                21)
   (spool-sound-id        sound-id)
   )
  (:state-methods
    idle
    collapsing
    done
    )
  (:methods
    (tpl-break-bridge-method-23 (_type_) none)
    (tpl-break-bridge-method-24 (_type_ int) none)
    (tpl-break-bridge-method-25 (_type_ int) none)
    )
  )


(defun tpl-bbridge-panel ((arg0 int))
  (+ arg0 4)
  )

(defstate idle (tpl-break-bridge)
  :virtual #t
  :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block))
    (case message
      (('ridden)
       (go-virtual collapsing)
       )
      (('attack)
       (case (-> (the-as attack-info (-> block param 1)) mode)
         (('board)
          (go-virtual collapsing)
          )
         )
       )
      )
    )
  :trans rider-trans
  :code (behavior ()
    (ja-post)
    (sleep-code)
    )
  )

(defstate collapsing (tpl-break-bridge)
  :virtual #t
  :enter (behavior ()
    (set-time! (-> self state-time))
    (activate! *camera-smush-control* 1638.4 33 1800 0.8 1.1 (-> *display* camera-clock))
    )
  :exit (behavior ()
    (set-zero! *camera-smush-control*)
    )
  :code (behavior ()
    (if (= (-> *setting-control* user-current slow-time) 0.0)
        (sound-play "bridge-brk-fast")
        )
    (dotimes (v1-4 21)
      (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child v1-4 prim-core action)
            (collide-action solid)
            )
      )
    (suspend)
    #t
    (set! (-> self spool-sound-id)
          (if (= (-> *setting-control* user-current slow-time) 0.0)
              (add-process *gui-control* self (gui-channel background) (gui-action play) "Brdgefst" -99.0 0)
              (add-process *gui-control* self (gui-channel background) (gui-action play) "Brdgeslw" -99.0 0)
              )
          )
    (until #f
      (dotimes (gp-1 21)
        (tpl-break-bridge-method-24 self gp-1)
        )
      (if (time-elapsed? (-> self state-time) (seconds 6))
          (go-virtual done)
          )
      (suspend)
      )
    #f
    )
  :post transform-post
  )

(defstate done (tpl-break-bridge)
  :virtual #t
  :enter (behavior ()
    (let ((v1-1 (-> self root root-prim)))
      (set! (-> v1-1 prim-core collide-as) (collide-spec))
      (set! (-> v1-1 prim-core collide-with) (collide-spec))
      )
    0
    (logior! (-> self draw status) (draw-control-status no-draw))
    )
  :code (behavior ()
    (let ((a0-1 (process-by-name "tpl-mardoor-5" *active-pool*)))
      (when (and a0-1 (not (send-event a0-1 'open?)))
        (let ((a1-2 (new 'stack-no-clear 'event-message-block)))
          (set! (-> a1-2 from) (process->ppointer self))
          (set! (-> a1-2 num-params) 0)
          (set! (-> a1-2 message) 'fail)
          (let ((t9-2 send-event-function)
                (v1-9 (-> *game-info* sub-task-list (game-task-node temple-tests-resolution)))
                )
            (t9-2
              (handle->process (if (-> v1-9 manager)
                                   (-> v1-9 manager manager)
                                   (the-as handle #f)
                                   )
                               )
              a1-2
              )
            )
          )
        )
      )
    (sleep-code)
    )
  )

(defmethod tpl-break-bridge-method-25 ((this tpl-break-bridge) (arg0 int))
  (local-vars (sv-16 tpl-break-bridge) (sv-24 int) (sv-32 vector))
  (set! sv-16 this)
  (set! sv-24 arg0)
  (set! sv-32 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans))
  (cond
    ((logtest? (-> group-temple-bridge-break-kaboom flags) (sp-group-flag sp13))
     (vector-copy! (-> *launch-matrix* trans) sv-32)
     (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-kaboom)
     )
    (else
      (vector-copy! (-> *launch-matrix* trans) sv-32)
      (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-kaboom)
      )
    )
  (set-vector! (-> sv-16 panel-jmods sv-24 transform scale) 0.0 0.0 0.0 1.0)
  (let ((a1-8 (new 'stack 'debris-tuning (the-as uint 0))))
    (set! (-> a1-8 duration) (seconds 8))
    (set-vector! (-> a1-8 fountain-rand-transv-lo) -98304.0 32768.0 -98304.0 1.0)
    (set-vector! (-> a1-8 fountain-rand-transv-hi) 98304.0 163840.0 98304.0 1.0)
    (set! (-> a1-8 hit-xz-reaction) 0.95)
    (set! (-> a1-8 hit-y-reaction) 0.6)
    (debris-spawn sv-16 a1-8 (-> *tpl-bridge-debris-params-arr* sv-24) (the-as process-drawable #f))
    )
  (set! (-> sv-16 panel-quashed sv-24) #t)
  0
  (none)
  )

;; WARN: Return type mismatch object vs none.
(defmethod tpl-break-bridge-method-24 ((this tpl-break-bridge) (arg0 int))
  (let ((s4-0 (-> *tpl-bbridge-array* arg0)))
    (cond
      ((or (not (time-elapsed? (-> this state-time) (-> s4-0 start-time))) (-> this panel-quashed arg0))
       '()
       )
      ((not (time-elapsed? (-> this state-time) (+ (-> s4-0 start-time) (-> s4-0 grace))))
       (set! (-> this panel-jmods arg0 transform trans y)
             (lerp-clamp
               0.0
               -4096.0
               (/ (the float (- (- (current-time) (-> this state-time)) (-> s4-0 start-time))) (the float (-> s4-0 grace)))
               )
             )
       (when (not (-> this had-particle-spawned arg0))
         (let ((v1-24 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans)))
           (cond
             ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13))
              (vector-copy! (-> *launch-matrix* trans) v1-24)
              (part-tracker-spawn
                part-tracker-subsampler
                :to *entity-pool*
                :group group-temple-bridge-break-dust
                :duration (seconds 0.1)
                )
              )
             (else
               (vector-copy! (-> *launch-matrix* trans) v1-24)
               (part-tracker-spawn
                 part-tracker
                 :to *entity-pool*
                 :group group-temple-bridge-break-dust
                 :duration (seconds 0.1)
                 )
               )
             )
           )
         (set! (-> this had-particle-spawned arg0) #t)
         (if (and (zero? (mod arg0 3)) (< 0.0 (-> *setting-control* user-current slow-time)))
             (sound-play "bridge-brk-slow")
             )
         )
       )
      (else
        (let* ((f26-0 (-> *setting-control* user-current slow-time))
               (f24-0 (lerp (-> s4-0 fall-rate-realtime) (-> s4-0 fall-rate) f26-0))
               (f30-0 (lerp (-> s4-0 tumble-rate-norm) (-> s4-0 tumble-rate-slow) f26-0))
               )
          (set! (-> this panel-jmods arg0 transform trans y)
                (- (-> this panel-jmods arg0 transform trans y)
                   (lerp-clamp
                     0.0
                     (* f24-0 (seconds-per-frame))
                     (/ (the float (- (- (current-time) (-> this state-time)) (+ (-> s4-0 start-time) (-> s4-0 grace))))
                        (if (< 0.0 f26-0)
                            (the float (-> s4-0 time-to-terminal-velocity))
                            240.0
                            )
                        )
                     )
                   )
                )
          (quaternion*!
            (-> this panel-jmods arg0 transform quat)
            (-> this panel-jmods arg0 transform quat)
            (quaternion-axis-angle!
              (new 'stack-no-clear 'quaternion)
              (-> s4-0 tumble-axis x)
              (-> s4-0 tumble-axis y)
              (-> s4-0 tumble-axis z)
              (* f30-0 (seconds-per-frame))
              )
            )
          )
        (when (not (-> this had-particle-spawned arg0))
          (let ((v1-81 (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans)))
            (cond
              ((logtest? (-> group-temple-bridge-break-dust flags) (sp-group-flag sp13))
               (vector-copy! (-> *launch-matrix* trans) v1-81)
               (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group group-temple-bridge-break-dust)
               )
              (else
                (vector-copy! (-> *launch-matrix* trans) v1-81)
                (part-tracker-spawn part-tracker :to *entity-pool* :group group-temple-bridge-break-dust)
                )
              )
            )
          (set! (-> this had-particle-spawned arg0) #t)
          )
        (let ((f30-1 (-> s4-0 detonate-altitude)))
          (if (and (!= f30-1 0.0) (< (-> this node-list data (tpl-bbridge-panel arg0) bone transform trans y) f30-1))
              (tpl-break-bridge-method-25 this arg0)
              )
          )
        )
      )
    )
  (none)
  )

;; WARN: Return type mismatch collide-shape-moving vs none.
(defmethod tpl-break-bridge-method-23 ((this tpl-break-bridge))
  (let ((s5-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player))))
    (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
    (set! (-> s5-0 reaction) cshape-reaction-default)
    (set! (-> s5-0 no-reaction)
          (the-as (function collide-shape-moving collide-query vector vector object) nothing)
          )
    (set! (-> s5-0 penetrated-by) (penetrate))
    (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 21) 0)))
      (set! (-> s5-0 total-prims) (the-as uint 22))
      (set! (-> s4-0 prim-core collide-as) (collide-spec obstacle))
      (set! (-> s4-0 prim-core collide-with) (collide-spec backgnd jak player-list))
      (set! (-> s4-0 prim-core action) (collide-action solid rideable))
      (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 155648.0)
      (set! (-> s5-0 root-prim) s4-0)
      )
    (let ((v1-12 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
      (set! (-> v1-12 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-12 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-12 prim-core action) (collide-action solid rideable))
      (set! (-> v1-12 transform-index) 4)
      (set-vector! (-> v1-12 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-14 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0))))
      (set! (-> v1-14 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-14 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-14 prim-core action) (collide-action solid rideable))
      (set! (-> v1-14 transform-index) 5)
      (set-vector! (-> v1-14 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-16 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 2) (the-as uint 0))))
      (set! (-> v1-16 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-16 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-16 prim-core action) (collide-action solid rideable))
      (set! (-> v1-16 transform-index) 6)
      (set-vector! (-> v1-16 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-18 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 3) (the-as uint 0))))
      (set! (-> v1-18 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-18 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-18 prim-core action) (collide-action solid rideable))
      (set! (-> v1-18 transform-index) 7)
      (set-vector! (-> v1-18 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-20 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 4) (the-as uint 0))))
      (set! (-> v1-20 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-20 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-20 prim-core action) (collide-action solid rideable))
      (set! (-> v1-20 transform-index) 8)
      (set-vector! (-> v1-20 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-22 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 5) (the-as uint 0))))
      (set! (-> v1-22 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-22 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-22 prim-core action) (collide-action solid rideable))
      (set! (-> v1-22 transform-index) 9)
      (set-vector! (-> v1-22 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-24 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 6) (the-as uint 0))))
      (set! (-> v1-24 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-24 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-24 prim-core action) (collide-action solid rideable))
      (set! (-> v1-24 transform-index) 10)
      (set-vector! (-> v1-24 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-26 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 7) (the-as uint 0))))
      (set! (-> v1-26 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-26 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-26 prim-core action) (collide-action solid rideable))
      (set! (-> v1-26 transform-index) 11)
      (set-vector! (-> v1-26 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-28 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 8) (the-as uint 0))))
      (set! (-> v1-28 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-28 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-28 prim-core action) (collide-action solid rideable))
      (set! (-> v1-28 transform-index) 12)
      (set-vector! (-> v1-28 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-30 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 9) (the-as uint 0))))
      (set! (-> v1-30 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-30 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-30 prim-core action) (collide-action solid rideable))
      (set! (-> v1-30 transform-index) 13)
      (set-vector! (-> v1-30 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-32 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 10) (the-as uint 0))))
      (set! (-> v1-32 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-32 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-32 prim-core action) (collide-action solid rideable))
      (set! (-> v1-32 transform-index) 14)
      (set-vector! (-> v1-32 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-34 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 11) (the-as uint 0))))
      (set! (-> v1-34 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-34 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-34 prim-core action) (collide-action solid rideable))
      (set! (-> v1-34 transform-index) 15)
      (set-vector! (-> v1-34 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-36 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 12) (the-as uint 0))))
      (set! (-> v1-36 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-36 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-36 prim-core action) (collide-action solid rideable))
      (set! (-> v1-36 transform-index) 16)
      (set-vector! (-> v1-36 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-38 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 13) (the-as uint 0))))
      (set! (-> v1-38 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-38 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-38 prim-core action) (collide-action solid rideable))
      (set! (-> v1-38 transform-index) 17)
      (set-vector! (-> v1-38 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-40 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 14) (the-as uint 0))))
      (set! (-> v1-40 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-40 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-40 prim-core action) (collide-action solid rideable))
      (set! (-> v1-40 transform-index) 18)
      (set-vector! (-> v1-40 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-42 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 15) (the-as uint 0))))
      (set! (-> v1-42 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-42 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-42 prim-core action) (collide-action solid rideable))
      (set! (-> v1-42 transform-index) 19)
      (set-vector! (-> v1-42 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-44 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 16) (the-as uint 0))))
      (set! (-> v1-44 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-44 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-44 prim-core action) (collide-action solid rideable))
      (set! (-> v1-44 transform-index) 20)
      (set-vector! (-> v1-44 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-46 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 17) (the-as uint 0))))
      (set! (-> v1-46 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-46 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-46 prim-core action) (collide-action solid rideable))
      (set! (-> v1-46 transform-index) 21)
      (set-vector! (-> v1-46 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-48 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 18) (the-as uint 0))))
      (set! (-> v1-48 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-48 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-48 prim-core action) (collide-action solid rideable))
      (set! (-> v1-48 transform-index) 22)
      (set-vector! (-> v1-48 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-50 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 19) (the-as uint 0))))
      (set! (-> v1-50 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-50 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-50 prim-core action) (collide-action solid rideable))
      (set! (-> v1-50 transform-index) 23)
      (set-vector! (-> v1-50 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (let ((v1-52 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 20) (the-as uint 0))))
      (set! (-> v1-52 prim-core collide-as) (collide-spec obstacle))
      (set! (-> v1-52 prim-core collide-with) (collide-spec backgnd jak bot player-list))
      (set! (-> v1-52 prim-core action) (collide-action solid rideable))
      (set! (-> v1-52 transform-index) 24)
      (set-vector! (-> v1-52 local-sphere) 0.0 0.0 0.0 24576.0)
      )
    (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
    (let ((v1-55 (-> s5-0 root-prim)))
      (set! (-> s5-0 backup-collide-as) (-> v1-55 prim-core collide-as))
      (set! (-> s5-0 backup-collide-with) (-> v1-55 prim-core collide-with))
      )
    (set! (-> this root) s5-0)
    )
  (none)
  )

(defmethod init-from-entity! ((this tpl-break-bridge) (arg0 entity-actor))
  "Set up a newly created process from the entity that created it."
  (rlet ((acc :class vf)
         (Q :class vf)
         (vf0 :class vf)
         (vf1 :class vf)
         (vf2 :class vf)
         (vf3 :class vf)
         )
    (init-vf0-vector)
    (tpl-break-bridge-method-23 this)
    (process-drawable-from-entity! this arg0)
    (initialize-skeleton
      this
      (the-as skeleton-group (art-group-get-by-name *level* "skel-tpl-break-bridge" (the-as (pointer level) #f)))
      (the-as pair 0)
      )
    (dotimes (s5-2 21)
      ((method-of-type joint-mod-add-local init)
       (the-as joint-mod-add-local (-> this panel-jmods s5-2))
       this
       (the-as uint (tpl-bbridge-panel s5-2))
       (joint-mod-base-flags attached trans quat scale)
       )
      (set! (-> this had-particle-spawned s5-2) #f)
      (set! (-> this panel-quashed s5-2) #f)
      (let ((v1-16 (-> *tpl-bbridge-array* s5-2 tumble-axis)))
        (let ((f0-0 1.0))
          (.lvf vf1 (&-> v1-16 quad))
          (.mul.vf.xyz vf2 vf1 vf1)
          (let ((a0-9 f0-0))
            (.mov vf3 a0-9)
            )
          )
        (.mul.x.vf.w acc vf0 vf2)
        (.add.mul.y.vf.w acc vf0 vf2 acc)
        (.add.mul.z.vf.w vf2 vf0 vf2 acc)
        (.isqrt.vf Q vf3 vf2 :fsf #b0 :ftf #b11)
        (.wait.vf)
        (.mul.vf.xyz vf1 vf1 Q)
        (.nop.vf)
        (.nop.vf)
        (.nop.vf)
        (.svf (&-> v1-16 quad) vf1)
        )
      )
    (set! (-> this spool-sound-id) (the-as sound-id #f))
    (go (method-of-object this idle))
    )
  )

(deftype task-manager-temple-tests-stupid-bridge (task-manager)
  ()
  )
