mirror of
https://github.com/open-goal/jak-project
synced 2026-06-06 11:47:44 -04:00
579 lines
15 KiB
Common Lisp
579 lines
15 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: progress-h.gc
|
|
;; name in dgo: progress-h
|
|
;; dgos: ENGINE, GAME
|
|
|
|
(define-extern deactivate-progress (function none))
|
|
(define-extern progress-allowed? (function symbol))
|
|
(define-extern hide-progress-screen (function none))
|
|
(declare-type menu-option basic)
|
|
(declare-type menu-option-list basic)
|
|
|
|
(declare-type progress process-drawable)
|
|
(define-extern *progress-process* (pointer progress))
|
|
(define-extern activate-progress (function process symbol none))
|
|
|
|
(define-extern memcard-unlocked-secrets? (function symbol game-secrets))
|
|
(define-extern progress-selected (function int int :behavior progress))
|
|
(define-extern get-num-highscores (function int))
|
|
(define-extern get-next-highscore (function int int))
|
|
(define-extern get-prev-highscore (function int int))
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(deftype progress (process-drawable)
|
|
((current-options menu-option-list :offset-assert 200)
|
|
(menu-transition float :offset-assert 204)
|
|
(option-index int32 :offset-assert 208)
|
|
(want-option-index int32 :offset-assert 212)
|
|
(next-option-index int32 :offset-assert 216)
|
|
(graphic-index int32 :offset-assert 220)
|
|
(selected-option symbol :offset-assert 224)
|
|
(current symbol :offset-assert 228)
|
|
(next symbol :offset-assert 232)
|
|
(ring-angle float :offset-assert 236)
|
|
(ring-want-angle float :offset-assert 240)
|
|
(init-quat quaternion :inline :offset-assert 256)
|
|
(pos-transition float :offset-assert 272)
|
|
(anim-frame float :offset-assert 276)
|
|
(swing float :offset-assert 280)
|
|
(main-menu symbol :offset-assert 284)
|
|
(state-stack symbol 5 :offset-assert 288)
|
|
(option-index-stack int32 5 :offset-assert 308)
|
|
(state-pos int32 :offset-assert 328)
|
|
(secret-buying basic :offset-assert 332)
|
|
(secret-buy-choice basic :offset-assert 336)
|
|
(sliding float :offset-assert 340)
|
|
(sliding-off float :offset-assert 344)
|
|
(scanlines-alpha float :offset-assert 348)
|
|
(sliding-height float :offset-assert 352)
|
|
)
|
|
:heap-base #xf0
|
|
:method-count-assert 33
|
|
:size-assert #x164
|
|
:flag-assert #x2100f00164
|
|
(:methods
|
|
(come-in () _type_ :state 20)
|
|
(idle () _type_ :state 21)
|
|
(go-away () _type_ :state 22)
|
|
(gone () _type_ :state 23)
|
|
(init-defaults (_type_) connection 24)
|
|
(progress-method-25 (_type_) none 25)
|
|
(progress-method-26 (_type_) object 26)
|
|
(can-go-back? (_type_) symbol 27)
|
|
(progress-method-28 (_type_ symbol) symbol 28)
|
|
(progress-method-29 (_type_) int 29)
|
|
(progress-method-30 (_type_) int 30)
|
|
(set-next-state (_type_ symbol int) int 31)
|
|
(set-menu-options (_type_ symbol) int 32)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype menu-option (basic)
|
|
((name game-text-id :offset-assert 4)
|
|
(scale float :offset-assert 8)
|
|
(unknown function :offset-assert 12)
|
|
(unknown-symbol symbol :offset 8)
|
|
(box hud-box 1 :inline :offset-assert 16)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
(:methods
|
|
(respond-progress (_type_ progress object) int :behavior progress 9)
|
|
(menu-option-method-10 (_type_ progress font-context int symbol) none 10)
|
|
(menu-option-method-11 () none 11)
|
|
)
|
|
)
|
|
|
|
|
|
(deftype menu-on-off-option (menu-option)
|
|
((value-to-modify (pointer symbol) :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x34
|
|
:flag-assert #xc00000034
|
|
)
|
|
|
|
|
|
(deftype menu-yes-no-option (menu-option)
|
|
((value-to-modify pointer :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x34
|
|
:flag-assert #xc00000034
|
|
)
|
|
|
|
|
|
(deftype menu-language-option (menu-option)
|
|
((language-selection language-enum :offset-assert 48)
|
|
(language-direction symbol :offset-assert 56)
|
|
(language-transition basic :offset-assert 60)
|
|
(language-x-offset int32 :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-quit-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-slider-option (menu-option)
|
|
((value-to-modify pointer :offset-assert 48)
|
|
(sprites hud-sprite 5 :inline :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x180
|
|
:flag-assert #xc00000180
|
|
)
|
|
|
|
|
|
(deftype menu-sub-menu-option (menu-option)
|
|
((next-state basic :offset-assert 48)
|
|
(pad uint8 44 :offset-assert 52)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x60
|
|
:flag-assert #xc00000060
|
|
)
|
|
|
|
|
|
(deftype menu-sub-menu-sound-option (menu-option)
|
|
((next-state basic :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x34
|
|
:flag-assert #xc00000034
|
|
)
|
|
|
|
|
|
(deftype menu-stereo-mode-sound-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-sub-menu-graphic-option (menu-option)
|
|
((next-state basic :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x34
|
|
:flag-assert #xc00000034
|
|
)
|
|
|
|
|
|
(deftype menu-unlocked-menu-option (menu-sub-menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x60
|
|
:flag-assert #xc00000060
|
|
)
|
|
|
|
|
|
(deftype menu-main-menu-option (menu-option)
|
|
((next-state basic :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x34
|
|
:flag-assert #xc00000034
|
|
)
|
|
|
|
|
|
(deftype menu-memcard-slot-option (menu-option)
|
|
((sprites hud-sprite 5 :inline :offset-assert 48)
|
|
(pad uint8 32 :offset-assert 368)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x190
|
|
:flag-assert #xc00000190
|
|
)
|
|
|
|
|
|
(deftype menu-loading-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-insufficient-space-option (menu-option)
|
|
((last-move uint64 :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x38
|
|
:flag-assert #xc00000038
|
|
)
|
|
|
|
|
|
(deftype menu-secrets-insufficient-space-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-insert-card-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-error-loading-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-error-auto-saving-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-card-removed-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-error-disc-removed-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-error-reading-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-icon-info-option (menu-option)
|
|
((sprites hud-sprite 2 :inline :offset-assert 48)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #xb0
|
|
:flag-assert #xc000000b0
|
|
)
|
|
|
|
|
|
(deftype menu-format-card-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-already-exists-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-create-game-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-video-mode-warning-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-video-mode-ok-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-progressive-mode-warning-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-progressive-mode-ok-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype menu-select-start-option (menu-option)
|
|
((task-index int32 :offset-assert 48)
|
|
(real-task-index int32 :offset-assert 52)
|
|
(last-move uint64 :offset-assert 56)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-select-scene-option (menu-option)
|
|
((task-index int32 :offset-assert 48)
|
|
(last-move uint64 :offset-assert 56)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-bigmap-option (menu-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x30
|
|
:flag-assert #xc00000030
|
|
)
|
|
|
|
|
|
(deftype paged-menu-option (menu-option)
|
|
((page-index int32 :offset-assert 48)
|
|
(prev-page-index int32 :offset-assert 52)
|
|
(num-pages int32 :offset-assert 56)
|
|
(slide-dir float :offset-assert 60)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-missions-option (paged-menu-option)
|
|
((task-line-index int32 :offset-assert 64)
|
|
(last-move uint64 :offset-assert 72)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x50
|
|
:flag-assert #xc00000050
|
|
)
|
|
|
|
|
|
(deftype menu-highscores-option (paged-menu-option)
|
|
((last-move uint64 :offset-assert 64)
|
|
(sprites hud-sprite 2 :inline :offset-assert 80)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #xd0
|
|
:flag-assert #xc000000d0
|
|
)
|
|
|
|
|
|
(deftype secret-item-option (menu-option)
|
|
((cost int32 :offset-assert 48)
|
|
(can-toggle symbol :offset-assert 52)
|
|
(flag uint32 :offset-assert 56)
|
|
(avail-after uint16 :offset-assert 60)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x3e
|
|
:flag-assert #xc0000003e
|
|
)
|
|
|
|
|
|
(deftype menu-secret-option (menu-option)
|
|
((item-index int32 :offset-assert 48)
|
|
(prev-item-index int32 :offset-assert 52)
|
|
(num-items int32 :offset-assert 56)
|
|
(num-hero-items int32 :offset-assert 60)
|
|
(secret-items (array secret-item-option) :offset-assert 64)
|
|
(last-move uint64 :offset-assert 72)
|
|
(sprites hud-sprite 2 :inline :offset-assert 80)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #xd0
|
|
:flag-assert #xc000000d0
|
|
)
|
|
|
|
|
|
(deftype menu-option-list (basic)
|
|
((y-center int32 :offset-assert 4)
|
|
(y-space int32 :offset-assert 8)
|
|
(scale float :offset-assert 12)
|
|
(options (array menu-option) :dynamic :offset-assert 16)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x10
|
|
:flag-assert #x900000010
|
|
)
|
|
|
|
|
|
(deftype menu-qr-option (menu-option)
|
|
((last-move uint64 :offset-assert 48)
|
|
(value-to-modify function :offset 60)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-restart-mission-qr-option (menu-qr-option)
|
|
((next-state basic :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-quit-qr-option (menu-qr-option)
|
|
((next-state basic :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-sub-menu-qr-option (menu-qr-option)
|
|
((next-state basic :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-graphic-option (menu-option)
|
|
((last-move uint64 :offset-assert 48)
|
|
(value-to-modify pointer :offset 60)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-on-off-progressive-scan-graphic-option (menu-graphic-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-aspect-ratio-option (menu-graphic-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-center-screen-graphic-option (menu-graphic-option)
|
|
((next-state basic :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-video-mode-option (menu-graphic-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-game-option (menu-option)
|
|
((last-move uint64 :offset-assert 48)
|
|
(value-to-modify pointer :offset 60)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-on-off-game-vibrations-option (menu-game-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-on-off-game-subtitles-option (menu-game-option)
|
|
()
|
|
:method-count-assert 12
|
|
:size-assert #x40
|
|
:flag-assert #xc00000040
|
|
)
|
|
|
|
|
|
(deftype menu-sub-menu-game-option (menu-game-option)
|
|
((next-state basic :offset-assert 64)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x44
|
|
:flag-assert #xc00000044
|
|
)
|
|
|
|
|
|
(deftype menu-language-game-option (menu-game-option)
|
|
((language-selection uint64 :offset-assert 64)
|
|
(language-direction basic :offset-assert 72)
|
|
(language-transition basic :offset-assert 76)
|
|
(language-x-offset int32 :offset-assert 80)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x54
|
|
:flag-assert #xc00000054
|
|
)
|
|
|
|
|
|
(deftype menu-subtitle-language-game-option (menu-game-option)
|
|
((language-selection uint64 :offset-assert 64)
|
|
(language-direction basic :offset-assert 72)
|
|
(language-transition basic :offset-assert 76)
|
|
(language-x-offset int32 :offset-assert 80)
|
|
)
|
|
:method-count-assert 12
|
|
:size-assert #x54
|
|
:flag-assert #xc00000054
|
|
)
|