d/jak2: finish scene (#1971)

`scene-player-init` has some weird `rtype-of` usage (mostly in the
`pair` clause)
This commit is contained in:
Tyler Wilding
2022-10-15 17:43:02 -04:00
committed by GitHub
parent a10d60c42c
commit fd7d9c3df5
20 changed files with 4033 additions and 365 deletions
+157 -152
View File
@@ -4782,7 +4782,7 @@
(deftype subtitle-range (basic)
((start-frame float :offset-assert 4)
(end-frame float :offset-assert 8)
(message object 8 :offset-assert 12)
(message basic 8 :offset-assert 12)
)
:method-count-assert 9
:size-assert #x2c
@@ -6649,75 +6649,75 @@
(text-xfe #x00fe)
(text-xff #x00ff)
(text-x100 #x0100)
(pause 257)
(pause #x101)
(text-x102 #x0102)
(text-x103 #x0103)
(text-x104 #x0104)
(text-x105 #x0105)
(text-x106 #x0106)
(text-x107 #x0107)
(progress-sound-music-volume 264)
(progress-sound-speech-volume 265)
(progress-sound-music-volume #x108)
(progress-sound-speech-volume #x109)
(text-x109 #x0109)
(text-x10a #x010a)
(text-x10b #x010b)
(text-x10c #x010c)
(text-x10d #x010d)
(progress-on 270)
(progress-off 271)
(progress-move-dpad 272)
(progress-aspect-ratio 280)
(progress-progressive-scan 281)
(progress-video-mode 282)
(progress-root-game-options 283)
(progress-root-graphic-options 284)
(progress-root-sound-options 285)
(progress-aspect-4x3 286)
(progress-aspect-16x9 287)
(progress-refresh-60hz 288)
(progress-refresh-50hz 289)
(progress-demo-exit 291)
(progress-yes 292)
(progress-no 293)
(progress-back 294)
(progress-ok 295)
(progress-next 296)
(progress-previous 297)
(progress-continue-without-saving 298)
(progress-select-file-to-save 299)
(progress-select-file-to-load 300)
(progress-load-game 301)
(progress-save-game 302)
(progress-slot-empty 303)
(progress-title-options 304)
(progress-title-new-game 305)
(progress-title-prompt 306)
(progress-quit 307)
(progress-root-show-map 308)
(progress-on #x10e)
(progress-off #x10f)
(progress-move-dpad #x110)
(progress-aspect-ratio #x118)
(progress-progressive-scan #x119)
(progress-video-mode #x11a)
(progress-root-game-options #x11b)
(progress-root-graphic-options #x11c)
(progress-root-sound-options #x11d)
(progress-aspect-4x3 #x11e)
(progress-aspect-16x9 #x11f)
(progress-refresh-60hz #x120)
(progress-refresh-50hz #x121)
(progress-demo-exit #x123)
(progress-yes #x124)
(progress-no #x125)
(progress-back #x126)
(progress-ok #x127)
(progress-next #x128)
(progress-previous #x129)
(progress-continue-without-saving #x12a)
(progress-select-file-to-save #x12b)
(progress-select-file-to-load #x12c)
(progress-load-game #x12d)
(progress-save-game #x12e)
(progress-slot-empty #x12f)
(progress-title-options #x130)
(progress-title-new-game #x131)
(progress-title-prompt #x132)
(progress-quit #x133)
(progress-root-show-map #x134)
(text-x135 #x0135)
(progress-root-highscores 310)
(progress-highscores-1st 311)
(progress-highscores-2nd 312)
(progress-highscores-3rd 313)
(progress-highscores-4th 314)
(progress-highscores-5th 315)
(progress-highscores-6th 316)
(progress-highscores-7th 317)
(progress-highscores-8th 318)
(progress-root-secrets 339)
(progress-secrets-unlocked 340)
(progress-root-highscores #x136)
(progress-highscores-1st #x137)
(progress-highscores-2nd #x138)
(progress-highscores-3rd #x139)
(progress-highscores-4th #x13a)
(progress-highscores-5th #x13b)
(progress-highscores-6th #x13c)
(progress-highscores-7th #x13d)
(progress-highscores-8th #x13e)
(progress-root-secrets #x153)
(progress-secrets-unlocked #x154)
(text-x155 #x0155)
(text-x156 #x0156)
(text-x157 #x0157)
(text-x158 #x0158)
(progress-main-secrets-hero-mode 345)
(progress-main-secrets-sceneplayer-1 346)
(progress-main-secrets-sceneplayer-2 347)
(progress-main-secrets-sceneplayer-3 348)
(progress-main-secrets-scrapbook 349)
(progress-main-secrets-mega-scrapbook 350)
(progress-main-secrets-scrapbook-3 351)
(progress-main-secrets-levelselect 352)
(progress-main-secrets-hero-mode #x159)
(progress-main-secrets-sceneplayer-1 #x15a)
(progress-main-secrets-sceneplayer-2 #x15b)
(progress-main-secrets-sceneplayer-3 #x15c)
(progress-main-secrets-scrapbook #x15d)
(progress-main-secrets-mega-scrapbook #x15e)
(progress-main-secrets-scrapbook-3 #x15f)
(progress-main-secrets-levelselect #x160)
(text-x161 #x0161)
(text-x162 #x0162)
(text-x163 #x0163)
@@ -6725,28 +6725,28 @@
(text-x165 #x0165)
(text-x166 #x0166)
(text-x167 #x0167)
(progress-secrets-orb-label 360)
(progress-root-missions 361)
(progress-secrets-orb-label #x168)
(progress-root-missions #x169)
(text-x16a #x016a)
(text-x16b #x016b)
(text-x16c #x016c)
(text-x16d #x016d)
(progress-root-restart-mission 366)
(progress-missions-icon-todo 367)
(progress-missions-icon-completed 368)
(progress-missions-none 369)
(progress-unknown-game 370)
(progress-root-restart-mission #x16e)
(progress-missions-icon-todo #x16f)
(progress-missions-icon-completed #x170)
(progress-missions-none #x171)
(progress-unknown-game #x172)
(text-x173 #x0173)
(text-x174 #x0174)
(text-x175 #x0175)
(text-x176 #x0176)
(text-x177 #x0177)
(text-x178 #x0178)
(progress-unknown-square-to-reset 377)
(progress-unknown-oi1un23i13 380)
(progress-unknown-kjanskd 381)
(progress-unknown-retry? 382)
(progress-secrets-go-to-title-screen 383)
(progress-unknown-square-to-reset #x179)
(progress-unknown-oi1un23i13 #x17c)
(progress-unknown-kjanskd #x17d)
(progress-unknown-retry? #x17e)
(progress-secrets-go-to-title-screen #x17f)
(text-x180 #x0180)
(text-x181 #x0181)
(text-x182 #x0182)
@@ -6759,45 +6759,45 @@
(text-x189 #x0189)
(text-x18a #x018a)
(text-x18b #x018b)
(progress-graphics-60hz-change-notice 395)
(progress-graphics-progressivescan-change-notice 396)
(progress-graphics-progressivescan-warning-1 397)
(progress-graphics-progressivescan-warning-2 398)
(progress-graphics-60hz-change-complete 399)
(progress-graphics-progressivescan-change-complete 400)
(progress-graphics-mode-revert? 401)
(progress-disc-removed-notice 402)
(progress-disc-removed-prompt 403)
(progress-disc-read-error 404)
(progress-disc-read-error-prompt 405)
(progress-quit-game-confirm 406)
(progress-memcard-not-found 409)
(progress-memcard-unformatted 410)
(progress-memcard-space-requirement 411)
(progress-memcard-insert-card-with-jak2 412)
(progress-memcard-insert-card-with-space-to-save 413)
(progress-memcard-formatting-required-notice 414)
(progress-memcard-loading-data 416)
(progress-graphics-60hz-change-notice #x18b)
(progress-graphics-progressivescan-change-notice #x18c)
(progress-graphics-progressivescan-warning-1 #x18d)
(progress-graphics-progressivescan-warning-2 #x18e)
(progress-graphics-60hz-change-complete #x18f)
(progress-graphics-progressivescan-change-complete #x190)
(progress-graphics-mode-revert? #x191)
(progress-disc-removed-notice #x192)
(progress-disc-removed-prompt #x193)
(progress-disc-read-error #x194)
(progress-disc-read-error-prompt #x195)
(progress-quit-game-confirm #x196)
(progress-memcard-not-found #x199)
(progress-memcard-unformatted #x19a)
(progress-memcard-space-requirement #x19b)
(progress-memcard-insert-card-with-jak2 #x19c)
(progress-memcard-insert-card-with-space-to-save #x19d)
(progress-memcard-formatting-required-notice #x19e)
(progress-memcard-loading-data #x1a0)
(text-x1a1 #x01a1)
(text-x1a2 #x01a2)
(progress-memcard-dont-remove 419)
(progress-memcard-overwrite-warning 420)
(progress-memcard-overwrite-confirm 421)
(progress-memcard-format-prompt 422)
(progress-memcard-continue? 423)
(progress-memcard-go-back? 424)
(progress-memcard-error-while-saving 426)
(progress-memcard-dont-remove #x1a3)
(progress-memcard-overwrite-warning #x1a4)
(progress-memcard-overwrite-confirm #x1a5)
(progress-memcard-format-prompt #x1a6)
(progress-memcard-continue? #x1a7)
(progress-memcard-go-back? #x1a8)
(progress-memcard-error-while-saving #x1aa)
(text-x1ab #x01ab)
(text-x1ac #x01ac)
(progress-memcard-check 429)
(progress-memcard-check-and-try-again 430)
(progress-memcard-was-removed 431)
(progress-autosave-disabled 432)
(progress-autosave-reenabling-info 433)
(progress-memcard-no-jak2-found 434)
(progress-memcard-create-jak2-file? 435)
(progress-autosave-explanation 436)
(progress-autosave-dont-remove 437)
(progress-memcard-check #x1ad)
(progress-memcard-check-and-try-again #x1ae)
(progress-memcard-was-removed #x1af)
(progress-autosave-disabled #x1b0)
(progress-autosave-reenabling-info #x1b1)
(progress-memcard-no-jak2-found #x1b2)
(progress-memcard-create-jak2-file? #x1b3)
(progress-autosave-explanation #x1b4)
(progress-autosave-dont-remove #x1b5)
(text-x1b6 #x01b6)
(text-x1b7 #x01b7)
(text-x1b8 #x01b8)
@@ -6892,23 +6892,23 @@
(text-x211 #x0211)
(text-x212 #x0212)
(text-x213 #x0213)
(progress-locations-haven-city 531)
(progress-locations-fortress 532)
(progress-locations-landing-pad 533)
(progress-locations-palace-roof 534)
(progress-locations-palace 535)
(progress-locations-weapons-factory 536)
(progress-locations-dead-town 537)
(progress-locations-pumping-station 538)
(progress-locations-sewer 539)
(progress-locations-strip-mine 540)
(progress-locations-mountain-temple 541)
(progress-locations-haven-forest 542)
(progress-locations-drill-platform 543)
(progress-locations-mars-tomb 544)
(progress-locations-dig 545)
(progress-locations-underport 546)
(progress-locations-nest 547)
(progress-locations-haven-city #x213)
(progress-locations-fortress #x214)
(progress-locations-landing-pad #x215)
(progress-locations-palace-roof #x216)
(progress-locations-palace #x217)
(progress-locations-weapons-factory #x218)
(progress-locations-dead-town #x219)
(progress-locations-pumping-station #x21a)
(progress-locations-sewer #x21b)
(progress-locations-strip-mine #x21c)
(progress-locations-mountain-temple #x21d)
(progress-locations-haven-forest #x21e)
(progress-locations-drill-platform #x21f)
(progress-locations-mars-tomb #x220)
(progress-locations-dig #x221)
(progress-locations-underport #x222)
(progress-locations-nest #x223)
(text-x224 #x0224)
(text-x225 #x0225)
(text-x226 #x0226)
@@ -6953,7 +6953,9 @@
(text-x24d #x024d)
(text-x24e #x024e)
(text-x24f #x024f)
(progress-unknown-continue 784)
(scene-subtitles-enabled #x30d)
(scene-subtitles-disabled #x30e)
(progress-unknown-continue #x310)
)
;; ---text-id-h:game-text-id
@@ -8274,7 +8276,9 @@
(bounds-spheres)
(actors)
(actor-marks)
(special-fma-spheres))
(special-fma-spheres)
(scene-controls-7)
(scene-controls-8))
;; ---main-h:scene-controls
(define-extern *display-scene-control* scene-controls)
@@ -11234,7 +11238,7 @@
:flag-assert #xf000000d8
;; Failed to read fields.
(:methods
;; (new (symbol type process art-joint-geo) _type_ 0)
(new (symbol type process symbol) _type_ 0)
(get-skeleton-origin (_type_) vector 9)
(draw-control-method-10 () none 10) ;; (lod-set! (_type_ int) none 10)
(draw-control-method-11 () none 11) ;; (lods-assign! (_type_ lod-set) none 11)
@@ -15072,14 +15076,14 @@
)
(deftype scene-player (process-drawable)
((scene-list (pointer symbol) :offset-assert 200)
((scene-list (array scene) :offset-assert 200) ;; string/scene
(scene scene :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim spool-anim :offset-assert 212)
(next-anim spool-anim :offset-assert 216)
(camera handle :offset-assert 224)
(main-entity entity-actor :offset-assert 232)
(wait basic :offset-assert 236)
(wait symbol :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue string :offset-assert 292)
@@ -15093,7 +15097,7 @@
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound uint32 4 :offset-assert 360) ;; guess
(user-sound sound-id 4 :offset-assert 360) ;; guess
)
:method-count-assert 26
:size-assert #x178
@@ -15103,7 +15107,7 @@
(release () _type_ :state 21)
(play-anim () _type_ :state 22)
(scene-player-method-23 (_type_ string symbol) none 23)
(scene-player-method-24 (_type_ basic symbol) scene 24)
(scene-player-method-24 "TODO - arg1 can be string/scene" (_type_ basic symbol) scene 24)
(scene-player-method-25 (_type_ float) none 25)
)
)
@@ -20453,14 +20457,14 @@
(scale-x float :offset-assert 36)
(scale-y float :offset-assert 40)
(angle float :offset-assert 44)
(tex basic :offset-assert 48)
(tex texture :offset-assert 48)
)
:method-count-assert 11
:size-assert #x34
:flag-assert #xb00000034
(:methods
(hud-sprite-method-9 (_type_ dma-buffer level) none 9)
(hud-sprite-method-10 () none 10)
(hud-sprite-method-10 (_type_) none 10)
)
)
@@ -20510,34 +20514,35 @@
:type uint32
:bitfield #t
)
(deftype hud (process)
((trigger-time time-frame :offset-assert 128) ;; time-frame
(last-hide-time time-frame :offset-assert 136) ;; time-frame
(offset float :offset-assert 144) ;; int32
(flags hud-flags :offset-assert 148)
(values hud-value 8 :inline :offset-assert 152)
(strings hud-string 14 :inline :offset-assert 288)
(values hud-value 8 :inline :offset-assert 152 :score 999)
(strings hud-string 14 :inline :offset-assert 288 :score 999)
(sprites hud-sprite 30 :inline :offset-assert 960)
(icons hud-icon 2 :inline :offset-assert 2880) ;; guessed by decompiler
(gui-id uint32 :offset-assert 2976)
(gui-id sound-id :offset-assert 2976)
)
:method-count-assert 27
:size-assert #xba4
:flag-assert #x1b0b300ba4
(:methods
(hud-method-14 () none 14) ;; (hidden? (_type_) symbol 14)
(hud-method-15 () none 15) ;; (draw-hud (_type_) none 15)
(hud-method-16 () none 16) ;; (tally-value (_type_ int int) none 16)
(hud-method-17 () none 17) ;; (draw-icons (_type_) none 17)
(hud-method-18 () none 18) ;; (draw-particles (_type_) none 18)
(hud-method-19 () none 19) ;; (hud-update (_type_) none 19)
(hud-method-20 () none 20) ;; (init-particles! (_type_ int) none 20)
(hud-method-21 () none 21) ;; (get-icon-pos-x (_type_) int 21)
(hud-method-22 () none 22) ;; (get-icon-pos-y (_type_) int 22)
(hud-method-23 () none 23) ;; (dummy-23 (_type_) none 23)
(hud-method-24 () none 24) ;; (set-pos-and-scale (_type_ symbol symbol) none 24)
(hud-method-25 () none 25) ;; (get-icon-scale-x (_type_) float 25)
(hud-method-26 () none 26) ;; (get-icon-scale-y (_type_) float 26)
(hidden? (_type_) symbol 14) ;; (hidden? (_type_) symbol 14)
(hud-method-15 (_type_) none 15) ;; (draw-hud (_type_) none 15)
(hud-method-16 (_type_ int int) none 16) ;; (tally-value (_type_ int int) none 16)
(hud-method-17 (_type_) none 17) ;; (draw-icons (_type_) none 17)
(hud-method-18 (_type_) symbol 18) ;; (draw-particles (_type_) none 18)
(hud-method-19 (_type_) none 19) ;; (hud-update (_type_) none 19)
(hud-method-20 (_type_) none 20) ;; (init-particles! (_type_ int) none 20)
(hud-method-21 (_type_) none 21) ;; (get-icon-pos-x (_type_) int 21)
(hud-method-22 (_type_) none 22) ;; (get-icon-pos-y (_type_) int 22)
(hud-method-23 (_type_) none 23) ;; (dummy-23 (_type_) none 23)
(hud-method-24 (_type_ symbol) none 24) ;; (set-pos-and-scale (_type_ symbol symbol) none 24)
(hud-method-25 (_type_) none 25) ;; (get-icon-scale-x (_type_) float 25)
(hud-method-26 (_type_ int) none 26) ;; (get-icon-scale-y (_type_) float 26)
)
)
@@ -29867,7 +29872,7 @@
(define-extern *subtitle-work* subtitle-work)
(define-extern draw-subtitle-image (function subtitle-image font-context pointer))
(define-extern process-drawable-draw-subtitles (function none :behavior process-drawable))
(define-extern scene-player-init (function string symbol object none :behavior scene-player))
(define-extern scene-player-init "`object` arg can be an `(array scene)`, `pair of scene` or a `scene`" (function object symbol string none :behavior scene-player))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; pov-camera ;;
@@ -29964,8 +29969,8 @@
(mask-tmpl dma-gif-packet :inline :offset-assert 160)
(line-tmpl dma-gif-packet :inline :offset-assert 192)
(scan-tmpl dma-gif-packet :inline :offset-assert 224)
(line-color uint64 :offset-assert 256)
(scan-colors uint64 32 :offset 272)
(line-color vector4w :inline :offset-assert 256)
(scan-colors vector4w 32 :inline :offset 272)
(scanline uint32 :offset 784)
)
:method-count-assert 9
@@ -29974,11 +29979,11 @@
)
(define-extern *hud-sprite-work* hud-sprite-work)
;; (define-extern hud-create-icon function)
;; (define-extern hud-hidden state) ;; (state hud)
;; (define-extern hud-arriving state) ;; (state hud)
;; (define-extern hud-in state) ;; (state hud)
;; (define-extern hud-leaving state) ;; (state int hud)
(define-extern hud-create-icon (function none))
(define-extern hud-hidden (state hud)) ;; (state hud)
(define-extern hud-arriving (state hud)) ;;
(define-extern hud-in (state hud)) ;; (state hud)
(define-extern hud-leaving (state int hud)) ;; (state int hud)
(define-extern hud-init-by-other (function object :behavior hud))
(define-extern hide-hud (function symbol none))
;; (define-extern enable-hud function) ;; (function none)
@@ -30288,7 +30293,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftype minimap-texture-name-array (structure)
((data uint32 35 :offset-assert 0)
((data object 35 :offset-assert 0)
)
:method-count-assert 9
:size-assert #x8c
@@ -398,7 +398,6 @@
[45, "(function surface object object int float :behavior target)"],
[76, "(function surface surface surface int float :behavior target)"]
],
"scene": [[4, "(function symbol)"]],
"target-darkjak": [
[6, "(function vector :behavior target)"],
[7, "(function vector :behavior target)"],
@@ -416,5 +415,6 @@
],
"water": [[10, "(function vector :behavior process-drawable)"]],
"dark-eco-pool": [[0, "(function none :behavior dark-eco-pool)"]],
"target-gun": [[22, "(function surface object object int object :behavior target)"]]
"target-gun": [[22, "(function surface object object int object :behavior target)"]],
"scene": [[4, "(function symbol :behavior scene-player)"]]
}
+2 -2
View File
@@ -122,7 +122,6 @@
"(method 12 effect-control)",
"(method 11 effect-control)",
"(method 10 effect-control)",
"(anon-function 2 scene)",
"(method 10 bigmap)",
"(method 9 editable-region)", // condition branch assert hit
"(method 57 enemy)",
@@ -221,7 +220,8 @@
"(method 8 process-tree)",
"(post play-anim scene-player)",
"(method 25 scene-player)",
"(method 25 scene-player)"
"(method 25 scene-player)",
"scene-player-init"
],
// If format is used with the wrong number of arguments,
+45 -4
View File
@@ -2877,11 +2877,13 @@
"(method 24 conveyor)": [["_stack_", 16, "res-tag"]],
"(method 25 conveyor)": [[11, "v0", "actor-option"]],
"(method 24 scene-player)": [[38, "gp", "scene"]],
"process-drawable-draw-subtitles": [[26, "v0", "(pointer vector)"]],
"process-drawable-draw-subtitles": [[26, "v0", "(array subtitle-range)"]],
"(post play-anim scene-player)": [
[192, "s4", "process-drawable"],
[243, "s4", "process-drawable"],
[306, "s5", "process-drawable"]
[306, "s5", "process-drawable"],
[564, "v0", "sound-rpc-set-param"],
[655, "v0", "sound-rpc-set-param"]
],
"(method 9 scene-actor)": [
[43, "s4", "skeleton-group"],
@@ -3488,6 +3490,45 @@
[[351,375], "s5", "sound-rpc-set-param"]
],
// placeholder
"placeholder-do-not-add-below": []
"draw-subtitle-image": [
[[44, 48], "a0", "dma-packet"],
[[49, 58], "a0", "gs-gif-tag"],
[70, "a0", "(pointer gs-bitbltbuf)"],
[72, "a0", "(pointer gs-reg64)"],
[73, "a0", "(pointer gs-trxpos)"],
[75, "a0", "(pointer gs-reg64)"],
[81, "a0", "(pointer gs-trxreg)"],
[83, "a0", "(pointer gs-reg64)"],
[84, "a0", "(pointer gs-trxdir)"],
[86, "a0", "(pointer gs-reg64)"],
[[106, 112], "a1", "dma-packet"],
[[113, 121], "a1", "gs-gif-tag"],
[128, "a1", "(pointer gs-reg64)"],
[130, "a1", "(pointer gs-alpha)"],
[126, "a1", "(pointer gs-test)"],
[132, "a1", "(pointer gs-reg64)"],
[148, "a1", "(pointer gs-tex0)"],
[150, "a1", "(pointer gs-reg64)"],
[153, "a1", "(pointer gs-reg64)"],
[157, "a1", "(pointer gs-reg64)"],
[160, "a1", "(pointer gs-reg64)"],
[151, "a1", "(pointer gs-tex1)"],
[155, "a1", "(pointer gs-clamp)"],
[158, "a1", "(pointer uint64)"],
[[163, 194], "v1", "(pointer uint128)"],
[[195, 199], "t0", "gs-gif-tag"],
[[201, 206], "t0", "gs-gif-tag"],
[[208, 213], "a2", "gs-gif-tag"],
[[215, 220], "v1", "gs-gif-tag"],
[[223, 254], "v1", "(pointer uint128)"],
[[255, 259], "t0", "gs-gif-tag"],
[[261, 266], "t0", "gs-gif-tag"],
[[268, 273], "a1", "gs-gif-tag"],
[[275, 280], "v1", "gs-gif-tag"],
[[291, 296], "v1", "dma-packet"]
],
"scene-player-init": [
[[37, 44], "s5", "(array scene)"],
[83, "v0", "(array scene)"]
]
}
+1
View File
@@ -75,6 +75,7 @@ void GfxDisplay::save_display_settings() {
json["window_ypos"] = m_last_windowed_ypos;
std::string file_path =
(file_util::get_user_settings_dir(g_game_version) / "display-settings.json").string();
file_util::create_dir_if_needed_for_file(file_path);
file_util::write_text_file(file_path, json.dump(2));
}
+2 -1
View File
@@ -5,7 +5,8 @@
;; name in dgo: ambient-h
;; dgos: ENGINE, GAME
(define-extern kill-current-talker (function symbol pair symbol none)) ;; see (exit play-anim scene-player)
;; NOTE - for scene
(define-extern kill-current-talker (function symbol pair symbol none))
;; DECOMP BEGINS
@@ -13,6 +13,11 @@
(inherit-orientation 2)
)
;; NOTE - for scene
(declare-type pov-camera process-drawable)
(declare-type othercam process)
(define-extern othercam-init-by-other (function pov-camera int symbol symbol none :behavior othercam))
;; DECOMP BEGINS
(deftype pov-camera (process-drawable)
+1
View File
@@ -387,6 +387,7 @@
:size-assert #xd8
:flag-assert #xf000000d8
(:methods
(new (symbol type process symbol) _type_ 0)
(get-skeleton-origin (_type_) vector 9)
(draw-control-method-10 () none 10)
(draw-control-method-11 () none 11)
+3
View File
@@ -82,6 +82,9 @@
(test 22) ;; hi 64
)
;; NOTE - for scene
(define-extern auto-save-user (function none))
;; DECOMP BEGINS
(deftype process-drawable (process)
+5 -3
View File
@@ -34,7 +34,9 @@
(bounds-spheres)
(actors)
(actor-marks)
(special-fma-spheres))
(special-fma-spheres)
(scene-controls-7)
(scene-controls-8))
;; ---scene-controls
;; +++bot-marks-controls
@@ -319,6 +321,6 @@
(define-extern paused? (function symbol))
(define-extern set-master-mode (function symbol none))
(define-extern toggle-pause (function int))
(define-extern *screen-filter* screen-filter)
(define-extern on (function symbol process))
(define-extern menu-respond-to-pause (function symbol))
(define-extern menu-respond-to-pause (function symbol))
+1 -1
View File
@@ -205,7 +205,7 @@
(deftype subtitle-range (basic)
((start-frame float :offset-assert 4)
(end-frame float :offset-assert 8)
(message object 8 :offset-assert 12)
(message basic 8 :offset-assert 12)
)
:method-count-assert 9
:size-assert #x2c
+23 -23
View File
@@ -7,7 +7,7 @@
;; NOTE - for default-menu
(declare-type scene-player process-drawable)
(define-extern scene-player-init (function string symbol object none :behavior scene-player))
(define-extern scene-player-init (function object symbol string none :behavior scene-player))
;; DECOMP BEGINS
@@ -76,28 +76,28 @@
(deftype scene-player (process-drawable)
((scene-list (pointer symbol) :offset-assert 200)
(scene scene :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim spool-anim :offset-assert 212)
(next-anim spool-anim :offset-assert 216)
(camera handle :offset-assert 224)
(main-entity entity-actor :offset-assert 232)
(wait basic :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue string :offset-assert 292)
(dma-max uint32 :offset-assert 296)
(gui-id uint32 :offset-assert 300)
(aborted? symbol :offset-assert 304)
(scene-start-time time-frame :offset-assert 312)
(targ-speed float :offset-assert 320)
(cur-speed float :offset-assert 324)
(speed-change-time time-frame :offset-assert 328)
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound uint32 4 :offset-assert 360)
((scene-list (array scene) :offset-assert 200)
(scene scene :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim spool-anim :offset-assert 212)
(next-anim spool-anim :offset-assert 216)
(camera handle :offset-assert 224)
(main-entity entity-actor :offset-assert 232)
(wait symbol :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue string :offset-assert 292)
(dma-max uint32 :offset-assert 296)
(gui-id uint32 :offset-assert 300)
(aborted? symbol :offset-assert 304)
(scene-start-time time-frame :offset-assert 312)
(targ-speed float :offset-assert 320)
(cur-speed float :offset-assert 324)
(speed-change-time time-frame :offset-assert 328)
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound sound-id 4 :offset-assert 360)
)
:heap-base #x100
:method-count-assert 26
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -41,14 +41,14 @@
(scale-x float :offset-assert 36)
(scale-y float :offset-assert 40)
(angle float :offset-assert 44)
(tex basic :offset-assert 48)
(tex texture :offset-assert 48)
)
:method-count-assert 11
:size-assert #x34
:flag-assert #xb00000034
(:methods
(hud-sprite-method-9 (_type_ dma-buffer level) none 9)
(hud-sprite-method-10 () none 10)
(hud-sprite-method-10 (_type_) none 10)
)
)
@@ -107,26 +107,26 @@
(strings hud-string 14 :inline :offset-assert 288)
(sprites hud-sprite 30 :inline :offset-assert 960)
(icons hud-icon 2 :inline :offset-assert 2880)
(gui-id uint32 :offset-assert 2976)
(gui-id sound-id :offset-assert 2976)
)
:heap-base #xb30
:method-count-assert 27
:size-assert #xba4
:flag-assert #x1b0b300ba4
(:methods
(hud-method-14 () none 14)
(hud-method-15 () none 15)
(hud-method-16 () none 16)
(hud-method-17 () none 17)
(hud-method-18 () none 18)
(hud-method-19 () none 19)
(hud-method-20 () none 20)
(hud-method-21 () none 21)
(hud-method-22 () none 22)
(hud-method-23 () none 23)
(hud-method-24 () none 24)
(hud-method-25 () none 25)
(hud-method-26 () none 26)
(hidden? (_type_) symbol 14)
(hud-method-15 (_type_) none 15)
(hud-method-16 (_type_ int int) none 16)
(hud-method-17 (_type_) none 17)
(hud-method-18 (_type_) symbol 18)
(hud-method-19 (_type_) none 19)
(hud-method-20 (_type_) none 20)
(hud-method-21 (_type_) none 21)
(hud-method-22 (_type_) none 22)
(hud-method-23 (_type_) none 23)
(hud-method-24 (_type_ symbol) none 24)
(hud-method-25 (_type_) none 25)
(hud-method-26 (_type_ int) none 26)
)
)
+120 -118
View File
@@ -67,75 +67,75 @@
(text-xfe #x00fe)
(text-xff #x00ff)
(text-x100 #x0100)
(pause 257)
(pause #x101)
(text-x102 #x0102)
(text-x103 #x0103)
(text-x104 #x0104)
(text-x105 #x0105)
(text-x106 #x0106)
(text-x107 #x0107)
(progress-sound-music-volume 264)
(progress-sound-speech-volume 265)
(progress-sound-music-volume #x108)
(progress-sound-speech-volume #x109)
(text-x109 #x0109)
(text-x10a #x010a)
(text-x10b #x010b)
(text-x10c #x010c)
(text-x10d #x010d)
(progress-on 270)
(progress-off 271)
(progress-move-dpad 272)
(progress-aspect-ratio 280)
(progress-progressive-scan 281)
(progress-video-mode 282)
(progress-root-game-options 283)
(progress-root-graphic-options 284)
(progress-root-sound-options 285)
(progress-aspect-4x3 286)
(progress-aspect-16x9 287)
(progress-refresh-60hz 288)
(progress-refresh-50hz 289)
(progress-demo-exit 291)
(progress-yes 292)
(progress-no 293)
(progress-back 294)
(progress-ok 295)
(progress-next 296)
(progress-previous 297)
(progress-continue-without-saving 298)
(progress-select-file-to-save 299)
(progress-select-file-to-load 300)
(progress-load-game 301)
(progress-save-game 302)
(progress-slot-empty 303)
(progress-title-options 304)
(progress-title-new-game 305)
(progress-title-prompt 306)
(progress-quit 307)
(progress-root-show-map 308)
(progress-on #x10e)
(progress-off #x10f)
(progress-move-dpad #x110)
(progress-aspect-ratio #x118)
(progress-progressive-scan #x119)
(progress-video-mode #x11a)
(progress-root-game-options #x11b)
(progress-root-graphic-options #x11c)
(progress-root-sound-options #x11d)
(progress-aspect-4x3 #x11e)
(progress-aspect-16x9 #x11f)
(progress-refresh-60hz #x120)
(progress-refresh-50hz #x121)
(progress-demo-exit #x123)
(progress-yes #x124)
(progress-no #x125)
(progress-back #x126)
(progress-ok #x127)
(progress-next #x128)
(progress-previous #x129)
(progress-continue-without-saving #x12a)
(progress-select-file-to-save #x12b)
(progress-select-file-to-load #x12c)
(progress-load-game #x12d)
(progress-save-game #x12e)
(progress-slot-empty #x12f)
(progress-title-options #x130)
(progress-title-new-game #x131)
(progress-title-prompt #x132)
(progress-quit #x133)
(progress-root-show-map #x134)
(text-x135 #x0135)
(progress-root-highscores 310)
(progress-highscores-1st 311)
(progress-highscores-2nd 312)
(progress-highscores-3rd 313)
(progress-highscores-4th 314)
(progress-highscores-5th 315)
(progress-highscores-6th 316)
(progress-highscores-7th 317)
(progress-highscores-8th 318)
(progress-root-secrets 339)
(progress-secrets-unlocked 340)
(progress-root-highscores #x136)
(progress-highscores-1st #x137)
(progress-highscores-2nd #x138)
(progress-highscores-3rd #x139)
(progress-highscores-4th #x13a)
(progress-highscores-5th #x13b)
(progress-highscores-6th #x13c)
(progress-highscores-7th #x13d)
(progress-highscores-8th #x13e)
(progress-root-secrets #x153)
(progress-secrets-unlocked #x154)
(text-x155 #x0155)
(text-x156 #x0156)
(text-x157 #x0157)
(text-x158 #x0158)
(progress-main-secrets-hero-mode 345)
(progress-main-secrets-sceneplayer-1 346)
(progress-main-secrets-sceneplayer-2 347)
(progress-main-secrets-sceneplayer-3 348)
(progress-main-secrets-scrapbook 349)
(progress-main-secrets-mega-scrapbook 350)
(progress-main-secrets-scrapbook-3 351)
(progress-main-secrets-levelselect 352)
(progress-main-secrets-hero-mode #x159)
(progress-main-secrets-sceneplayer-1 #x15a)
(progress-main-secrets-sceneplayer-2 #x15b)
(progress-main-secrets-sceneplayer-3 #x15c)
(progress-main-secrets-scrapbook #x15d)
(progress-main-secrets-mega-scrapbook #x15e)
(progress-main-secrets-scrapbook-3 #x15f)
(progress-main-secrets-levelselect #x160)
(text-x161 #x0161)
(text-x162 #x0162)
(text-x163 #x0163)
@@ -143,28 +143,28 @@
(text-x165 #x0165)
(text-x166 #x0166)
(text-x167 #x0167)
(progress-secrets-orb-label 360)
(progress-root-missions 361)
(progress-secrets-orb-label #x168)
(progress-root-missions #x169)
(text-x16a #x016a)
(text-x16b #x016b)
(text-x16c #x016c)
(text-x16d #x016d)
(progress-root-restart-mission 366)
(progress-missions-icon-todo 367)
(progress-missions-icon-completed 368)
(progress-missions-none 369)
(progress-unknown-game 370)
(progress-root-restart-mission #x16e)
(progress-missions-icon-todo #x16f)
(progress-missions-icon-completed #x170)
(progress-missions-none #x171)
(progress-unknown-game #x172)
(text-x173 #x0173)
(text-x174 #x0174)
(text-x175 #x0175)
(text-x176 #x0176)
(text-x177 #x0177)
(text-x178 #x0178)
(progress-unknown-square-to-reset 377)
(progress-unknown-oi1un23i13 380)
(progress-unknown-kjanskd 381)
(progress-unknown-retry? 382)
(progress-secrets-go-to-title-screen 383)
(progress-unknown-square-to-reset #x179)
(progress-unknown-oi1un23i13 #x17c)
(progress-unknown-kjanskd #x17d)
(progress-unknown-retry? #x17e)
(progress-secrets-go-to-title-screen #x17f)
(text-x180 #x0180)
(text-x181 #x0181)
(text-x182 #x0182)
@@ -177,45 +177,45 @@
(text-x189 #x0189)
(text-x18a #x018a)
(text-x18b #x018b)
(progress-graphics-60hz-change-notice 395)
(progress-graphics-progressivescan-change-notice 396)
(progress-graphics-progressivescan-warning-1 397)
(progress-graphics-progressivescan-warning-2 398)
(progress-graphics-60hz-change-complete 399)
(progress-graphics-progressivescan-change-complete 400)
(progress-graphics-mode-revert? 401)
(progress-disc-removed-notice 402)
(progress-disc-removed-prompt 403)
(progress-disc-read-error 404)
(progress-disc-read-error-prompt 405)
(progress-quit-game-confirm 406)
(progress-memcard-not-found 409)
(progress-memcard-unformatted 410)
(progress-memcard-space-requirement 411)
(progress-memcard-insert-card-with-jak2 412)
(progress-memcard-insert-card-with-space-to-save 413)
(progress-memcard-formatting-required-notice 414)
(progress-memcard-loading-data 416)
(progress-graphics-60hz-change-notice #x18b)
(progress-graphics-progressivescan-change-notice #x18c)
(progress-graphics-progressivescan-warning-1 #x18d)
(progress-graphics-progressivescan-warning-2 #x18e)
(progress-graphics-60hz-change-complete #x18f)
(progress-graphics-progressivescan-change-complete #x190)
(progress-graphics-mode-revert? #x191)
(progress-disc-removed-notice #x192)
(progress-disc-removed-prompt #x193)
(progress-disc-read-error #x194)
(progress-disc-read-error-prompt #x195)
(progress-quit-game-confirm #x196)
(progress-memcard-not-found #x199)
(progress-memcard-unformatted #x19a)
(progress-memcard-space-requirement #x19b)
(progress-memcard-insert-card-with-jak2 #x19c)
(progress-memcard-insert-card-with-space-to-save #x19d)
(progress-memcard-formatting-required-notice #x19e)
(progress-memcard-loading-data #x1a0)
(text-x1a1 #x01a1)
(text-x1a2 #x01a2)
(progress-memcard-dont-remove 419)
(progress-memcard-overwrite-warning 420)
(progress-memcard-overwrite-confirm 421)
(progress-memcard-format-prompt 422)
(progress-memcard-continue? 423)
(progress-memcard-go-back? 424)
(progress-memcard-error-while-saving 426)
(progress-memcard-dont-remove #x1a3)
(progress-memcard-overwrite-warning #x1a4)
(progress-memcard-overwrite-confirm #x1a5)
(progress-memcard-format-prompt #x1a6)
(progress-memcard-continue? #x1a7)
(progress-memcard-go-back? #x1a8)
(progress-memcard-error-while-saving #x1aa)
(text-x1ab #x01ab)
(text-x1ac #x01ac)
(progress-memcard-check 429)
(progress-memcard-check-and-try-again 430)
(progress-memcard-was-removed 431)
(progress-autosave-disabled 432)
(progress-autosave-reenabling-info 433)
(progress-memcard-no-jak2-found 434)
(progress-memcard-create-jak2-file? 435)
(progress-autosave-explanation 436)
(progress-autosave-dont-remove 437)
(progress-memcard-check #x1ad)
(progress-memcard-check-and-try-again #x1ae)
(progress-memcard-was-removed #x1af)
(progress-autosave-disabled #x1b0)
(progress-autosave-reenabling-info #x1b1)
(progress-memcard-no-jak2-found #x1b2)
(progress-memcard-create-jak2-file? #x1b3)
(progress-autosave-explanation #x1b4)
(progress-autosave-dont-remove #x1b5)
(text-x1b6 #x01b6)
(text-x1b7 #x01b7)
(text-x1b8 #x01b8)
@@ -310,23 +310,23 @@
(text-x211 #x0211)
(text-x212 #x0212)
(text-x213 #x0213)
(progress-locations-haven-city 531)
(progress-locations-fortress 532)
(progress-locations-landing-pad 533)
(progress-locations-palace-roof 534)
(progress-locations-palace 535)
(progress-locations-weapons-factory 536)
(progress-locations-dead-town 537)
(progress-locations-pumping-station 538)
(progress-locations-sewer 539)
(progress-locations-strip-mine 540)
(progress-locations-mountain-temple 541)
(progress-locations-haven-forest 542)
(progress-locations-drill-platform 543)
(progress-locations-mars-tomb 544)
(progress-locations-dig 545)
(progress-locations-underport 546)
(progress-locations-nest 547)
(progress-locations-haven-city #x213)
(progress-locations-fortress #x214)
(progress-locations-landing-pad #x215)
(progress-locations-palace-roof #x216)
(progress-locations-palace #x217)
(progress-locations-weapons-factory #x218)
(progress-locations-dead-town #x219)
(progress-locations-pumping-station #x21a)
(progress-locations-sewer #x21b)
(progress-locations-strip-mine #x21c)
(progress-locations-mountain-temple #x21d)
(progress-locations-haven-forest #x21e)
(progress-locations-drill-platform #x21f)
(progress-locations-mars-tomb #x220)
(progress-locations-dig #x221)
(progress-locations-underport #x222)
(progress-locations-nest #x223)
(text-x224 #x0224)
(text-x225 #x0225)
(text-x226 #x0226)
@@ -371,7 +371,9 @@
(text-x24d #x024d)
(text-x24e #x024e)
(text-x24f #x024f)
(progress-unknown-continue 784)
(scene-subtitles-enabled #x30d)
(scene-subtitles-disabled #x30e)
(progress-unknown-continue #x310)
)
;; ---game-text-id
+1
View File
@@ -608,6 +608,7 @@
:size-assert #xd8
:flag-assert #xf000000d8
(:methods
(new (symbol type process symbol) _type_ 0)
(get-skeleton-origin (_type_) vector 9)
(draw-control-method-10 () none 10)
(draw-control-method-11 () none 11)
+3 -3
View File
@@ -255,9 +255,9 @@
;; definition of type subtitle-range
(deftype subtitle-range (basic)
((start-frame float :offset-assert 4)
(end-frame float :offset-assert 8)
(message object 8 :offset-assert 12)
((start-frame float :offset-assert 4)
(end-frame float :offset-assert 8)
(message basic 8 :offset-assert 12)
)
:method-count-assert 9
:size-assert #x2c
+22 -22
View File
@@ -135,28 +135,28 @@
;; definition of type scene-player
(deftype scene-player (process-drawable)
((scene-list (pointer symbol) :offset-assert 200)
(scene scene :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim spool-anim :offset-assert 212)
(next-anim spool-anim :offset-assert 216)
(camera handle :offset-assert 224)
(main-entity entity-actor :offset-assert 232)
(wait basic :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue string :offset-assert 292)
(dma-max uint32 :offset-assert 296)
(gui-id uint32 :offset-assert 300)
(aborted? symbol :offset-assert 304)
(scene-start-time time-frame :offset-assert 312)
(targ-speed float :offset-assert 320)
(cur-speed float :offset-assert 324)
(speed-change-time time-frame :offset-assert 328)
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound uint32 4 :offset-assert 360)
((scene-list (array scene) :offset-assert 200)
(scene scene :offset-assert 204)
(scene-index int32 :offset-assert 208)
(anim spool-anim :offset-assert 212)
(next-anim spool-anim :offset-assert 216)
(camera handle :offset-assert 224)
(main-entity entity-actor :offset-assert 232)
(wait symbol :offset-assert 236)
(old-target-pos transformq :inline :offset-assert 240)
(pre-cut-frame basic :offset-assert 288)
(preload-continue string :offset-assert 292)
(dma-max uint32 :offset-assert 296)
(gui-id uint32 :offset-assert 300)
(aborted? symbol :offset-assert 304)
(scene-start-time time-frame :offset-assert 312)
(targ-speed float :offset-assert 320)
(cur-speed float :offset-assert 324)
(speed-change-time time-frame :offset-assert 328)
(speed-press-time time-frame :offset-assert 336)
(speed-change-speed float :offset-assert 344)
(subtitle-change-time time-frame :offset-assert 352)
(user-sound sound-id 4 :offset-assert 360)
)
:heap-base #x100
:method-count-assert 26
File diff suppressed because it is too large Load Diff
+18 -18
View File
@@ -38,14 +38,14 @@
(scale-x float :offset-assert 36)
(scale-y float :offset-assert 40)
(angle float :offset-assert 44)
(tex basic :offset-assert 48)
(tex texture :offset-assert 48)
)
:method-count-assert 11
:size-assert #x34
:flag-assert #xb00000034
(:methods
(hud-sprite-method-9 (_type_ dma-buffer level) none 9)
(hud-sprite-method-10 () none 10)
(hud-sprite-method-10 (_type_) none 10)
)
)
@@ -166,26 +166,26 @@
(strings hud-string 14 :inline :offset-assert 288)
(sprites hud-sprite 30 :inline :offset-assert 960)
(icons hud-icon 2 :inline :offset-assert 2880)
(gui-id uint32 :offset-assert 2976)
(gui-id sound-id :offset-assert 2976)
)
:heap-base #xb30
:method-count-assert 27
:size-assert #xba4
:flag-assert #x1b0b300ba4
(:methods
(hud-method-14 () none 14)
(hud-method-15 () none 15)
(hud-method-16 () none 16)
(hud-method-17 () none 17)
(hud-method-18 () none 18)
(hud-method-19 () none 19)
(hud-method-20 () none 20)
(hud-method-21 () none 21)
(hud-method-22 () none 22)
(hud-method-23 () none 23)
(hud-method-24 () none 24)
(hud-method-25 () none 25)
(hud-method-26 () none 26)
(hidden? (_type_) symbol 14)
(hud-method-15 (_type_) none 15)
(hud-method-16 (_type_ int int) none 16)
(hud-method-17 (_type_) none 17)
(hud-method-18 (_type_) symbol 18)
(hud-method-19 (_type_) none 19)
(hud-method-20 (_type_) none 20)
(hud-method-21 (_type_) none 21)
(hud-method-22 (_type_) none 22)
(hud-method-23 (_type_) none 23)
(hud-method-24 (_type_ symbol) none 24)
(hud-method-25 (_type_) none 25)
(hud-method-26 (_type_ int) none 26)
)
)
@@ -202,8 +202,8 @@
(format #t "~2Tlast-hide-time: ~D~%" (-> obj last-hide-time))
(format #t "~2Toffset: ~f~%" (-> obj offset))
(format #t "~2Tflags: ~D~%" (-> obj flags))
(format #t "~2Tvalues[8] @ #x~X~%" (&-> obj stack 24))
(format #t "~2Tstrings[14] @ #x~X~%" (&-> obj stack 160))
(format #t "~2Tvalues[8] @ #x~X~%" (&-> obj values 0 type))
(format #t "~2Tstrings[14] @ #x~X~%" (&-> obj strings 0 type))
(format #t "~2Tsprites[30] @ #x~X~%" (-> obj sprites))
(format #t "~2Ticons[2] @ #x~X~%" (&-> obj stack 2752))
(format #t "~2Tgui-id: ~D~%" (-> obj gui-id))