decomp: majority of progress (#1904)

Gets through ~90% of `progress`, wasn't able to figure out some stuff.
This commit is contained in:
Hat Kid 2022-09-25 16:15:32 +02:00 committed by GitHub
parent edecac9f09
commit e8b1aee24d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 328 additions and 283 deletions

View file

@ -3435,6 +3435,15 @@
(circle 13)
(x 14)
(square 15)
(pb16 16)
(pb17 17)
(pb18 18)
(pb19 19)
(pb20 20)
(pb21 21)
(pb22 22)
(pb23 23)
(pb24 24)
)
(deftype scf-time (structure)
@ -7187,7 +7196,7 @@
(bigmap-method-11 () none 11)
(bigmap-method-12 () none 12)
(bigmap-method-13 () none 13)
(bigmap-method-14 () none 14)
(bigmap-method-14 (_type_) none 14)
(bigmap-method-15 () none 15)
(bigmap-method-16 () none 16)
(bigmap-method-17 () none 17)
@ -10421,7 +10430,7 @@
(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)
(draw-control-method-12 () none 12)
(draw-control-method-12 (_type_ int int) none 12)
(draw-control-method-13 () none 13)
(draw-control-method-14 (_type_ cspace-array joint-control) none 14)
)
@ -11919,7 +11928,7 @@
(auto-save-count int32 :offset-assert 460)
(pov-camera-handle uint64 :offset-assert 464)
(other-camera-handle uint64 :offset-assert 472)
(controller uint64 2 :offset-assert 480)
(controller handle 2 :offset-assert 480)
(race-timer uint64 :offset-assert 496)
(race-current-lap-count int32 :offset-assert 504)
(race-total-lap-count int32 :offset-assert 508)
@ -19532,7 +19541,7 @@
(hud-box-method-10 () none 10)
(hud-box-method-11 () none 11)
(hud-box-method-12 () none 12)
(hud-box-method-13 () none 13)
(hud-box-method-13 (_type_ dma-buffer float) int 13)
(hud-box-method-14 () none 14)
(hud-box-method-15 () none 15)
)
@ -20033,24 +20042,27 @@
;; progress-h ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(declare-type menu-option basic)
(declare-type menu-option-list basic)
(deftype progress (process-drawable)
((current-options basic :offset-assert 200)
((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 basic :offset-assert 224)
(current basic :offset-assert 228)
(next basic :offset-assert 232)
(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 basic :offset-assert 284)
(state-stack int32 5 :offset-assert 288)
(main-menu symbol :offset-assert 284)
(state-stack symbol 5 :offset-assert 288)
(option-index-stack int32 5 :offset-assert 308) ;; guessed by decompiler
(state-pos int32 :offset-assert 328)
(secret-buying basic :offset-assert 332)
@ -20064,19 +20076,19 @@
:size-assert #x164
:flag-assert #x2100f00164
(:methods
(progress-method-20 () none 20) ;; (hidden? (_type_) symbol 20)
(progress-method-21 () none 21) ;; (adjust-sprites (_type_) none 21)
(progress-method-22 () none 22) ;; (adjust-icons (_type_) none 22)
(progress-method-23 () none 23) ;; (adjust-ratios (_type_ symbol symbol) none 23)
(progress-method-24 () none 24) ;; (draw-fuel-cell-screen (_type_ int) none 24)
(progress-method-25 () none 25) ;; (draw-money-screen (_type_ int) none 25)
(progress-method-26 () none 26) ;; (draw-buzzer-screen (_type_ int) none 26)
(come-in () _type_ :state 20) ;; (hidden? (_type_) symbol 20)
(idle () _type_ :state 21) ;; (adjust-sprites (_type_) none 21)
(go-away () _type_ :state 22) ;; (adjust-icons (_type_) none 22)
(gone () _type_ :state 23) ;; (adjust-ratios (_type_ symbol symbol) none 23)
(init-defaults "Initialize default menu settings." (_type_) connection 24) ;; (draw-fuel-cell-screen (_type_ int) none 24)
(progress-method-25 (_type_) none 25) ;; (draw-money-screen (_type_ int) none 25)
(progress-method-26 (_type_) object 26) ;; (draw-buzzer-screen (_type_ int) none 26)
(can-go-back? (_type_) symbol 27) ;; (draw-notice-screen (_type_) none 27)
(progress-method-28 () none 28) ;; (draw-options (_type_ int int float) none 28)
(progress-method-29 () none 29) ;; (respond-common (_type_) none 29)
(progress-method-30 () none 30) ;; (respond-progress (_type_) none 30)
(progress-method-31 () none 31) ;; (respond-memcard (_type_) none 31)
(progress-method-32 () none 32)
(progress-method-28 (_type_ symbol) symbol 28) ;; (draw-options (_type_ int int float) none 28)
(progress-method-29 (_type_) int 29) ;; (respond-common (_type_) none 29)
(progress-method-30 (_type_) int 30) ;; (respond-progress (_type_) none 30)
(set-next-state "Set the next menu state specified by arg0 at the index specified by arg1." (_type_ symbol int) int 31) ;; (respond-memcard (_type_) none 31)
(set-menu-options "Set the menu options for the menu state specified by arg0." (_type_ symbol) int 32)
)
)
@ -20089,14 +20101,14 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(menu-option-method-9 () none 9)
(respond-progress "Handle progress menu navigation logic." (_type_ progress object symbol) int 9)
(menu-option-method-10 () none 10)
(menu-option-method-11 () none 11)
)
)
(deftype menu-on-off-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -20106,7 +20118,7 @@
)
(deftype menu-yes-no-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -20138,7 +20150,7 @@
)
(deftype menu-slider-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
(sprites hud-sprite 5 :inline :offset-assert 64) ;; guess
)
:method-count-assert 12
@ -20442,7 +20454,7 @@
(deftype secret-item-option (menu-option)
((cost int32 :offset-assert 48)
(can-toggle basic :offset-assert 52)
(can-toggle symbol :offset-assert 52)
(flag uint32 :offset-assert 56)
(avail-after uint16 :offset-assert 60)
)
@ -20473,11 +20485,11 @@
((y-center int32 :offset-assert 4)
(y-space int32 :offset-assert 8)
(scale float :offset-assert 12)
(options basic :offset-assert 16)
(options menu-option :dynamic :offset-assert 16) ;; dynamic is a guess
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
:size-assert #x10
:flag-assert #x900000010
)
(deftype menu-qr-option (menu-option)
@ -20522,8 +20534,8 @@
)
(deftype menu-graphic-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40
@ -20570,8 +20582,8 @@
)
(deftype menu-game-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40
@ -28778,7 +28790,7 @@
(define-extern update-task-masks (function symbol none))
(define-extern play-clean (function symbol none))
(define-extern play-task (function game-task symbol symbol string))
;; (define-extern restart-mission function)
(define-extern restart-mission (function int))
;; (define-extern task-node-by-name function)
;; (define-extern task-resolution-close! function)
;; (define-extern task-close! function)
@ -28921,7 +28933,6 @@
;; hud ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype hud-sprite-work (structure)
((adgif-tmpl dma-gif-packet :inline :offset-assert 0)
(sprite-tmpl dma-gif-packet :inline :offset-assert 32)
@ -28932,27 +28943,26 @@
(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 UNKNOWN 32 :offset-assert 272)
(scanline uint32 :offset-assert 784)
(scan-colors uint64 32 :offset 272)
(scanline uint32 :offset 784)
)
:method-count-assert 9
:size-assert #x314
:flag-assert #x900000314
)
|#
;; (define-extern *hud-sprite-work* object)
(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-init-by-other function) ;; (function int none :behavior hud)
;; (define-extern hide-hud function) ;; (function none)
(define-extern hud-init-by-other (function int none :behavior hud))
(define-extern hide-hud (function symbol none))
;; (define-extern enable-hud function) ;; (function none)
(define-extern hide-hud-quick (function symbol none))
(define-extern show-hud (function object none))
;; (define-extern hud-hidden? function) ;; (function symbol)
(define-extern hud-hidden? (function symbol))
;; (define-extern set-hud-piece-position! function)
;; (define-extern set-as-offset-from! function)
@ -28967,7 +28977,6 @@
;; progress-static ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype hud-scene-info (basic)
((name basic :offset-assert 4)
(continue basic :offset-assert 8)
@ -28979,78 +28988,76 @@
:flag-assert #x900000014
;; field info uses ~A with a signed load
)
|#
;; (define-extern *main-options* menu-option-list) ;; (array game-option)
;; (define-extern *main-options-debug* menu-option-list)
;; (define-extern *main-kiosk-options* menu-option-list)
;; (define-extern *main-demo-options* menu-option-list)
;; (define-extern *title* menu-option-list) ;; (array game-option)
;; (define-extern *unlocked-secrets* menu-option-list)
;; (define-extern *options* menu-option-list) ;; (array game-option)
;; (define-extern *game-options* menu-option-list) ;; (array game-option)
;; (define-extern *game-options-japan* menu-option-list) ;; (array game-option)
;; (define-extern *game-options-demo* menu-option-list) ;; (array game-option)
;; (define-extern *graphic-options* menu-option-list) ;; (array game-option)
;; (define-extern *graphic-title-options-pal* menu-option-list) ;; (array game-option)
;; (define-extern *sound-options* menu-option-list) ;; (array game-option)
;; (define-extern *quit-restart-options* menu-option-list)
;; (define-extern *load-save-options* menu-option-list)
;; (define-extern *save-options-title* menu-option-list) ;; (array game-option)
;; (define-extern *loading-options* menu-option-list)
;; (define-extern *insufficient-space-options* menu-option-list)
;; (define-extern *secrets-insufficient-space-options* menu-option-list)
;; (define-extern *insert-card-options* menu-option-list)
;; (define-extern *error-loading-options* menu-option-list)
;; (define-extern *error-auto-saving-options* menu-option-list)
;; (define-extern *card-removed-options* menu-option-list)
;; (define-extern *error-disc-removed-options* menu-option-list)
;; (define-extern *error-reading-options* menu-option-list)
;; (define-extern *icon-info-options* menu-option-list)
;; (define-extern *format-card-options* menu-option-list)
;; (define-extern *already-exists-options* menu-option-list)
;; (define-extern *create-game-options* menu-option-list)
;; (define-extern *video-mode-warning-options* menu-option-list)
;; (define-extern *video-mode-ok-options* menu-option-list)
;; (define-extern *progressive-mode-warning-options* menu-option-list)
;; (define-extern *progressive-mode-ok-options* menu-option-list)
;; (define-extern *quit-options* menu-option-list)
;; (define-extern *select-start-options* menu-option-list)
;; (define-extern *select-scene-options* menu-option-list)
;; (define-extern *bigmap-options* menu-option-list)
;; (define-extern *missions-options* menu-option-list)
;; (define-extern *highscores-options* menu-option-list)
;; (define-extern *secret-options* menu-option-list)
;; (define-extern *language-name-remap* array) ;; (array game-text-id)
;; (define-extern *stereo-mode-name-remap* array)
;; (define-extern *hud-ring-graphic-remap* array)
;; (define-extern *hud-ring-kiosk-graphic-remap* array)
;; (define-extern *hud-ring-demo-graphic-remap* array)
;; (define-extern *hud-select-scene-act1* array)
;; (define-extern *hud-select-scene-act2* array)
;; (define-extern *hud-select-scene-act3* array)
(define-extern *main-options* menu-option-list) ;; (array game-option)
(define-extern *main-options-debug* menu-option-list)
(define-extern *main-kiosk-options* menu-option-list)
(define-extern *main-demo-options* menu-option-list)
(define-extern *title* menu-option-list) ;; (array game-option)
(define-extern *unlocked-secrets* menu-option-list)
(define-extern *options* menu-option-list) ;; (array game-option)
(define-extern *game-options* menu-option-list) ;; (array game-option)
(define-extern *game-options-japan* menu-option-list) ;; (array game-option)
(define-extern *game-options-demo* menu-option-list) ;; (array game-option)
(define-extern *graphic-options* menu-option-list) ;; (array game-option)
(define-extern *graphic-title-options-pal* menu-option-list) ;; (array game-option)
(define-extern *sound-options* menu-option-list) ;; (array game-option)
(define-extern *quit-restart-options* menu-option-list)
(define-extern *load-save-options* menu-option-list)
(define-extern *save-options-title* menu-option-list) ;; (array game-option)
(define-extern *loading-options* menu-option-list)
(define-extern *insufficient-space-options* menu-option-list)
(define-extern *secrets-insufficient-space-options* menu-option-list)
(define-extern *insert-card-options* menu-option-list)
(define-extern *error-loading-options* menu-option-list)
(define-extern *error-auto-saving-options* menu-option-list)
(define-extern *card-removed-options* menu-option-list)
(define-extern *error-disc-removed-options* menu-option-list)
(define-extern *error-reading-options* menu-option-list)
(define-extern *icon-info-options* menu-option-list)
(define-extern *format-card-options* menu-option-list)
(define-extern *already-exists-options* menu-option-list)
(define-extern *create-game-options* menu-option-list)
(define-extern *video-mode-warning-options* menu-option-list)
(define-extern *video-mode-ok-options* menu-option-list)
(define-extern *progressive-mode-warning-options* menu-option-list)
(define-extern *progressive-mode-ok-options* menu-option-list)
(define-extern *quit-options* menu-option-list)
(define-extern *select-start-options* menu-option-list)
(define-extern *select-scene-options* menu-option-list)
(define-extern *bigmap-options* menu-option-list)
(define-extern *missions-options* menu-option-list)
(define-extern *highscores-options* menu-option-list)
(define-extern *secret-options* menu-option-list)
(define-extern *language-name-remap* (array game-text-id))
(define-extern *stereo-mode-name-remap* menu-option-list)
(define-extern *hud-ring-graphic-remap* menu-option-list)
(define-extern *hud-ring-kiosk-graphic-remap* menu-option-list)
(define-extern *hud-ring-demo-graphic-remap* menu-option-list)
(define-extern *hud-select-scene-act1* menu-option-list)
(define-extern *hud-select-scene-act2* menu-option-list)
(define-extern *hud-select-scene-act3* menu-option-list)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; progress ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype progress-global-state (UNKNOWN)
(deftype progress-global-state (basic)
((aspect-ratio-choice symbol :offset-assert 4) ;; guessed by decompiler
(video-mode-choice symbol :offset-assert 8) ;; guessed by decompiler
(yes-no-choice symbol :offset-assert 12) ;; guessed by decompiler
(on-off-choice basic :offset-assert 16)
(on-off-choice symbol :offset-assert 16)
(which-slot int32 :offset-assert 20)
(starting-state progress-screen :offset-assert 24) ;; guessed by decompiler
(starting-state symbol :offset-assert 24) ;; guessed by decompiler
(last-slot-saved int32 :offset-assert 28)
(slider-backup float :offset-assert 32)
(language-backup uint64 :offset-assert 40) ;; language-enum
(language-backup language-enum :offset-assert 40) ;; language-enum
(center-x-backup int32 :offset-assert 48)
(center-y-backup int32 :offset-assert 52)
(aspect-ratio-backup symbol :offset-assert 56) ;; guessed by decompiler
(last-slider-sound uint64 :offset-assert 64) ;; time-frame
(video-mode-timeout uint64 :offset-assert 72)
(progressive-mode-timeout uint64 :offset-assert 80)
(last-slider-sound time-frame :offset-assert 64) ;; time-frame
(video-mode-timeout time-frame :offset-assert 72)
(progressive-mode-timeout time-frame :offset-assert 80)
(current-task-index int32 :offset-assert 88)
(current-line-index int32 :offset-assert 92)
(first-closed-line-index int32 :offset-assert 96)
@ -29063,15 +29070,15 @@
(game-options-item-selected int32 :offset-assert 124)
(game-options-item-picked basic :offset-assert 128)
(game-options-last-move uint64 :offset-assert 136)
(game-options-vibrations basic :offset-assert 144)
(game-options-subtitles basic :offset-assert 148)
(game-options-vibrations symbol :offset-assert 144)
(game-options-subtitles symbol :offset-assert 148)
(game-options-language-index int32 :offset-assert 152)
(game-options-subtitle-language-index int32 :offset-assert 156)
(graphic-options-item-selected int32 :offset-assert 160)
(graphic-options-item-picked basic :offset-assert 164)
(graphic-options-last-move uint64 :offset-assert 168)
(graphic-options-aspect-ratio basic :offset-assert 176)
(graphic-options-progressive-scan basic :offset-assert 180)
(graphic-options-aspect-ratio symbol :offset-assert 176)
(graphic-options-progressive-scan symbol :offset-assert 180)
(qr-options-item-selected int32 :offset-assert 184)
(qr-options-item-picked basic :offset-assert 188)
(qr-options-last-move uint64 :offset-assert 192)
@ -29084,49 +29091,50 @@
(missions-total-spacing float :offset-assert 224)
(clear-screen basic :offset-assert 228)
)
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
:method-count-assert 9
:size-assert #xe8
:flag-assert #x9000000e8
)
|#
#|
(deftype hud-ring-cell (UNKNOWN)
()
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
;; Failed to read fields.
(deftype hud-ring-cell (process-drawable)
((joint-idx int32 :offset-assert 200)
(init-angle degrees :offset-assert 204)
(graphic-index int32 :offset-assert 208)
)
:method-count-assert 21
:size-assert #xd4
:flag-assert #x15006000d4
(:methods
(idle () _type_ :state 20)
)
)
|#
;; (define-extern *progress-stack* object) ;; (pointer uint8)
(define-extern *progress-stack* (pointer uint8))
(define-extern *progress-process* (pointer progress))
;; (define-extern *progress-state* progress-global-state) ;; progress-global-state
;; (define-extern *progress-save-info* object) ;; mc-slot-info
;; (define-extern min-max-wrap-around function)
;; (define-extern progress-intro-start function)
;; (define-extern hud-ring-cell-init-by-other function)
;; (define-extern progress-init-by-other function) ;; (function none :behavior progress)
;; (define-extern set-ring-position function)
(define-extern *progress-state* progress-global-state)
(define-extern *progress-save-info* mc-slot-info)
(define-extern min-max-wrap-around (function int int int int))
(define-extern progress-intro-start (function symbol int))
(define-extern hud-ring-cell-init-by-other (function int float int object :behavior hud-ring-cell))
(define-extern progress-init-by-other (function symbol object :behavior progress))
(define-extern set-ring-position (function progress float))
(define-extern activate-progress (function process symbol none))
(define-extern deactivate-progress (function none))
(define-extern hide-progress-screen (function none))
(define-extern progress-allowed? (function symbol))
;; (define-extern menu-update-purchase-secrets function)
(define-extern menu-update-purchase-secrets (function secret-item-option none))
;; (define-extern progress-trans function)
;; (define-extern begin-scan function)
;; (define-extern end-scan function)
;; (define-extern progress-post function)
;; (define-extern update-center-screen function)
;; (define-extern update-restart-quit function)
(define-extern begin-scan (function hud-box progress int))
(define-extern end-scan (function hud-box float int))
(define-extern progress-post (function none :behavior progress))
(define-extern update-center-screen (function int))
(define-extern update-restart-quit (function menu-option progress symbol int))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; progress-draw ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype print-highscore-obj (UNKNOWN)
(deftype print-highscore-obj (basic)
((self basic :offset-assert 4)
(index int32 :offset-assert 8)
(previous basic :offset-assert 12)
@ -29137,13 +29145,12 @@
(local-scale float :offset-assert 32)
(interp float :offset-assert 36)
)
:method-count-assert 0
:size-assert #x0
:flag-assert #x0
:method-count-assert 9
:size-assert #x28
:flag-assert #x900000028
)
|#
;; (define-extern progress-selected function)
(define-extern progress-selected (function int :behavior progress))
;; (define-extern draw-percent-bar function) ;; (function int int float rgba none)
;; (define-extern draw-highlight function)
;; (define-extern draw-busy-loading function)
@ -29163,7 +29170,7 @@
;; (define-extern end-scissor-level function)
;; (define-extern print-language-name function) ;; (function int font-context int symbol font-context)
;; (define-extern unlocked-secret-menu? function)
;; (define-extern memcard-unlocked-secrets? function)
(define-extern memcard-unlocked-secrets? (function symbol none))
;; (define-extern num-unlocked-secret? function)
;; (define-extern print-menu-text function)
;; (define-extern draw-yes-no function)
@ -29191,10 +29198,10 @@
;; (define-extern get-highscore-text-sub function)
;; (define-extern get-highscore-icon function)
;; (define-extern get-highscore-type function)
;; (define-extern highscore-available? function)
;; (define-extern get-num-highscores function)
;; (define-extern get-next-highscore function)
;; (define-extern get-prev-highscore function)
(define-extern highscore-available? (function symbol))
(define-extern get-num-highscores (function int))
(define-extern get-next-highscore (function int int))
(define-extern get-prev-highscore (function int int))
;; (define-extern get-highscore-icon-scale function)
;; (define-extern get-highscore-icon-xoffset function)
;; (define-extern get-highscore-icon-yoffset function)

View file

@ -189,6 +189,25 @@
["L896", "(pointer uint64)", 1],
["L897", "(pointer uint64)", 1]
],
"nav-mesh": [["L347", "(inline-array vector)", 2]],
"tfrag-methods": [["L119", "(inline-array tfrag-init-data)", 6]],
"nav-mesh": [["L347", "(inline-array vector)", 2]]
"progress": [
["L879", "uint64", true],
["L880", "uint64", true],
["L881", "uint64", true],
["L882", "uint64", true],
["L883", "uint64", true],
["L884", "uint64", true],
["L885", "uint64", true],
["L886", "uint64", true],
["L887", "uint64", true],
["L888", "uint64", true],
["L889", "uint64", true],
["L890", "uint64", true],
["L891", "uint64", true],
["L892", "uint64", true],
["L893", "uint64", true],
["L953", "uint64", true],
["L954", "uint64", true]
]
}

View file

@ -2373,7 +2373,6 @@
[19, "a0", "drawable-inline-array-node"],
[[104, 110], "v1", "dma-packet"],
[[183, 189], "v1", "dma-packet"]
],
"draw-drawable-tree-tfrag-trans": [
[18, "v1", "drawable-inline-array-node"],
@ -2419,5 +2418,34 @@
[[157, 162], "a1", "dma-packet"]
],
"(enter othercam-running)": [[[50, 60], "gp", "process-drawable"]],
"(code othercam-running)": [[[2, 65], "s2", "process-drawable"]]
"(code othercam-running)": [[[2, 65], "s2", "process-drawable"]],
"(method 10 progress)": [[45, "t9", "(function progress none)"]],
"hud-ring-cell-init-by-other": [
[36, "a0", "progress"],
[45, "v1", "progress"],
[56, "a0", "progress"],
[132, "a1", "progress"],
[159, "a1", "progress"],
[178, "a1", "progress"]
],
"(post idle hud-ring-cell)": [
[8, "a1", "progress"],
[13, "v1", "progress"],
[36, "a1", "progress"],
[63, "a1", "progress"],
[82, "a1", "progress"],
[99, "v1", "progress"],
[102, "v1", "progress"],
[137, "v1", "progress"],
[159, "v1", "progress"]
],
"end-scan": [
[[18, 22], "v1", "dma-packet"]
],
// placeholder
"placeholder-do-not-add-below": []
}

View file

@ -390,7 +390,7 @@
(get-skeleton-origin (_type_) vector 9)
(draw-control-method-10 () none 10)
(draw-control-method-11 () none 11)
(draw-control-method-12 () none 12)
(draw-control-method-12 (_type_ int int) none 12)
(draw-control-method-13 () none 13)
(draw-control-method-14 (_type_ cspace-array joint-control) none 14)
)

View file

@ -324,7 +324,7 @@
(auto-save-count int32 :offset-assert 460)
(pov-camera-handle uint64 :offset-assert 464)
(other-camera-handle uint64 :offset-assert 472)
(controller uint64 2 :offset-assert 480)
(controller handle 2 :offset-assert 480)
(race-timer uint64 :offset-assert 496)
(race-current-lap-count int32 :offset-assert 504)
(race-total-lap-count int32 :offset-assert 508)

View file

@ -35,6 +35,15 @@
(circle 13)
(x 14)
(square 15)
(pb16 16)
(pb17 17)
(pb18 18)
(pb19 19)
(pb20 20)
(pb21 21)
(pb22 22)
(pb23 23)
(pb24 24)
)
(defenum pad-type

View file

@ -1928,19 +1928,11 @@
(when (!= (-> self beard?) v1-248)
(cond
(v1-248
(let ((t9-22 (method-of-object (-> self draw) draw-control-method-12)))
2
0
(t9-22)
)
(draw-control-method-12 (-> self draw) 2 0)
(set! (-> self beard?) #t)
)
(else
(let ((t9-23 (method-of-object (-> self draw) draw-control-method-12)))
0
2
(t9-23)
)
(draw-control-method-12 (-> self draw) 2 0)
(set! (-> self beard?) #f)
)
)

View file

@ -133,7 +133,7 @@
(bigmap-method-11 () none 11)
(bigmap-method-12 () none 12)
(bigmap-method-13 () none 13)
(bigmap-method-14 () none 14)
(bigmap-method-14 (_type_) none 14)
(bigmap-method-15 () none 15)
(bigmap-method-16 () none 16)
(bigmap-method-17 () none 17)

View file

@ -55,7 +55,7 @@
(hud-box-method-10 () none 10)
(hud-box-method-11 () none 11)
(hud-box-method-12 () none 12)
(hud-box-method-13 () none 13)
(hud-box-method-13 (_type_ dma-buffer float) int 13)
(hud-box-method-14 () none 14)
(hud-box-method-15 () none 15)
)

View file

@ -8,54 +8,56 @@
(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)
;; DECOMP BEGINS
(deftype progress (process-drawable)
((current-options basic :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 basic :offset-assert 224)
(current basic :offset-assert 228)
(next basic :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 basic :offset-assert 284)
(state-stack int32 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)
((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
(progress-method-20 () none 20)
(progress-method-21 () none 21)
(progress-method-22 () none 22)
(progress-method-23 () none 23)
(progress-method-24 () none 24)
(progress-method-25 () none 25)
(progress-method-26 () none 26)
(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 () none 28)
(progress-method-29 () none 29)
(progress-method-30 () none 30)
(progress-method-31 () none 31)
(progress-method-32 () none 32)
(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)
)
)
@ -68,14 +70,14 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(menu-option-method-9 () none 9)
(respond-progress (_type_ progress object symbol) int 9)
(menu-option-method-10 () none 10)
(menu-option-method-11 () none 11)
)
)
(deftype menu-on-off-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -83,7 +85,7 @@
)
(deftype menu-yes-no-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -109,7 +111,7 @@
)
(deftype menu-slider-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
(sprites hud-sprite 5 :inline :offset-assert 64)
)
:method-count-assert 12
@ -351,7 +353,7 @@
(deftype secret-item-option (menu-option)
((cost int32 :offset-assert 48)
(can-toggle basic :offset-assert 52)
(can-toggle symbol :offset-assert 52)
(flag uint32 :offset-assert 56)
(avail-after uint16 :offset-assert 60)
)
@ -375,14 +377,14 @@
)
(deftype menu-option-list (basic)
((y-center int32 :offset-assert 4)
(y-space int32 :offset-assert 8)
(scale float :offset-assert 12)
(options basic :offset-assert 16)
((y-center int32 :offset-assert 4)
(y-space int32 :offset-assert 8)
(scale float :offset-assert 12)
(options menu-option :dynamic :offset-assert 16)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
:size-assert #x10
:flag-assert #x900000010
)
(deftype menu-qr-option (menu-option)
@ -419,8 +421,8 @@
)
(deftype menu-graphic-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40
@ -457,8 +459,8 @@
)
(deftype menu-game-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40

View file

@ -611,7 +611,7 @@
(get-skeleton-origin (_type_) vector 9)
(draw-control-method-10 () none 10)
(draw-control-method-11 () none 11)
(draw-control-method-12 () none 12)
(draw-control-method-12 (_type_ int int) none 12)
(draw-control-method-13 () none 13)
(draw-control-method-14 (_type_ cspace-array joint-control) none 14)
)

View file

@ -295,7 +295,7 @@
(auto-save-count int32 :offset-assert 460)
(pov-camera-handle uint64 :offset-assert 464)
(other-camera-handle uint64 :offset-assert 472)
(controller uint64 2 :offset-assert 480)
(controller handle 2 :offset-assert 480)
(race-timer uint64 :offset-assert 496)
(race-current-lap-count int32 :offset-assert 504)
(race-total-lap-count int32 :offset-assert 508)

View file

@ -1899,19 +1899,11 @@
(when (!= (-> self beard?) v1-248)
(cond
(v1-248
(let ((t9-22 (method-of-object (-> self draw) draw-control-method-12)))
2
0
(t9-22)
)
(draw-control-method-12 (-> self draw) 2 0)
(set! (-> self beard?) #t)
)
(else
(let ((t9-23 (method-of-object (-> self draw) draw-control-method-12)))
0
2
(t9-23)
)
(draw-control-method-12 (-> self draw) 0 2)
(set! (-> self beard?) #f)
)
)

View file

@ -234,7 +234,7 @@
(bigmap-method-11 () none 11)
(bigmap-method-12 () none 12)
(bigmap-method-13 () none 13)
(bigmap-method-14 () none 14)
(bigmap-method-14 (_type_) none 14)
(bigmap-method-15 () none 15)
(bigmap-method-16 () none 16)
(bigmap-method-17 () none 17)

View file

@ -81,7 +81,7 @@
(hud-box-method-10 () none 10)
(hud-box-method-11 () none 11)
(hud-box-method-12 () none 12)
(hud-box-method-13 () none 13)
(hud-box-method-13 (_type_ dma-buffer float) int 13)
(hud-box-method-14 () none 14)
(hud-box-method-15 () none 15)
)
@ -1269,7 +1269,3 @@
;; failed to figure out what this is:
0

View file

@ -3,50 +3,50 @@
;; definition of type progress
(deftype progress (process-drawable)
((current-options basic :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 basic :offset-assert 224)
(current basic :offset-assert 228)
(next basic :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 basic :offset-assert 284)
(state-stack int32 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)
((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
(progress-method-20 () none 20)
(progress-method-21 () none 21)
(progress-method-22 () none 22)
(progress-method-23 () none 23)
(progress-method-24 () none 24)
(progress-method-25 () none 25)
(progress-method-26 () none 26)
(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 () none 28)
(progress-method-29 () none 29)
(progress-method-30 () none 30)
(progress-method-31 () none 31)
(progress-method-32 () none 32)
(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)
)
)
@ -98,7 +98,7 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(menu-option-method-9 () none 9)
(respond-progress (_type_ progress object symbol) int 9)
(menu-option-method-10 () none 10)
(menu-option-method-11 () none 11)
)
@ -120,7 +120,7 @@
;; definition of type menu-on-off-option
(deftype menu-on-off-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -144,7 +144,7 @@
;; definition of type menu-yes-no-option
(deftype menu-yes-no-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
)
:method-count-assert 12
:size-assert #x34
@ -220,7 +220,7 @@
;; definition of type menu-slider-option
(deftype menu-slider-option (menu-option)
((value-to-modify uint32 :offset-assert 48)
((value-to-modify pointer :offset-assert 48)
(sprites hud-sprite 5 :inline :offset-assert 64)
)
:method-count-assert 12
@ -961,7 +961,7 @@
;; definition of type secret-item-option
(deftype secret-item-option (menu-option)
((cost int32 :offset-assert 48)
(can-toggle basic :offset-assert 52)
(can-toggle symbol :offset-assert 52)
(flag uint32 :offset-assert 56)
(avail-after uint16 :offset-assert 60)
)
@ -1026,14 +1026,14 @@
;; definition of type menu-option-list
(deftype menu-option-list (basic)
((y-center int32 :offset-assert 4)
(y-space int32 :offset-assert 8)
(scale float :offset-assert 12)
(options basic :offset-assert 16)
((y-center int32 :offset-assert 4)
(y-space int32 :offset-assert 8)
(scale float :offset-assert 12)
(options menu-option :dynamic :offset-assert 16)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type menu-option-list
@ -1046,7 +1046,7 @@
(format #t "~1Ty-center: ~D~%" (-> obj y-center))
(format #t "~1Ty-space: ~D~%" (-> obj y-space))
(format #t "~1Tscale: ~f~%" (-> obj scale))
(format #t "~1Toptions: ~A~%" (-> obj options))
(format #t "~1Toptions: ~A~%" (-> obj options 0))
(label cfg-4)
obj
)
@ -1161,8 +1161,8 @@
;; definition of type menu-graphic-option
(deftype menu-graphic-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40
@ -1290,8 +1290,8 @@
;; definition of type menu-game-option
(deftype menu-game-option (menu-option)
((last-move uint64 :offset-assert 48)
(value-to-modify uint32 :offset 60)
((last-move uint64 :offset-assert 48)
(value-to-modify pointer :offset 60)
)
:method-count-assert 12
:size-assert #x40