mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
dd0a8a17b2
- started documenting the files I glossed over, some are totally done, others are just partially done - I changed the decompiler to automatically initialize the art-group-info from the json file. This makes updating gsrc, even a single file at a time, have consistent naming - Though I disabled this functionality for jak 1, as I have no idea if using the ntsc art groups will cause a regression for different versions - fix indentation for docstrings -- it still doesn't look great, but this is now a formatting concern, rather than the docstring having a bunch of happen-stance leading whitespace.
1705 lines
64 KiB
Common Lisp
1705 lines
64 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: ruins-scenes.gc
|
|
;; name in dgo: ruins-scenes
|
|
;; dgos: RUI
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(defpartgroup group-ruins-slide-sparks :id 281 :bounds (static-bspherem 0 0 0 8) :parts ((sp-item 1247)))
|
|
|
|
(defpart 1247
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
|
(sp-rnd-flt spt-num 3.0 3.0 1.0)
|
|
(sp-flt spt-scale-x (meters 2.5))
|
|
(sp-int spt-rot-x 4)
|
|
(sp-flt spt-scale-y (meters 0.033))
|
|
(sp-flt spt-r 255.0)
|
|
(sp-flt spt-g 255.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-flt spt-omega 4.096)
|
|
(sp-rnd-flt spt-vel-y (meters 0.06666667) (meters 0.06666667) 1.0)
|
|
(sp-rnd-flt spt-fade-g -0.85 -1.7 1.0)
|
|
(sp-flt spt-fade-b -8.0)
|
|
(sp-rnd-flt spt-fade-a -0.21333334 -0.21333334 1.0)
|
|
(sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0)
|
|
(sp-flt spt-friction 0.97)
|
|
(sp-int-plain-rnd spt-timer 50 149 1)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-3)
|
|
(sp-func spt-func 'sparticle-motion-blur)
|
|
(sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0)
|
|
(sp-rnd-flt spt-conerot-y (degrees 45.0) (degrees 90.0) 1.0)
|
|
)
|
|
)
|
|
|
|
(defskelgroup skel-awning awning awning-lod0-jg awning-idle-ja
|
|
((awning-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 3
|
|
)
|
|
|
|
(defskelgroup skel-flag flag flag-lod0-jg flag-idle-ja
|
|
((flag-lod0-mg (meters 20)) (flag-lod1-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 10)
|
|
:origin-joint-index 3
|
|
)
|
|
|
|
(defskelgroup skel-movie-flag flag flag-lod0-jg flag-idle-ja
|
|
((flag-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 3
|
|
)
|
|
|
|
(defskelgroup skel-precipice-a precipice-a precipice-a-lod0-jg precipice-a-idle-ja
|
|
((precipice-a-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 18
|
|
)
|
|
|
|
(defskelgroup skel-precipice-b precipice-b precipice-b-lod0-jg precipice-b-idle-ja
|
|
((precipice-b-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 26
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-a ruins-tower-a ruins-tower-a-lod0-jg ruins-tower-a-idle-ja
|
|
((ruins-tower-a-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 1000)
|
|
:origin-joint-index 49
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-b ruins-tower-b ruins-tower-b-lod0-jg ruins-tower-b-idle-ja
|
|
((ruins-tower-b-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 46
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-c ruins-tower-c ruins-tower-c-lod0-jg ruins-tower-c-idle-ja
|
|
((ruins-tower-c-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 25
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-d ruins-tower-d ruins-tower-d-lod0-jg ruins-tower-d-idle-ja
|
|
((ruins-tower-d-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 9
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-e ruins-tower-e ruins-tower-e-lod0-jg ruins-tower-e-idle-ja
|
|
((ruins-tower-e-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 53
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-f ruins-tower-f ruins-tower-f-lod0-jg ruins-tower-f-idle-ja
|
|
((ruins-tower-f-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 3
|
|
)
|
|
|
|
(defskelgroup skel-ruins-tower-rp ruins-tower-rp ruins-tower-rp-lod0-jg ruins-tower-rp-idle-ja
|
|
((ruins-tower-rp-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 1000)
|
|
:origin-joint-index 4
|
|
)
|
|
|
|
(defskelgroup skel-zipline zipline zipline-lod0-jg zipline-idle-ja
|
|
((zipline-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 0 0 0 100)
|
|
:origin-joint-index 4
|
|
)
|
|
|
|
(defun ruins-slide-sparks ((arg0 object) (position vector))
|
|
"Generates simple sparks (2D particles) at the location specified. This is used in the cutscene.
|
|
@param position The position to render the sparks at
|
|
TODO - first arg type?"
|
|
(let ((launch-func sp-launch-particles-var)
|
|
(2d-sys *sp-particle-system-2d*)
|
|
(sp-launcher (-> *part-id-table* 1247))
|
|
(matrix *launch-matrix*)
|
|
)
|
|
(set! (-> matrix trans quad) (-> position quad))
|
|
(launch-func
|
|
2d-sys
|
|
sp-launcher
|
|
matrix
|
|
(the-as sparticle-launch-state #f)
|
|
(the-as sparticle-launch-control #f)
|
|
1.0
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defpartgroup group-tower-test
|
|
:id 282
|
|
:linger-duration (seconds 2)
|
|
:flags (use-local-clock)
|
|
:bounds (static-bspherem 0 0 0 2)
|
|
:parts ((sp-item 1248))
|
|
)
|
|
|
|
(defpart 1248
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
|
(sp-flt spt-num 0.0)
|
|
(sp-rnd-flt spt-scale-x (meters 10.5) (meters 0.25) 1.0)
|
|
(sp-flt spt-rot-x 2048.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 255.0)
|
|
(sp-rnd-flt spt-g 0.0 64.0 1.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 128.0)
|
|
(sp-int spt-timer 5)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
|
(sp-flt spt-userdata 4096.0)
|
|
)
|
|
)
|
|
|
|
(defpartgroup group-ruins-talkbox-speak
|
|
:id 283
|
|
:flags (unk-4 unk-6)
|
|
:bounds (static-bspherem 0 0 0 2)
|
|
:rotate ((degrees 4) (degrees 0) (degrees 0))
|
|
:parts ((sp-item 1249 :flags (is-3d bit6 bit7)))
|
|
)
|
|
|
|
(defpart 1249
|
|
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xcb :page #xc))
|
|
(sp-rnd-flt spt-num 0.0 0.3 1.0)
|
|
(sp-flt spt-y (meters 0.15))
|
|
(sp-flt spt-z (meters 0.4))
|
|
(sp-flt spt-scale-x (meters 0.1))
|
|
(sp-copy-from-other spt-scale-y -4)
|
|
(sp-flt spt-r 255.0)
|
|
(sp-flt spt-g 255.0)
|
|
(sp-flt spt-b 255.0)
|
|
(sp-flt spt-a 16.0)
|
|
(sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.006666667) 1.0)
|
|
(sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.0033333334) 1.0)
|
|
(sp-copy-from-other spt-scalevel-y -4)
|
|
(sp-int spt-timer 100)
|
|
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)
|
|
(sp-flt spt-userdata 2048.0)
|
|
(sp-int spt-next-time 50)
|
|
(sp-launcher-by-id spt-next-launcher 1250)
|
|
(sp-flt spt-rotate-y (degrees 0.0))
|
|
)
|
|
)
|
|
|
|
(defpart 1250
|
|
:init-specs ((sp-flt spt-fade-a -0.32))
|
|
)
|
|
|
|
(scene-method-16 (new 'static 'scene
|
|
:name "ruins-tower-victory"
|
|
:extra #f
|
|
:info #f
|
|
:mask-to-clear #x1282000
|
|
:entity "scene-stage-10"
|
|
:art-group "scenecamera"
|
|
:anim "ruins-tower-victory"
|
|
:parts 16
|
|
:command-list '((0 (kill "flag-1"))
|
|
(0 (kill "ruins-precipice-2"))
|
|
(0 (fadein (seconds (new 'static 'bfloat :data 0.166))))
|
|
(49 (part-tracker "group-land-poof-drt" entity "movie-flag" joint "poleA"))
|
|
(162 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"cd"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 162 171)
|
|
)
|
|
)
|
|
(162 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"cf"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 162 223)
|
|
)
|
|
)
|
|
(164 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"by"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 164 235)
|
|
)
|
|
)
|
|
(164 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"cc"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 164 172)
|
|
)
|
|
)
|
|
(172 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bs"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 172 224)
|
|
)
|
|
)
|
|
(173 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bv"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 173 227)
|
|
)
|
|
)
|
|
(174 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"br"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 174 224)
|
|
)
|
|
)
|
|
(177 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bn"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 177 226)
|
|
)
|
|
)
|
|
(177 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bq"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 177 240)
|
|
)
|
|
)
|
|
(181 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bi"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 181 251)
|
|
)
|
|
)
|
|
(183 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bj"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 183 260)
|
|
)
|
|
)
|
|
(185 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bo"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 185 257)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"a"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"b"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"c"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"d"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"e"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"g"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 257)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"h"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 257)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"i"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 257)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"k"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 261)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"l"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 261)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"m"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 261)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"n"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 261)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"p"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 261)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"q"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 232)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"am"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"an"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"aq"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"ap"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 266)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ar"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 281)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"as"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 243)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"av"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 234)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"aw"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 229)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ax"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 233)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ay"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 268)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"az"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 288)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bb"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 294)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bc"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 267)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bd"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 253)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bf"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 238)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bg"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 232)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bh"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 257)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bk"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 232)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bl"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 239)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bm"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 228)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bp"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 225)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bt"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 227)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bu"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 226)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"bw"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 223)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ce"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 224)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"cg"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 223)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ch"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 237)
|
|
)
|
|
)
|
|
(217 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ci"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 217 242)
|
|
)
|
|
)
|
|
(223 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-a"
|
|
joint
|
|
"o"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 223 261)
|
|
)
|
|
)
|
|
(223 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"be"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 223 238)
|
|
)
|
|
)
|
|
(228 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"at"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 228 234)
|
|
)
|
|
)
|
|
(263 (part-tracker
|
|
"group-ruins-tower-trailer"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ba"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 263 281)
|
|
)
|
|
)
|
|
(282 (part-tracker
|
|
"group-ruins-tower-splash"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ar"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 282 283)
|
|
)
|
|
)
|
|
(282 (part-tracker
|
|
"group-ruins-tower-splash"
|
|
entity
|
|
"precipice-b"
|
|
joint
|
|
"ba"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 282 283)
|
|
)
|
|
)
|
|
(353 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(354 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(355 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(356 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(357 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(358 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(359 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(360 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(361 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(362 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(363 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(364 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(365 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(366 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(367 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(368 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(369 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(370 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(371 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(372 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(373 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(374 (joint-eval ruins-slide-sparks entity "jak-highres" joint "LbigToe"))
|
|
(440 (task-close! "ruins-tower-resolution"))
|
|
(487 (part-tracker "group-land-poof-drt" entity "jak-highres" joint "LbigToe"))
|
|
(499 (part-tracker "group-land-poof-drt" entity "jak-highres" joint "LbigToe"))
|
|
(537 (part-tracker "group-land-poof-drt" entity "sidekick-highres" joint "main"))
|
|
(596 (part-tracker
|
|
"group-ruins-tower-explosion-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"a_explode"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 596 635)
|
|
)
|
|
)
|
|
(598 (part-tracker
|
|
"group-ruins-tower-explosion-large"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"as_explode"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 598 635)
|
|
)
|
|
)
|
|
(612 (part-tracker
|
|
"group-ruins-tower-explosion-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"at_explode"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 612 635)
|
|
)
|
|
)
|
|
(623 (part-tracker
|
|
"group-ruins-tower-explosion-small"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"hm_explode"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 623 635)
|
|
)
|
|
)
|
|
(635 (part-tracker
|
|
"group-ruins-tower-trailer-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"a_trailer"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 635 769)
|
|
)
|
|
)
|
|
(635 (part-tracker
|
|
"group-ruins-tower-trailer-large"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"as_trailer"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 635 739)
|
|
)
|
|
)
|
|
(635 (part-tracker
|
|
"group-ruins-tower-trailer-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"at_trailer"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 635 741)
|
|
)
|
|
)
|
|
(635 (part-tracker
|
|
"group-ruins-tower-trailer-small"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"hm_trailer"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 635 766)
|
|
)
|
|
)
|
|
(716 (part-tracker
|
|
"group-ruins-tower-splash-large"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"as_splash"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 716 820)
|
|
)
|
|
)
|
|
(738 (part-tracker
|
|
"group-ruins-tower-splash-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"at_splash"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 738 820)
|
|
)
|
|
)
|
|
(762 (part-tracker
|
|
"group-ruins-tower-splash-medium"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"a_splash"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 762 820)
|
|
)
|
|
)
|
|
(764 (part-tracker
|
|
"group-ruins-tower-splash-large"
|
|
entity
|
|
"ruins-tower-a"
|
|
joint
|
|
"a"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 764 764)
|
|
)
|
|
)
|
|
(779 (part-tracker
|
|
"group-ruins-tower-splash-small"
|
|
entity
|
|
"ruins-tower-rp"
|
|
joint
|
|
"hm_splash"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 779 820)
|
|
)
|
|
)
|
|
(780 (part-tracker
|
|
"group-ruins-tower-splash"
|
|
entity
|
|
"ruins-tower-e"
|
|
joint
|
|
"hm"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 780 780)
|
|
)
|
|
)
|
|
(925 (fadeout (seconds (new 'static 'bfloat :data 0.166))))
|
|
)
|
|
:cut-list '(126 156 221 266 341 426 476 583 638 675 741 821)
|
|
: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 'sagehut
|
|
: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 'sagehut
|
|
: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 "awning"
|
|
:level 'ruins
|
|
:art-group "skel-awning"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "movie-flag"
|
|
:level 'ruins
|
|
:art-group "skel-movie-flag"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "precipice-a"
|
|
:level 'ruins
|
|
:art-group "skel-precipice-a"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '((min max))
|
|
:shadow-mask #x6
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "precipice-b"
|
|
:level 'ruins
|
|
:art-group "skel-precipice-b"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '((min max))
|
|
:shadow-mask #x6
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-a"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-a"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-b"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-b"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-c"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-c"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-d"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-d"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-e"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-e"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-f"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-f"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "ruins-tower-rp"
|
|
:level 'sagehut
|
|
:art-group "skel-ruins-tower-rp"
|
|
:prefix ""
|
|
:draw-frames '((440 max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "torn-highres"
|
|
:level 'sagehut
|
|
:art-group "skel-torn-highres"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
(new 'static 'scene-actor
|
|
:name "zipline"
|
|
:level 'ruins
|
|
:art-group "skel-zipline"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '((min max))
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
)
|
|
:load-point-obj "ruins-movie"
|
|
:end-point-obj "ruins-movie"
|
|
:borrow '()
|
|
:sfx-volume -1.0
|
|
:ambient-volume -1.0
|
|
:music-volume -1.0
|
|
:blackout-end #t
|
|
:peaceful #t
|
|
:music-delay 1500.0
|
|
:save #t
|
|
)
|
|
)
|
|
|
|
(deftype flag (process-drawable)
|
|
"The flag in the ruins mission.
|
|
The scale will be linearly-interpolated based on the distance from the camera"
|
|
()
|
|
:heap-base #x50
|
|
:method-count-assert 21
|
|
:size-assert #xc8
|
|
:flag-assert #x15005000c8
|
|
(:methods
|
|
(idle () _type_ :state 20)
|
|
)
|
|
)
|
|
|
|
|
|
(defstate idle (flag)
|
|
:virtual #t
|
|
:code (the-as (function none :behavior flag) sleep-code)
|
|
:post (behavior ()
|
|
(ja :num! (loop!))
|
|
(let ((flag-scale (lerp-scale 1.0 2.5 (vector-vector-distance (camera-pos) (-> self root trans)) 81920.0 901120.0))
|
|
)
|
|
(set-vector! (-> self root scale) flag-scale flag-scale flag-scale 1.0)
|
|
)
|
|
(set! (-> *part-id-table* 267 init-specs 4 initial-valuef) 24576.0)
|
|
(set! (-> *part-id-table* 270 init-specs 3 initial-valuef) 65536.0)
|
|
(set! (-> *part-id-table* 268 init-specs 9 initial-valuef) 20.0)
|
|
(spawn (-> self part) (-> self root trans))
|
|
(when (task-complete? *game-info* (game-task ruins-tower))
|
|
(cleanup-for-death self)
|
|
(deactivate self)
|
|
)
|
|
(ja-post)
|
|
(none)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch object vs none.
|
|
(defmethod init-from-entity! flag ((obj flag) (arg0 entity-actor))
|
|
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
|
This commonly includes things such as:
|
|
- stack size
|
|
- collision information
|
|
- loading the skeleton group / bones
|
|
- sounds"
|
|
(set! (-> obj root) (new 'process 'trsqv))
|
|
(process-drawable-from-entity! obj arg0)
|
|
(logclear! (-> obj mask) (process-mask actor-pause))
|
|
(initialize-skeleton
|
|
obj
|
|
(the-as skeleton-group (art-group-get-by-name *level* "skel-flag" (the-as (pointer uint32) #f)))
|
|
(the-as pair 0)
|
|
)
|
|
(set! (-> obj part) (create-launch-control (-> *part-group-id-table* 78) obj))
|
|
(add-icon! *minimap* obj (the-as uint 16) (the-as int #f) (the-as vector #t) 0)
|
|
(go (method-of-object obj idle))
|
|
(none)
|
|
)
|
|
|
|
(deftype ruins-precipice (process-drawable)
|
|
"The edge of the ruins tower that the flag stands on
|
|
Touching it flips the `play?` field which will trigger the cutscene"
|
|
((play? symbol :offset-assert 200)
|
|
)
|
|
:heap-base #x50
|
|
:method-count-assert 21
|
|
:size-assert #xcc
|
|
:flag-assert #x15005000cc
|
|
(:methods
|
|
(idle () _type_ :state 20)
|
|
)
|
|
)
|
|
|
|
|
|
(defskelgroup skel-ruins-precipice ruins-precipice ruins-precipice-lod0-jg ruins-precipice-idle-ja
|
|
((ruins-precipice-lod0-mg (meters 999999)))
|
|
:bounds (static-spherem 5 0 5 12)
|
|
:origin-joint-index 3
|
|
)
|
|
|
|
(defstate idle (ruins-precipice)
|
|
:virtual #t
|
|
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
|
(the-as
|
|
object
|
|
(case event-type
|
|
(('trigger)
|
|
(when (not (-> self play?))
|
|
(set! (-> self play?) #t)
|
|
(process-spawn scene-player :init scene-player-init "ruins-tower-victory" #t #f)
|
|
)
|
|
)
|
|
(('touch 'attack)
|
|
(when (and (not (-> self play?)) *target* (zero? (logand (focus-status dark) (-> *target* focus-status))))
|
|
(set! (-> self play?) #t)
|
|
(process-spawn scene-player :init scene-player-init "ruins-tower-victory" #t #f)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
:code (behavior ()
|
|
(until #f
|
|
(when (task-complete? *game-info* (game-task ruins-tower))
|
|
(cleanup-for-death self)
|
|
(deactivate self)
|
|
)
|
|
(if (and (and *target*
|
|
(and (>= 122880.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))
|
|
(zero? (logand (focus-status teleporting) (-> *target* focus-status)))
|
|
)
|
|
)
|
|
(< (fabs (- (-> self root trans y) (-> *target* control trans y))) 40960.0)
|
|
)
|
|
(gui-control-method-12
|
|
*gui-control*
|
|
self
|
|
(gui-channel art-load)
|
|
(gui-action queue)
|
|
"ruins-tower-victory"
|
|
0
|
|
-99.0
|
|
(new 'static 'sound-id)
|
|
)
|
|
)
|
|
(ja-post)
|
|
(suspend)
|
|
)
|
|
#f
|
|
(none)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch object vs none.
|
|
(defmethod init-from-entity! ruins-precipice ((obj ruins-precipice) (arg0 entity-actor))
|
|
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
|
|
This commonly includes things such as:
|
|
- stack size
|
|
- collision information
|
|
- loading the skeleton group / bones
|
|
- sounds"
|
|
(let ((cshape (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
|
|
(let ((cshape-mesh (new 'process 'collide-shape-prim-mesh cshape (the-as uint 0) (the-as uint 0))))
|
|
(set! (-> cshape-mesh prim-core collide-as) (collide-spec obstacle))
|
|
(set! (-> cshape-mesh prim-core collide-with) (collide-spec jak player-list))
|
|
(set! (-> cshape-mesh prim-core action) (collide-action solid))
|
|
(set! (-> cshape-mesh transform-index) 3)
|
|
(set-vector! (-> cshape-mesh local-sphere) 2048.0 0.0 2048.0 49152.0)
|
|
(set! (-> cshape total-prims) (the-as uint 1))
|
|
(set! (-> cshape root-prim) cshape-mesh)
|
|
)
|
|
(set! (-> cshape nav-radius) (* 0.75 (-> cshape root-prim local-sphere w)))
|
|
(let ((v1-5 (-> cshape root-prim)))
|
|
(set! (-> cshape backup-collide-as) (-> v1-5 prim-core collide-as))
|
|
(set! (-> cshape backup-collide-with) (-> v1-5 prim-core collide-with))
|
|
)
|
|
(set! (-> obj root) cshape)
|
|
)
|
|
(process-drawable-from-entity! obj arg0)
|
|
(vector+! (-> obj root trans) (-> obj root trans) (new 'static 'vector :z 28672.0 :w 1.0))
|
|
(quaternion-rotate-y! (-> obj root quat) (-> obj root quat) -7198.0376)
|
|
(initialize-skeleton
|
|
obj
|
|
(the-as skeleton-group (art-group-get-by-name *level* "skel-ruins-precipice" (the-as (pointer uint32) #f)))
|
|
(the-as pair 0)
|
|
)
|
|
(set! (-> obj play?) #f)
|
|
(go (method-of-object obj idle))
|
|
(none)
|
|
)
|
|
|
|
(scene-method-16 (new 'static 'scene
|
|
:name "ruins-sacred-victory"
|
|
:extra #f
|
|
:info #f
|
|
:mask-to-clear #x1282000
|
|
:entity "scene-stage-10"
|
|
:art-group "scenecamera"
|
|
:anim "ruins-sacred-victory"
|
|
:parts 5
|
|
:command-list '((0 (want-force-vis 'sagehut #t))
|
|
(0 (fadein (seconds (new 'static 'bfloat :data 0.5))))
|
|
(545 (fadeout (seconds (new 'static 'bfloat :data 1.5))))
|
|
(10000 (task-close! "ruins-enemy-resolution"))
|
|
)
|
|
:cut-list '(61 151 211 301 396)
|
|
: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 'sagehut
|
|
: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 'sagehut
|
|
:art-group "skel-jak-highres"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
)
|
|
:load-point-obj "ruins-hut"
|
|
:end-point-obj "ruins-hut"
|
|
:borrow '()
|
|
:sfx-volume -1.0
|
|
:ambient-volume -1.0
|
|
:music-volume -1.0
|
|
:blackout-end #t
|
|
:peaceful #t
|
|
:music-delay 1500.0
|
|
:save #t
|
|
)
|
|
)
|
|
|
|
(scene-method-16
|
|
(new 'static 'scene
|
|
:name "ruins-get-to-hut-res"
|
|
:extra #f
|
|
:info #f
|
|
:mask-to-clear #x1282000
|
|
:entity "scene-stage-71"
|
|
:art-group "scenecamera"
|
|
:anim "ruins-get-to-hut-res"
|
|
:parts 14
|
|
:command-list '((-10
|
|
(want-force-vis 'sagehut #t)
|
|
(fadein (seconds (new 'static 'bfloat :data 0.333)))
|
|
(apply ,(lambda () (set-setting! 'rain 'abs 0 0) (none)))
|
|
)
|
|
(1 (joint-eval start-seed-effect entity "life-seed"))
|
|
(340 (part-tracker
|
|
"group-ruins-talkbox-speak"
|
|
entity
|
|
"talk-box"
|
|
joint
|
|
"main"
|
|
track
|
|
#t
|
|
duration
|
|
(frame-range 340 1630)
|
|
)
|
|
)
|
|
(10000 (task-close! "ruins-mech-resolution"))
|
|
)
|
|
:cut-list '(91 203 359 446 868 906 1137 1471 1540)
|
|
: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 'sagehut
|
|
: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 'sagehut
|
|
: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 "life-seed"
|
|
:level 'sagehut
|
|
: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 "talk-box"
|
|
:level #f
|
|
:art-group "skel-talk-box"
|
|
:prefix ""
|
|
:draw-frames '((min max))
|
|
:scissor-frames '()
|
|
:flags #x1
|
|
:shadow-flags -1
|
|
:shadow-volume-joint #f
|
|
)
|
|
)
|
|
:load-point-obj "ruins-hut"
|
|
:end-point-obj (new 'static 'continue-point
|
|
:name "ruins-hut"
|
|
:level #f
|
|
:trans (new 'static 'vector :x 4333992.0 :y 205114.58 :z -2276633.5 :w 1.0)
|
|
:quat (new 'static 'vector :y -0.488 :w 0.8727)
|
|
:camera-trans (new 'static 'vector :x 4346192.5 :y 222824.45 :z -2308073.0 :w 1.0)
|
|
:camera-rot (new 'static 'inline-array vector3s 3
|
|
(new 'static 'vector3s :data (new 'static 'array float 3 0.9253 0.0 0.379))
|
|
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0801 0.9773 0.1957))
|
|
(new 'static 'vector3s :data (new 'static 'array float 3 -0.3704 -0.2114 0.9044))
|
|
)
|
|
:on-goto '(apply
|
|
,(lambda ()
|
|
(kill-by-type mech *active-pool*)
|
|
(process-spawn
|
|
mech
|
|
:init mech-init
|
|
(entity-by-type mech)
|
|
(new 'static 'matrix3
|
|
:vector (new 'static 'inline-array vector 3
|
|
(new 'static 'vector :x 4140712.0 :y 147454.36 :z -2034059.6 :w 1.0)
|
|
(new 'static 'vector :w 1.0)
|
|
(new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)
|
|
)
|
|
)
|
|
(process->handle *target*)
|
|
#x42c80000
|
|
:to *target*
|
|
)
|
|
(none)
|
|
)
|
|
)
|
|
:vis-nick 'ruins
|
|
:want (new 'static 'inline-array level-buffer-state 6
|
|
(new 'static 'level-buffer-state :name 'ruins :display? 'display :force-vis? #f :force-inside? #f)
|
|
(new 'static 'level-buffer-state :name 'sagehut :display? 'display :force-vis? #f :force-inside? #f)
|
|
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
|
|
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
|
|
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
|
|
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
|
|
)
|
|
:want-sound (new 'static 'array symbol 3 'ruins1 'ruins3 'mech)
|
|
)
|
|
:borrow '()
|
|
:sfx-volume -1.0
|
|
:ambient-volume -1.0
|
|
:music-volume -1.0
|
|
:blackout-end #t
|
|
:peaceful #t
|
|
:music-delay 1500.0
|
|
:save #t
|
|
)
|
|
)
|