deftype and defmethod syntax major changes (#3094)

Major change to how `deftype` shows up in our code:
- the decompiler will no longer emit the `offset-assert`,
`method-count-assert`, `size-assert` and `flag-assert` parameters. There
are extremely few cases where having this in the decompiled code is
helpful, as the types there come from `all-types` which already has
those parameters. This also doesn't break type consistency because:
  - the asserts aren't compared.
- the first step of the test uses `all-types`, which has the asserts,
which will throw an error if they're bad.
- the decompiler won't emit the `heap-base` parameter unless necessary
now.
- the decompiler will try its hardest to turn a fixed-offset field into
an `overlay-at` field. It falls back to the old offset if all else
fails.
- `overlay-at` now supports field "dereferencing" to specify the offset
that's within a field that's a structure, e.g.:
```lisp
(deftype foobar (structure)
  ((vec    vector  :inline)
   (flags  int32   :overlay-at (-> vec w))
   )
  )
```
in this structure, the offset of `flags` will be 12 because that is the
final offset of `vec`'s `w` field within this structure.
- **removed ID from all method declarations.** IDs are only ever
automatically assigned now. Fixes #3068.
- added an `:overlay` parameter to method declarations, in order to
declare a new method that goes on top of a previously-defined method.
Syntax is `:overlay <method-name>`. Please do not ever use this.
- added `state-methods` list parameter. This lets you quickly specify a
list of states to be put in the method table. Same syntax as the
`states` list parameter. The decompiler will try to put as many states
in this as it can without messing with the method ID order.

Also changes `defmethod` to make the first type definition (before the
arguments) optional. The type can now be inferred from the first
argument. Fixes #3093.

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
This commit is contained in:
ManDude
2023-10-30 03:20:02 +00:00
committed by GitHub
parent 09536c68ac
commit cd68cb671e
2079 changed files with 94384 additions and 117066 deletions
+69 -72
View File
@@ -633,7 +633,7 @@
;; definition for method 10 of type menu-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-option ((this menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
0
(none)
)
@@ -641,7 +641,7 @@
;; definition for method 10 of type menu-on-off-option
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-on-off-option ((this menu-on-off-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-on-off-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-8 string) (sv-16 string))
(let ((s3-0 (if arg3
(&-> *progress-state* on-off-choice)
@@ -707,7 +707,7 @@
;; definition for method 10 of type menu-yes-no-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-yes-no-option ((this menu-yes-no-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-yes-no-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-8 string))
(let ((s3-0 (&-> *progress-state* yes-no-choice)))
(set! a0-8
@@ -755,7 +755,7 @@
;; definition for method 10 of type menu-video-mode-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-video-mode-option ((this menu-video-mode-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-video-mode-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(let ((s3-0 (&-> *progress-state* video-mode-choice))
(f28-0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
(f30-0 (-> arg1 origin y))
@@ -867,7 +867,7 @@
;; definition for method 10 of type menu-unlocked-menu-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-unlocked-menu-option ((this menu-unlocked-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-unlocked-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(let ((s5-0 (memcard-unlocked-secrets? #t))
(f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
)
@@ -1050,7 +1050,7 @@
;; definition for method 10 of type menu-main-menu-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-main-menu-option ((this menu-main-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-main-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(-> arg1 flags)
(when (and (= (-> arg0 menu-transition) 0.0) (and (= (-> arg0 ring-angle) (-> arg0 ring-want-angle))
(nonzero? (-> this name))
@@ -2121,7 +2121,7 @@
;; WARN: Stack slot offset 36 signed mismatch
;; WARN: Stack slot offset 16 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-memcard-slot-option ((this menu-memcard-slot-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-memcard-slot-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars
(v0-74 pointer)
(sv-16 float)
@@ -2559,7 +2559,7 @@
;; definition for method 10 of type menu-loading-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-loading-option ((this menu-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-3 arg1))
@@ -2616,7 +2616,7 @@
;; definition for method 10 of type menu-insufficient-space-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-insufficient-space-option ((this menu-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(when (!= (-> arg0 current) 'none)
(let ((v1-3 arg1))
@@ -2709,7 +2709,7 @@
;; definition for method 10 of type menu-secrets-insufficient-space-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-secrets-insufficient-space-option ((this menu-secrets-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-secrets-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-1 arg1))
(set! (-> v1-1 scale) 0.5)
@@ -2756,7 +2756,7 @@
;; definition for method 10 of type menu-insert-card-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-insert-card-option ((this menu-insert-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-insert-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-1 arg1))
(set! (-> v1-1 scale) 0.5)
@@ -2804,7 +2804,7 @@
;; definition for method 10 of type menu-error-loading-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-error-loading-option ((this menu-error-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-error-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-1 arg1))
(set! (-> v1-1 scale) 0.5)
@@ -2873,7 +2873,7 @@
;; definition for method 10 of type menu-error-auto-saving-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-error-auto-saving-option ((this menu-error-auto-saving-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-error-auto-saving-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-1 arg1))
(set! (-> v1-1 scale) 0.5)
@@ -2950,7 +2950,7 @@
;; definition for method 10 of type menu-card-removed-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-card-removed-option ((this menu-card-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-card-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((v1-1 arg1))
(set! (-> v1-1 scale) 0.5)
@@ -3013,7 +3013,7 @@
;; definition for method 10 of type menu-error-disc-removed-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-error-disc-removed-option ((this menu-error-disc-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-error-disc-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3073,7 +3073,7 @@
;; definition for method 10 of type menu-error-reading-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-error-reading-option ((this menu-error-reading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-error-reading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3131,7 +3131,7 @@
;; definition for method 10 of type menu-icon-info-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-icon-info-option ((this menu-icon-info-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-icon-info-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3207,7 +3207,7 @@
;; definition for method 10 of type menu-format-card-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-format-card-option ((this menu-format-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-format-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3261,7 +3261,7 @@
;; definition for method 10 of type menu-already-exists-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-already-exists-option ((this menu-already-exists-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-already-exists-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3307,7 +3307,7 @@
;; definition for method 10 of type menu-create-game-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-create-game-option ((this menu-create-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-create-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3350,7 +3350,7 @@
;; definition for method 10 of type menu-video-mode-warning-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-video-mode-warning-option ((this menu-video-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-video-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3418,7 +3418,7 @@
;; definition for method 10 of type menu-video-mode-ok-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-video-mode-ok-option ((this menu-video-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-video-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3464,7 +3464,7 @@
;; definition for method 10 of type menu-progressive-mode-warning-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-progressive-mode-warning-option ((this menu-progressive-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-progressive-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3532,7 +3532,7 @@
;; definition for method 10 of type menu-progressive-mode-ok-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-progressive-mode-ok-option ((this menu-progressive-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-progressive-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3578,7 +3578,7 @@
;; definition for method 10 of type menu-quit-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-quit-option ((this menu-quit-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-quit-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
(let ((a0-1 arg1))
(set! (-> a0-1 color) (font-color progress))
@@ -3615,7 +3615,7 @@
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
;; WARN: disable def twice: 147. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
(defmethod draw-option menu-select-start-option ((this menu-select-start-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-select-start-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars
(sv-48 int)
(sv-64 int)
@@ -3786,7 +3786,7 @@
;; definition for method 10 of type menu-select-scene-option
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-select-scene-option ((this menu-select-scene-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-select-scene-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars
(sv-48 int)
(sv-64 (function string font-context symbol int bucket-id float))
@@ -3964,7 +3964,7 @@
;; definition for method 10 of type menu-bigmap-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-bigmap-option ((this menu-bigmap-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-bigmap-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
0
(none)
)
@@ -4184,7 +4184,7 @@
;; WARN: Stack slot offset 20 signed mismatch
;; WARN: Stack slot offset 20 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-missions-option ((this menu-missions-option) (progress progress) (font-ctx font-context) (arg3 int) (arg4 symbol))
(defmethod draw-option ((this menu-missions-option) (progress progress) (font-ctx font-context) (arg3 int) (arg4 symbol))
(local-vars
(f0-50 float)
(font-alpha float)
@@ -4888,7 +4888,7 @@
;; WARN: Stack slot offset 112 signed mismatch
;; WARN: Stack slot offset 108 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-secret-option ((this menu-secret-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-secret-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars
(sv-16 float)
(sv-20 symbol)
@@ -5100,23 +5100,20 @@
;; definition of type print-highscore-obj
(deftype print-highscore-obj (basic)
((self menu-highscores-option :offset-assert 4)
(index int32 :offset-assert 8)
(previous symbol :offset-assert 12)
(place int32 :offset-assert 16)
(score float :offset-assert 20)
(game-score symbol :offset-assert 24)
(context font-context :offset-assert 28)
(local-scale float :offset-assert 32)
(interp float :offset-assert 36)
((self menu-highscores-option)
(index int32)
(previous symbol)
(place int32)
(score float)
(game-score symbol)
(context font-context)
(local-scale float)
(interp float)
)
:method-count-assert 9
:size-assert #x28
:flag-assert #x900000028
)
;; definition for method 3 of type print-highscore-obj
(defmethod inspect print-highscore-obj ((this print-highscore-obj))
(defmethod inspect ((this print-highscore-obj))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -6072,12 +6069,12 @@
;; WARN: Stack slot offset 120 signed mismatch
;; WARN: Stack slot offset 108 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-highscores-option ((this menu-highscores-option)
(progress progress)
(font-ctx font-context)
(option-index int)
(selected? symbol)
)
(defmethod draw-option ((this menu-highscores-option)
(progress progress)
(font-ctx font-context)
(option-index int)
(selected? symbol)
)
(local-vars
(sv-96 float)
(sv-100 float)
@@ -6382,7 +6379,7 @@
;; definition for method 10 of type menu-on-off-game-vibrations-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-on-off-game-vibrations-option ((this menu-on-off-game-vibrations-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-on-off-game-vibrations-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-10 string))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
@@ -6472,7 +6469,7 @@
;; definition for method 10 of type menu-on-off-game-subtitles-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-on-off-game-subtitles-option ((this menu-on-off-game-subtitles-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-on-off-game-subtitles-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-11 string))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
@@ -6562,7 +6559,7 @@
;; definition for method 10 of type menu-subtitle-language-game-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-subtitle-language-game-option ((this menu-subtitle-language-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-subtitle-language-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(with-pp
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(let ((v1-2 arg1))
@@ -6697,12 +6694,12 @@
;; definition for method 10 of type menu-language-game-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-language-game-option ((this menu-language-game-option)
(progress progress)
(font-ctx font-context)
(option-index int)
(selected symbol)
)
(defmethod draw-option ((this menu-language-game-option)
(progress progress)
(font-ctx font-context)
(option-index int)
(selected symbol)
)
(with-pp
(let ((alpha (* 2.0 (- 0.5 (-> progress menu-transition)))))
(let ((font-ctx-1 font-ctx))
@@ -6851,7 +6848,7 @@
;; definition for method 10 of type menu-sub-menu-game-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-sub-menu-game-option ((this menu-sub-menu-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-sub-menu-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(let ((f0-1 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
395.0
(-> arg1 origin y)
@@ -6874,7 +6871,7 @@
;; definition for method 10 of type menu-aspect-ratio-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-aspect-ratio-option ((this menu-aspect-ratio-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-aspect-ratio-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-12 string))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
@@ -6981,12 +6978,12 @@
;; definition for method 10 of type menu-on-off-progressive-scan-graphic-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-on-off-progressive-scan-graphic-option ((this menu-on-off-progressive-scan-graphic-option)
(arg0 progress)
(arg1 font-context)
(arg2 int)
(arg3 symbol)
)
(defmethod draw-option ((this menu-on-off-progressive-scan-graphic-option)
(arg0 progress)
(arg1 font-context)
(arg2 int)
(arg3 symbol)
)
(local-vars (a0-11 string))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
@@ -7089,7 +7086,7 @@
;; definition for method 10 of type menu-center-screen-graphic-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-center-screen-graphic-option ((this menu-center-screen-graphic-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-center-screen-graphic-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
(set! f30-0 0.0)
@@ -7196,7 +7193,7 @@
;; definition for method 10 of type menu-restart-mission-qr-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-restart-mission-qr-option ((this menu-restart-mission-qr-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-restart-mission-qr-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-11 string))
(let ((f0-1 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f0-1 0.0)
@@ -7261,7 +7258,7 @@
;; definition for method 10 of type menu-quit-qr-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-quit-qr-option ((this menu-quit-qr-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-quit-qr-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (a0-12 string))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(if (< f30-0 0.0)
@@ -7338,7 +7335,7 @@
;; definition for method 10 of type menu-slider-option
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-slider-option ((this menu-slider-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-slider-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars
(v0-42 pointer)
(sv-16 progress)
@@ -7711,7 +7708,7 @@
;; definition for method 10 of type menu-stereo-mode-sound-option
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-stereo-mode-sound-option ((this menu-stereo-mode-sound-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-stereo-mode-sound-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (s5-0 int))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
(let ((v1-2 arg1))
@@ -7819,7 +7816,7 @@
;; definition for method 10 of type menu-sub-menu-option
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod draw-option menu-sub-menu-option ((this menu-sub-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(defmethod draw-option ((this menu-sub-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
(local-vars (sv-16 dma-buffer))
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
(s2-0 (the int (+ -1.0 (-> arg1 origin y))))
File diff suppressed because it is too large Load Diff
+7 -10
View File
@@ -880,20 +880,17 @@
;; definition of type hud-scene-info
(deftype hud-scene-info (basic)
((name string :offset-assert 4)
(continue string :offset-assert 8)
(info object :offset-assert 12)
(info-str string :offset 12)
(info-list pair :offset 12)
(text text-id :offset-assert 16)
((name string)
(continue string)
(info object)
(info-str string :overlay-at info)
(info-list pair :overlay-at info)
(text text-id)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type hud-scene-info
(defmethod inspect hud-scene-info ((this hud-scene-info))
(defmethod inspect ((this hud-scene-info))
(when (not this)
(set! this this)
(goto cfg-4)
+100 -107
View File
@@ -3,61 +3,58 @@
;; definition of type progress-global-state
(deftype progress-global-state (basic)
((aspect-ratio-choice symbol :offset-assert 4)
(video-mode-choice symbol :offset-assert 8)
(yes-no-choice symbol :offset-assert 12)
(on-off-choice symbol :offset-assert 16)
(which-slot int32 :offset-assert 20)
(starting-state symbol :offset-assert 24)
(last-slot-saved int32 :offset-assert 28)
(slider-backup float :offset-assert 32)
(language-backup language-enum :offset-assert 40)
(center-x-backup int32 :offset-assert 48)
(center-y-backup int32 :offset-assert 52)
(aspect-ratio-backup symbol :offset-assert 56)
(last-slider-sound time-frame :offset-assert 64)
(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)
(extra-text-state int32 :offset-assert 100)
(current-task uint8 :offset-assert 104)
(num-open-tasks-found int32 :offset-assert 108)
(num-closed-tasks-found int32 :offset-assert 112)
(color-flash-counter int32 :offset-assert 116)
(num-unlocked-secrets int32 :offset-assert 120)
(game-options-item-selected int32 :offset-assert 124)
(game-options-item-picked basic :offset-assert 128)
(game-options-last-move time-frame :offset-assert 136)
(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 symbol :offset-assert 164)
(graphic-options-last-move time-frame :offset-assert 168)
(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 time-frame :offset-assert 192)
(qr-options-restart basic :offset-assert 200)
(qr-options-quit basic :offset-assert 204)
(total-num-tasks int32 :offset-assert 208)
(scene-player-act int32 :offset-assert 212)
(stereo-mode-backup int32 :offset-assert 216)
(secrets-unlocked symbol :offset-assert 220)
(missions-total-spacing float :offset-assert 224)
(clear-screen symbol :offset-assert 228)
((aspect-ratio-choice symbol)
(video-mode-choice symbol)
(yes-no-choice symbol)
(on-off-choice symbol)
(which-slot int32)
(starting-state symbol)
(last-slot-saved int32)
(slider-backup float)
(language-backup language-enum)
(center-x-backup int32)
(center-y-backup int32)
(aspect-ratio-backup symbol)
(last-slider-sound time-frame)
(video-mode-timeout time-frame)
(progressive-mode-timeout time-frame)
(current-task-index int32)
(current-line-index int32)
(first-closed-line-index int32)
(extra-text-state int32)
(current-task uint8)
(num-open-tasks-found int32)
(num-closed-tasks-found int32)
(color-flash-counter int32)
(num-unlocked-secrets int32)
(game-options-item-selected int32)
(game-options-item-picked basic)
(game-options-last-move time-frame)
(game-options-vibrations symbol)
(game-options-subtitles symbol)
(game-options-language-index int32)
(game-options-subtitle-language-index int32)
(graphic-options-item-selected int32)
(graphic-options-item-picked symbol)
(graphic-options-last-move time-frame)
(graphic-options-aspect-ratio symbol)
(graphic-options-progressive-scan symbol)
(qr-options-item-selected int32)
(qr-options-item-picked basic)
(qr-options-last-move time-frame)
(qr-options-restart basic)
(qr-options-quit basic)
(total-num-tasks int32)
(scene-player-act int32)
(stereo-mode-backup int32)
(secrets-unlocked symbol)
(missions-total-spacing float)
(clear-screen symbol)
)
:method-count-assert 9
:size-assert #xe8
:flag-assert #x9000000e8
)
;; definition for method 3 of type progress-global-state
(defmethod inspect progress-global-state ((this progress-global-state))
(defmethod inspect ((this progress-global-state))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -158,7 +155,7 @@
;; definition for method 24 of type progress
;; WARN: Return type mismatch connection vs object.
(defmethod init-defaults progress ((this progress))
(defmethod init-defaults ((this progress))
"Initialize default menu settings."
(set! (-> *progress-state* aspect-ratio-choice) (get-aspect-ratio))
(set! (-> *progress-state* video-mode-choice) (get-video-mode))
@@ -229,22 +226,18 @@
;; definition of type hud-ring-cell
(deftype hud-ring-cell (process-drawable)
((parent (pointer progress) :override)
(joint-idx int32 :offset-assert 200)
(init-angle degrees :offset-assert 204)
(graphic-index int32 :offset-assert 208)
((parent (pointer progress) :override)
(joint-idx int32)
(init-angle degrees)
(graphic-index int32)
)
:heap-base #x60
:method-count-assert 21
:size-assert #xd4
:flag-assert #x15006000d4
(:methods
(idle () _type_ :state 20)
(:state-methods
idle
)
)
;; definition for method 3 of type hud-ring-cell
(defmethod inspect hud-ring-cell ((this hud-ring-cell))
(defmethod inspect ((this hud-ring-cell))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -542,7 +535,7 @@
)
;; definition for method 10 of type progress
(defmethod deactivate progress ((this progress))
(defmethod deactivate ((this progress))
(remove-setting-by-arg0 *setting-control* 'extra-bank)
(disable-drawing *bigmap*)
(set! (-> *blit-displays-work* menu-mode) #f)
@@ -575,7 +568,7 @@
)
;; definition for method 26 of type progress
(defmethod gone? progress ((this progress))
(defmethod gone? ((this progress))
(and *progress-process*
(-> *progress-process* 0 next-state)
(= (-> *progress-process* 0 next-state name) 'gone)
@@ -609,7 +602,7 @@
)
;; definition for method 27 of type progress
(defmethod can-go-back? progress ((this progress))
(defmethod can-go-back? ((this progress))
(and (= (-> this menu-transition) 0.0)
(not (-> this selected-option))
(!= (-> this current) 'loading)
@@ -669,7 +662,7 @@
)
;; definition for method 28 of type progress
(defmethod get-state-check-card progress ((this progress) (arg0 symbol))
(defmethod get-state-check-card ((this progress) (arg0 symbol))
(let ((v1-0 *progress-save-info*)
(v0-0 arg0)
)
@@ -767,7 +760,7 @@
)
;; definition for method 29 of type progress
(defmethod push-state progress ((this progress))
(defmethod push-state ((this progress))
(let ((v1-0 (-> this state-pos)))
(cond
((< v1-0 5)
@@ -784,7 +777,7 @@
)
;; definition for method 30 of type progress
(defmethod pop-state progress ((this progress))
(defmethod pop-state ((this progress))
(let ((v1-0 (-> this state-pos)))
(cond
((> v1-0 0)
@@ -808,7 +801,7 @@
)
;; definition for method 31 of type progress
(defmethod set-next-state progress ((this progress) (arg0 symbol) (arg1 int))
(defmethod set-next-state ((this progress) (arg0 symbol) (arg1 int))
"Set the next menu state specified by arg0 at the index specified by arg1."
(set! (-> *progress-state* clear-screen) #f)
(when (!= arg0 (-> this current))
@@ -855,7 +848,7 @@
)
;; definition for method 32 of type progress
(defmethod set-menu-options progress ((this progress) (arg0 symbol))
(defmethod set-menu-options ((this progress) (arg0 symbol))
"Set the menu options for the menu state specified by arg0."
(set! (-> this current-options) #f)
(case arg0
@@ -1064,7 +1057,7 @@
;; definition for method 25 of type progress
;; WARN: Return type mismatch int vs none.
(defmethod respond-to-cpad progress ((this progress))
(defmethod respond-to-cpad ((this progress))
(mc-get-slot-info 0 *progress-save-info*)
(when (-> this current-options)
(let ((option-array (-> this current-options options)))
@@ -1823,13 +1816,13 @@
)
;; definition for method 9 of type menu-option
(defmethod respond-progress menu-option ((this menu-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
0
)
;; definition for method 9 of type menu-on-off-option
(defmethod respond-progress menu-on-off-option ((this menu-on-off-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-on-off-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* on-off-choice))
(gp-0 #f)
@@ -1880,7 +1873,7 @@
)
;; definition for method 9 of type menu-yes-no-option
(defmethod respond-progress menu-yes-no-option ((this menu-yes-no-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-yes-no-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -1922,7 +1915,7 @@
)
;; definition for method 9 of type menu-slider-option
(defmethod respond-progress menu-slider-option ((this menu-slider-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-slider-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((gp-0 (-> this value-to-modify))
@@ -2005,7 +1998,7 @@
)
;; definition for method 9 of type menu-stereo-mode-sound-option
(defmethod respond-progress menu-stereo-mode-sound-option ((this menu-stereo-mode-sound-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-stereo-mode-sound-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((a0-1 (-> *setting-control* user-default stereo-mode))
@@ -2044,7 +2037,7 @@
)
;; definition for method 9 of type menu-main-menu-option
(defmethod respond-progress menu-main-menu-option ((this menu-main-menu-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-main-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(cond
((cpad-pressed? 0 start)
@@ -2140,7 +2133,7 @@
)
;; definition for method 9 of type menu-sub-menu-option
(defmethod respond-progress menu-sub-menu-option ((this menu-sub-menu-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-sub-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (and (-> *progress-state* secrets-unlocked)
(not (memcard-unlocked-secrets? #f))
@@ -2201,7 +2194,7 @@
)
;; definition for method 9 of type menu-unlocked-menu-option
(defmethod respond-progress menu-unlocked-menu-option ((this menu-unlocked-menu-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-unlocked-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (memcard-unlocked-secrets? #t)))
(logclear! (-> *game-info* purchase-secrets) (game-secrets hero-mode))
@@ -2339,7 +2332,7 @@
)
;; definition for method 9 of type menu-memcard-slot-option
(defmethod respond-progress menu-memcard-slot-option ((this menu-memcard-slot-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-memcard-slot-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(memcard-unlocked-secrets? #t)
(let ((a1-2 (get-state-check-card arg0 (-> arg0 current))))
@@ -2385,7 +2378,7 @@
)
;; definition for method 9 of type menu-already-exists-option
(defmethod respond-progress menu-already-exists-option ((this menu-already-exists-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-already-exists-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(a1-2 (get-state-check-card arg0 'select-save))
@@ -2428,7 +2421,7 @@
)
;; definition for method 9 of type menu-create-game-option
(defmethod respond-progress menu-create-game-option ((this menu-create-game-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-create-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2474,7 +2467,7 @@
)
;; definition for method 9 of type menu-insufficient-space-option
(defmethod respond-progress menu-insufficient-space-option ((this menu-insufficient-space-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s5-0 (&-> *progress-state* yes-no-choice))
(s3-0 (get-state-check-card arg0 'select-save))
@@ -2570,7 +2563,7 @@
)
;; definition for method 9 of type menu-secrets-insufficient-space-option
(defmethod respond-progress menu-secrets-insufficient-space-option ((this menu-secrets-insufficient-space-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-secrets-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(&-> *progress-state* yes-no-choice)
(cond
@@ -2589,7 +2582,7 @@
)
;; definition for method 9 of type menu-video-mode-warning-option
(defmethod respond-progress menu-video-mode-warning-option ((this menu-video-mode-warning-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-video-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2628,7 +2621,7 @@
)
;; definition for method 9 of type menu-video-mode-ok-option
(defmethod respond-progress menu-video-mode-ok-option ((this menu-video-mode-ok-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-video-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2675,7 +2668,7 @@
)
;; definition for method 9 of type menu-progressive-mode-warning-option
(defmethod respond-progress menu-progressive-mode-warning-option ((this menu-progressive-mode-warning-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-progressive-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2721,7 +2714,7 @@
)
;; definition for method 9 of type menu-progressive-mode-ok-option
(defmethod respond-progress menu-progressive-mode-ok-option ((this menu-progressive-mode-ok-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-progressive-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2770,7 +2763,7 @@
)
;; definition for method 9 of type menu-card-removed-option
(defmethod respond-progress menu-card-removed-option ((this menu-card-removed-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-card-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2782,7 +2775,7 @@
)
;; definition for method 9 of type menu-insert-card-option
(defmethod respond-progress menu-insert-card-option ((this menu-insert-card-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-insert-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
*progress-save-info*
(cond
@@ -2800,7 +2793,7 @@
)
;; definition for method 9 of type menu-error-loading-option
(defmethod respond-progress menu-error-loading-option ((this menu-error-loading-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-error-loading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2812,7 +2805,7 @@
)
;; definition for method 9 of type menu-error-auto-saving-option
(defmethod respond-progress menu-error-auto-saving-option ((this menu-error-auto-saving-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-error-auto-saving-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2824,7 +2817,7 @@
)
;; definition for method 9 of type menu-error-disc-removed-option
(defmethod respond-progress menu-error-disc-removed-option ((this menu-error-disc-removed-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-error-disc-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2838,7 +2831,7 @@
)
;; definition for method 9 of type menu-error-reading-option
(defmethod respond-progress menu-error-reading-option ((this menu-error-reading-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-error-reading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2850,7 +2843,7 @@
)
;; definition for method 9 of type menu-icon-info-option
(defmethod respond-progress menu-icon-info-option ((this menu-icon-info-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-icon-info-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -2862,7 +2855,7 @@
)
;; definition for method 9 of type menu-quit-option
(defmethod respond-progress menu-quit-option ((this menu-quit-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-quit-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2907,7 +2900,7 @@
)
;; definition for method 9 of type menu-format-card-option
(defmethod respond-progress menu-format-card-option ((this menu-format-card-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-format-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2953,7 +2946,7 @@
;; definition for method 9 of type menu-select-start-option
;; WARN: disable def twice: 110. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
(defmethod respond-progress menu-select-start-option ((this menu-select-start-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-select-start-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3049,7 +3042,7 @@
)
;; definition for method 9 of type menu-select-scene-option
(defmethod respond-progress menu-select-scene-option ((this menu-select-scene-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-select-scene-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3125,7 +3118,7 @@
)
;; definition for method 9 of type menu-bigmap-option
(defmethod respond-progress menu-bigmap-option ((this menu-bigmap-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-bigmap-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(handle-cpad-inputs *bigmap*)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -3134,7 +3127,7 @@
)
;; definition for method 9 of type menu-missions-option
(defmethod respond-progress menu-missions-option ((this menu-missions-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-missions-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3184,7 +3177,7 @@
)
;; definition for method 9 of type menu-highscores-option
(defmethod respond-progress menu-highscores-option ((this menu-highscores-option) (progress progress) (selected? symbol))
(defmethod respond-progress ((this menu-highscores-option) (progress progress) (selected? symbol))
"Handle progress menu navigation logic."
(set! (-> progress sliding) (seek-ease
(-> progress sliding)
@@ -3252,7 +3245,7 @@
)
;; definition for method 9 of type menu-secret-option
(defmethod respond-progress menu-secret-option ((this menu-secret-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-secret-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let* ((s5-1 (logtest? (-> *game-info* secrets) (game-secrets hero-mode)))
(s3-0 (if (not s5-1)
@@ -3371,7 +3364,7 @@
)
;; definition for method 9 of type menu-game-option
(defmethod respond-progress menu-game-option ((this menu-game-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* game-options-vibrations)
(-> *progress-state* game-options-subtitles)
@@ -3592,7 +3585,7 @@
)
;; definition for method 9 of type menu-graphic-option
(defmethod respond-progress menu-graphic-option ((this menu-graphic-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-graphic-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* graphic-options-aspect-ratio)
(-> *progress-state* graphic-options-progressive-scan)
@@ -3806,7 +3799,7 @@
)
;; definition for method 9 of type menu-qr-option
(defmethod respond-progress menu-qr-option ((this menu-qr-option) (arg0 progress) (arg1 symbol))
(defmethod respond-progress ((this menu-qr-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* qr-options-restart)
(-> *progress-state* qr-options-quit)