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

;; name: fortress-scenes.gc
;; name in dgo: fortress-scenes
;; dgos: FORDUMPC

;; DECOMP BEGINS

(scene-method-16 (new 'static 'scene
                   :name "fortress-blow-up-ammo-res-a"
                   :extra #f
                   :info #f
                   :mask-to-clear (process-mask movie enemy platform projectile)
                   :entity "scene-stage-44"
                   :art-group "scenecamera"
                   :anim "fortress-blow-up-ammo-res-a"
                   :parts 9
                   :command-list '((0
                       (kill "fort-robotank-6")
                       (kill "fort-entry-gate-16")
                       (setting-reset gem mode #t)
                       (fadein (frame-time-30 5))
                       )
                     (10000
                       (unless (task-closed? "fortress-dump-deal") (talker-spawn "miss006"))
                       (task-close! "fortress-dump-deal")
                       )
                     )
                   :cut-list '(68 105 151 240 311 521 652 695 744 891)
                   :wait-ground-time (seconds 1)
                   :draw-target #f
                   :abort #t
                   :actor (new 'static 'boxed-array :type scene-actor
                     (new 'static 'scene-actor
                       :name "scenecamera"
                       :level #f
                       :art-group "skel-scenecamera"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :camera 4
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "sidekick-highres"
                       :level 'fordumpc
                       :art-group "skel-sidekick-highres"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '((311 521))
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "jak-highres"
                       :level 'fordumpc
                       :art-group "skel-jak-highres"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "crimson-guard-lowres"
                       :level 'fordumpd
                       :art-group "skel-crimson-guard-lowres"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       :no-draw-seg #x4
                       )
                     (new 'static 'scene-actor
                       :name "crimson-guard-highres"
                       :level 'fordumpd
                       :art-group "skel-crimson-guard-highres"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "grunt-fma"
                       :level 'fordumpd
                       :art-group "skel-grunt-fma"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "grunt-fma"
                       :level 'fordumpd
                       :art-group "skel-grunt-fma"
                       :prefix "b-"
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "palmpilot"
                       :level 'fordumpd
                       :art-group "skel-palmpilot"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "fort-robotank"
                       :level 'fordumpc
                       :art-group "skel-fort-robotank"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     (new 'static 'scene-actor
                       :name "fort-robotank-turret"
                       :level 'fordumpc
                       :art-group "skel-fort-robotank-turret"
                       :prefix ""
                       :draw-frames '((min max))
                       :scissor-frames '()
                       :flags #x1
                       :shadow-flags -1
                       :shadow-volume-joint #f
                       )
                     )
                   :load-point-obj "fordumpc-start"
                   :end-point-obj "fordumpc-movie-end"
                   :borrow '()
                   :sfx-volume -1.0
                   :ambient-volume -1.0
                   :music-volume -1.0
                   :blackout-end #t
                   :peaceful #t
                   :save #t
                   )
                 )

(scene-method-16
  (new 'static 'scene
    :name "fortress-blow-up-ammo-res-b"
    :extra #f
    :info #f
    :mask-to-clear (process-mask movie enemy platform projectile)
    :entity "scene-stage-45"
    :art-group "scenecamera"
    :anim "fortress-blow-up-ammo-res-b"
    :parts 8
    :command-list '((0
        (send-event "fort-missile-2" 'halt)
        (send-event "fort-entry-gate-14" 'open (seconds 20) #t)
        (send-event "fort-entry-gate-18" 'open (seconds 20) #t)
        (kill "fort-entry-gate-14")
        (kill "fort-entry-gate-18")
        (kill "fort-robotank-6")
        (apply ,(lambda :behavior scene-player () (set! (-> self clock) (-> *display* base-clock)) (none)))
        (send-event *traffic-manager* 'set-guard-target-level (unbox 0))
        (send-event *traffic-manager* 'set-max-alert-level (unbox 0))
        (send-event *traffic-manager* 'set-alert-level (unbox 0))
        (send-event *traffic-manager* 'set-alert-duration (unbox 10800000))
        (send-event *traffic-manager* 'deactivate-by-type (unbox 6))
        (send-event *traffic-manager* 'deactivate-by-type (unbox 18))
        (send-event *traffic-manager* 'deactivate-by-type (unbox 19))
        )
      (1 (apply ,(lambda :behavior scene-player () (update-rates! (-> *display* entity-clock) 0.1) (none))))
      (267
        (part-tracker
          "group-fortress-big-explosion"
          entity
          "particleman"
          joint
          "particleA"
          track
          #t
          duration
          (frame-range 270 365)
          )
        )
      (305 (send-event "fort-missile-2" 'die))
      (365
        (part-tracker
          "group-fortress-side-explosion"
          entity
          "particleman"
          joint
          "particleA"
          track
          #t
          duration
          (frame-range 365 454)
          )
        )
      (479 (blackout (frame-range 479 510)))
      (500
        (fma-sphere
          (danger)
          duration
          (frame-range (new 'static 'bfloat :data 500.0) (new 'static 'bfloat :data 900.0))
          danger
          (new 'static 'sprite-vec-data-2d
            :x-y-z-sx (new 'static 'vector :x 3149824.0 :y 32768.0 :z 1433600.0 :w 81920.0)
            :r-g-b-a (new 'static 'vector :z 163840.0 :w 1.0)
            )
          )
        (fma-sphere (nav kill-once) sphere (new 'static 'vector :x 3149824.0 :y 32768.0 :z 1433600.0 :w 40960.0))
        )
      (10000
        (task-close! "fortress-dump-resolution")
        (apply ,(lambda :behavior scene-player () (update-rates! (-> *display* entity-clock) 1.0) (none)))
        (send-event *traffic-manager* 'restore-default-settings)
        )
      )
    :cut-list '(356 381 431 457 511)
    :wait-ground-time (seconds 1)
    :draw-target #f
    :abort #t
    :actor (new 'static 'boxed-array :type scene-actor
      (new 'static 'scene-actor
        :name "scenecamera"
        :level #f
        :art-group "skel-scenecamera"
        :prefix ""
        :draw-frames '((min max))
        :scissor-frames '()
        :camera 4
        :shadow-flags -1
        :shadow-volume-joint #f
        )
      (new 'static 'scene-actor
        :name "sidekick-highres"
        :level 'fordumpc
        :art-group "skel-sidekick-highres"
        :prefix ""
        :draw-frames '((min max))
        :scissor-frames '()
        :flags #x1
        :shadow-flags -1
        :shadow-volume-joint #f
        )
      (new 'static 'scene-actor
        :name "jak-highres"
        :level 'fordumpc
        :art-group "skel-jak-highres"
        :prefix ""
        :draw-frames '((min max))
        :scissor-frames '()
        :flags #x1
        :shadow-flags -1
        :shadow-volume-joint #f
        )
      (new 'static 'scene-actor
        :name "particleman"
        :level 'fordumpc
        :art-group "skel-particleman"
        :prefix ""
        :draw-frames '((min max))
        :scissor-frames '()
        :shadow-flags -1
        :shadow-volume-joint #f
        )
      )
    :load-point-obj "fordumpc-explode-movie"
    :end-point-obj "ctysluma-fort-end"
    :borrow '()
    :sfx-volume -1.0
    :ambient-volume -1.0
    :music-volume -1.0
    :blackout-end #t
    :peaceful #t
    :music-delay 1500.0
    :save #t
    )
  )
