jak2: add .gd files and level info for some ps3 test levels (#2776)

This commit is contained in:
Hat Kid 2023-06-27 23:52:19 +02:00 committed by GitHub
parent f8d4489361
commit 76aaa2fb10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 1183 additions and 5 deletions

View File

@ -768,7 +768,7 @@
// there are some missing textures. I don't know what the game actually does here.
// the format for entries is [level, tpage, index]
"missing_textures": [["vinroom", 0, 0]],
"missing_textures": [["vinroom", 0, 0], ["ctyfence", 0, 0]],
// some object files have garbage pad data at the end which makes the decompiler
// assume they must be different files, such as the art group for orb-cache-top.

View File

@ -161,6 +161,25 @@
"DGO/CASCITY.DGO",
"DGO/LYSAMSAM.DGO",
"DGO/VI1.DGO"
// ps3 test levels
// "DGO/4AARON.DGO",
// "DGO/4PAL01.DGO",
// "DGO/ANDREW01.DGO",
// "DGO/BSBS.DGO",
// "DGO/CHARTEST.DGO",
// "DGO/CTYFENCE.DGO", // this level needs a bigger level heap, adjust in level.gc
// "DGO/DPTEST.DGO",
// "DGO/EITEST.DGO",
// "DGO/MIKETEST.DGO",
// "DGO/ISLAND1.DGO",
// "DGO/SKATEPARK.DGO",
// "DGO/STADOCC.DGO",
// "DGO/TATETEST.DGO",
// "DGO/TESTSTDC.DGO",
// "DGO/TESTSTDD.DGO",
// "DGO/TOBYTEST.DGO",
// "DGO/WASALL.DGO"
],
// some objects are part of STR files (streaming data).
@ -570,6 +589,26 @@
"UNB.DGO",
"UND.DGO",
"VI1.DGO",
"VIN.DGO"
"VIN.DGO",
"HALFPIPE.DGO"
// ps3 test levels
// "4AARON.DGO",
// "4PAL01.DGO",
// "ANDREW01.DGO",
// "BSBS.DGO",
// "CHARTEST.DGO",
// "CTYFENCE.DGO", // this level needs a bigger level heap, adjust in level.gc
// "DPTEST.DGO",
// "EITEST.DGO",
// "MIKETEST.DGO",
// "ISLAND1.DGO",
// "SKATEPARK.DGO",
// "STADOCC.DGO"
// "TATETEST.DGO",
// "TESTSTDC.DGO",
// "TESTSTDD.DGO",
// "TOBYTEST.DGO",
// "WASALL.DGO"
]
}

View File

@ -503,3 +503,5 @@
(define *jak1-full-game* (if (user? dass) #t #f))
(define *jak1-territory* GAME_TERRITORY_SCEA)
;; whether to enable ps3 test levels for jak 2
(define USE_PS3_LEVELS #f)

View File

@ -0,0 +1,5 @@
("4AARON.DGO"
(
"4aaron-vis.go"
"tpage-2764.go"
))

View File

@ -0,0 +1,8 @@
("4PAL01.DGO"
(
"4pal01-vis.go"
"tpage-308.go"
"tpage-2330.go"
"tpage-307.go"
"tomb-bounce-web-ag.go"
))

View File

@ -0,0 +1,5 @@
("ANDREW01.DGO"
(
"andrew01-vis.go"
"tpage-1337.go"
))

View File

@ -0,0 +1,5 @@
("BSBS.DGO"
(
"bsbs-vis.go"
"tpage-504.go"
))

View File

@ -0,0 +1,10 @@
("CHARTEST.DGO"
(
"chartest-vis.go"
"tpage-1846.go"
"tpage-496.go"
"tpage-498.go"
"jak-highres-ag.go"
"mech-ag.go"
"daxter-highres-ag.go"
))

View File

@ -0,0 +1,5 @@
("CTYFENCE.DGO"
(
"ctyfence-vis.go"
"tpage-760.go"
))

View File

@ -0,0 +1,6 @@
("DPT.DGO"
(
"dptest-vis.go"
"tpage-776.go"
"tpage-780.go"
))

View File

@ -0,0 +1,8 @@
("EITEST.DGO"
(
"eitest-vis.go"
"tpage-691.go"
"tpage-658.go"
"tpage-690.go"
"eitest-ag.go"
))

View File

@ -0,0 +1,4 @@
("ISLAND1.DGO"
("tpage-3510.go"
"island1-vis.go"
))

View File

@ -0,0 +1,9 @@
("MIKETEST.DGO"
(
"miketest-vis.go"
"tpage-3096.go"
"tpage-3097.go"
"tpage-3099.go"
"tpage-3098.go"
"com-airlock-inner-ag.go"
))

View File

@ -0,0 +1,12 @@
("SKATEPARK.DGO"
("drill-turret-ext-ag.go"
"drill-turret-int-ag.go"
"jak-pole+0-ag.go"
"lazerfence-ag.go"
"lazerpit-ag.go"
"mech-ag.go"
"tpage-243.go"
"tpage-354.go"
"tpage-3279.go"
"skatepark-vis.go"
))

View File

@ -0,0 +1,4 @@
("STADOCC.DGO"
(
"stadocc-vis.go"
))

View File

@ -0,0 +1,5 @@
("TATETEST.DGO"
(
"tatetest-vis.go"
"tpage-922.go"
))

View File

@ -0,0 +1,9 @@
("TESTSTDC.DGO"
(
"teststdc-vis.go"
"tpage-3392.go"
"tpage-3390.go"
"tpage-3391.go"
"stdmb-race-hatch-ag.go"
"stad-c-force-field-ag.go"
))

View File

@ -0,0 +1,9 @@
("TESTSTDD.DGO"
(
"teststdd-vis.go"
"tpage-3386.go"
"tpage-3387.go"
"tpage-3385.go"
"stdmb-race-hatch-ag.go"
"stad-d-force-field-ag.go"
))

View File

@ -0,0 +1,11 @@
("TOBYTEST.DGO"
(
"tobytest-vis.go"
"tpage-667.go"
"tpage-665.go"
"tpage-664.go"
"cas-conveyor-switch-ag.go"
"cas-robot-door-ag.go"
"cas-chain-plat-ag.go"
"cas-electric-fence-ag.go"
))

View File

@ -0,0 +1,6 @@
("WASALL.DGO"
("com-airlock-inner-ag.go"
"tpage-3574.go"
"tpage-3575.go"
"wasall-vis.go"
))

View File

@ -14527,9 +14527,9 @@
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0926 -0.12 -0.9884))
)
:on-goto #f
:vis-nick 'atoll
:vis-nick 'dptest ;; changed
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'atoll :display? 'display :force-vis? #f :force-inside? #f)
(new 'static 'level-buffer-state :name 'dptest :display? 'display :force-vis? #f :force-inside? #f) ;; changed
(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)
@ -14594,7 +14594,31 @@
:ocean #f
:sky #t
:use-camera-other #f
:continues '()
;; added
:continues '((new 'static 'continue-point
:name "ctyfence-start"
:level 'ctyfence
:trans (new 'static 'vector :x (meters 170.7) :y (meters 9.1063) :z (meters 1133.2773) :w 1.0)
:quat (new 'static 'vector :y -0.3182 :w -0.9480)
:camera-trans (new 'static 'vector :x (meters 169.222) :y (meters 14.23) :z (meters 1121) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0601 0.0604 -0.0036))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0601 0.0604 -0.0036))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0601 0.0604 -0.0036))
)
:on-goto #f
:vis-nick 'ctyfence
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'ctyfence :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
@ -14638,6 +14662,858 @@
0
)
;; added in PC port: test levels from the ps3 version
(#when USE_PS3_LEVELS
(define 4aaron (new 'static 'level-load-info
:index 1
:name '4aaron
:visname '4aaron-vis
:nickname '4aaron
:dbname '4aaron
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "4aaron-start"
:level '4aaron
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 6) :y (meters 0) :z (meters 5.8) :w 1.0)
:quat (new 'static 'vector :y -0.7267 :w 0.6868)
:camera-trans (new 'static 'vector :x (meters 14.04) :y (meters 4.5716) :z (meters 12.4) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0297 0.9011 -0.0626))
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0297 0.9011 -0.0626))
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0297 0.9011 -0.0626))
)
:on-goto #f
:vis-nick '4aaron
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name '4aaron :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define 4pal01 (new 'static 'level-load-info
:index 1
:name '4pal01
:visname '4pal01-vis
:nickname '4pal01
:dbname '4pal01
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "4pal01-start"
:level '4pal01
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters -5.632) :y (meters 0) :z (meters -5.682) :w 1.0)
:quat (new 'static 'vector :y 0.9642 :w 0.2650)
:camera-trans (new 'static 'vector :x (meters -15.704) :y (meters 5) :z (meters -12.1401) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.869 0.0 -0.4947))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0663 0.9909 0.1165))
(new 'static 'vector3s :data (new 'static 'array float 3 0.4903 -0.134 0.8611))
)
:on-goto #f
:vis-nick '4pal01
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name '4pal01 :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define andrew01 (new 'static 'level-load-info
:index 1
:name 'andrew01
:visname 'andrew01-vis
:nickname 'andrew01
:dbname 'andrew01
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "andrew01-start"
:level 'andrew01
:flags (continue-flags game-start)
:trans (new 'static 'vector :x 1942413.2 :y 34479.31 :z 275525.62 :w 1.0)
:quat (new 'static 'vector :y 0.4562 :w 0.8898)
:camera-trans (new 'static 'vector :x 1921090.8 :y 53425.766 :z 237949.75 :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.869 0.0 -0.4947))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0663 0.9909 0.1165))
(new 'static 'vector3s :data (new 'static 'array float 3 0.4903 -0.134 0.8611))
)
:on-goto #f
:vis-nick 'andrew01
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'andrew01 :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define bsbs (new 'static 'level-load-info
:index 1
:name 'bsbs
:visname 'bsbs-vis
:nickname 'bsbs
:dbname 'bsbs
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "bsbs-start"
:level 'bsbs
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 118.7956) :y (meters 0) :z (meters 91) :w 1.0)
:quat (new 'static 'vector :y -0.4269 :w 0.9042)
:camera-trans (new 'static 'vector :x (meters 131) :y (meters 5.146) :z (meters 93.7) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0370 -0.769 0.6365))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0370 -0.769 0.6365))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0370 -0.769 0.6365))
)
:on-goto #f
:vis-nick 'bsbs
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'bsbs :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define eitest (new 'static 'level-load-info
:index 1
:name 'eitest
:visname 'eitest-vis
:nickname 'eitest
:dbname 'eitest
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "eitest-start"
:level 'eitest
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 8.5438) :y (meters -10) :z (meters 18.304) :w 1.0)
:quat (new 'static 'vector :y -0.8945 :w 0.4468)
:camera-trans (new 'static 'vector :x (meters 12.6751) :y (meters -4.9116) :z (meters 29.8563) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0104 0.9830 -0.0591))
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0104 0.9830 -0.0591))
(new 'static 'vector3s :data (new 'static 'array float 3 -0.0104 0.9830 -0.0591))
)
:on-goto #f
:vis-nick 'eitest
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'eitest :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define miketest (new 'static 'level-load-info
:index 1
:name 'miketest
:visname 'miketest-vis
:nickname 'miketest
:dbname 'miketest
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "miketest-start"
:level 'miketest
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 0.547) :y (meters 0.6084) :z (meters -1.3416) :w 1.0)
:quat (new 'static 'vector :y 0.9923 :w -0.1234)
:camera-trans (new 'static 'vector :x (meters 11.8525) :y (meters 5.7214) :z (meters -6.3575) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0500 -0.5936 -6.3575))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0500 -0.5936 -6.3575))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0500 -0.5936 -6.3575))
)
:on-goto #f
:vis-nick 'miketest
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'miketest :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define tatetest (new 'static 'level-load-info
:index 1
:name 'tatetest
:visname 'tatetest-vis
:nickname 'tatetest
:dbname 'tatetest
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "tatetest-start"
:level 'tatetest
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 39.2181) :y (meters 59.47) :z (meters 15.41) :w 1.0)
:quat (new 'static 'vector :y -0.6084 :w 0.735)
:camera-trans (new 'static 'vector :x (meters 50.601) :y (meters 64.6123) :z (meters 20.558) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0322 -0.8364 0.0495))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0322 -0.8364 0.0495))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0322 -0.8364 0.0495))
)
:on-goto #f
:vis-nick 'tatetest
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'tatetest :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define teststdc (new 'static 'level-load-info
:index 1
:name 'teststdc
:visname 'teststdc-vis
:nickname 'teststdc
:dbname 'teststdc
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "teststdc-start"
:level 'teststdc
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters -87.3788) :y (meters 11.4971) :z (meters -696.8) :w 1.0)
:quat (new 'static 'vector :y 0.4821 :w 0.8760)
:camera-trans (new 'static 'vector :x (meters -95.4312) :y (meters 16.6371) :z (meters -706.36) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0569 0.3426 -0.0208))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0569 0.3426 -0.0208))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0569 0.3426 -0.0208))
)
:on-goto #f
:vis-nick 'teststdc
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'teststdc :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define teststdd (new 'static 'level-load-info
:index 1
:name 'teststdd
:visname 'teststdd-vis
:nickname 'teststdd
:dbname 'teststdd
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "teststdd-start"
:level 'teststdd
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters 35.106) :y (meters 11.5) :z (meters -687.111) :w 1.0)
:quat (new 'static 'vector :y -0.4833 :w -0.8754)
:camera-trans (new 'static 'vector :x (meters 28.0362) :y (meters 16.65) :z (meters -697.26) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.055 0.3174 -0.0184))
(new 'static 'vector3s :data (new 'static 'array float 3 0.055 0.3174 -0.0184))
(new 'static 'vector3s :data (new 'static 'array float 3 0.055 0.3174 -0.0184))
)
:on-goto #f
:vis-nick 'teststdd
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'teststdd :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define wasall (new 'static 'level-load-info
:index 1
:name 'wasall
:visname 'wasall-vis
:nickname 'wasall
:dbname 'wasall
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "wasall-start"
:level 'wasall
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters -38.3113) :y (meters 16) :z (meters 124.927) :w 1.0)
:quat (new 'static 'vector :y -0.4833 :w -0.8754)
:camera-trans (new 'static 'vector :x (meters -48.3764) :y (meters 20.5) :z (meters 124.3) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
)
:on-goto #f
:vis-nick 'wasall
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'wasall :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
(define stadocc (new 'static 'level-load-info
:index 1
:name 'stadocc
:visname 'stadocc-vis
:nickname 'stadocc
:dbname 'stadocc
:taskname 'default
:packages '()
:memory-mode (load-buffer-mode large)
:music-bank #f
:ambient-sounds '()
:mood-func 'update-mood-default
:mood-init #f
:ocean #f
:sky #t
:use-camera-other #f
:continues '((new 'static 'continue-point
:name "stadocc-start"
:level 'stadocc
:flags (continue-flags game-start)
:trans (new 'static 'vector :x (meters -38.3113) :y (meters 16) :z (meters 124.927) :w 1.0)
:quat (new 'static 'vector :y -0.4833 :w -0.8754)
:camera-trans (new 'static 'vector :x (meters -48.3764) :y (meters 20.5) :z (meters 124.3) :w 1.0)
:camera-rot (new 'static 'inline-array vector3s 3
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
(new 'static 'vector3s :data (new 'static 'array float 3 0.0524 0.6814 -0.05))
)
:on-goto #f
:vis-nick 'stadocc
:want (new 'static 'inline-array level-buffer-state 6
(new 'static 'level-buffer-state :name 'stadocc :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)
(new 'static 'level-buffer-state :name #f :display? #f :force-vis? #f :force-inside? #f)
)
:want-sound (new 'static 'array symbol 3 #f #f #f)
)
)
:tasks '()
:priority 100
:load-commands '()
:alt-load-commands '()
:bsp-mask #xffffffffffffffff
:buttom-height (meters -20)
:run-packages '()
:wait-for-load #t
:login-func #f
:activate-func #f
:deactivate-func #f
:kill-func #f
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
:texture-anim-pris #f
:texture-anim-shrub #f
:texture-anim-alpha #f
:texture-anim-water #f
:texture-anim-twarp #f
:texture-anim-pris2 #f
:texture-anim-sprite #f
:texture-anim-map #f
:texture-anim-sky #f
:draw-priority 10.0
:fog-height 327680.0
:bigmap-id (bigmap-id bigmap-id-20)
:ocean-near-translucent? #t
:ocean-far? #f
:mood-range (new 'static 'mood-range :data (new 'static 'array float 4 0.0 1.0 0.0 1.0))
:max-rain 1.0
:fog-mult 1.0
:ocean-alpha 1.0
:extra-sound-bank #f
)
)
)
(#when DEMO_HACK
(set! (-> ctywide memory-mode) (load-buffer-mode small-center))
(set! (-> demo memory-mode) (load-buffer-mode small-edge))
@ -14807,3 +15683,16 @@
ctyfence
)
)
(#when USE_PS3_LEVELS
(cons! *level-load-list* '4aaron)
(cons! *level-load-list* '4pal01)
(cons! *level-load-list* 'bsbs)
(cons! *level-load-list* 'eitest)
(cons! *level-load-list* 'miketest)
(cons! *level-load-list* 'tatetest)
(cons! *level-load-list* 'teststdc)
(cons! *level-load-list* 'teststdd)
(cons! *level-load-list* 'wasall)
(cons! *level-load-list* 'stadocc)
)

View File

@ -248,6 +248,26 @@
(cgo-file "lracebb.gd" common-dep)
(cgo-file "ltentob.gd" common-dep)
;; test levels from the ps3 version
(when USE_PS3_LEVELS
(cgo-file "skatepar.gd" common-dep)
(cgo-file "4aaron.gd" common-dep)
(cgo-file "4pal01.gd" common-dep)
(cgo-file "bsbs.gd" common-dep)
(cgo-file "chartest.gd" common-dep)
(cgo-file "ctyfence.gd" common-dep)
(cgo-file "dptest.gd" common-dep)
(cgo-file "eitest.gd" common-dep)
(cgo-file "island1.gd" common-dep)
(cgo-file "miketest.gd" common-dep)
(cgo-file "stadocc.gd" common-dep)
(cgo-file "tatetest.gd" common-dep)
(cgo-file "teststdc.gd" common-dep)
(cgo-file "teststdd.gd" common-dep)
(cgo-file "tobytest.gd" common-dep)
(cgo-file "wasall.gd" common-dep)
)
;;;;;;;;;;;;;;;;;;;;;
;; ANIMATIONS
;;;;;;;;;;;;;;;;;;;;;

107
scripts/gen-dgo-txt.py Normal file
View File

@ -0,0 +1,107 @@
import json
import argparse
import os, shutil, sys
from glob import glob
from pathlib import Path
# generate dgo.txt and gd files out of ps3 test level dgo folders
# usage: python gen-dgo-txt.py <path to dgo folder>
dgo_json = {}
def get_dgo_files(path):
return glob(path + "/**/*.go", recursive=True)
def remove_extensions(file_list):
for file in file_list:
if (file.endswith("-bt.go")):
os.rename(file, file[:-3].replace("-bt", "-vis"))
elif file.endswith(".go"):
os.rename(file, file[:-3])
def move_to_root_folder(root_path, cur_path):
for filename in os.listdir(cur_path):
if os.path.isfile(os.path.join(cur_path, filename)):
shutil.move(os.path.join(cur_path, filename), os.path.join(root_path, filename))
elif os.path.isdir(os.path.join(cur_path, filename)):
move_to_root_folder(root_path, os.path.join(cur_path, filename))
else:
sys.exit("Should never reach here.")
# remove empty folders
if cur_path != root_path:
os.rmdir(cur_path)
def gen_json_for_dgo(folder_name, files):
dgo_name = os.path.basename(Path(folder_name)) + ".DGO"
dgo = {
"file_name": dgo_name,
"internal_name": dgo_name,
"objects": []
}
for file in files:
internal_name = ""
if "." in file:
internal_name = Path(file).name.split(".")[0]
else:
internal_name = file
unique_name = internal_name
if (internal_name.endswith("-ag")):
internal_name = internal_name.replace("-ag", "")
elif (internal_name.endswith("-bt")):
internal_name = internal_name.replace("-bt", "-vis")
unique_name = unique_name.replace("-bt", "-vis")
dgo["objects"].append({
"internal_name": internal_name,
"unique_name": unique_name
})
return dgo
def gen_gd_file(dgo_name, file_list):
# ("SKATEPARK.DGO"
# ("drill-turret-ext-ag.go"
# "drill-turret-int-ag.go"
# "jak-pole+0-ag.go"
# "lazerfence-ag.go"
# "lazerpit-ag.go"
# "mech-ag.go"
# "tpage-243.go"
# "tpage-354.go"
# "tpage-3279.go"
# "skatepark-bt.go"
# ))
file_names = []
for file in file_list:
file = file.replace("-bt", "-vis")
file_names.append(os.path.basename(Path(file)))
buffer = ""
buffer += "(" + "\"" + os.path.basename(Path(dgo_name)) + ".DGO" + "\"" + "\n (\n"
for file in file_names:
buffer += " \"" + file + "\"\n"
buffer += " ))\n"
# print("dgo " + os.path.basename(Path(dgo_name)) + " gd:\n" + buffer + "\n")
with open(dgo_name + "/" + os.path.basename(Path(dgo_name)).lower() + ".gd", "a+") as f:
f.write(buffer)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("dgo_folder", type=str)
args = parser.parse_args()
# generate gd files for all dgo folders in current directory
# folders = [name for name in os.listdir(os.getcwd()) if os.path.isdir(os.path.join(os.getcwd(), name))]
# for folder in folders:
# gen_gd_file(folder, get_dgo_files(folder))
files = get_dgo_files(args.dgo_folder)
gen_gd_file(args.dgo_folder, files)
dgo_json = gen_json_for_dgo(args.dgo_folder, files)
# print(dgo_json)
with open (args.dgo_folder + "/" + os.path.basename(Path(args.dgo_folder)) + ".DGO.txt", "a+") as f:
json.dump(dgo_json, f, indent=4)
move_to_root_folder(args.dgo_folder, args.dgo_folder)
file_list_after = glob(args.dgo_folder + "/**/*.go", recursive=True)
remove_extensions(file_list_after)
if __name__ == "__main__":
main()