mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
6a06291e6e
Ports the `get-texture` macro added in Jak 3 to Jak 1 and 2.
481 lines
16 KiB
Common Lisp
481 lines
16 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: forest-scenes.gc
|
|
;; name in dgo: forest-scenes
|
|
;; dgos: FOR
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(defpartgroup group-forest-seed-glow
|
|
:id 495
|
|
:duration (seconds 0.035)
|
|
:linger-duration (seconds 1.5)
|
|
:bounds (static-bspherem 0 0 0 2)
|
|
:parts ((sp-item 209))
|
|
)
|
|
|
|
(defpart 2172
|
|
:init-specs ((:texture (glow-soft effects))
|
|
(:num 1.0)
|
|
(:scale-x (meters 1.5))
|
|
(:rot-x (degrees 11.25))
|
|
(:rot-z (degrees 0) (degrees 360))
|
|
(:scale-y :copy scale-x)
|
|
(:r 196.0)
|
|
(:g 255.0)
|
|
(:b 0.0)
|
|
(:a 16.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 4096.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-forest-hover-jet
|
|
:id 496
|
|
:linger-duration (seconds 1.5)
|
|
:flags (unk-4 unk-6)
|
|
:bounds (static-bspherem 0 0 0 12)
|
|
:rotate ((degrees 180) (degrees 0) (degrees 0))
|
|
:parts ((sp-item 2173 :flags (bit7))
|
|
(sp-item 2174 :flags (bit7))
|
|
(sp-item 2175 :flags (bit7))
|
|
(sp-item 2176 :flags (bit7))
|
|
(sp-item 2177 :flags (bit7))
|
|
)
|
|
)
|
|
|
|
(defpart 2173
|
|
:init-specs ((:texture (glow effects))
|
|
(:num 1.0)
|
|
(:y (meters -0.3))
|
|
(:scale-x (meters 0.6) (meters 0.3))
|
|
(:rot-x (degrees 2.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 64.0 128.0)
|
|
(:b 0.0)
|
|
(:a 64.0 8.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 409.6)
|
|
)
|
|
)
|
|
|
|
(defpart 2174
|
|
:init-specs ((:texture (glow-soft effects))
|
|
(:num 1.0)
|
|
(:y (meters -0.3))
|
|
(:scale-x (meters 2.5) (meters 0.4))
|
|
(:rot-x (degrees 2.25))
|
|
(:scale-y :copy scale-x)
|
|
(:r 255.0)
|
|
(:g 64.0 128.0)
|
|
(:b 0.0)
|
|
(:a 24.0 2.0)
|
|
(:timer (seconds 0.017))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow))
|
|
(:userdata 409.6)
|
|
)
|
|
)
|
|
|
|
(defpart 2175
|
|
:init-specs ((:texture (bigpuff effects))
|
|
(:num 1.0 4.0)
|
|
(:y (meters 0) (meters -0.25))
|
|
(:scale-x (meters 0.2) (meters 0.2))
|
|
(:rot-z (degrees 0) 1 (degrees 180))
|
|
(:scale-y (meters 1) (meters 0.6))
|
|
(:r 192.0)
|
|
(:g 64.0)
|
|
(:b 0.0)
|
|
(:a 0.0 16.0)
|
|
(:vel-y (meters -0.05) (meters -0.016666668))
|
|
(:scalevel-x (meters 0.033333335))
|
|
(:scalevel-y (meters 0.006666667))
|
|
(:fade-r -2.0)
|
|
(:fade-g 2.0)
|
|
(:fade-b 5.0)
|
|
(:fade-a 1.28)
|
|
(:accel-x (meters 0) (meters 0.0016666667))
|
|
(:accel-y (meters 0.00016666666) (meters 0.0005))
|
|
(:friction 0.94)
|
|
(:timer (seconds 1))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 sp-cpuinfo-flag-14))
|
|
(:next-time (seconds 0.085))
|
|
(:next-launcher 2178)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 2178
|
|
:init-specs ((:r 64.0 64.0)
|
|
(:g 64.0 64.0)
|
|
(:b 64.0 64.0)
|
|
(:fade-r 0.0)
|
|
(:fade-g 0.0)
|
|
(:fade-b 0.0)
|
|
(:fade-a -0.32 -0.256)
|
|
)
|
|
)
|
|
|
|
(defpart 2176
|
|
:init-specs ((:texture (hotdot effects))
|
|
(:num 0.1 0.5)
|
|
(:x (meters 0) (meters 0.1))
|
|
(:y (meters 0.25) (meters -0.5))
|
|
(:scale-x (meters 0.2))
|
|
(:scale-y :copy scale-x)
|
|
(:r 192.0 64.0)
|
|
(:g 0.0 128.0)
|
|
(:b 0.0)
|
|
(:a 128.0)
|
|
(:omega (degrees 0.0225) (degrees 0.0225))
|
|
(:vel-y (meters -0.033333335) (meters -0.026666667))
|
|
(:scalevel-x (meters -0.005))
|
|
(:scalevel-y :copy scalevel-x)
|
|
(:fade-g 0.0)
|
|
(:accel-x (meters 0) (meters 0.0016666667))
|
|
(:accel-y (meters 0.00016666666) (meters 0.0005))
|
|
(:friction 0.96)
|
|
(:timer (seconds 0.167) (seconds 0.247))
|
|
(:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-12 sp-cpuinfo-flag-14))
|
|
(:func 'sparticle-motion-blur)
|
|
(:next-time (seconds 0.1))
|
|
(:next-launcher 2179)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 2179
|
|
:init-specs ((:scalevel-x (meters 0)) (:scalevel-y (meters 0)))
|
|
)
|
|
|
|
(defpart 2177
|
|
:init-specs ((:num 0.4)
|
|
(:rot-x 8)
|
|
(:r 1638.4)
|
|
(:g 1331.2)
|
|
(:b 1433.6)
|
|
(:vel-y (meters -0.05) (meters -0.016666668))
|
|
(:fade-r 32.768)
|
|
(:fade-g 28.671999)
|
|
(:fade-b 26.623999)
|
|
(:accel-x (meters 0) (meters 0.0016666667))
|
|
(:friction 0.94)
|
|
(:timer (seconds 0.335))
|
|
(:flags (distort))
|
|
(:next-time (seconds 0.167))
|
|
(:next-launcher 2180)
|
|
(:rotate-y (degrees 0) (degrees 360))
|
|
)
|
|
)
|
|
|
|
(defpart 2180
|
|
:init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b -4.096))
|
|
)
|
|
|
|
(scene-method-16 (new 'static 'scene
|
|
:name "forest-protect-samos-intro-b"
|
|
:extra #f
|
|
:info #f
|
|
:mask-to-clear (process-mask movie enemy platform projectile)
|
|
:entity "scene-stage-50"
|
|
:art-group "scenecamera"
|
|
:anim "forest-protect-samos-intro-b"
|
|
:parts 6
|
|
:command-list '((0
|
|
(part-tracker
|
|
"group-forest-seed-glow"
|
|
entity
|
|
"life-seed"
|
|
joint
|
|
"main"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 10000.0))
|
|
)
|
|
(kill "youngsamos-npc-7")
|
|
(fadein (frame-time-30 10))
|
|
)
|
|
(1 (joint-eval start-seed-effect entity "life-seed"))
|
|
(393
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover"
|
|
joint
|
|
"Lengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover"
|
|
joint
|
|
"Rengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover-b"
|
|
joint
|
|
"Lengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover-b"
|
|
joint
|
|
"Rengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover-c"
|
|
joint
|
|
"Lengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
(part-tracker
|
|
"group-forest-hover-jet"
|
|
entity
|
|
"crimson-guard-hover-c"
|
|
joint
|
|
"Rengine"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 393 523)
|
|
)
|
|
)
|
|
(10000 (begin (task-close! "forest-protect-meeting")))
|
|
)
|
|
:cut-list '(90 205 298 393 485 523)
|
|
: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 'forestb
|
|
: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 'forestb
|
|
: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 "youngsamos-highres"
|
|
:level 'forestb
|
|
:art-group "skel-youngsamos-highres"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "life-seed"
|
|
:level 'forestb
|
|
:art-group "skel-life-seed"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "crimson-guard-hover"
|
|
:level 'forestb
|
|
:art-group "skel-crimson-guard-hover"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "crimson-guard-hover-b"
|
|
:level 'forestb
|
|
:art-group "skel-crimson-guard-hover"
|
|
:prefix "b-"
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "crimson-guard-hover-c"
|
|
:level 'forestb
|
|
:art-group "skel-crimson-guard-hover"
|
|
:prefix "c-"
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
)
|
|
:load-point-obj "forest-tree"
|
|
:end-point-obj #f
|
|
: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 "forest-protect-samos-res"
|
|
:extra #f
|
|
:info #f
|
|
:mask-to-clear (process-mask movie enemy platform projectile)
|
|
:entity "scene-stage-50"
|
|
:art-group "scenecamera"
|
|
:anim "forest-protect-samos-res"
|
|
:parts 7
|
|
:command-list '((0
|
|
(part-tracker
|
|
"group-forest-seed-glow"
|
|
entity
|
|
"life-seed"
|
|
joint
|
|
"main"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range (new 'static 'bfloat) (new 'static 'bfloat :data 10000.0))
|
|
)
|
|
(fadein (frame-time-30 5))
|
|
)
|
|
(1 (send-event "forest-youngsamos-1" 'die-fast))
|
|
(1 (joint-eval start-seed-effect entity "life-seed"))
|
|
(820 (fadeout (frame-time-30 5)))
|
|
(10000 (task-close! "forest-protect-resolution"))
|
|
)
|
|
:cut-list '(66 449 530 678)
|
|
: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 'forestb
|
|
: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 'forestb
|
|
:art-group "skel-jak-highres"
|
|
:prefix ""
|
|
:draw-frames '((min 530) (678 max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "youngsamos-highres"
|
|
:level 'forestb
|
|
:art-group "skel-youngsamos-highres"
|
|
:prefix ""
|
|
:draw-frames '((min 449) (530 max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "life-seed"
|
|
:level 'forestb
|
|
:art-group "skel-life-seed"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
)
|
|
:load-point-obj "forest-tree"
|
|
:end-point-obj #f
|
|
:borrow '()
|
|
:sfx-volume -1.0
|
|
:ambient-volume -1.0
|
|
:music-volume -1.0
|
|
:blackout-end #t
|
|
:peaceful #t
|
|
:music-delay 1500.0
|
|
:save #t
|
|
)
|
|
)
|