mirror of
https://github.com/open-goal/jak-project
synced 2026-06-14 06:25:53 -04:00
59e0c5e264
Probably the last major missing file. The bigmap fetches the correct level and map info, but doesn't actually render anything right now.  
7215 lines
242 KiB
Common Lisp
7215 lines
242 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: progress-draw.gc
|
|
;; name in dgo: progress-draw
|
|
;; dgos: ENGINE, GAME
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
(defbehavior progress-selected progress ((arg0 int))
|
|
(let ((gp-0 33))
|
|
(cond
|
|
((< 4 (the-as int (logand (-> self clock integral-frame-counter) 7)))
|
|
(set! (-> *progress-state* color-flash-counter) 1)
|
|
)
|
|
((< (the-as int (logand (-> self clock integral-frame-counter) 7)) 4)
|
|
(set! (-> *progress-state* color-flash-counter) 0)
|
|
0
|
|
)
|
|
)
|
|
(cond
|
|
((zero? (-> *progress-state* color-flash-counter))
|
|
(set-font-color gp-0 0 64 128 128)
|
|
(set-font-color gp-0 1 64 128 128)
|
|
)
|
|
(else
|
|
(set-font-color gp-0 0 255 255 255)
|
|
(set-font-color gp-0 1 255 255 255)
|
|
)
|
|
)
|
|
gp-0
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-8 8) 0) at op 39
|
|
(defun draw-percent-bar ((arg0 int) (arg1 int) (arg2 float) (arg3 rgba))
|
|
(with-dma-buffer-add-bucket ((s2-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy s2-0 arg0 arg1 255 14 (new 'static 'rgba :a (-> arg3 a)))
|
|
(draw-sprite2d-xy s2-0 arg0 (+ arg1 2) (the int (* 255.0 arg2)) 10 arg3)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-6 8) 0) at op 45
|
|
(defun draw-highlight ((arg0 int) (arg1 int) (arg2 float))
|
|
(let ((s3-0 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
70
|
|
79
|
|
)
|
|
)
|
|
(a3-0 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
374
|
|
355
|
|
)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s2-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s2-0
|
|
s3-0
|
|
arg0
|
|
a3-0
|
|
arg1
|
|
(new 'static 'rgba :r #x40 :g #x80 :b #x80 :a (the int (* 64.0 arg2)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defbehavior draw-busy-loading progress ((arg0 font-context))
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg0 origin x) 82.0)
|
|
(set! (-> arg0 origin y) 180.0)
|
|
(set! (-> arg0 width) 359.0)
|
|
(set! (-> arg0 height) 40.0)
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg0 origin x) 82.0)
|
|
(set! (-> arg0 origin y) 180.0)
|
|
(set! (-> arg0 width) 355.0)
|
|
(set! (-> arg0 height) 40.0)
|
|
)
|
|
)
|
|
(let ((v1-12 arg0))
|
|
(set! (-> v1-12 scale) 0.6)
|
|
)
|
|
(let ((a0-5 arg0))
|
|
(set! (-> a0-5 flags) (font-flags kerning middle large))
|
|
)
|
|
(if (< (mod (-> self clock frame-counter) 300) 210)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-loading-data) #f)
|
|
arg0
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun draw-previous-next ((arg0 menu-highscores-option) (arg1 font-context) (arg2 symbol))
|
|
(local-vars (sv-16 string) (sv-32 int))
|
|
(let ((s3-0 370))
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin x) 73.0)
|
|
(set! (-> arg1 origin y) 308.0)
|
|
(set! (-> arg1 width) 359.0)
|
|
(set! (-> arg1 height) 185.0)
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin x) 82.0)
|
|
(set! (-> arg1 origin y) 328.0)
|
|
(set! (-> arg1 width) 355.0)
|
|
(set! (-> arg1 height) 185.0)
|
|
(set! s3-0 350)
|
|
)
|
|
)
|
|
(let ((a0-1 arg1))
|
|
(set! (-> a0-1 flags) (font-flags kerning large))
|
|
)
|
|
(let ((s2-0 arg1))
|
|
(set! (-> s2-0 color) (the-as font-color (progress-selected 200)))
|
|
)
|
|
(let ((v1-15 arg1))
|
|
(set! (-> v1-15 scale) 0.6)
|
|
)
|
|
(when (or (> (-> arg0 page-index) 0) arg2)
|
|
(let ((s2-1 print-game-text))
|
|
(let ((s1-0 format)
|
|
(s0-0 (clear *temp-string*))
|
|
)
|
|
(set! sv-16 "~C~S")
|
|
(set! sv-32 163)
|
|
(let ((a3-0 (lookup-text! *common-text* (text-id progress-next) #f)))
|
|
(s1-0 s0-0 sv-16 sv-32 a3-0)
|
|
)
|
|
)
|
|
(s2-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! arg2 (or (!= (-> arg0 page-index) (+ (-> arg0 num-pages) -1)) arg2))
|
|
(when arg2
|
|
(let ((a0-12 arg1))
|
|
(set! (-> a0-12 flags) (font-flags kerning right large))
|
|
)
|
|
(+! (-> arg1 origin x) (the float s3-0))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~S~C" (lookup-text! *common-text* (text-id progress-next) #f) 161)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun draw-up-down ((arg0 font-context))
|
|
(let ((s3-0 250)
|
|
(s5-0 155)
|
|
(s4-0 155)
|
|
(f30-0 (-> arg0 origin x))
|
|
(f28-0 (-> arg0 origin y))
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! s5-0 170)
|
|
)
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float s5-0))
|
|
(let ((s2-0 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 160)
|
|
(s2-0 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float (+ s5-0 s4-0)))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 162)
|
|
(s5-1 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) f30-0)
|
|
(set! (-> arg0 origin y) f28-0)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun draw-missions-up-down ((arg0 font-context))
|
|
(let ((s3-0 250)
|
|
(s5-0 116)
|
|
(s4-0 191)
|
|
(f30-0 (-> arg0 origin x))
|
|
(f28-0 (-> arg0 origin y))
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float s5-0))
|
|
(let ((s2-0 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 160)
|
|
(s2-0 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float (+ s5-0 s4-0)))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 162)
|
|
(s5-1 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) f30-0)
|
|
(set! (-> arg0 origin y) f28-0)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch float vs none.
|
|
(defun draw-scene-up-down ((arg0 font-context))
|
|
(let ((s3-0 250)
|
|
(s5-0 102)
|
|
(s4-0 194)
|
|
(f30-0 (-> arg0 origin x))
|
|
(f28-0 (-> arg0 origin y))
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! s5-0 92)
|
|
(set! s4-0 204)
|
|
)
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float s5-0))
|
|
(let ((s2-0 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 160)
|
|
(s2-0 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) (the float s3-0))
|
|
(set! (-> arg0 origin y) (the float (+ s5-0 s4-0)))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 162)
|
|
(s5-1 *temp-string* arg0 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg0 origin x) f30-0)
|
|
(set! (-> arg0 origin y) f28-0)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-23 8) 0) at op 71
|
|
(defun begin-scissor ((arg0 hud-box) (arg1 progress))
|
|
(cond
|
|
((or (= (-> arg1 current) 'bigmap) (= (-> arg1 next) 'bigmap))
|
|
(set! (-> arg0 min x) 0.0)
|
|
(set! (-> arg0 min y) 0.0)
|
|
(set! (-> arg0 max x) 512.0)
|
|
(set! (-> arg0 max y) 416.0)
|
|
)
|
|
((= (get-aspect-ratio) 'aspect16x9)
|
|
(set! (-> arg0 min x) 79.0)
|
|
(set! (-> arg0 min y) 38.0)
|
|
(set! (-> arg0 max x) 434.0)
|
|
(set! (-> arg0 max y) 362.0)
|
|
)
|
|
(else
|
|
(set! (-> arg0 min x) 70.0)
|
|
(set! (-> arg0 min y) 70.0)
|
|
(set! (-> arg0 max x) 444.0)
|
|
(set! (-> arg0 max y) 329.0)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(setup-scissor arg0 s4-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 17
|
|
(defun end-scissor ((arg0 hud-box) (arg1 float))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(restore-scissor arg0 s5-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-17 8) 0) at op 50
|
|
(defun begin-scissor-secret ((arg0 hud-box) (arg1 progress))
|
|
(cond
|
|
((= (get-aspect-ratio) 'aspect16x9)
|
|
(set! (-> arg0 min x) 79.0)
|
|
(set! (-> arg0 min y) 190.0)
|
|
(set! (-> arg0 max x) 434.0)
|
|
(set! (-> arg0 max y) 315.0)
|
|
)
|
|
(else
|
|
(set! (-> arg0 min x) 70.0)
|
|
(set! (-> arg0 min y) 173.0)
|
|
(set! (-> arg0 max x) 444.0)
|
|
(set! (-> arg0 max y) 304.0)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(setup-scissor arg0 s4-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 17
|
|
(defun end-scissor-secret ((arg0 hud-box) (arg1 float))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(restore-scissor arg0 s5-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-17 8) 0) at op 50
|
|
(defun begin-scissor-missions ((arg0 hud-box) (arg1 float))
|
|
(cond
|
|
((= (get-aspect-ratio) 'aspect16x9)
|
|
(set! (-> arg0 min x) 79.0)
|
|
(set! (-> arg0 min y) 130.0)
|
|
(set! (-> arg0 max x) 434.0)
|
|
(set! (-> arg0 max y) 305.0)
|
|
)
|
|
(else
|
|
(set! (-> arg0 min x) 70.0)
|
|
(set! (-> arg0 min y) 130.0)
|
|
(set! (-> arg0 max x) 444.0)
|
|
(set! (-> arg0 max y) 305.0)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(setup-scissor arg0 s4-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 17
|
|
(defun end-scissor-missions ((arg0 hud-box) (arg1 float))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(restore-scissor arg0 s5-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-17 8) 0) at op 50
|
|
(defun begin-scissor-scene ((arg0 hud-box))
|
|
(cond
|
|
((= (get-aspect-ratio) 'aspect16x9)
|
|
(set! (-> arg0 min x) 79.0)
|
|
(set! (-> arg0 min y) 118.0)
|
|
(set! (-> arg0 max x) 434.0)
|
|
(set! (-> arg0 max y) 294.0)
|
|
)
|
|
(else
|
|
(set! (-> arg0 min x) 70.0)
|
|
(set! (-> arg0 min y) 116.0)
|
|
(set! (-> arg0 max x) 444.0)
|
|
(set! (-> arg0 max y) 295.0)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(setup-scissor arg0 s4-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 17
|
|
(defun end-scissor-scene ((arg0 hud-box) (arg1 float))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(restore-scissor arg0 s5-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-17 8) 0) at op 50
|
|
(defun begin-scissor-level ((arg0 hud-box))
|
|
(cond
|
|
((= (get-aspect-ratio) 'aspect16x9)
|
|
(set! (-> arg0 min x) 79.0)
|
|
(set! (-> arg0 min y) 118.0)
|
|
(set! (-> arg0 max x) 434.0)
|
|
(set! (-> arg0 max y) 294.0)
|
|
)
|
|
(else
|
|
(set! (-> arg0 min x) 70.0)
|
|
(set! (-> arg0 min y) 116.0)
|
|
(set! (-> arg0 max x) 444.0)
|
|
(set! (-> arg0 max y) 295.0)
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(setup-scissor arg0 s4-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 17
|
|
(defun end-scissor-level ((arg0 hud-box) (arg1 float))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(restore-scissor arg0 s5-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defun print-language-name ((arg0 text-id) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(let ((s5-0 (if arg3
|
|
arg2
|
|
(- arg2)
|
|
)
|
|
)
|
|
)
|
|
(+! (-> arg1 origin x) (the float s5-0))
|
|
(let ((f30-0 (- 1.0 (* 0.0033333334 (the float arg2)))))
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(print-game-text-scaled (lookup-text! *common-text* (-> *language-name-remap* arg0) #f) f30-0 arg1 320)
|
|
)
|
|
(set! (-> arg1 origin x) (- (-> arg1 origin x) (the float s5-0)))
|
|
)
|
|
(set! (-> arg1 color) (font-color #7efbfb))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defun unlocked-secret-menu? ((arg0 game-secrets))
|
|
(or (logtest? arg0 (game-secrets scene-player-1))
|
|
(logtest? arg0 (game-secrets scene-player-2))
|
|
(logtest? arg0 (game-secrets scene-player-3))
|
|
(logtest? arg0 (game-secrets level-select))
|
|
(logtest? arg0 (game-secrets scrap-book-1))
|
|
(logtest? arg0 (game-secrets scrap-book-2))
|
|
(logtest? arg0 (game-secrets scrap-book-3))
|
|
(logtest? arg0 (game-secrets hero-mode))
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch int vs game-secrets.
|
|
(defun memcard-unlocked-secrets? ((arg0 symbol))
|
|
(let ((v1-0 *progress-save-info*)
|
|
(s5-0 0)
|
|
)
|
|
(let ((a0-1 4))
|
|
(when (and v1-0 (= (-> v1-0 formatted) 1) (= (-> v1-0 inited) 1))
|
|
(dotimes (a1-5 a0-1)
|
|
(set! s5-0 (logior s5-0 (-> v1-0 file a1-5 secrets)))
|
|
)
|
|
)
|
|
)
|
|
(if (unlocked-secret-menu? (the-as game-secrets s5-0))
|
|
(set! (-> *progress-state* secrets-unlocked) #t)
|
|
(set! (-> *progress-state* secrets-unlocked) #f)
|
|
)
|
|
(when *cheat-mode*
|
|
(set! (-> *progress-state* secrets-unlocked) #t)
|
|
(set! s5-0 (logior s5-0 #x8fe0))
|
|
)
|
|
(the-as game-secrets (cond
|
|
(arg0
|
|
(empty)
|
|
s5-0
|
|
)
|
|
(else
|
|
(the-as int (unlocked-secret-menu? (the-as game-secrets s5-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun num-unlocked-secret? ((arg0 game-secrets))
|
|
"@returns The number of secrets currently unlocked"
|
|
(let ((v0-0 0))
|
|
(if (logtest? arg0 (game-secrets scene-player-1))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets scene-player-2))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets scene-player-3))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets level-select))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets scrap-book-1))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets scrap-book-2))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets scrap-book-3))
|
|
(+! v0-0 1)
|
|
)
|
|
(if (logtest? arg0 (game-secrets hero-mode))
|
|
(+! v0-0 1)
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defun print-menu-text ((arg0 string) (arg1 symbol) (arg2 font-context) (arg3 progress))
|
|
(let ((f0-1 (- 1.0 (-> arg3 menu-transition))))
|
|
(let ((v1-1 arg2))
|
|
(set! (-> v1-1 scale) 0.5)
|
|
)
|
|
(set! (-> arg2 alpha) f0-1)
|
|
)
|
|
(print-game-text arg0 arg2 #f 44 (bucket-id progress))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch int vs pointer.
|
|
(defun draw-yes-no ((arg0 progress) (arg1 font-context))
|
|
(local-vars (a0-5 string))
|
|
(- 1.0 (-> arg0 menu-transition))
|
|
(cond
|
|
((-> *progress-state* yes-no-choice)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-5 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-5 *temp-string*)
|
|
)
|
|
)
|
|
(print-game-text a0-5 arg1 #f 44 (bucket-id progress))
|
|
(the-as pointer 0)
|
|
)
|
|
|
|
;; WARN: Return type mismatch int vs pointer.
|
|
(defun draw-continue-retry ((arg0 progress) (arg1 font-context))
|
|
(local-vars (a0-5 string))
|
|
(- 1.0 (-> arg0 menu-transition))
|
|
(cond
|
|
((-> *progress-state* yes-no-choice)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-memcard-continue?) #f)
|
|
(lookup-text! *common-text* (text-id progress-unknown-retry?) #f)
|
|
)
|
|
(set! a0-5 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-memcard-continue?) #f)
|
|
(lookup-text! *common-text* (text-id progress-unknown-retry?) #f)
|
|
)
|
|
(set! a0-5 *temp-string*)
|
|
)
|
|
)
|
|
(print-game-text a0-5 arg1 #f 44 (bucket-id progress))
|
|
(the-as pointer 0)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-option ((obj menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-on-off-option ((obj 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)
|
|
(-> obj value-to-modify)
|
|
)
|
|
)
|
|
)
|
|
(set! a0-8
|
|
(cond
|
|
(arg3
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-1 arg1))
|
|
(set! (-> a0-1 color) (font-color #f9f9f9))
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
((-> s3-0 0)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-8 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-8 *temp-string*)
|
|
)
|
|
)
|
|
a0-8
|
|
)
|
|
(else
|
|
(let ((s2-3 format)
|
|
(s1-2 (clear *temp-string*))
|
|
(s0-2 "~S: ~S")
|
|
)
|
|
(set! sv-16 (lookup-text! *common-text* (-> obj name) #f))
|
|
(let ((a3-4 (if (-> s3-0 0)
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
)
|
|
)
|
|
(s2-3 s1-2 s0-2 sv-16 a3-4)
|
|
)
|
|
)
|
|
*temp-string*
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-menu-text a0-8 (-> obj scale) arg1 arg0)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-yes-no-option ((obj 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
|
|
(cond
|
|
(arg3
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-1 arg1))
|
|
(set! (-> a0-1 color) (font-color #f9f9f9))
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
((-> s3-0 0)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-8 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-8 *temp-string*)
|
|
)
|
|
)
|
|
a0-8
|
|
)
|
|
(else
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
*temp-string*
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-menu-text a0-8 (-> obj scale) arg1 arg0)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-video-mode-option ((obj 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))
|
|
)
|
|
(let ((s2-0 (the-as string #f)))
|
|
(if (< f28-0 0.0)
|
|
(set! f28-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f28-0)
|
|
(let ((v1-5 arg1))
|
|
(set! (-> v1-5 scale) 0.7)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) (+ 43.0 (-> arg1 origin y)))
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) (+ 52.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(cond
|
|
((and (= (-> *progress-state* graphic-options-item-selected) 3)
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-6 arg1))
|
|
(set! (-> a0-6 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 44 f28-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= (-> s3-0 0) 'pal)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S ~35L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-refresh-50hz) #f)
|
|
(lookup-text! *common-text* (text-id progress-refresh-60hz) #f)
|
|
)
|
|
(set! s2-0 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S~33L ~S"
|
|
(lookup-text! *common-text* (text-id progress-refresh-50hz) #f)
|
|
(lookup-text! *common-text* (text-id progress-refresh-60hz) #f)
|
|
)
|
|
(set! s2-0 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(when (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(cond
|
|
((= (-> *progress-state* graphic-options-item-selected) 3)
|
|
(let ((s2-4 arg1))
|
|
(set! (-> s2-4 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -9.0 (-> arg1 origin y))) 22 f28-0)
|
|
)
|
|
(else
|
|
(let ((a0-23 arg1))
|
|
(set! (-> a0-23 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= (-> s3-0 0) 'pal)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~1L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-refresh-50hz) #f)
|
|
(lookup-text! *common-text* (text-id progress-refresh-60hz) #f)
|
|
)
|
|
(set! s2-0 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~1L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-refresh-50hz) #f)
|
|
(lookup-text! *common-text* (text-id progress-refresh-60hz) #f)
|
|
)
|
|
(set! s2-0 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(if (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(print-menu-text s2-0 (-> obj scale) arg1 arg0)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) f30-0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-unlocked-menu-option ((obj 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))))
|
|
)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.6)
|
|
)
|
|
(when (nonzero? (-> obj name))
|
|
(cond
|
|
((= arg2 (-> arg0 option-index))
|
|
(progress-selected 0)
|
|
(draw-highlight (the int (+ 8.0 (-> arg1 origin y))) 24 f30-0)
|
|
)
|
|
(else
|
|
32
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 8.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= (-> obj name) (text-id progress-main-secrets-scrapbook))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scrap-book-1))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-scrapbook) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-2 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-mega-scrapbook))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scrap-book-2))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-mega-scrapbook) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-4 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-4 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-scrapbook-3))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scrap-book-3))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-scrapbook-3) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-6 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-6 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-sceneplayer-1))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scene-player-1))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-sceneplayer-1) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-8 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-8 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-sceneplayer-2))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scene-player-2))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-sceneplayer-2) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-10 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-10 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-sceneplayer-3))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets scene-player-3))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-sceneplayer-3) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-12 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-12 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-hero-mode))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets hero-mode))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-hero-mode) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-14 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-14 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((= (-> obj name) (text-id progress-main-secrets-levelselect))
|
|
(cond
|
|
((logtest? s5-0 (game-secrets level-select))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-main-secrets-levelselect) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s5-16 print-game-text))
|
|
(format (clear *temp-string*) "?????????")
|
|
(s5-16 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-main-menu-option ((obj 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? (-> obj name))
|
|
(= arg2 (-> arg0 option-index))
|
|
)
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 scale) 0.75)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle large))
|
|
)
|
|
(set! (-> arg1 width) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
235
|
|
175
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 height) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
80
|
|
80
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
140
|
|
170
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
180
|
|
175
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((= (-> obj name) (text-id progress-root-show-map))
|
|
(when (= (-> *setting-control* user-default language) (language-enum french))
|
|
(let ((v1-18 arg1))
|
|
(set! (-> v1-18 scale) 0.7)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
210
|
|
200
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-21 arg1))
|
|
(set! (-> v1-21 scale) 0.6)
|
|
)
|
|
(let ((v1-23 (-> *bigmap* bigmap-index)))
|
|
(cond
|
|
((zero? v1-23)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-pumping-station) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 1)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-landing-pad) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 2)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-weapons-factory) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 3)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-dig) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 4)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-dig) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 5)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-drill-platform) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 6)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-haven-forest) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 7)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-fortress) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 8)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-mountain-temple) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 9)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-nest) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 11)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-palace-roof) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 12)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-palace) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 13)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-dead-town) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 14)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-sewer) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 15)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-sewer) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 16)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-sewer) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 17)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-strip-mine) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 18)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-mars-tomb) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 19)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-underport) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((= v1-23 20)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-locations-haven-city) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-7 8) 0) at op 26
|
|
(defun draw-savegame-box ((arg0 menu-option) (arg1 float) (arg2 float) (arg3 float) (arg4 float))
|
|
(set! (-> arg0 box 0 min x) arg1)
|
|
(set! (-> arg0 box 0 max x) arg2)
|
|
(set! (-> arg0 box 0 min y) arg3)
|
|
(set! (-> arg0 box 0 max y) arg4)
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-box draw-box-prim-only) (the-as hud-box (-> arg0 box)) s5-0)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch uint vs texture-id.
|
|
(defun get-level-icon-id-01 ((arg0 int))
|
|
"TODO - Icon id enum perhaps?"
|
|
(let ((v0-0 (the-as uint #xc9303600)))
|
|
(cond
|
|
((zero? arg0)
|
|
(set! v0-0 (the-as uint #xc9304800))
|
|
)
|
|
((= arg0 1)
|
|
(set! v0-0 (the-as uint #xc9304000))
|
|
)
|
|
((= arg0 2)
|
|
(set! v0-0 (the-as uint #xc9307000))
|
|
)
|
|
((= arg0 3)
|
|
(set! v0-0 (the-as uint #xc9305800))
|
|
)
|
|
((= arg0 4)
|
|
(set! v0-0 (the-as uint #xc9306800))
|
|
)
|
|
((= arg0 5)
|
|
(set! v0-0 (the-as uint #xc9307400))
|
|
)
|
|
((= arg0 6)
|
|
(set! v0-0 (the-as uint #xc9303600))
|
|
)
|
|
((= arg0 7)
|
|
(set! v0-0 (the-as uint #xc9306c00))
|
|
)
|
|
((= arg0 8)
|
|
(set! v0-0 (the-as uint #xc9305c00))
|
|
)
|
|
((= arg0 9)
|
|
(set! v0-0 (the-as uint #xc9305400))
|
|
)
|
|
((= arg0 10)
|
|
(set! v0-0 (the-as uint #xc9305000))
|
|
)
|
|
((= arg0 11)
|
|
(set! v0-0 (the-as uint #xc9306400))
|
|
)
|
|
((= arg0 12)
|
|
(set! v0-0 (the-as uint #xc9307800))
|
|
)
|
|
((= arg0 13)
|
|
(set! v0-0 (the-as uint #xc9304c00))
|
|
)
|
|
((= arg0 14)
|
|
(set! v0-0 (the-as uint #xc9303a00))
|
|
)
|
|
((= arg0 15)
|
|
(set! v0-0 (the-as uint #xc9307c00))
|
|
)
|
|
((= arg0 16)
|
|
(set! v0-0 (the-as uint #xc9304400))
|
|
)
|
|
((= arg0 17)
|
|
(set! v0-0 (the-as uint #xc9306000))
|
|
)
|
|
)
|
|
(the-as texture-id v0-0)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch uint vs texture-id.
|
|
(defun get-level-icon-id-02 ((arg0 int))
|
|
"TODO - Icon id enum perhaps?"
|
|
(let ((v0-0 (the-as uint #xc9303700)))
|
|
(cond
|
|
((zero? arg0)
|
|
(set! v0-0 (the-as uint #xc9304900))
|
|
)
|
|
((= arg0 1)
|
|
(set! v0-0 (the-as uint #xc9304100))
|
|
)
|
|
((= arg0 2)
|
|
(set! v0-0 (the-as uint #xc9307100))
|
|
)
|
|
((= arg0 3)
|
|
(set! v0-0 (the-as uint #xc9305900))
|
|
)
|
|
((= arg0 4)
|
|
(set! v0-0 (the-as uint #xc9306900))
|
|
)
|
|
((= arg0 5)
|
|
(set! v0-0 (the-as uint #xc9307500))
|
|
)
|
|
((= arg0 6)
|
|
(set! v0-0 (the-as uint #xc9303700))
|
|
)
|
|
((= arg0 7)
|
|
(set! v0-0 (the-as uint #xc9306d00))
|
|
)
|
|
((= arg0 8)
|
|
(set! v0-0 (the-as uint #xc9305d00))
|
|
)
|
|
((= arg0 9)
|
|
(set! v0-0 (the-as uint #xc9305500))
|
|
)
|
|
((= arg0 10)
|
|
(set! v0-0 (the-as uint #xc9305100))
|
|
)
|
|
((= arg0 11)
|
|
(set! v0-0 (the-as uint #xc9306500))
|
|
)
|
|
((= arg0 12)
|
|
(set! v0-0 (the-as uint #xc9307900))
|
|
)
|
|
((= arg0 13)
|
|
(set! v0-0 (the-as uint #xc9304d00))
|
|
)
|
|
((= arg0 14)
|
|
(set! v0-0 (the-as uint #xc9303b00))
|
|
)
|
|
((= arg0 15)
|
|
(set! v0-0 (the-as uint #xc9307d00))
|
|
)
|
|
((= arg0 16)
|
|
(set! v0-0 (the-as uint #xc9304500))
|
|
)
|
|
((= arg0 17)
|
|
(set! v0-0 (the-as uint #xc9306100))
|
|
)
|
|
)
|
|
(the-as texture-id v0-0)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch uint vs texture-id.
|
|
(defun get-level-icon-id-03 ((arg0 int))
|
|
"TODO - Icon id enum perhaps?"
|
|
(let ((v0-0 (the-as uint #xc9303800)))
|
|
(cond
|
|
((zero? arg0)
|
|
(set! v0-0 (the-as uint #xc9304a00))
|
|
)
|
|
((= arg0 1)
|
|
(set! v0-0 (the-as uint #xc9304200))
|
|
)
|
|
((= arg0 2)
|
|
(set! v0-0 (the-as uint #xc9307200))
|
|
)
|
|
((= arg0 3)
|
|
(set! v0-0 (the-as uint #xc9305a00))
|
|
)
|
|
((= arg0 4)
|
|
(set! v0-0 (the-as uint #xc9306a00))
|
|
)
|
|
((= arg0 5)
|
|
(set! v0-0 (the-as uint #xc9307600))
|
|
)
|
|
((= arg0 6)
|
|
(set! v0-0 (the-as uint #xc9303800))
|
|
)
|
|
((= arg0 7)
|
|
(set! v0-0 (the-as uint #xc9306e00))
|
|
)
|
|
((= arg0 8)
|
|
(set! v0-0 (the-as uint #xc9305e00))
|
|
)
|
|
((= arg0 9)
|
|
(set! v0-0 (the-as uint #xc9305600))
|
|
)
|
|
((= arg0 10)
|
|
(set! v0-0 (the-as uint #xc9305200))
|
|
)
|
|
((= arg0 11)
|
|
(set! v0-0 (the-as uint #xc9306600))
|
|
)
|
|
((= arg0 12)
|
|
(set! v0-0 (the-as uint #xc9307a00))
|
|
)
|
|
((= arg0 13)
|
|
(set! v0-0 (the-as uint #xc9304e00))
|
|
)
|
|
((= arg0 14)
|
|
(set! v0-0 (the-as uint #xc9303c00))
|
|
)
|
|
((= arg0 15)
|
|
(set! v0-0 (the-as uint #xc9307e00))
|
|
)
|
|
((= arg0 16)
|
|
(set! v0-0 (the-as uint #xc9304600))
|
|
)
|
|
((= arg0 17)
|
|
(set! v0-0 (the-as uint #xc9306200))
|
|
)
|
|
)
|
|
(the-as texture-id v0-0)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch uint vs texture-id.
|
|
(defun get-level-icon-id-04 ((arg0 int))
|
|
"TODO - Icon id enum perhaps?"
|
|
(let ((v0-0 (the-as uint #xc9303900)))
|
|
(cond
|
|
((zero? arg0)
|
|
(set! v0-0 (the-as uint #xc9304b00))
|
|
)
|
|
((= arg0 1)
|
|
(set! v0-0 (the-as uint #xc9304300))
|
|
)
|
|
((= arg0 2)
|
|
(set! v0-0 (the-as uint #xc9307300))
|
|
)
|
|
((= arg0 3)
|
|
(set! v0-0 (the-as uint #xc9305b00))
|
|
)
|
|
((= arg0 4)
|
|
(set! v0-0 (the-as uint #xc9306b00))
|
|
)
|
|
((= arg0 5)
|
|
(set! v0-0 (the-as uint #xc9307700))
|
|
)
|
|
((= arg0 6)
|
|
(set! v0-0 (the-as uint #xc9303900))
|
|
)
|
|
((= arg0 7)
|
|
(set! v0-0 (the-as uint #xc9306f00))
|
|
)
|
|
((= arg0 8)
|
|
(set! v0-0 (the-as uint #xc9305f00))
|
|
)
|
|
((= arg0 9)
|
|
(set! v0-0 (the-as uint #xc9305700))
|
|
)
|
|
((= arg0 10)
|
|
(set! v0-0 (the-as uint #xc9305300))
|
|
)
|
|
((= arg0 11)
|
|
(set! v0-0 (the-as uint #xc9306700))
|
|
)
|
|
((= arg0 12)
|
|
(set! v0-0 (the-as uint #xc9307b00))
|
|
)
|
|
((= arg0 13)
|
|
(set! v0-0 (the-as uint #xc9304f00))
|
|
)
|
|
((= arg0 14)
|
|
(set! v0-0 (the-as uint #xc9303d00))
|
|
)
|
|
((= arg0 15)
|
|
(set! v0-0 (the-as uint #xc9307f00))
|
|
)
|
|
((= arg0 16)
|
|
(set! v0-0 (the-as uint #xc9304700))
|
|
)
|
|
((= arg0 17)
|
|
(set! v0-0 (the-as uint #xc9306300))
|
|
)
|
|
)
|
|
(the-as texture-id v0-0)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-41 8) 0) at op 177
|
|
(defun draw-decoration ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 int) (arg4 symbol) (arg5 float))
|
|
(local-vars
|
|
(sv-16 symbol)
|
|
(sv-32 float)
|
|
(sv-48 int)
|
|
(sv-64 int)
|
|
(sv-80 (function string font-context symbol int bucket-id float))
|
|
(sv-96 int)
|
|
)
|
|
(set! sv-96 arg3)
|
|
(set! sv-16 arg4)
|
|
(set! sv-32 arg5)
|
|
(let ((gp-0 70)
|
|
(s5-0 120)
|
|
)
|
|
(set! sv-48 87)
|
|
(let ((s3-0 375)
|
|
(s2-0 210)
|
|
)
|
|
(set! sv-64 0)
|
|
(cond
|
|
((not sv-16)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! gp-0 69)
|
|
(set! s5-0 118)
|
|
(set! sv-48 80)
|
|
(set! s3-0 375)
|
|
(set! s2-0 210)
|
|
)
|
|
(('aspect16x9)
|
|
(set! gp-0 79)
|
|
(set! s5-0 118)
|
|
(set! sv-48 68)
|
|
(set! s3-0 356)
|
|
(set! s2-0 244)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! gp-0 70)
|
|
(set! s5-0 116)
|
|
(set! sv-48 78)
|
|
(set! s3-0 375)
|
|
(set! s2-0 179)
|
|
)
|
|
(('aspect16x9)
|
|
(set! gp-0 79)
|
|
(set! s5-0 108)
|
|
(set! sv-48 58)
|
|
(set! s3-0 356)
|
|
(set! s2-0 185)
|
|
(set! sv-64 20)
|
|
sv-64
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-20 arg1))
|
|
(set! (-> v1-20 scale) sv-32)
|
|
)
|
|
(set! (-> arg1 origin y) (the float sv-48))
|
|
(set! (-> arg1 height) 50.0)
|
|
(let ((a0-1 arg1))
|
|
(set! (-> a0-1 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 flags) (font-flags kerning middle large))
|
|
)
|
|
(set! sv-80 print-game-text)
|
|
(let* ((a0-3 *common-text*)
|
|
(t9-2 (method-of-object a0-3 lookup-text!))
|
|
(a2-1 #f)
|
|
(a0-4 (t9-2 a0-3 (the-as text-id sv-96) a2-1))
|
|
(a1-2 arg1)
|
|
(a2-2 #f)
|
|
(a3-1 44)
|
|
(t0-1 (bucket-id progress))
|
|
)
|
|
(sv-80 a0-4 a1-2 a2-2 a3-1 (the-as bucket-id t0-1))
|
|
)
|
|
(set-vector! (-> arg0 box 0 color) 64 128 128 (the int (* 128.0 arg2)))
|
|
(draw-savegame-box arg0 (the float gp-0) (the float (+ gp-0 s3-0)) (the float s5-0) (the float s5-0))
|
|
(when sv-16
|
|
(+! (-> arg1 origin y) (the float sv-64))
|
|
(draw-savegame-box
|
|
arg0
|
|
(the float gp-0)
|
|
(the float (+ gp-0 s3-0))
|
|
(the float (+ s5-0 s2-0))
|
|
(the float (+ s5-0 s2-0))
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-1
|
|
gp-0
|
|
s5-0
|
|
s3-0
|
|
s2-0
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 arg2)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-28 8) 0) at op 138
|
|
(defun draw-missions-decoration ((arg0 menu-missions-option) (arg1 font-context) (arg2 float) (arg3 text-id))
|
|
(local-vars
|
|
(sv-16 int)
|
|
(sv-32 (function string font-context symbol int bucket-id float))
|
|
(sv-48 font-context)
|
|
)
|
|
(set! sv-48 arg1)
|
|
(let ((s2-0 arg2)
|
|
(s0-0 arg3)
|
|
(gp-0 70)
|
|
(s5-0 120)
|
|
)
|
|
(set! sv-16 87)
|
|
(let ((s4-0 375)
|
|
(s3-0 210)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! gp-0 70)
|
|
(set! s5-0 130)
|
|
(set! sv-16 85)
|
|
(set! s4-0 375)
|
|
(set! s3-0 175)
|
|
)
|
|
(('aspect16x9)
|
|
(set! gp-0 79)
|
|
(set! s5-0 130)
|
|
(set! sv-16 68)
|
|
(set! s4-0 356)
|
|
(set! s3-0 175)
|
|
)
|
|
)
|
|
(let ((v1-9 sv-48))
|
|
(set! (-> v1-9 scale) 0.95)
|
|
)
|
|
(set! (-> sv-48 height) 50.0)
|
|
(set! (-> sv-48 origin y) (the float sv-16))
|
|
(let ((a0-2 sv-48))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(set! sv-32 print-game-text)
|
|
(let ((a0-4 (lookup-text! *common-text* s0-0 #f))
|
|
(a2-2 #f)
|
|
(a3-1 44)
|
|
(t0-0 320)
|
|
)
|
|
(sv-32 a0-4 sv-48 a2-2 a3-1 (the-as bucket-id t0-0))
|
|
)
|
|
(set-vector! (-> arg0 box 0 color) 64 128 128 (the int (* 128.0 s2-0)))
|
|
(draw-savegame-box arg0 (the float gp-0) (the float (+ gp-0 s4-0)) (the float s5-0) (the float s5-0))
|
|
(draw-savegame-box
|
|
arg0
|
|
(the float gp-0)
|
|
(the float (+ gp-0 s4-0))
|
|
(the float (+ s5-0 s3-0))
|
|
(the float (+ s5-0 s3-0))
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-1
|
|
gp-0
|
|
s5-0
|
|
s4-0
|
|
s3-0
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 s2-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-34 8) 0) at op 152
|
|
(defun draw-sound-options-decoration ((arg0 menu-slider-option) (arg1 font-context) (arg2 float) (arg3 symbol) (arg4 text-id))
|
|
(local-vars
|
|
(sv-16 font-context)
|
|
(sv-32 int)
|
|
(sv-48 (function string font-context symbol int bucket-id float))
|
|
(sv-64 symbol)
|
|
)
|
|
(set! sv-16 arg1)
|
|
(let ((s2-0 arg2))
|
|
(set! sv-64 arg3)
|
|
(let ((s0-0 arg4)
|
|
(gp-0 70)
|
|
(s5-0 120)
|
|
)
|
|
(set! sv-32 87)
|
|
(let ((s4-0 375)
|
|
(s3-0 210)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! gp-0 70)
|
|
(set! s5-0 120)
|
|
(set! sv-32 83)
|
|
(set! s4-0 375)
|
|
(set! s3-0 208)
|
|
)
|
|
(('aspect16x9)
|
|
(set! gp-0 79)
|
|
(set! s5-0 118)
|
|
(set! sv-32 68)
|
|
(set! s4-0 356)
|
|
(set! s3-0 244)
|
|
)
|
|
)
|
|
(let ((v1-9 sv-16))
|
|
(set! (-> v1-9 scale) 0.95)
|
|
)
|
|
(set! (-> sv-16 origin y) (the float sv-32))
|
|
(set! (-> sv-16 height) 50.0)
|
|
(let ((a0-2 sv-16))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> sv-16 origin x) 80.0)
|
|
(let ((a0-3 sv-16))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle large))
|
|
)
|
|
(set! sv-48 print-game-text)
|
|
(let* ((a0-4 *common-text*)
|
|
(t9-1 (method-of-object a0-4 lookup-text!))
|
|
(a2-1 #f)
|
|
(a0-5 (t9-1 a0-4 (the-as text-id sv-64) a2-1))
|
|
(a1-2 sv-16)
|
|
(a2-2 #f)
|
|
(a3-1 44)
|
|
(t0-1 (bucket-id progress))
|
|
)
|
|
(sv-48 a0-5 a1-2 a2-2 a3-1 (the-as bucket-id t0-1))
|
|
)
|
|
(set! (-> sv-16 origin x) (the float (+ gp-0 65)))
|
|
(set-vector! (-> arg0 box 0 color) 64 128 128 (the int (* 128.0 s2-0)))
|
|
(draw-savegame-box arg0 (the float gp-0) (the float (+ gp-0 s4-0)) (the float s5-0) (the float s5-0))
|
|
(if s0-0
|
|
(draw-savegame-box
|
|
arg0
|
|
(the float gp-0)
|
|
(the float (+ gp-0 s4-0))
|
|
(the float (+ s5-0 s3-0))
|
|
(the float (+ s5-0 s3-0))
|
|
)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-1
|
|
gp-0
|
|
s5-0
|
|
s4-0
|
|
s3-0
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 s2-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-30 8) 0) at op 140
|
|
(defun draw-decoration-secrets ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 text-id))
|
|
(local-vars
|
|
(sv-16 int)
|
|
(sv-32 (function string font-context symbol int bucket-id float))
|
|
(sv-48 font-context)
|
|
)
|
|
(set! sv-48 arg1)
|
|
(let ((s2-0 arg2)
|
|
(s0-0 arg3)
|
|
(gp-0 70)
|
|
(s5-0 110)
|
|
)
|
|
120
|
|
(set! sv-16 87)
|
|
(let ((s4-0 375)
|
|
(s3-0 210)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! gp-0 69)
|
|
(set! s5-0 172)
|
|
(set! sv-16 87)
|
|
(set! s4-0 375)
|
|
(set! s3-0 132)
|
|
)
|
|
(('aspect16x9)
|
|
(set! gp-0 79)
|
|
(set! s5-0 188)
|
|
188
|
|
(set! sv-16 68)
|
|
(set! s4-0 356)
|
|
(set! s3-0 128)
|
|
)
|
|
)
|
|
(let ((v1-11 sv-48))
|
|
(set! (-> v1-11 scale) 0.95)
|
|
)
|
|
(set! (-> sv-48 origin y) (the float sv-16))
|
|
(set! (-> sv-48 height) 50.0)
|
|
(let ((a0-2 sv-48))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(set! sv-32 print-game-text)
|
|
(let ((a0-4 (lookup-text! *common-text* s0-0 #f))
|
|
(a2-2 #f)
|
|
(a3-1 44)
|
|
(t0-0 (bucket-id progress))
|
|
)
|
|
(sv-32 a0-4 sv-48 a2-2 a3-1 (the-as bucket-id t0-0))
|
|
)
|
|
(set-vector! (-> arg0 box 0 color) 64 128 128 (the int (* 128.0 s2-0)))
|
|
(draw-savegame-box arg0 (the float gp-0) (the float (+ gp-0 s4-0)) (the float s5-0) (the float s5-0))
|
|
(draw-savegame-box
|
|
arg0
|
|
(the float gp-0)
|
|
(the float (+ gp-0 s4-0))
|
|
(the float (+ s5-0 s3-0))
|
|
(the float (+ s5-0 s3-0))
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-1
|
|
gp-0
|
|
s5-0
|
|
s4-0
|
|
s3-0
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 s2-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-45 8) 0) at op 174
|
|
(defun draw-decoration-load-save ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 int))
|
|
(local-vars
|
|
(sv-16 int)
|
|
(sv-32 int)
|
|
(sv-48 (function string font-context symbol int bucket-id float))
|
|
(sv-64 int)
|
|
(sv-80 font-context)
|
|
)
|
|
(set! sv-80 arg1)
|
|
(let ((s4-0 arg2))
|
|
(set! sv-64 arg3)
|
|
(let ((s0-0 70)
|
|
(gp-0 120)
|
|
(s5-0 120)
|
|
)
|
|
120
|
|
(set! sv-16 87)
|
|
(set! sv-32 375)
|
|
(let ((s3-0 200)
|
|
(s2-0 210)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! s0-0 69)
|
|
(set! gp-0 245)
|
|
(set! s5-0 110)
|
|
(set! sv-16 80)
|
|
(set! sv-32 375)
|
|
(set! s3-0 200)
|
|
(set! s2-0 218)
|
|
)
|
|
(('aspect16x9)
|
|
(set! s0-0 79)
|
|
(set! gp-0 245)
|
|
(set! s5-0 110)
|
|
(set! sv-16 80)
|
|
(set! sv-32 355)
|
|
(set! s3-0 190)
|
|
(set! s2-0 248)
|
|
)
|
|
)
|
|
(let ((v1-13 sv-80))
|
|
(set! (-> v1-13 scale) 0.65)
|
|
)
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum french))
|
|
(= (-> *setting-control* user-default language) (language-enum spanish))
|
|
(= (-> *setting-control* user-default language) (language-enum italian))
|
|
)
|
|
(let ((v1-24 sv-80))
|
|
(set! (-> v1-24 scale) 0.5)
|
|
)
|
|
)
|
|
(set! (-> sv-80 origin y) (the float sv-16))
|
|
(set! (-> sv-80 origin x) (the float s0-0))
|
|
(let ((a0-6 sv-80))
|
|
(set! (-> a0-6 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((a0-7 sv-80))
|
|
(set! (-> a0-7 color) (font-color #7efbfb))
|
|
)
|
|
(set! sv-48 print-game-text)
|
|
(let* ((a0-8 *common-text*)
|
|
(t9-1 (method-of-object a0-8 lookup-text!))
|
|
(a2-1 #f)
|
|
(a0-9 (t9-1 a0-8 (the-as text-id sv-64) a2-1))
|
|
(a2-2 #f)
|
|
(a3-1 44)
|
|
(t0-0 (bucket-id progress))
|
|
)
|
|
(sv-48 a0-9 sv-80 a2-2 a3-1 (the-as bucket-id t0-0))
|
|
)
|
|
(set-vector! (-> arg0 box 0 color) 64 128 128 (the int (* 128.0 s4-0)))
|
|
(draw-savegame-box arg0 (the float s0-0) (the float (+ s0-0 sv-32)) (the float s5-0) (the float s5-0))
|
|
(draw-savegame-box
|
|
arg0
|
|
(the float (+ s0-0 sv-32))
|
|
(the float (+ s0-0 sv-32))
|
|
(the float s5-0)
|
|
(the float s5-0)
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-1
|
|
gp-0
|
|
s5-0
|
|
s3-0
|
|
s2-0
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 s4-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-95 8) 0) at op 334
|
|
(defmethod menu-option-method-10 menu-memcard-slot-option ((obj menu-memcard-slot-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(v0-74 pointer)
|
|
(sv-16 float)
|
|
(sv-20 int)
|
|
(sv-24 float)
|
|
(sv-28 float)
|
|
(sv-32 float)
|
|
(sv-36 float)
|
|
(sv-40 int)
|
|
(sv-48 int)
|
|
(sv-56 int)
|
|
(sv-64 int)
|
|
(sv-72 int)
|
|
(sv-80 int)
|
|
(sv-88 int)
|
|
(sv-96 string)
|
|
(sv-112 int)
|
|
)
|
|
(set! sv-16 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(set! sv-20 (-> arg0 option-index))
|
|
(set! sv-24 (-> arg1 origin x))
|
|
(set! sv-28 (-> arg1 origin y))
|
|
(set! sv-32 (-> arg1 width))
|
|
(set! sv-36 (-> arg1 height))
|
|
(set! sv-40 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
300
|
|
305
|
|
)
|
|
)
|
|
(set! sv-48 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
140
|
|
140
|
|
)
|
|
)
|
|
(set! sv-56 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
64
|
|
48
|
|
)
|
|
)
|
|
(set! sv-64 69)
|
|
(set! sv-72 110)
|
|
(set! sv-80 176)
|
|
(set! sv-88 54)
|
|
(if (< sv-16 0.0)
|
|
(set! sv-16 (the-as float 0.0))
|
|
)
|
|
(set! (-> arg1 alpha) sv-16)
|
|
(set! v0-74
|
|
(cond
|
|
((not (-> *bigmap* progress-minimap))
|
|
(draw-busy-loading arg1)
|
|
v0-74
|
|
)
|
|
(else
|
|
(let ((s2-3 arg1))
|
|
(set! (-> s2-3 color) (if (= arg2 sv-20)
|
|
(the-as font-color (progress-selected 0))
|
|
(font-color #7efbfb)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((= *save-options-title* (-> arg0 current-options))
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(set! (-> arg1 height) 52.0)
|
|
(+! (-> arg1 origin y) (the float (* 42 (+ arg2 1))))
|
|
(set! (-> arg1 origin x) (+ -100.0 (-> arg1 origin x)))
|
|
)
|
|
(else
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) 74.0)
|
|
(set! (-> arg1 height) 42.0)
|
|
(+! (-> arg1 origin y) (the float (* 60 (+ arg2 1))))
|
|
(set! (-> arg1 origin x) (+ -90.0 (-> arg1 origin x)))
|
|
)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) 74.0)
|
|
(set! (-> arg1 height) 42.0)
|
|
(+! (-> arg1 origin y) (the float (* 54 (+ arg2 1))))
|
|
(set! (-> arg1 origin x) (+ -90.0 (-> arg1 origin x)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set-vector! (-> obj box 0 color) 64 128 128 (the int (* 128.0 sv-16)))
|
|
(when (= arg2 sv-20)
|
|
(cond
|
|
((!= *save-options-title* (-> arg0 current-options))
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! sv-64 79)
|
|
(set! sv-72 110)
|
|
(set! sv-80 166)
|
|
(set! sv-88 62)
|
|
)
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float sv-64)
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
)
|
|
(when (!= arg2 3)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float sv-64)
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
(the float (+ (* sv-88 4) 2 sv-72))
|
|
)
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-64 sv-80))
|
|
(the float sv-72)
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
)
|
|
(with-dma-buffer-add-bucket ((s1-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s1-0
|
|
sv-64
|
|
(+ sv-72 (* sv-88 arg2))
|
|
sv-80
|
|
sv-88
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 sv-16)))
|
|
)
|
|
)
|
|
)
|
|
((= *save-options-title* (-> arg0 current-options))
|
|
(set! sv-88 42)
|
|
(let ((v0-13 (get-aspect-ratio)))
|
|
(when (= v0-13 'aspect16x9)
|
|
(set! sv-64 79)
|
|
(set! sv-72 110)
|
|
(set! sv-80 166)
|
|
(set! sv-88 42)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
(the float (+ sv-72 (* 6 sv-88)))
|
|
)
|
|
)
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float sv-64)
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
)
|
|
(when (!= arg2 4)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float sv-64)
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-72 sv-88 (* sv-88 arg2)))
|
|
(the float (+ (* 5 sv-88) 2 sv-72))
|
|
)
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ sv-64 sv-80))
|
|
(the float (+ sv-64 sv-80))
|
|
(the float sv-72)
|
|
(the float (+ sv-72 (* sv-88 arg2)))
|
|
)
|
|
(with-dma-buffer-add-bucket ((s1-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s1-1
|
|
sv-64
|
|
(+ sv-72 (* sv-88 arg2))
|
|
sv-80
|
|
sv-88
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 sv-16)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((and *progress-save-info*
|
|
(= (-> *progress-save-info* formatted) 1)
|
|
(= (-> *progress-save-info* inited) 1)
|
|
(= (-> *progress-save-info* file arg2 present) 1)
|
|
)
|
|
(cond
|
|
((= arg2 sv-20)
|
|
(let ((v1-185 arg1))
|
|
(set! (-> v1-185 scale) 0.8)
|
|
)
|
|
)
|
|
(else
|
|
(let ((v1-186 arg1))
|
|
(set! (-> v1-186 scale) 0.6)
|
|
)
|
|
)
|
|
)
|
|
(let ((a0-40 arg1))
|
|
(set! (-> a0-40 flags) (font-flags kerning large))
|
|
)
|
|
(+! (-> arg1 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
100
|
|
105
|
|
)
|
|
)
|
|
)
|
|
(let ((s2-7 print-game-text))
|
|
(let ((s1-2 format)
|
|
(s0-0 (clear *temp-string*))
|
|
)
|
|
(set! sv-96 "~S ~D")
|
|
(let ((a2-28 (lookup-text! *common-text* (text-id progress-unknown-game) #f))
|
|
(a3-33 (+ arg2 1))
|
|
)
|
|
(s1-2 s0-0 sv-96 a2-28 a3-33)
|
|
)
|
|
)
|
|
(s2-7 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((a0-45 arg1))
|
|
(set! (-> a0-45 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin x) 250.0)
|
|
(set! (-> arg1 origin y) 110.0)
|
|
(set! (-> arg1 width) 170.0)
|
|
(set! (-> arg1 height) 190.0)
|
|
(let ((s2-8 (-> *progress-save-info* file arg2 level-index)))
|
|
(when (= arg2 sv-20)
|
|
(let ((v1-199 (-> obj sprites 0 color2)))
|
|
(set! (-> v1-199 0) 128)
|
|
(set! (-> v1-199 1) 128)
|
|
(set! (-> v1-199 2) 128)
|
|
(set! (-> v1-199 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(let ((v1-200 (-> obj sprites 1 color2)))
|
|
(set! (-> v1-200 0) 128)
|
|
(set! (-> v1-200 1) 128)
|
|
(set! (-> v1-200 2) 128)
|
|
(set! (-> v1-200 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(set! (-> obj sprites 1 pos z) #xffffff)
|
|
(set! (-> obj sprites 1 pos w) 1)
|
|
(set! (-> obj sprites 1 tex) (lookup-texture-by-id (get-level-icon-id-01 s2-8)))
|
|
(set! (-> obj sprites 1 scale-x) 1.0)
|
|
(set! (-> obj sprites 1 scale-y) 1.0)
|
|
(set-hud-piece-position! (-> obj sprites 1) sv-40 sv-48)
|
|
(let ((v1-205 (-> obj sprites 2 color2)))
|
|
(set! (-> v1-205 0) 128)
|
|
(set! (-> v1-205 1) 128)
|
|
(set! (-> v1-205 2) 128)
|
|
(set! (-> v1-205 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(set! (-> obj sprites 2 pos z) #xffffff)
|
|
(set! (-> obj sprites 2 pos w) 1)
|
|
(set! (-> obj sprites 2 tex) (lookup-texture-by-id (get-level-icon-id-02 s2-8)))
|
|
(set! (-> obj sprites 2 scale-x) 1.0)
|
|
(set! (-> obj sprites 2 scale-y) 1.0)
|
|
(set-hud-piece-position! (-> obj sprites 2) (+ sv-40 sv-56) sv-48)
|
|
(let ((v1-211 (-> obj sprites 3 color2)))
|
|
(set! (-> v1-211 0) 128)
|
|
(set! (-> v1-211 1) 128)
|
|
(set! (-> v1-211 2) 128)
|
|
(set! (-> v1-211 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(set! (-> obj sprites 3 pos z) #xffffff)
|
|
(set! (-> obj sprites 3 pos w) 1)
|
|
(set! (-> obj sprites 3 tex) (lookup-texture-by-id (get-level-icon-id-03 s2-8)))
|
|
(set! (-> obj sprites 3 scale-x) 1.0)
|
|
(set! (-> obj sprites 3 scale-y) 1.0)
|
|
(set-hud-piece-position! (-> obj sprites 3) sv-40 (+ sv-48 64))
|
|
(let ((v1-217 (-> obj sprites 4 color2)))
|
|
(set! (-> v1-217 0) 128)
|
|
(set! (-> v1-217 1) 128)
|
|
(set! (-> v1-217 2) 128)
|
|
(set! (-> v1-217 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(set! (-> obj sprites 4 pos z) #xffffff)
|
|
(set! (-> obj sprites 4 pos w) 1)
|
|
(set! (-> obj sprites 4 tex) (lookup-texture-by-id (get-level-icon-id-04 s2-8)))
|
|
(set! (-> obj sprites 4 scale-x) 1.0)
|
|
(set! (-> obj sprites 4 scale-y) 1.0)
|
|
(set-hud-piece-position! (-> obj sprites 4) (+ sv-40 sv-56) (+ sv-48 64))
|
|
(with-dma-buffer-add-bucket ((s1-7 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
(draw (-> obj sprites 1) s1-7 (-> *level* default-level))
|
|
(draw (-> obj sprites 2) s1-7 (-> *level* default-level))
|
|
(draw (-> obj sprites 3) s1-7 (-> *level* default-level))
|
|
(draw (-> obj sprites 4) s1-7 (-> *level* default-level))
|
|
)
|
|
(let ((v1-245 arg1))
|
|
(set! (-> v1-245 scale) 0.6)
|
|
)
|
|
(set! (-> arg1 origin x) 265.0)
|
|
(set! (-> arg1 origin y) 263.0)
|
|
(set! (-> arg1 width) 170.0)
|
|
(set! (-> arg1 height) 52.0)
|
|
(set! (-> obj sprites 0 scale-x) 0.7)
|
|
(set! (-> obj sprites 0 scale-y) 0.7)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x4 :page #xc93)))
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 265 263)
|
|
(with-dma-buffer-add-bucket ((s1-8 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s1-8 (-> *level* default-level))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 1.0 (-> arg1 origin y)))
|
|
(set! (-> arg1 origin x) (+ 28.0 (-> arg1 origin x)))
|
|
(let* ((v1-272 (-> *progress-save-info* file arg2 game-time0))
|
|
(v1-273 (logior (shl (-> *progress-save-info* file arg2 game-time1) 32) v1-272))
|
|
(s2-11 (/ (the-as int v1-273) #x107ac0))
|
|
)
|
|
(set! sv-112 (/ (mod (the-as int v1-273) #x107ac0) #x4650))
|
|
(let ((s1-9 print-game-text))
|
|
(format (clear *temp-string*) "~2,'0D:~2,'0D" s2-11 sv-112)
|
|
(s1-9 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x6 :page #xc93)))
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 368 263)
|
|
(with-dma-buffer-add-bucket ((s1-10 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s1-10 (-> *level* default-level))
|
|
)
|
|
(set! (-> arg1 origin x) (+ 100.0 (-> arg1 origin x)))
|
|
(let ((s2-13 print-game-text))
|
|
(format (clear *temp-string*) "~D%" (the int (-> *progress-save-info* file arg2 completion-percentage)))
|
|
(s2-13 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x5 :page #xc93)))
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 368 289)
|
|
(with-dma-buffer-add-bucket ((s1-12 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s1-12 (-> *level* default-level))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 28.0 (-> arg1 origin y)))
|
|
(let ((s2-15 print-game-text))
|
|
(format (clear *temp-string*) "~D" (the int (-> *progress-save-info* file arg2 skill-count)))
|
|
(s2-15 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> obj sprites 0 scale-x) 0.6)
|
|
(set! (-> obj sprites 0 scale-y) 0.6)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x82 :page #xc93)))
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 253 290)
|
|
(with-dma-buffer-add-bucket ((s1-14 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s1-14 (-> *level* default-level))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -100.0 (-> arg1 origin x)))
|
|
(let ((s2-17 print-game-text))
|
|
(format (clear *temp-string*) "~D" (the int (-> *progress-save-info* file arg2 gem-count)))
|
|
(s2-17 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((and *progress-save-info*
|
|
(= (-> *progress-save-info* formatted) 1)
|
|
(= (-> *progress-save-info* inited) 1)
|
|
(zero? (-> *progress-save-info* file arg2 present))
|
|
)
|
|
(cond
|
|
((= arg2 sv-20)
|
|
(let ((v1-348 arg1))
|
|
(set! (-> v1-348 scale) 0.8)
|
|
)
|
|
)
|
|
(else
|
|
(let ((v1-349 arg1))
|
|
(set! (-> v1-349 scale) 0.6)
|
|
)
|
|
)
|
|
)
|
|
(let ((a0-150 arg1))
|
|
(set! (-> a0-150 flags) (font-flags kerning large))
|
|
)
|
|
(+! (-> arg1 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
100
|
|
105
|
|
)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-slot-empty) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin x) sv-24)
|
|
(set! (-> arg1 origin y) sv-28)
|
|
(set! (-> arg1 width) sv-32)
|
|
(set! (-> arg1 height) sv-36)
|
|
(if (zero? arg2)
|
|
(draw-decoration-load-save obj arg1 sv-16 (if (= (-> arg0 current) 'select-load)
|
|
300
|
|
299
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-loading-option ((obj menu-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(with-pp
|
|
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))
|
|
(set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition)))
|
|
(let ((v1-3 arg1))
|
|
(set! (-> v1-3 scale) 0.55)
|
|
)
|
|
(let ((s4-0 arg1))
|
|
(set! (-> s4-0 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 120.0)
|
|
(set! (-> arg1 origin y) 110.0)
|
|
(let ((v1-8 arg1))
|
|
(set! (-> v1-8 width) (the float 270))
|
|
)
|
|
(let ((v1-9 arg1))
|
|
(set! (-> v1-9 height) (the float 35))
|
|
)
|
|
(if (< f30-0 0.0)
|
|
0.0
|
|
)
|
|
)
|
|
(when (or (< (mod (-> pp clock frame-counter) 300) 150) (!= (-> arg0 menu-transition) 0.0))
|
|
(let ((a1-1 416))
|
|
(case (-> arg0 current)
|
|
(('saving)
|
|
(set! a1-1 415)
|
|
)
|
|
(('formatting)
|
|
(set! a1-1 417)
|
|
)
|
|
(('creating)
|
|
(set! a1-1 418)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (the-as text-id a1-1) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 45.0 (-> arg1 origin y)))
|
|
(let ((v1-25 arg1))
|
|
(set! (-> v1-25 height) (the float 160))
|
|
)
|
|
(let ((a0-16 arg1))
|
|
(set! (-> a0-16 color) (font-color #7efbfb))
|
|
)
|
|
(let ((s5-2 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-dont-remove) #f) 1)
|
|
(s5-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-insufficient-space-option ((obj 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))
|
|
(set! (-> v1-3 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-4 arg1))
|
|
(set! (-> a0-4 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 75.0)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(let ((v1-8 arg1))
|
|
(set! (-> v1-8 width) (the float 360))
|
|
)
|
|
(let ((v1-9 arg1))
|
|
(set! (-> v1-9 height) (the float 80))
|
|
)
|
|
(let ((s4-0 410))
|
|
(case (-> arg0 current)
|
|
(('insufficient-space)
|
|
(set! s4-0 408)
|
|
)
|
|
(('no-memory-card)
|
|
(set! s4-0 409)
|
|
)
|
|
)
|
|
(let ((s3-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (the-as text-id s4-0) #f) 1)
|
|
(s3-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 80.0 (-> arg1 origin y)))
|
|
(let ((v1-17 arg1))
|
|
(set! (-> v1-17 height) (the float 50))
|
|
)
|
|
(let ((s4-1 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
(lookup-text! *common-text* (text-id progress-memcard-space-requirement) #f)
|
|
(if *progress-save-info*
|
|
(-> *progress-save-info* mem-required)
|
|
0
|
|
)
|
|
)
|
|
(s4-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 55.0 (-> arg1 origin y)))
|
|
(let ((v1-22 arg1))
|
|
(set! (-> v1-22 height) (the float 90))
|
|
)
|
|
(cond
|
|
((and (!= (-> *progress-state* starting-state) 'insufficient-space)
|
|
(!= (-> *progress-state* starting-state) 'no-memory-card)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-insert-card-with-space-to-save) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 60.0 (-> arg1 origin y)))
|
|
(let ((s5-2 arg1))
|
|
(set! (-> s5-2 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 30.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s4-2 arg1))
|
|
(set! (-> s4-2 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 30.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(draw-continue-retry arg0 arg1)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-secrets-insufficient-space-option ((obj 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)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 130.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 330))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 60))
|
|
)
|
|
(let ((s5-0 409))
|
|
(progress-method-28 arg0 'select-save)
|
|
(let ((s4-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (the-as text-id s5-0) #f) 1)
|
|
(s4-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 140.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 30))
|
|
)
|
|
(let ((s5-1 arg1))
|
|
(set! (-> s5-1 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-insert-card-option ((obj 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)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 130.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 330))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 95))
|
|
)
|
|
(let ((s5-0 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
(lookup-text! *common-text* (text-id progress-memcard-insert-card-with-jak2) #f)
|
|
1
|
|
)
|
|
(s5-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 115.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 60))
|
|
)
|
|
(let ((s5-1 arg1))
|
|
(set! (-> s5-1 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 17.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-go-back?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-error-loading-option ((obj 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)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 100.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 330))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 45))
|
|
)
|
|
(let ((s5-0 425))
|
|
(case (-> arg0 current)
|
|
(('error-saving)
|
|
(set! s5-0 426)
|
|
)
|
|
(('error-formatting)
|
|
(set! s5-0 427)
|
|
)
|
|
(('error-creating)
|
|
(set! s5-0 428)
|
|
)
|
|
)
|
|
(let ((s4-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (the-as text-id s5-0) #f) 1)
|
|
(s4-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 50.0 (-> arg1 origin y)))
|
|
(let ((v1-16 arg1))
|
|
(set! (-> v1-16 height) (the float 105))
|
|
)
|
|
(let ((s5-1 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
(lookup-text! *common-text* (text-id progress-memcard-check-and-try-again) #f)
|
|
1
|
|
)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 115.0 (-> arg1 origin y)))
|
|
(let ((v1-19 arg1))
|
|
(set! (-> v1-19 height) (the float 45))
|
|
)
|
|
(let ((s5-2 arg1))
|
|
(set! (-> s5-2 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 9.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-error-auto-saving-option ((obj 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)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 77.0)
|
|
(set! (-> arg1 origin y) 85.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 25))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-error-while-saving) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 25.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 60))
|
|
)
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-check) #f) 1)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 60.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 45))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-disabled) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 45.0 (-> arg1 origin y)))
|
|
(let ((v1-16 arg1))
|
|
(set! (-> v1-16 height) (the float 95))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-reenabling-info) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 90.0 (-> arg1 origin y)))
|
|
(let ((v1-19 arg1))
|
|
(set! (-> v1-19 height) (the float 25))
|
|
)
|
|
(let ((s5-4 arg1))
|
|
(set! (-> s5-4 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 22 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-card-removed-option ((obj 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)
|
|
)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #7efbfb))
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 70))
|
|
)
|
|
(let ((s5-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-was-removed) #f) 1)
|
|
(s5-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 65.0 (-> arg1 origin y)))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-disabled) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 65.0 (-> arg1 origin y)))
|
|
(let ((v1-12 arg1))
|
|
(set! (-> v1-12 height) (the float 90))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-reenabling-info) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 85.0 (-> arg1 origin y)))
|
|
(let ((v1-15 arg1))
|
|
(set! (-> v1-15 height) (the float 35))
|
|
)
|
|
(let ((s5-3 arg1))
|
|
(set! (-> s5-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 5.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-error-disc-removed-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 120.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 35))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-disc-removed-notice) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 45.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 85))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-disc-removed-prompt) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(when (is-cd-in?)
|
|
(set! (-> arg1 origin y) (+ 95.0 (-> arg1 origin y)))
|
|
(let ((v1-14 arg1))
|
|
(set! (-> v1-14 height) (the float 50))
|
|
)
|
|
(let ((s5-2 arg1))
|
|
(set! (-> s5-2 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-error-reading-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 120.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 330))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 35))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-disc-read-error) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 55.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 85))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-disc-read-error-prompt) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 105.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 50))
|
|
)
|
|
(let ((s5-2 arg1))
|
|
(set! (-> s5-2 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-16 8) 0) at op 72
|
|
(defmethod menu-option-method-10 menu-icon-info-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(set! (-> *bigmap* auto-save-icon-flag) #t)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x48 :page #x67a)))
|
|
(set! (-> obj sprites 0 scale-x) 1.0)
|
|
(set! (-> obj sprites 0 scale-y) 1.0)
|
|
(let ((v1-6 (-> obj sprites 0 color2)))
|
|
(set! (-> v1-6 0) 128)
|
|
(set! (-> v1-6 1) 128)
|
|
(set! (-> v1-6 2) 128)
|
|
(set! (-> v1-6 3) (the int (* 128.0 (- 1.0 (-> arg0 menu-transition)))))
|
|
)
|
|
(set! (-> obj sprites 0 pos z) #xffffff)
|
|
(set! (-> obj sprites 0 pos w) 0)
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 240 160)
|
|
(with-dma-buffer-add-bucket ((s3-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s3-0 (-> *level* default-level))
|
|
)
|
|
(let ((a0-16 arg1))
|
|
(set! (-> a0-16 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(let ((v1-27 arg1))
|
|
(set! (-> v1-27 width) (the float 330))
|
|
)
|
|
(let ((v1-28 arg1))
|
|
(set! (-> v1-28 height) (the float 85))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-explanation) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 115.0 (-> arg1 origin y)))
|
|
(let ((v1-31 arg1))
|
|
(set! (-> v1-31 height) (the float 95))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-autosave-dont-remove) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 90.0 (-> arg1 origin y)))
|
|
(let ((v1-34 arg1))
|
|
(set! (-> v1-34 height) (the float 50))
|
|
)
|
|
(let ((s5-3 arg1))
|
|
(set! (-> s5-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-continue) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-format-card-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 85))
|
|
)
|
|
(let ((s4-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-unformatted) #f) 1)
|
|
(s4-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 95.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 85))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-formatting-required-notice) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 95.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 25))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 44 (-> arg1 alpha))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-format-prompt) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 25.0 (-> arg1 origin y)))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-already-exists-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 120.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 85))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-overwrite-warning) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 105.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 45))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-overwrite-confirm) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 45.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 8.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-create-game-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 110.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 90))
|
|
)
|
|
(let ((s4-0 print-game-text))
|
|
(format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-no-jak2-found) #f) 1)
|
|
(s4-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 95.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 60))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-create-jak2-file?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 70.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 18.0 (-> arg1 origin y))) 22 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-video-mode-warning-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 85.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 45))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-60hz-change-notice) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 50.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 95))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-warning-1) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 85.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 55))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-warning-2) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 60.0 (-> arg1 origin y)))
|
|
(let ((v1-16 arg1))
|
|
(set! (-> v1-16 height) (the float 30))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-continue?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (-> arg1 origin y)) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-video-mode-ok-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 130.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 50))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-60hz-change-complete) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 70.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 50))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-mode-revert?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 50.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-progressive-mode-warning-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.5)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 75.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 50))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-change-notice) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 50.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 90))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-warning-1) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 85.0 (-> arg1 origin y)))
|
|
(let ((v1-13 arg1))
|
|
(set! (-> v1-13 height) (the float 75))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-warning-2) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 70.0 (-> arg1 origin y)))
|
|
(let ((v1-16 arg1))
|
|
(set! (-> v1-16 height) (the float 30))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-memcard-continue?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 25.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (-> arg1 origin y)) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-progressive-mode-ok-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.55)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(set! (-> arg1 origin y) 90.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 360))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 80))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-progressivescan-change-complete) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 100.0 (-> arg1 origin y)))
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 75))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-graphics-mode-revert?) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 70.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 20.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-quit-option ((obj 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 #7efbfb))
|
|
)
|
|
(let ((v1-2 arg1))
|
|
(set! (-> v1-2 scale) 0.55)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle left large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 160.0)
|
|
(let ((v1-6 arg1))
|
|
(set! (-> v1-6 width) (the float 330))
|
|
)
|
|
(let ((v1-7 arg1))
|
|
(set! (-> v1-7 height) (the float 70))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-quit-game-confirm) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 60.0 (-> arg1 origin y)))
|
|
(draw-highlight (the int (+ 17.0 (-> arg1 origin y))) 24 (-> arg1 alpha))
|
|
(draw-yes-no arg0 arg1)
|
|
0
|
|
(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 menu-option-method-10 menu-select-start-option ((obj menu-select-start-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(sv-48 int)
|
|
(sv-64 int)
|
|
(sv-80 game-task-info)
|
|
(sv-96 font-context)
|
|
(sv-112 (function string font-context symbol int bucket-id float))
|
|
(sv-128 hud-box)
|
|
)
|
|
(let* ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(s3-0 (-> obj task-index))
|
|
(s2-0 0)
|
|
(s1-0 50)
|
|
(f28-0 (* (-> arg0 sliding-height) (the float s1-0)))
|
|
(s0-0 97)
|
|
)
|
|
(set! sv-128 (new 'stack 'hud-box))
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-5 arg1))
|
|
(set! (-> v1-5 scale) 0.45)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((a0-4 arg1))
|
|
(set! (-> a0-4 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin y) 100.0)
|
|
(let ((v1-9 arg1))
|
|
(set! (-> v1-9 width) (the float 345))
|
|
)
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 height) (the float 210))
|
|
)
|
|
(let* ((v1-11 (-> arg0 current))
|
|
(a3-1 (cond
|
|
((= v1-11 'select-pre-start)
|
|
362
|
|
)
|
|
((= v1-11 'select-kiosk-start)
|
|
363
|
|
)
|
|
(else
|
|
352
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(if (or (= (-> *setting-control* user-default language) (language-enum french))
|
|
(= (-> *setting-control* user-default language) (language-enum spanish))
|
|
)
|
|
(draw-decoration obj arg1 f30-0 a3-1 #t 0.7)
|
|
(draw-decoration obj arg1 f30-0 a3-1 #t 0.95)
|
|
)
|
|
)
|
|
(begin-scissor-level sv-128)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(let ((v1-20 arg1))
|
|
(set! (-> v1-20 scale) 0.5)
|
|
)
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum japanese))
|
|
(= (-> *setting-control* user-default language) (language-enum korean))
|
|
)
|
|
(let ((v1-28 arg1))
|
|
(set! (-> v1-28 scale) 0.6)
|
|
)
|
|
)
|
|
(let ((a0-18 arg1))
|
|
(set! (-> a0-18 flags) (font-flags kerning large))
|
|
)
|
|
(when (>= (+ s3-0 -1) 0)
|
|
(+! s3-0 -1)
|
|
(set! s2-0 -1)
|
|
(draw-highlight (+ s0-0 47) 50 f30-0)
|
|
(set! s0-0 (- s0-0 s1-0))
|
|
)
|
|
(while (< s2-0 8)
|
|
(when (>= s3-0 0)
|
|
(set! sv-48 -1)
|
|
(set! sv-64 0)
|
|
(while (and (< sv-64 (-> *game-info* play-list length)) (!= sv-48 s3-0))
|
|
(let* ((v1-39 (-> *game-info* play-list sv-64))
|
|
(a0-22 (-> arg0 current))
|
|
(a0-24 (cond
|
|
((= a0-22 'select-pre-start)
|
|
(or (-> v1-39 play-continue) (-> v1-39 pre-play-continue))
|
|
)
|
|
((= a0-22 'select-kiosk-start)
|
|
(-> v1-39 kiosk-play-continue)
|
|
)
|
|
(else
|
|
(-> v1-39 play-continue)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(when (and a0-24 (lookup-text! *common-text* (-> v1-39 text-name) #t))
|
|
(set! sv-48 (+ sv-48 1))
|
|
sv-48
|
|
)
|
|
)
|
|
(when (!= sv-48 s3-0)
|
|
(set! sv-64 (+ sv-64 1))
|
|
sv-64
|
|
)
|
|
)
|
|
(when (!= sv-64 (-> *game-info* play-list length))
|
|
(set! sv-80 (-> *game-info* play-list sv-64))
|
|
(cond
|
|
((zero? s2-0)
|
|
(set! (-> obj real-task-index) sv-64)
|
|
(set! sv-96 arg1)
|
|
(set! (-> sv-96 color) (the-as font-color (progress-selected 0)))
|
|
(draw-highlight (+ s0-0 47) 50 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-35 arg1))
|
|
(set! (-> a0-35 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((and (= (-> *setting-control* user-default language) (language-enum german)) (= 454 (-> sv-80 text-name)))
|
|
(let ((v1-71 arg1))
|
|
(set! (-> v1-71 scale) 0.45)
|
|
)
|
|
)
|
|
((and (= (-> *setting-control* user-default language) (language-enum german)) (!= 454 (-> sv-80 text-name)))
|
|
(let ((v1-78 arg1))
|
|
(set! (-> v1-78 scale) 0.5)
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-79 arg1))
|
|
(set! (-> v1-79 height) (the float s1-0))
|
|
)
|
|
(+! s0-0 s1-0)
|
|
(set! (-> arg1 origin y) (the float (+ s0-0 (the int f28-0))))
|
|
(set! sv-112 print-game-text)
|
|
(let ((a0-46 (lookup-text! *common-text* (-> sv-80 text-name) #f))
|
|
(a1-12 arg1)
|
|
(a2-7 #f)
|
|
(a3-2 44)
|
|
(t0-3 (bucket-id progress))
|
|
)
|
|
(sv-112 a0-46 a1-12 a2-7 a3-2 (the-as bucket-id t0-3))
|
|
)
|
|
)
|
|
)
|
|
(+! s3-0 1)
|
|
(+! s2-0 1)
|
|
)
|
|
)
|
|
(let ((t9-10 end-scissor-level)
|
|
(a1-13 1.0)
|
|
)
|
|
(t9-10 sv-128 a1-13)
|
|
)
|
|
(draw-scene-up-down arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-select-scene-option ((obj 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))
|
|
(sv-80 (function string font-context symbol int bucket-id float))
|
|
(sv-96 (function _varargs_ object))
|
|
(sv-112 string)
|
|
(sv-128 (function string font-context symbol int bucket-id float))
|
|
(sv-144 (function _varargs_ object))
|
|
(sv-160 string)
|
|
(sv-176 (function string font-context symbol int bucket-id float))
|
|
(sv-192 font-context)
|
|
(sv-208 font-context)
|
|
(sv-224 (function string font-context symbol int bucket-id float))
|
|
)
|
|
(let ((f30-0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(s4-0 (-> obj task-index))
|
|
(s3-0 0)
|
|
(s2-0 *hud-select-scene-act1*)
|
|
)
|
|
(let ((v1-2 44))
|
|
(* (-> arg0 sliding-height) (the float v1-2))
|
|
)
|
|
(let ((s0-0 120)
|
|
(s1-0 (new 'stack-no-clear 'hud-box))
|
|
)
|
|
(let ((f28-0 0.0))
|
|
0.0
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(case (-> *progress-state* scene-player-act)
|
|
((1)
|
|
(set! s2-0 *hud-select-scene-act1*)
|
|
)
|
|
((2)
|
|
(set! s2-0 *hud-select-scene-act2*)
|
|
)
|
|
((3)
|
|
(set! s2-0 *hud-select-scene-act3*)
|
|
)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((a1-6 arg1))
|
|
(set! (-> a1-6 flags) (font-flags kerning middle large))
|
|
)
|
|
(set! (-> arg1 origin x) 90.0)
|
|
(set! (-> arg1 origin y) 100.0)
|
|
(let ((v1-14 arg1))
|
|
(set! (-> v1-14 width) (the float 335))
|
|
)
|
|
(let ((v1-15 arg1))
|
|
(set! (-> v1-15 height) (the float 210))
|
|
)
|
|
(let ((a1-9 arg1))
|
|
(set! (-> a1-9 color) (font-color #7efbfb))
|
|
)
|
|
(if (or (= (-> *setting-control* user-default language) (language-enum french))
|
|
(= (-> *setting-control* user-default language) (language-enum spanish))
|
|
)
|
|
(draw-decoration obj arg1 f30-0 364 #t 0.7)
|
|
(draw-decoration obj arg1 f30-0 364 #t 0.95)
|
|
)
|
|
(begin-scissor-scene s1-0)
|
|
(let ((v1-23 arg1))
|
|
(set! (-> v1-23 scale) 0.5)
|
|
)
|
|
(set! sv-48 0)
|
|
(while (< sv-48 s4-0)
|
|
(set! sv-64 print-game-text)
|
|
(let ((a0-4 (lookup-text! *common-text* (the-as text-id (-> s2-0 sv-48 text)) #f))
|
|
(a1-16 arg1)
|
|
(a2-4 #t)
|
|
(a3-3 44)
|
|
(t0-3 (bucket-id progress))
|
|
)
|
|
(+! f28-0 (sv-64 a0-4 a1-16 a2-4 a3-3 (the-as bucket-id t0-3)))
|
|
)
|
|
(set! sv-48 (+ sv-48 1))
|
|
)
|
|
(let ((s0-1 (- s0-0 (the int f28-0)))
|
|
(f28-1 (cond
|
|
((< (-> arg0 sliding-height) 0.0)
|
|
(set! sv-112 (lookup-text! *common-text* (the-as text-id (-> s2-0 s4-0 text)) #f))
|
|
0.0
|
|
(set! sv-80 print-game-text)
|
|
(set! sv-96 format)
|
|
(let ((a0-7 (clear *temp-string*))
|
|
(a1-18 "~S")
|
|
)
|
|
(sv-96 a0-7 a1-18 sv-112)
|
|
)
|
|
(let* ((a0-8 *temp-string*)
|
|
(a1-19 arg1)
|
|
(a2-7 #t)
|
|
(a3-4 44)
|
|
(t0-4 (bucket-id progress))
|
|
(f0-16 (sv-80 a0-8 a1-19 a2-7 a3-4 (the-as bucket-id t0-4)))
|
|
)
|
|
(* (-> arg0 sliding-height) f0-16)
|
|
)
|
|
)
|
|
(else
|
|
(set! sv-160 (lookup-text! *common-text* (the-as text-id (-> s2-0 (+ s4-0 -1) text)) #f))
|
|
0.0
|
|
(set! sv-128 print-game-text)
|
|
(set! sv-144 format)
|
|
(let ((a0-11 (clear *temp-string*))
|
|
(a1-21 "~S")
|
|
)
|
|
(sv-144 a0-11 a1-21 sv-160)
|
|
)
|
|
(let* ((a0-12 *temp-string*)
|
|
(a1-22 arg1)
|
|
(a2-10 #t)
|
|
(a3-5 44)
|
|
(t0-5 (bucket-id progress))
|
|
(f0-18 (sv-128 a0-12 a1-22 a2-10 a3-5 (the-as bucket-id t0-5)))
|
|
)
|
|
(* (-> arg0 sliding-height) f0-18)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ s0-1 (the int f28-1))))
|
|
(while (< s3-0 (length s2-0))
|
|
(set! sv-176 print-game-text)
|
|
(let* ((a0-14 (lookup-text! *common-text* (the-as text-id (-> s2-0 s3-0 text)) #f))
|
|
(a1-24 arg1)
|
|
(a2-12 #t)
|
|
(a3-6 44)
|
|
(t0-6 (bucket-id progress))
|
|
(f26-0 (sv-176 a0-14 a1-24 a2-12 a3-6 (the-as bucket-id t0-6)))
|
|
)
|
|
(set! (-> arg1 flags) (font-flags kerning large))
|
|
(cond
|
|
((and (< s3-0 s4-0) (!= (-> arg0 sliding-height) 0.0))
|
|
(set! sv-192 arg1)
|
|
(set! (-> sv-192 color) (the-as font-color (progress-selected 0)))
|
|
(draw-highlight (+ (the int f26-0) -2 s0-1) (the int f26-0) f30-0)
|
|
)
|
|
((or (and (= s3-0 s4-0) (= (fabs (-> arg0 sliding-height)) 0.0)) (zero? s3-0))
|
|
(set! sv-208 arg1)
|
|
(set! (-> sv-208 color) (the-as font-color (progress-selected 0)))
|
|
(draw-highlight (+ s0-1 -2) (the int f26-0) f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-21 arg1))
|
|
(set! (-> a0-21 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! sv-224 print-game-text)
|
|
(let ((a0-23 (lookup-text! *common-text* (the-as text-id (-> s2-0 s3-0 text)) #f))
|
|
(a1-28 arg1)
|
|
(a2-16 #f)
|
|
(a3-7 44)
|
|
(t0-7 (bucket-id progress))
|
|
)
|
|
(+! s0-1 (the int (sv-224 a0-23 a1-28 a2-16 a3-7 (the-as bucket-id t0-7))))
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ s0-1 (the int f28-1))))
|
|
(+! s3-0 1)
|
|
)
|
|
)
|
|
)
|
|
(end-scissor-scene s1-0 1.0)
|
|
)
|
|
)
|
|
(draw-scene-up-down arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-bigmap-option ((obj menu-bigmap-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch symbol vs none.
|
|
(defun sort-task-node-result ((arg0 int))
|
|
(let ((v1-1 (-> *game-info* mission-list))
|
|
(a1-1 (max 0 (+ arg0 -1)))
|
|
)
|
|
(let ((a0-3 0))
|
|
(while (> a1-1 0)
|
|
(while (< a0-3 a1-1)
|
|
(when (and (logtest? (-> v1-1 a0-3 flags) (game-task-node-flag closed))
|
|
(logtest? (-> v1-1 (+ a0-3 1) flags) (game-task-node-flag closed))
|
|
(< (-> v1-1 a0-3 close-time) (-> v1-1 (+ a0-3 1) close-time))
|
|
)
|
|
(let ((a2-19 (-> v1-1 a0-3)))
|
|
(set! (-> v1-1 a0-3) (-> v1-1 (+ a0-3 1)))
|
|
(set! (-> v1-1 (+ a0-3 1)) a2-19)
|
|
)
|
|
)
|
|
(+! a0-3 1)
|
|
)
|
|
(+! a1-1 -1)
|
|
(set! a0-3 0)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun find-mission-text-at-index ((arg0 int))
|
|
(local-vars (v1-99 symbol))
|
|
(when (< arg0 (-> *progress-state* current-line-index))
|
|
(set! (-> *progress-state* current-task-index) (length (-> *game-info* sub-task-list)))
|
|
(set! (-> *progress-state* current-line-index) -1)
|
|
(set! (-> *progress-state* current-task) (the-as uint -1))
|
|
(set! (-> *progress-state* first-closed-line-index) -1)
|
|
(set! (-> *progress-state* extra-text-state) -1)
|
|
(set! (-> *progress-state* num-open-tasks-found) 0)
|
|
(set! (-> *progress-state* num-closed-tasks-found) 0)
|
|
0
|
|
)
|
|
(let ((s5-0 (-> *game-info* sub-task-list)))
|
|
0
|
|
(let ((s4-0 (the-as game-task-node-info #f)))
|
|
(while (and (> (-> *progress-state* current-task-index) 0) (!= (-> *progress-state* current-line-index) arg0))
|
|
(cond
|
|
((or (= (-> *progress-state* extra-text-state) -1) (= (-> *progress-state* extra-text-state) 3))
|
|
(+! (-> *progress-state* current-task-index) -1)
|
|
(let ((s3-0 (-> s5-0 (-> *progress-state* current-task-index))))
|
|
(when (and (!= (-> s3-0 task) (-> *progress-state* current-task)) (nonzero? (-> s3-0 description)))
|
|
(cond
|
|
((and (>= (-> *progress-state* first-closed-line-index) 0) (open? s3-0))
|
|
(set! (-> *progress-state* current-task) (the-as uint (-> s3-0 task)))
|
|
)
|
|
((or (and (>= (-> *progress-state* first-closed-line-index) 0)
|
|
(logtest? (-> s3-0 flags) (game-task-node-flag closed))
|
|
)
|
|
(and (< (-> *progress-state* first-closed-line-index) 0) (open? s3-0))
|
|
)
|
|
(set! (-> *progress-state* current-task) (the-as uint (-> s3-0 task)))
|
|
(set! s4-0 (-> s5-0 (-> *progress-state* current-task-index)))
|
|
(-> s5-0 (-> *progress-state* current-task-index) description)
|
|
(if (< (-> *progress-state* first-closed-line-index) 0)
|
|
(+! (-> *progress-state* num-open-tasks-found) 1)
|
|
(set! (-> *progress-state* num-closed-tasks-found) 1)
|
|
)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(when (and (zero? (-> *progress-state* current-task-index)) (!= (-> *progress-state* current-line-index) arg0))
|
|
(set! (-> *progress-state* current-task-index) (length (-> *game-info* sub-task-list)))
|
|
(cond
|
|
((< (-> *progress-state* first-closed-line-index) 0)
|
|
(set! (-> *progress-state* first-closed-line-index) arg0)
|
|
(+! (-> *progress-state* extra-text-state) (if (nonzero? (-> *progress-state* num-open-tasks-found))
|
|
2
|
|
1
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(+! (-> *progress-state* extra-text-state) (if (nonzero? (-> *progress-state* num-closed-tasks-found))
|
|
2
|
|
1
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((zero? (-> *progress-state* extra-text-state))
|
|
369
|
|
(+! (-> *progress-state* extra-text-state) 1)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
((= (-> *progress-state* extra-text-state) 1)
|
|
367
|
|
#t
|
|
(let ((v1-98 (the-as symbol (-> *progress-state* num-open-tasks-found))))
|
|
(set! v1-98 v1-98)
|
|
(cmove-#f-zero v1-99 v1-98 v1-98)
|
|
)
|
|
(+! (-> *progress-state* extra-text-state) 1)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
((= (-> *progress-state* extra-text-state) 4)
|
|
369
|
|
(+! (-> *progress-state* extra-text-state) 1)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
((= (-> *progress-state* extra-text-state) 5)
|
|
368
|
|
(+! (-> *progress-state* extra-text-state) 2)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
(else
|
|
0
|
|
(+! (-> *progress-state* extra-text-state) 1)
|
|
(+! (-> *progress-state* current-line-index) 1)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((= (-> *progress-state* current-line-index) arg0)
|
|
(empty)
|
|
s4-0
|
|
)
|
|
(else
|
|
(the-as game-task-node-info #f)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-missions-option ((obj menu-missions-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(f0-50 float)
|
|
(sv-16 float)
|
|
(sv-20 int)
|
|
(sv-24 int)
|
|
(sv-32 int)
|
|
(sv-40 int)
|
|
(sv-48 int)
|
|
(sv-56 int)
|
|
(sv-256 float)
|
|
(sv-260 float)
|
|
(sv-264 game-task-node-info)
|
|
(sv-268 game-task-node-info)
|
|
(sv-272 symbol)
|
|
(sv-276 hud-box)
|
|
(sv-280 float)
|
|
(sv-284 float)
|
|
)
|
|
(set! sv-16 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(set! sv-20 1)
|
|
(set! sv-24 0)
|
|
(set! sv-32 0)
|
|
(set! sv-40 0)
|
|
(set! sv-48 0)
|
|
(set! sv-56 95)
|
|
(set! sv-256 (* 395.0 (-> arg0 sliding)))
|
|
(set! sv-260 (* 44.0 (-> arg0 sliding-height)))
|
|
(set! sv-264 (new 'stack 'game-task-node-info))
|
|
(set! sv-268 (new 'stack 'game-task-node-info))
|
|
(set! sv-272 #t)
|
|
(set! sv-276 (new 'stack-no-clear 'hud-box))
|
|
(set! sv-280 (-> arg1 origin y))
|
|
(set! sv-284 (-> arg1 scale))
|
|
(set! (-> *progress-state* current-task-index) (length (-> *game-info* sub-task-list)))
|
|
(set! (-> *progress-state* current-line-index) -1)
|
|
(set! (-> *progress-state* current-task) (the-as uint -1))
|
|
(set! (-> *progress-state* first-closed-line-index) -1)
|
|
(set! (-> *progress-state* extra-text-state) -1)
|
|
(set! (-> *progress-state* num-open-tasks-found) 0)
|
|
(set! (-> *progress-state* num-closed-tasks-found) 0)
|
|
(if (< sv-16 0.0)
|
|
(set! sv-16 (the-as float 0.0))
|
|
)
|
|
(set! (-> arg1 alpha) sv-16)
|
|
(set! (-> *game-info* mission-list 0) sv-264)
|
|
(set! (-> sv-264 description) (text-id progress-unknown-kjanskd))
|
|
(set! (-> sv-268 description) (text-id progress-unknown-oi1un23i13))
|
|
(while (< sv-24 (length (-> *game-info* sub-task-list)))
|
|
(let ((v1-26 (find-mission-text-at-index sv-24))
|
|
(a0-15 (-> *game-info* mission-list))
|
|
)
|
|
(when (!= v1-26 #f)
|
|
(when (and (logtest? (-> v1-26 flags) (game-task-node-flag closed)) sv-272)
|
|
(set! sv-272 (the-as symbol #f))
|
|
(set! (-> a0-15 sv-20) sv-268)
|
|
(set! sv-20 (+ sv-20 1))
|
|
)
|
|
(set! (-> a0-15 sv-20) v1-26)
|
|
(set! sv-20 (+ sv-20 1))
|
|
)
|
|
)
|
|
(set! sv-24 (+ sv-24 1))
|
|
)
|
|
(set! sv-48 sv-20)
|
|
(set! (-> *progress-state* total-num-tasks) sv-20)
|
|
(sort-task-node-result sv-48)
|
|
(let ((v1-36 arg1))
|
|
(set! (-> v1-36 width) 395.0)
|
|
)
|
|
(set! (-> arg1 origin x) 60.0)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
(let ((a0-21 arg1))
|
|
(set! (-> a0-21 color) (font-color #7efbfb))
|
|
)
|
|
(let ((v1-40 (-> obj page-index)))
|
|
(cond
|
|
((zero? v1-40)
|
|
(draw-missions-decoration obj arg1 sv-16 (text-id progress-root-missions))
|
|
)
|
|
((= v1-40 1)
|
|
(draw-missions-decoration obj arg1 sv-16 (text-id progress-root-missions))
|
|
)
|
|
)
|
|
)
|
|
(begin-scissor-missions sv-276 (the-as float arg0))
|
|
(let ((a0-27 arg1))
|
|
(set! (-> a0-27 flags) (font-flags kerning large))
|
|
)
|
|
(set! (-> arg1 origin x) (+ 20.0 (-> arg1 origin x)))
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) 80.0)
|
|
)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) (the float sv-56))
|
|
)
|
|
)
|
|
(let ((v1-52 arg1))
|
|
(set! (-> v1-52 scale) sv-284)
|
|
)
|
|
(when (zero? (-> obj page-index))
|
|
(set! sv-24 (-> obj task-line-index))
|
|
(set! sv-20 0)
|
|
(let ((v1-57 (+ sv-56 44)))
|
|
(set! sv-56 v1-57)
|
|
(set! (-> arg1 origin y) (the float (+ v1-57 (the int sv-260))))
|
|
)
|
|
(set! (-> arg1 width) 340.0)
|
|
(set! (-> arg1 height) 44.0)
|
|
(when (!= sv-260 0.0)
|
|
(set! (-> *progress-state* missions-total-spacing) 0.0)
|
|
(dotimes (s4-1 sv-24)
|
|
(let* ((s3-1 (-> *game-info* mission-list s4-1))
|
|
(a1-19
|
|
(if (and (logtest? (-> s3-1 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> s3-1 task)))
|
|
(-> *game-info* play-list (-> s3-1 task) text-name)
|
|
(-> s3-1 description)
|
|
)
|
|
)
|
|
(s3-2 (lookup-text! *common-text* a1-19 #f))
|
|
(f30-0 3.0)
|
|
(s2-0 print-game-text)
|
|
)
|
|
(format (clear *temp-string*) "~S" s3-2)
|
|
(set! (-> *progress-state* missions-total-spacing)
|
|
(+ f30-0 (s2-0 *temp-string* arg1 #t 44 (bucket-id progress)) (-> *progress-state* missions-total-spacing))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! sv-56 (- sv-56 (the int (-> *progress-state* missions-total-spacing))))
|
|
(cond
|
|
((< (-> arg0 sliding-height) 0.0)
|
|
(let* ((s4-2 (-> *game-info* mission-list sv-24))
|
|
(a1-23
|
|
(if (and (logtest? (-> s4-2 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> s4-2 task)))
|
|
(-> *game-info* play-list (-> s4-2 task) text-name)
|
|
(-> s4-2 description)
|
|
)
|
|
)
|
|
(s4-3 (lookup-text! *common-text* a1-23 #f))
|
|
)
|
|
0.0
|
|
(let ((f30-1 3.0)
|
|
(s3-3 print-game-text)
|
|
)
|
|
(format (clear *temp-string*) "~S" s4-3)
|
|
(let ((f0-36 (+ f30-1 (s3-3 *temp-string* arg1 #t 44 (bucket-id progress)))))
|
|
(set! sv-260 (* (-> arg0 sliding-height) f0-36))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(let* ((s4-4 (-> *game-info* mission-list (+ sv-24 -1)))
|
|
(a1-27
|
|
(if (and (logtest? (-> s4-4 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> s4-4 task)))
|
|
(-> *game-info* play-list (-> s4-4 task) text-name)
|
|
(-> s4-4 description)
|
|
)
|
|
)
|
|
(s4-5 (lookup-text! *common-text* a1-27 #f))
|
|
)
|
|
0.0
|
|
(let ((f30-2 3.0)
|
|
(s3-4 print-game-text)
|
|
)
|
|
(format (clear *temp-string*) "~S" s4-5)
|
|
(let ((f0-40 (+ f30-2 (s3-4 *temp-string* arg1 #t 44 (bucket-id progress)))))
|
|
(set! sv-260 (* (-> arg0 sliding-height) f0-40))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ sv-56 (the int sv-260))))
|
|
(while (and (< sv-20 sv-48) (< sv-20 (+ sv-24 10)))
|
|
(let* ((s4-6 (-> *game-info* mission-list sv-20))
|
|
(s3-5
|
|
(if (and (logtest? (-> s4-6 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> s4-6 task)))
|
|
(-> *game-info* play-list (-> s4-6 task) text-name)
|
|
(-> s4-6 description)
|
|
)
|
|
)
|
|
(s5-1 (lookup-text! *common-text* s3-5 #f))
|
|
)
|
|
0.0
|
|
(set! f0-50
|
|
(cond
|
|
((>= sv-20 (+ sv-24 -1))
|
|
(when (and (!= s3-5 381) (!= s3-5 380))
|
|
(let ((s3-6 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text!
|
|
*common-text*
|
|
(if (logtest? (-> s4-6 flags) (game-task-node-flag closed))
|
|
(text-id progress-missions-icon-completed)
|
|
(text-id progress-missions-icon-todo)
|
|
)
|
|
#f
|
|
)
|
|
)
|
|
(s3-6 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(set! (-> arg1 origin x) (+ 20.0 (-> arg1 origin x)))
|
|
(let ((f30-3 3.0)
|
|
(s4-7 print-game-text)
|
|
)
|
|
(format (clear *temp-string*) "~S" s5-1)
|
|
(set! f0-50 (+ f30-3 (s4-7 *temp-string* arg1 #f 44 (bucket-id progress))))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -20.0 (-> arg1 origin x)))
|
|
f0-50
|
|
)
|
|
(else
|
|
(let ((f30-4 3.0)
|
|
(s4-8 print-game-text)
|
|
)
|
|
(format (clear *temp-string*) "~S" s5-1)
|
|
(+ f30-4 (s4-8 *temp-string* arg1 #t 44 (bucket-id progress)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-142 (+ sv-56 (the int f0-50))))
|
|
(set! sv-56 v1-142)
|
|
(set! (-> arg1 origin y) (the float (+ v1-142 (the int sv-260))))
|
|
)
|
|
(set! sv-20 (+ sv-20 1))
|
|
)
|
|
(if (zero? (-> *progress-state* total-num-tasks))
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-missions-none) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
(end-scissor-missions sv-276 1.0)
|
|
(draw-missions-up-down arg1)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; WARN: Return type mismatch object vs pointer.
|
|
(defun draw-secret-list ((arg0 secret-item-option) (arg1 progress) (arg2 font-context) (arg3 int) (arg4 symbol) (arg5 float))
|
|
(let ((s4-0 (and arg4 (= arg3 1))))
|
|
380.0
|
|
270.0
|
|
(set! (-> arg2 origin x) 100.0)
|
|
(cond
|
|
((= s4-0 #t)
|
|
(cond
|
|
((= (-> arg0 can-toggle) 'auto)
|
|
)
|
|
((not (-> arg0 can-toggle))
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg2 origin x) (+ -25.0 (-> arg2 origin x)))
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg2 origin x) (+ -10.0 (-> arg2 origin x)))
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum german))
|
|
(let ((v1-19 arg2))
|
|
(set! (-> v1-19 scale) 0.43)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-secrets-go-to-title-screen) #f)
|
|
arg2
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
((and (= (-> arg0 can-toggle) #t) (logtest? (-> *game-info* secrets) (-> arg0 flag)))
|
|
(set! (-> arg1 selected-option) #f)
|
|
(logclear! (-> *game-info* secrets) (-> arg0 flag))
|
|
)
|
|
((and (= (-> arg0 can-toggle) #t) (not (logtest? (-> *game-info* secrets) (-> arg0 flag))))
|
|
(logior! (-> *game-info* secrets) (-> arg0 flag))
|
|
(set! (-> arg1 selected-option) #f)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(let ((s3-1 arg2))
|
|
(set! (-> s3-1 color) (if (= arg3 1)
|
|
(the-as font-color (progress-selected 0))
|
|
(font-color #7efbfb)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg2 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
75
|
|
90
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((logtest? (-> *game-info* sub-task-list (-> arg0 avail-after) flags) (game-task-node-flag closed))
|
|
(let ((s3-3 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> arg0 name) #f))
|
|
(s3-3 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(else
|
|
(let ((s3-4 print-game-text))
|
|
(format (clear *temp-string*) "????????")
|
|
(s3-4 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg2 origin x) 360.0)
|
|
(let ((a0-35 arg2))
|
|
(set! (-> a0-35 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(the-as
|
|
pointer
|
|
(cond
|
|
((and (not s4-0) (not (logtest? (-> *game-info* purchase-secrets) (-> arg0 flag))))
|
|
(+! (-> arg2 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
50
|
|
45
|
|
)
|
|
)
|
|
)
|
|
(let ((s4-2 print-game-text))
|
|
(format (clear *temp-string*) "~D" (-> arg0 cost))
|
|
(s4-2 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
((and (not s4-0) (= (-> arg0 can-toggle) #t) (logtest? (-> *game-info* secrets) (-> arg0 flag)))
|
|
(+! (-> arg2 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
50
|
|
45
|
|
)
|
|
)
|
|
)
|
|
(let ((s5-2 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-on) #f))
|
|
(s5-2 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
((and (not s4-0) (= (-> arg0 can-toggle) #t) (not (logtest? (-> *game-info* secrets) (-> arg0 flag))))
|
|
(+! (-> arg2 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
50
|
|
45
|
|
)
|
|
)
|
|
)
|
|
(let ((s5-4 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-off) #f))
|
|
(s5-4 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
((and (not s4-0) (!= (-> arg0 can-toggle) #t))
|
|
(let ((s3-8 80)
|
|
(s5-5 70)
|
|
(f30-3 (-> arg2 origin x))
|
|
)
|
|
(set! s3-8 (cond
|
|
((= (get-aspect-ratio) 'aspect4x3)
|
|
(empty)
|
|
s3-8
|
|
)
|
|
(else
|
|
s5-5
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg2 origin x) (+ f30-3 (the float s3-8)))
|
|
)
|
|
(let ((a0-61 arg2))
|
|
(set! (-> a0-61 flags) (font-flags kerning right large))
|
|
)
|
|
(let ((s5-6 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-secrets-unlocked) #f))
|
|
(s5-6 *temp-string* arg2 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((v0-15 (the-as object arg2)))
|
|
(set! (-> (the-as font-context v0-15) flags) (font-flags kerning large))
|
|
v0-15
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-42 8) 0) at op 138
|
|
(defmethod menu-option-method-10 menu-secret-option ((obj menu-secret-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(sv-16 float)
|
|
(sv-20 symbol)
|
|
(sv-24 int)
|
|
(sv-32 float)
|
|
(sv-36 float)
|
|
(sv-40 symbol)
|
|
(sv-44 int)
|
|
(sv-48 progress)
|
|
(sv-96 int)
|
|
(sv-104 int)
|
|
(sv-108 float)
|
|
(sv-112 int)
|
|
(sv-116 int)
|
|
(sv-120 hud-box)
|
|
(sv-128 int)
|
|
)
|
|
(set! sv-16 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(set! sv-20 (logtest? (-> *game-info* secrets) (game-secrets hero-mode)))
|
|
(set! sv-24 (the int (-> *game-info* skill-total)))
|
|
(set! sv-32 395.0)
|
|
(set! sv-36 25.0)
|
|
(set! sv-40 arg3)
|
|
(set! sv-44 arg2)
|
|
(set! sv-48 arg0)
|
|
(set! sv-96 (if (not sv-20)
|
|
0
|
|
(-> obj num-items)
|
|
)
|
|
)
|
|
(set! sv-104 (if (not sv-20)
|
|
(-> obj num-items)
|
|
(+ (-> obj num-items) (-> obj num-hero-items))
|
|
)
|
|
)
|
|
(set! sv-108 (* (-> sv-48 sliding) sv-36))
|
|
(set! sv-112 (-> obj item-index))
|
|
(set! sv-116 (-> obj prev-item-index))
|
|
(set! sv-120 (new 'stack-no-clear 'hud-box))
|
|
(set! sv-128 205)
|
|
(if (< sv-16 0.0)
|
|
(set! sv-16 (the-as float 0.0))
|
|
)
|
|
(cond
|
|
((or (not (-> *bigmap* progress-minimap)) (< (-> obj item-index) sv-96) (< sv-104 (-> obj item-index)))
|
|
(draw-busy-loading arg1)
|
|
)
|
|
(else
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x5 :page #xc93)))
|
|
(set! (-> obj sprites 0 flags) (the-as uint 4))
|
|
(set! (-> obj sprites 0 scale-x) 0.64)
|
|
(set! (-> obj sprites 0 scale-y) 0.64)
|
|
(let ((v1-32 (-> obj sprites 0 color2)))
|
|
(set! (-> v1-32 0) 128)
|
|
(set! (-> v1-32 1) 128)
|
|
(set! (-> v1-32 2) 128)
|
|
(set! (-> v1-32 3) (the int (* 128.0 sv-16)))
|
|
)
|
|
(set! (-> obj sprites 0 pos z) #xffffff)
|
|
(set! (-> obj sprites 0 pos w) 0)
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) 100 128)
|
|
(with-dma-buffer-add-bucket ((s3-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) s3-0 (-> *level* default-level))
|
|
)
|
|
(set! (-> arg1 alpha) sv-16)
|
|
(let ((a0-21 arg1))
|
|
(set! (-> a0-21 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((a0-22 arg1))
|
|
(set! (-> a0-22 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin x) 59.0)
|
|
(let ((v1-54 arg1))
|
|
(set! (-> v1-54 width) sv-32)
|
|
)
|
|
(let ((v1-55 arg1))
|
|
(set! (-> v1-55 height) sv-36)
|
|
)
|
|
(let ((v1-56 arg1))
|
|
(set! (-> v1-56 scale) 1.0)
|
|
)
|
|
(set! (-> arg1 origin y) 82.0)
|
|
(let ((t9-5 draw-decoration-secrets)
|
|
(a0-24 obj)
|
|
(a1-4 arg1)
|
|
(a2-4 sv-16)
|
|
(a3-2 339)
|
|
)
|
|
(t9-5 a0-24 a1-4 a2-4 (the-as text-id a3-2))
|
|
)
|
|
(let ((v1-58 arg1))
|
|
(set! (-> v1-58 scale) 0.45)
|
|
)
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum japanese))
|
|
(= (-> *setting-control* user-default language) (language-enum korean))
|
|
)
|
|
(let ((v1-66 arg1))
|
|
(set! (-> v1-66 scale) 0.53)
|
|
)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(let ((v1-68 arg1))
|
|
(set! (-> v1-68 height) (the float 185))
|
|
)
|
|
(set! (-> arg1 origin y) 133.0)
|
|
)
|
|
(('aspect16x9)
|
|
(let ((v1-72 arg1))
|
|
(set! (-> v1-72 height) (the float 185))
|
|
)
|
|
(set! (-> arg1 origin y) 133.0)
|
|
)
|
|
)
|
|
(let ((a0-34 arg1))
|
|
(set! (-> a0-34 flags) (font-flags kerning large))
|
|
)
|
|
(set! (-> arg1 origin x) 100.0)
|
|
(let ((s4-1 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"x~D ~S"
|
|
sv-24
|
|
(lookup-text! *common-text* (text-id progress-secrets-orb-label) #f)
|
|
)
|
|
(s4-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) 100.0)
|
|
(begin-scissor-secret sv-120 sv-48)
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! sv-128 195)
|
|
)
|
|
)
|
|
(cond
|
|
(sv-40
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 25 sv-128)))
|
|
(draw-secret-list (-> obj secret-items sv-112) sv-48 arg1 1 sv-40 sv-108)
|
|
)
|
|
((>= (- sv-112 sv-116) 0)
|
|
(when (>= (+ sv-112 -3) sv-96)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) -50 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 -3)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (>= (+ sv-112 -2) sv-96)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) -25 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 -2)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ sv-128 (the int sv-108))))
|
|
(when (>= (+ sv-112 -1) sv-96)
|
|
(draw-highlight (+ sv-128 22) 22 sv-16)
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 -1)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 25 sv-128)))
|
|
(draw-highlight (+ sv-128 22) 22 sv-16)
|
|
(draw-secret-list (-> obj secret-items sv-112) sv-48 arg1 1 sv-40 sv-108)
|
|
(when (< (+ sv-112 1) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 50 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 1)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (< (+ sv-112 2) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 75 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 2)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (< (+ sv-112 3) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 100 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 3)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
)
|
|
(else
|
|
(when (>= (+ sv-112 -2) sv-96)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) -25 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 -2)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ sv-128 (the int sv-108))))
|
|
(if (>= (+ sv-112 -1) sv-96)
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 -1)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 25 sv-128)))
|
|
(draw-highlight (+ sv-128 22) 22 sv-16)
|
|
(draw-secret-list (-> obj secret-items sv-112) sv-48 arg1 1 sv-40 sv-108)
|
|
(when (< (+ sv-112 1) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 50 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 1)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (< (+ sv-112 2) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 75 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 2)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (< (+ sv-112 3) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 100 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 3)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
(when (< (+ sv-112 4) sv-104)
|
|
(set! (-> arg1 origin y) (the float (+ (the int sv-108) 125 sv-128)))
|
|
(draw-secret-list (-> obj secret-items (+ sv-112 4)) sv-48 arg1 0 sv-40 sv-108)
|
|
)
|
|
)
|
|
)
|
|
(end-scissor-secret sv-120 1.0)
|
|
(draw-up-down arg1)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(deftype print-highscore-obj (basic)
|
|
((self texture-page :offset-assert 4)
|
|
(index int32 :offset-assert 8)
|
|
(previous texture-page :offset-assert 12)
|
|
(place int32 :offset-assert 16)
|
|
(score float :offset-assert 20)
|
|
(game-score basic :offset-assert 24)
|
|
(context font-context :offset-assert 28)
|
|
(local-scale float :offset-assert 32)
|
|
(interp float :offset-assert 36)
|
|
)
|
|
:method-count-assert 9
|
|
:size-assert #x28
|
|
:flag-assert #x900000028
|
|
)
|
|
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-8 8) 0) at op 37
|
|
(defun draw-highscore-icon ((arg0 menu-highscores-option) (arg1 uint) (arg2 int) (arg3 int) (arg4 float))
|
|
(set! (-> arg0 sprites 0 tex) (lookup-texture-by-id (the-as texture-id arg1)))
|
|
(set! (-> arg0 sprites 0 scale-x) arg4)
|
|
(set! (-> arg0 sprites 0 scale-y) arg4)
|
|
(set-hud-piece-position! (the-as hud-sprite (-> arg0 sprites)) arg2 arg3)
|
|
(with-dma-buffer-add-bucket ((s4-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> arg0 sprites)) s4-1 (-> *level* default-level))
|
|
)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-20 8) 0) at op 75
|
|
(defun draw-highscore-cup ((arg0 texture-page) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float))
|
|
"First int is an enum"
|
|
(let ((a0-1 (the-as uint #xc9300300)))
|
|
(case arg1
|
|
((3)
|
|
(set! a0-1 (the-as uint #xc9300300))
|
|
)
|
|
((2)
|
|
(set! a0-1 (the-as uint #xc9300a00))
|
|
)
|
|
((1)
|
|
(set! a0-1 (the-as uint #xc9300d00))
|
|
)
|
|
)
|
|
(when (nonzero? arg1)
|
|
(set! (-> arg0 pad 11) (the-as uint 4))
|
|
(let ((v1-10 (&-> arg0 pad 7)))
|
|
(set! (-> v1-10 0) (the-as uint 128))
|
|
(set! (-> v1-10 1) (the-as uint 128))
|
|
(set! (-> v1-10 2) (the-as uint 128))
|
|
(set! (-> v1-10 3) (the-as uint (the int (* 128.0 arg5))))
|
|
)
|
|
(set! (-> arg0 pad 5) (the-as uint #xffffff))
|
|
(set! (-> arg0 pad 6) (the-as uint 0))
|
|
(set! (-> arg0 data 0) (lookup-texture-by-id (the-as texture-id a0-1)))
|
|
(set! (-> arg0 pad 12) (the-as uint arg4))
|
|
(set! (-> arg0 pad 13) (the-as uint arg4))
|
|
(set-hud-piece-position! (the-as hud-sprite (&-> arg0 pad 3)) arg2 arg3)
|
|
(with-dma-buffer-add-bucket ((s4-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id progress)
|
|
)
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (&-> arg0 pad 3)) s4-1 (-> *level* default-level))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-score ((arg0 int))
|
|
"TODO - takes and returns an enum?"
|
|
(let ((v0-0 11))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! v0-0 4)
|
|
)
|
|
((= v1-0 1)
|
|
(set! v0-0 5)
|
|
)
|
|
((= v1-0 2)
|
|
(set! v0-0 6)
|
|
)
|
|
((= v1-0 3)
|
|
(set! v0-0 7)
|
|
)
|
|
((= v1-0 4)
|
|
(set! v0-0 10)
|
|
)
|
|
((= v1-0 5)
|
|
(set! v0-0 13)
|
|
)
|
|
((= v1-0 6)
|
|
(set! v0-0 12)
|
|
)
|
|
((= v1-0 7)
|
|
(set! v0-0 11)
|
|
)
|
|
((= v1-0 8)
|
|
(set! v0-0 14)
|
|
)
|
|
((= v1-0 9)
|
|
(set! v0-0 15)
|
|
)
|
|
((= v1-0 10)
|
|
(set! v0-0 18)
|
|
)
|
|
((= v1-0 11)
|
|
(set! v0-0 17)
|
|
)
|
|
((= v1-0 12)
|
|
(set! v0-0 16)
|
|
)
|
|
((= v1-0 13)
|
|
(set! v0-0 8)
|
|
)
|
|
((= v1-0 14)
|
|
(set! v0-0 9)
|
|
)
|
|
)
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defun eval-highscore ((arg0 print-highscore-obj))
|
|
(get-rank (-> *highscore-info-array* (get-highscore-score (-> arg0 index))) (-> arg0 score))
|
|
)
|
|
|
|
(defun str-print-time ((arg0 float))
|
|
0
|
|
0
|
|
0
|
|
(let* ((gp-0 (the int (* 0.016666668 arg0)))
|
|
(v1-5 (- arg0 (* 60.0 (the float gp-0))))
|
|
(s5-0 (the int v1-5))
|
|
(v1-6 (- v1-5 (the float s5-0)))
|
|
(s3-0 (the int (* 1000.0 v1-6)))
|
|
)
|
|
(format (clear *temp-string*) "~d:~2,'0,d:~3,'0,d" gp-0 s5-0 s3-0)
|
|
)
|
|
*temp-string*
|
|
)
|
|
|
|
(defun print-highscore ((arg0 print-highscore-obj))
|
|
(local-vars (sv-16 font-context) (sv-20 float) (sv-24 int) (sv-32 int) (sv-40 print-highscore-obj))
|
|
(set! sv-16 (-> arg0 context))
|
|
(set! sv-20 (-> arg0 interp))
|
|
(set! sv-24 50)
|
|
(set! sv-32 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
320
|
|
300
|
|
)
|
|
)
|
|
(set! sv-40 arg0)
|
|
(let ((a0-1 sv-16))
|
|
(set! (-> a0-1 flags) (font-flags kerning large))
|
|
)
|
|
(+! (-> sv-16 origin x) (the float sv-24))
|
|
(let ((v1-8 (-> sv-40 place)))
|
|
(cond
|
|
((zero? v1-8)
|
|
(let ((gp-1 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-1st) #f))
|
|
(gp-1 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 112)
|
|
174
|
|
0.25
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 1)
|
|
(let ((v1-18 sv-16))
|
|
(set! (-> v1-18 scale) 0.5)
|
|
)
|
|
(set! (-> sv-16 origin y) (+ 23.0 (-> sv-16 origin y)))
|
|
(let ((gp-3 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-2nd) #f))
|
|
(gp-3 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 111)
|
|
197
|
|
0.22
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 2)
|
|
(let ((v1-31 sv-16))
|
|
(set! (-> v1-31 scale) 0.4)
|
|
)
|
|
(set! (-> sv-16 origin y) (+ 20.0 (-> sv-16 origin y)))
|
|
(let ((gp-5 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-3rd) #f))
|
|
(gp-5 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 110)
|
|
217
|
|
0.2
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 3)
|
|
(let ((v1-44 sv-16))
|
|
(set! (-> v1-44 scale) 0.3)
|
|
)
|
|
(set! (-> sv-16 origin y) (+ 15.0 (-> sv-16 origin y)))
|
|
(let ((gp-7 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-4th) #f))
|
|
(gp-7 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 109)
|
|
232
|
|
0.15
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 4)
|
|
(set! (-> sv-16 origin y) (+ 12.0 (-> sv-16 origin y)))
|
|
(let ((gp-9 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-5th) #f))
|
|
(gp-9 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 109)
|
|
244
|
|
0.15
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 5)
|
|
(set! (-> sv-16 origin y) (+ 12.0 (-> sv-16 origin y)))
|
|
(let ((gp-11 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-6th) #f))
|
|
(gp-11 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 109)
|
|
256
|
|
0.15
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 6)
|
|
(set! (-> sv-16 origin y) (+ 12.0 (-> sv-16 origin y)))
|
|
(let ((gp-13 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-7th) #f))
|
|
(gp-13 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 109)
|
|
268
|
|
0.15
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
((= v1-8 7)
|
|
(set! (-> sv-16 origin y) (+ 12.0 (-> sv-16 origin y)))
|
|
(let ((gp-15 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-highscores-8th) #f))
|
|
(gp-15 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
(if (not (-> sv-40 previous))
|
|
(draw-highscore-cup
|
|
(-> sv-40 self)
|
|
(eval-highscore sv-40)
|
|
(+ (the int sv-20) 109)
|
|
280
|
|
0.15
|
|
(-> sv-40 local-scale)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(+! (-> sv-16 origin x) (the float sv-32))
|
|
(let ((a0-67 sv-16))
|
|
(set! (-> a0-67 flags) (font-flags kerning right large))
|
|
)
|
|
(cond
|
|
((-> sv-40 game-score)
|
|
(let ((gp-17 print-game-text))
|
|
(format (clear *temp-string*) "~D" (the int (-> sv-40 score)))
|
|
(gp-17 *temp-string* sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(else
|
|
(print-game-text (str-print-time (-> sv-40 score)) sv-16 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
(let ((a0-73 sv-16))
|
|
(set! (-> a0-73 flags) (font-flags kerning large))
|
|
)
|
|
(set! (-> sv-16 origin x) (- (-> sv-16 origin x) (the float (+ sv-24 sv-32))))
|
|
)
|
|
|
|
;; WARN: Return type mismatch int vs text-id.
|
|
(defun get-highscore-text ((arg0 int))
|
|
"TODO - takes an enum?"
|
|
(let ((v0-0 319))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! v0-0 323)
|
|
)
|
|
((= v1-0 1)
|
|
(set! v0-0 323)
|
|
)
|
|
((= v1-0 2)
|
|
(set! v0-0 323)
|
|
)
|
|
((= v1-0 3)
|
|
(set! v0-0 323)
|
|
)
|
|
((= v1-0 4)
|
|
(set! v0-0 330)
|
|
)
|
|
((= v1-0 5)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 6)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 7)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 8)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 9)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 10)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 11)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 12)
|
|
(set! v0-0 319)
|
|
)
|
|
((= v1-0 13)
|
|
(set! v0-0 328)
|
|
)
|
|
((= v1-0 14)
|
|
(set! v0-0 329)
|
|
)
|
|
)
|
|
)
|
|
(the-as text-id v0-0)
|
|
)
|
|
)
|
|
|
|
;; WARN: Return type mismatch int vs text-id.
|
|
(defun get-highscore-text-sub ((arg0 int))
|
|
"TODO - takes an enum?"
|
|
(let ((v0-0 320))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! v0-0 324)
|
|
)
|
|
((= v1-0 1)
|
|
(set! v0-0 325)
|
|
)
|
|
((= v1-0 2)
|
|
(set! v0-0 326)
|
|
)
|
|
((= v1-0 3)
|
|
(set! v0-0 327)
|
|
)
|
|
((= v1-0 4)
|
|
(set! v0-0 333)
|
|
)
|
|
((= v1-0 5)
|
|
(set! v0-0 322)
|
|
)
|
|
((= v1-0 6)
|
|
(set! v0-0 321)
|
|
)
|
|
((= v1-0 7)
|
|
(set! v0-0 320)
|
|
)
|
|
((= v1-0 8)
|
|
(set! v0-0 337)
|
|
)
|
|
((= v1-0 9)
|
|
(set! v0-0 338)
|
|
)
|
|
((= v1-0 10)
|
|
(set! v0-0 336)
|
|
)
|
|
((= v1-0 11)
|
|
(set! v0-0 335)
|
|
)
|
|
((= v1-0 12)
|
|
(set! v0-0 334)
|
|
)
|
|
((= v1-0 13)
|
|
(set! v0-0 331)
|
|
)
|
|
((= v1-0 14)
|
|
(set! v0-0 332)
|
|
)
|
|
)
|
|
)
|
|
(the-as text-id v0-0)
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-icon ((arg0 int))
|
|
"TODO - Icon id enum perhaps?"
|
|
(let ((v0-0 (the-as uint #xc9301000)))
|
|
(let ((v1-1 arg0))
|
|
(cond
|
|
((zero? v1-1)
|
|
(set! v0-0 (the-as uint #xc9301000))
|
|
)
|
|
((= v1-1 1)
|
|
(set! v0-0 (the-as uint #xc9301200))
|
|
)
|
|
((= v1-1 2)
|
|
(set! v0-0 (the-as uint #xc9301300))
|
|
)
|
|
((= v1-1 3)
|
|
(set! v0-0 (the-as uint #xc9301100))
|
|
)
|
|
((= v1-1 4)
|
|
(set! v0-0 (the-as uint #xc9300e00))
|
|
)
|
|
((= v1-1 5)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 6)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 7)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 8)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 9)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 10)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 11)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 12)
|
|
(set! v0-0 (the-as uint #xc9300100))
|
|
)
|
|
((= v1-1 13)
|
|
(set! v0-0 (the-as uint #xc9301600))
|
|
)
|
|
((= v1-1 14)
|
|
(set! v0-0 (the-as uint #xc9301700))
|
|
)
|
|
)
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-type ((arg0 int))
|
|
"TODO - takes an enum?"
|
|
(let ((v0-0 'game))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! v0-0 'game)
|
|
)
|
|
((= v1-0 5)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 6)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 7)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 8)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 9)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 10)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 11)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 12)
|
|
(set! v0-0 'race)
|
|
)
|
|
((= v1-0 13)
|
|
(set! v0-0 'game)
|
|
)
|
|
)
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defun highscore-available? ((arg0 int))
|
|
(let ((v0-0 #f))
|
|
(let ((v1-0 arg0))
|
|
(cond
|
|
((zero? v1-0)
|
|
(set! v0-0 #t)
|
|
)
|
|
((= v1-0 1)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 75 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 2)
|
|
(set! v0-0 (logtest? (-> *game-info* secrets) (game-secrets gungame-blue)))
|
|
)
|
|
((= v1-0 3)
|
|
(set! v0-0 (logtest? (-> *game-info* secrets) (game-secrets gungame-dark)))
|
|
)
|
|
((= v1-0 4)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 63 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 5)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 135 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 6)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 181 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 7)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 209 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 8)
|
|
(set! v0-0 (or (logtest? (-> *game-info* sub-task-list 308 flags) (game-task-node-flag closed))
|
|
(open? (-> *game-info* sub-task-list 308))
|
|
)
|
|
)
|
|
)
|
|
((= v1-0 9)
|
|
(set! v0-0 (or (logtest? (-> *game-info* sub-task-list 306 flags) (game-task-node-flag closed))
|
|
(open? (-> *game-info* sub-task-list 306))
|
|
)
|
|
)
|
|
)
|
|
((= v1-0 10)
|
|
(set! v0-0 (logtest? (-> *game-info* secrets) (game-secrets reverse-races)))
|
|
)
|
|
((= v1-0 11)
|
|
(set! v0-0 (logtest? (-> *game-info* secrets) (game-secrets reverse-races)))
|
|
)
|
|
((= v1-0 12)
|
|
(set! v0-0 (logtest? (-> *game-info* secrets) (game-secrets reverse-races)))
|
|
)
|
|
((= v1-0 13)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 149 flags) (game-task-node-flag closed)))
|
|
)
|
|
((= v1-0 14)
|
|
(set! v0-0 (logtest? (-> *game-info* sub-task-list 224 flags) (game-task-node-flag closed)))
|
|
)
|
|
)
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defun get-num-highscores ()
|
|
(let ((gp-0 0))
|
|
(dotimes (s5-0 15)
|
|
(if (highscore-available? s5-0)
|
|
(+! gp-0 1)
|
|
)
|
|
)
|
|
gp-0
|
|
)
|
|
)
|
|
|
|
(defun get-next-highscore ((arg0 int))
|
|
(let ((s4-0 15)
|
|
(s3-0 1)
|
|
(gp-0 -1)
|
|
)
|
|
(+ arg0 s3-0)
|
|
(while (and (= gp-0 -1) (< s3-0 s4-0))
|
|
(let ((s2-0 (+ arg0 s3-0)))
|
|
(+! s3-0 1)
|
|
(if (highscore-available? (mod s2-0 s4-0))
|
|
(set! gp-0 (mod s2-0 s4-0))
|
|
)
|
|
)
|
|
)
|
|
(if (= gp-0 -1)
|
|
(set! gp-0 arg0)
|
|
)
|
|
gp-0
|
|
)
|
|
)
|
|
|
|
(defun get-prev-highscore ((arg0 int))
|
|
(let ((s4-0 15)
|
|
(s3-0 1)
|
|
(gp-0 -1)
|
|
)
|
|
(+ arg0 s3-0)
|
|
(while (and (= gp-0 -1) (< s3-0 s4-0))
|
|
(let ((s2-0 (- arg0 s3-0)))
|
|
(+! s3-0 1)
|
|
(if (< s2-0 0)
|
|
(set! s2-0 (+ s4-0 s2-0))
|
|
)
|
|
(let ((t9-0 highscore-available?)
|
|
(a0-1 (abs s2-0))
|
|
)
|
|
(if (t9-0 a0-1)
|
|
(set! gp-0 (abs s2-0))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(if (= gp-0 -1)
|
|
(set! gp-0 arg0)
|
|
)
|
|
gp-0
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-icon-scale ((arg0 int))
|
|
"TODO - takes an enum?"
|
|
(let ((f0-0 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
1.0
|
|
1.0
|
|
)
|
|
)
|
|
)
|
|
(let ((f2-0 0.6)
|
|
(f1-0 0.8)
|
|
)
|
|
(cond
|
|
((zero? arg0)
|
|
(set! f0-0 f2-0)
|
|
)
|
|
((= arg0 1)
|
|
(set! f0-0 f2-0)
|
|
)
|
|
((= arg0 2)
|
|
(set! f0-0 f2-0)
|
|
)
|
|
((= arg0 3)
|
|
(set! f0-0 f2-0)
|
|
)
|
|
((= arg0 4)
|
|
(set! f0-0 0.5)
|
|
)
|
|
((= arg0 5)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 6)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 7)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 8)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 9)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 10)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 11)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 12)
|
|
(set! f0-0 f1-0)
|
|
)
|
|
((= arg0 13)
|
|
(set! f0-0 0.7)
|
|
)
|
|
((= arg0 14)
|
|
(set! f0-0 0.7)
|
|
)
|
|
)
|
|
)
|
|
f0-0
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-icon-xoffset ((arg0 int))
|
|
(if (= (get-aspect-ratio) 'aspect4x3)
|
|
435
|
|
410
|
|
)
|
|
)
|
|
|
|
(defun get-highscore-icon-yoffset ((arg0 int))
|
|
"TODO - takes an enum?"
|
|
(let ((v0-1 (if (= (get-aspect-ratio) 'aspect4x3)
|
|
130
|
|
120
|
|
)
|
|
)
|
|
)
|
|
(let ((a0-1 130)
|
|
(v1-0 120)
|
|
)
|
|
(cond
|
|
((zero? arg0)
|
|
(set! v0-1 a0-1)
|
|
)
|
|
((= arg0 1)
|
|
(set! v0-1 a0-1)
|
|
)
|
|
((= arg0 2)
|
|
(set! v0-1 a0-1)
|
|
)
|
|
((= arg0 3)
|
|
(set! v0-1 a0-1)
|
|
)
|
|
((= arg0 5)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 6)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 7)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 8)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 9)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 10)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 11)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 12)
|
|
(set! v0-1 v1-0)
|
|
)
|
|
((= arg0 13)
|
|
(set! v0-1 125)
|
|
)
|
|
((= arg0 14)
|
|
(set! v0-1 125)
|
|
)
|
|
)
|
|
)
|
|
v0-1
|
|
)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-highscores-option ((obj menu-highscores-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(sv-96 float)
|
|
(sv-100 float)
|
|
(sv-104 float)
|
|
(sv-108 float)
|
|
(sv-112 hud-box)
|
|
(sv-116 print-highscore-obj)
|
|
(sv-120 float)
|
|
(sv-124 float)
|
|
(sv-128 symbol)
|
|
(sv-132 int)
|
|
(sv-136 progress)
|
|
(sv-140 font-context)
|
|
(sv-144 menu-highscores-option)
|
|
)
|
|
(set! sv-96 (* 2.0 (- 0.5 (-> arg0 menu-transition))))
|
|
(set! sv-100 0.22)
|
|
(set! sv-104 395.0)
|
|
(set! sv-108 (-> arg1 origin x))
|
|
(set! sv-112 (new 'stack-no-clear 'hud-box))
|
|
(set! sv-116 (new 'stack 'print-highscore-obj))
|
|
(set! sv-120 (* (-> arg0 sliding) sv-104))
|
|
(set! sv-124 (* (-> arg0 sliding-off) (-> obj slide-dir) sv-104))
|
|
(set! sv-128 arg3)
|
|
(set! sv-132 arg2)
|
|
(set! sv-136 arg0)
|
|
(set! sv-140 arg1)
|
|
(set! sv-144 obj)
|
|
(if (< sv-96 0.0)
|
|
(set! sv-96 (the-as float 0.0))
|
|
)
|
|
(cond
|
|
((not (-> *bigmap* progress-minimap))
|
|
(draw-busy-loading sv-140)
|
|
)
|
|
(else
|
|
(set! (-> sv-140 alpha) sv-96)
|
|
(let ((v1-16 sv-140))
|
|
(set! (-> v1-16 scale) 1.0)
|
|
)
|
|
(let ((a0-4 sv-140))
|
|
(set! (-> a0-4 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((a0-5 sv-140))
|
|
(set! (-> a0-5 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> sv-140 origin x) 59.0)
|
|
(set! (-> sv-140 origin y) 78.0)
|
|
(let ((v1-23 sv-140))
|
|
(set! (-> v1-23 width) sv-104)
|
|
)
|
|
(let ((v1-24 sv-140))
|
|
(set! (-> v1-24 height) 215.0)
|
|
)
|
|
(begin-scissor sv-112 sv-136)
|
|
(set! (-> sv-144 sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x3 :page #xc93)))
|
|
(set! (-> sv-144 sprites 0 flags) (the-as uint 4))
|
|
(set! (-> sv-144 sprites 0 scale-x) sv-100)
|
|
(set! (-> sv-144 sprites 0 scale-y) sv-100)
|
|
(let ((v1-33 (-> sv-144 sprites 0 color2)))
|
|
(set! (-> v1-33 0) 128)
|
|
(set! (-> v1-33 1) 128)
|
|
(set! (-> v1-33 2) 128)
|
|
(set! (-> v1-33 3) (the int (* 128.0 sv-96)))
|
|
)
|
|
(set! (-> sv-144 sprites 0 pos z) #xfffff0)
|
|
(set! (-> sv-144 sprites 0 pos w) 0)
|
|
(if (= (-> *setting-control* user-default language) (language-enum spanish))
|
|
(draw-decoration sv-144 sv-140 sv-96 310 #t 0.8)
|
|
(draw-decoration sv-144 sv-140 sv-96 310 #t 0.95)
|
|
)
|
|
(let ((v1-39 sv-140))
|
|
(set! (-> v1-39 scale) 0.6)
|
|
)
|
|
(let ((v1-40 sv-140))
|
|
(set! (-> v1-40 height) 185.0)
|
|
)
|
|
(set! (-> sv-140 origin y) (+ 46.0 (-> sv-140 origin y)))
|
|
(set! (-> sv-140 origin x) 65.0)
|
|
(let ((v1-46 sv-140))
|
|
(set! (-> v1-46 width) (the float 367))
|
|
)
|
|
(let ((a0-23 sv-140))
|
|
(set! (-> a0-23 flags) (font-flags kerning large))
|
|
)
|
|
(let ((a0-24 sv-140))
|
|
(set! (-> a0-24 color) (font-color #f9f9f9))
|
|
)
|
|
(set! (-> sv-140 origin x) (+ 20.0 sv-120 (-> sv-140 origin x)))
|
|
(let ((v1-53 sv-140))
|
|
(set! (-> v1-53 scale) 0.75)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum german))
|
|
(let ((v1-56 sv-140))
|
|
(set! (-> v1-56 scale) 0.69)
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum french))
|
|
(let ((v1-59 sv-140))
|
|
(set! (-> v1-59 scale) 0.72)
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum spanish))
|
|
(let ((v1-62 sv-140))
|
|
(set! (-> v1-62 scale) 0.65)
|
|
)
|
|
)
|
|
(let ((gp-1 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"~S"
|
|
(lookup-text! *common-text* (get-highscore-text (-> sv-144 page-index)) #f)
|
|
)
|
|
(gp-1 *temp-string* sv-140 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> sv-140 origin y) (+ 25.0 (-> sv-140 origin y)))
|
|
(let ((v1-68 sv-140))
|
|
(set! (-> v1-68 scale) 0.6)
|
|
)
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum french))
|
|
(= (-> *setting-control* user-default language) (language-enum spanish))
|
|
)
|
|
(let ((v1-76 sv-140))
|
|
(set! (-> v1-76 scale) 0.58)
|
|
)
|
|
)
|
|
(let ((gp-2 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"~S"
|
|
(lookup-text! *common-text* (get-highscore-text-sub (-> sv-144 page-index)) #f)
|
|
)
|
|
(gp-2 *temp-string* sv-140 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> sv-140 origin x) (- (-> sv-140 origin x) (+ 20.0 sv-120)))
|
|
(set! (-> sv-140 origin y) (+ 25.0 (-> sv-140 origin y)))
|
|
(draw-highscore-icon
|
|
sv-144
|
|
(get-highscore-icon (-> sv-144 page-index))
|
|
(the int (+ (the float (get-highscore-icon-xoffset (-> sv-144 page-index))) sv-120))
|
|
(get-highscore-icon-yoffset (-> sv-144 page-index))
|
|
(get-highscore-icon-scale (-> sv-144 page-index))
|
|
)
|
|
(set! sv-108 (-> sv-140 origin x))
|
|
(let ((a0-54 sv-140))
|
|
(set! (-> a0-54 color) (font-color #7efbfb))
|
|
)
|
|
(+! (-> sv-140 origin x) sv-120)
|
|
(let ((v1-96 sv-140))
|
|
(set! (-> v1-96 scale) 0.6)
|
|
)
|
|
(let ((gp-5 (get-game-score-ref *game-info* (get-highscore-score (-> sv-144 page-index)))))
|
|
(set! (-> sv-116 index) (-> sv-144 page-index))
|
|
(set! (-> sv-116 previous) #f)
|
|
(set! (-> sv-116 self) (the-as texture-page sv-144))
|
|
(case (get-highscore-type (-> sv-144 page-index))
|
|
(('game)
|
|
(set! (-> sv-116 game-score) (the-as basic #t))
|
|
)
|
|
(('race)
|
|
(set! (-> sv-116 game-score) #f)
|
|
)
|
|
)
|
|
(set! (-> sv-116 context) sv-140)
|
|
(set! (-> sv-116 local-scale) sv-96)
|
|
(set! (-> sv-116 interp) sv-120)
|
|
(dotimes (s5-5 8)
|
|
(set! (-> sv-116 place) s5-5)
|
|
(set! (-> sv-116 score) (-> gp-5 s5-5))
|
|
(print-highscore sv-116)
|
|
)
|
|
)
|
|
(set! (-> sv-140 origin x) sv-108)
|
|
(let ((v1-120 sv-140))
|
|
(set! (-> v1-120 scale) 0.6)
|
|
)
|
|
(set! (-> sv-140 origin x) 59.0)
|
|
(set! (-> sv-140 origin y) 78.0)
|
|
(let ((v1-125 sv-140))
|
|
(set! (-> v1-125 width) sv-104)
|
|
)
|
|
(let ((v1-126 sv-140))
|
|
(set! (-> v1-126 height) 215.0)
|
|
)
|
|
(let ((v1-127 sv-140))
|
|
(set! (-> v1-127 scale) 0.5)
|
|
)
|
|
(let ((v1-128 sv-140))
|
|
(set! (-> v1-128 height) 185.0)
|
|
)
|
|
(set! (-> sv-140 origin y) (+ 46.0 (-> sv-140 origin y)))
|
|
(set! (-> sv-140 origin x) 80.0)
|
|
(set! (-> sv-144 sprites 0 pos z) #xffffff)
|
|
(let ((v1-135 sv-140))
|
|
(set! (-> v1-135 width) sv-104)
|
|
)
|
|
(let ((a0-74 sv-140))
|
|
(set! (-> a0-74 flags) (font-flags kerning large))
|
|
)
|
|
(let ((a0-75 sv-140))
|
|
(set! (-> a0-75 color) (font-color #f9f9f9))
|
|
)
|
|
(set! (-> sv-140 origin x) (+ 20.0 sv-124 (-> sv-140 origin x)))
|
|
(let ((v1-142 sv-140))
|
|
(set! (-> v1-142 scale) 0.75)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum german))
|
|
(let ((v1-145 sv-140))
|
|
(set! (-> v1-145 scale) 0.69)
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum french))
|
|
(let ((v1-148 sv-140))
|
|
(set! (-> v1-148 scale) 0.72)
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum spanish))
|
|
(let ((v1-151 sv-140))
|
|
(set! (-> v1-151 scale) 0.65)
|
|
)
|
|
)
|
|
(let ((gp-6 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"~S"
|
|
(lookup-text! *common-text* (get-highscore-text (-> sv-144 prev-page-index)) #f)
|
|
)
|
|
(gp-6 *temp-string* sv-140 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> sv-140 origin y) (+ 25.0 (-> sv-140 origin y)))
|
|
(let ((v1-157 sv-140))
|
|
(set! (-> v1-157 scale) 0.6)
|
|
)
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum french))
|
|
(= (-> *setting-control* user-default language) (language-enum spanish))
|
|
)
|
|
(let ((v1-165 sv-140))
|
|
(set! (-> v1-165 scale) 0.58)
|
|
)
|
|
)
|
|
(let ((gp-7 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"~S"
|
|
(lookup-text! *common-text* (get-highscore-text-sub (-> sv-144 prev-page-index)) #f)
|
|
)
|
|
(gp-7 *temp-string* sv-140 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> sv-140 origin x) (- (-> sv-140 origin x) (+ 20.0 sv-124)))
|
|
(set! (-> sv-140 origin y) (+ 25.0 (-> sv-140 origin y)))
|
|
(draw-highscore-icon
|
|
sv-144
|
|
(get-highscore-icon (-> sv-144 prev-page-index))
|
|
(the int (+ (the float (get-highscore-icon-xoffset (-> sv-144 page-index))) sv-124))
|
|
(get-highscore-icon-yoffset (-> sv-144 page-index))
|
|
(get-highscore-icon-scale (-> sv-144 page-index))
|
|
)
|
|
(set! sv-108 (-> sv-140 origin x))
|
|
(let ((a0-105 sv-140))
|
|
(set! (-> a0-105 color) (font-color #7efbfb))
|
|
)
|
|
(+! (-> sv-140 origin x) sv-124)
|
|
(let ((v1-185 sv-140))
|
|
(set! (-> v1-185 scale) 0.6)
|
|
)
|
|
(when (< 1 (get-num-highscores))
|
|
(let ((gp-11 (get-game-score-ref *game-info* (get-highscore-score (-> sv-144 prev-page-index)))))
|
|
(set! (-> sv-116 index) (-> sv-144 prev-page-index))
|
|
(set! (-> sv-116 previous) (the-as texture-page #t))
|
|
(set! (-> sv-116 self) (the-as texture-page sv-144))
|
|
(case (get-highscore-type (-> sv-144 prev-page-index))
|
|
(('game)
|
|
(set! (-> sv-116 game-score) (the-as basic #t))
|
|
)
|
|
(('race)
|
|
(set! (-> sv-116 game-score) #f)
|
|
)
|
|
)
|
|
(set! (-> sv-116 context) sv-140)
|
|
(set! (-> sv-116 local-scale) sv-96)
|
|
(set! (-> sv-116 interp) sv-120)
|
|
(dotimes (s5-10 8)
|
|
(set! (-> sv-116 place) s5-10)
|
|
(set! (-> sv-116 score) (-> gp-11 s5-10))
|
|
(print-highscore sv-116)
|
|
)
|
|
)
|
|
(set! (-> sv-140 origin x) sv-108)
|
|
(let ((v1-210 sv-140))
|
|
(set! (-> v1-210 scale) 0.6)
|
|
)
|
|
)
|
|
(if (< 1 (get-num-highscores))
|
|
(draw-previous-next sv-144 sv-140 #t)
|
|
)
|
|
(end-scissor sv-112 1.0)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-on-off-game-vibrations-option ((obj 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)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.65)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 15.0 (-> arg1 origin y)))
|
|
(let ((s3-0 (-> *progress-state* game-options-vibrations)))
|
|
(cond
|
|
((and (zero? (-> *progress-state* game-options-item-selected)) (-> *progress-state* game-options-item-picked))
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -1.0 (-> arg1 origin y))) 41 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-10 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-10 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(cond
|
|
((zero? (-> *progress-state* game-options-item-selected))
|
|
(let ((s2-3 arg1))
|
|
(set! (-> s2-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -1.0 (-> arg1 origin y))) 22 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-17 arg1))
|
|
(set! (-> a0-17 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~1L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-10 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~1L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-10 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-menu-text a0-10 (-> obj scale) arg1 arg0)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-on-off-game-subtitles-option ((obj 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)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.65)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 22.0 (-> arg1 origin y)))
|
|
(let ((s3-0 (-> *progress-state* game-options-subtitles)))
|
|
(cond
|
|
((and (= (-> *progress-state* game-options-item-selected) 1) (-> *progress-state* game-options-item-picked))
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -1.0 (-> arg1 origin y))) 41 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= (-> *progress-state* game-options-item-selected) 1)
|
|
(let ((s2-3 arg1))
|
|
(set! (-> s2-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -1.0 (-> arg1 origin y))) 22 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-20 arg1))
|
|
(set! (-> a0-20 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~1L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~1L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-menu-text a0-11 (-> obj scale) arg1 arg0)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-subtitle-language-game-option ((obj 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))
|
|
(set! (-> v1-2 scale) 0.65)
|
|
)
|
|
(case arg2
|
|
((2)
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
)
|
|
((3)
|
|
(set! (-> arg1 origin y) (+ 32.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((a0-5 arg1))
|
|
(set! (-> a0-5 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((s4-0 (&-> *setting-control* user-default subtitle-language)))
|
|
(cond
|
|
((and (= (-> *progress-state* game-options-item-selected) 2) (-> *progress-state* game-options-item-picked))
|
|
(let ((a0-7 arg1))
|
|
(set! (-> a0-7 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 44 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 24.0 (-> arg1 origin y)))
|
|
(-> obj language-selection)
|
|
(let ((s4-1 (-> s4-0 0)))
|
|
7
|
|
(if (-> obj language-transition)
|
|
(seekl! (-> obj language-x-offset) 150 (the int (* 10.0 (-> pp clock time-adjust-ratio))))
|
|
)
|
|
(when (>= (-> obj language-x-offset) 75)
|
|
(set! (-> obj language-selection) (the-as uint s4-1))
|
|
(set! (-> obj language-transition) #f)
|
|
(set! (-> obj language-x-offset) 0)
|
|
0
|
|
)
|
|
)
|
|
(let ((a0-12 arg1))
|
|
(set! (-> a0-12 color) (font-color #7efbfb))
|
|
)
|
|
(let ((v1-33 arg1))
|
|
(set! (-> v1-33 scale) 0.5)
|
|
)
|
|
(let ((a0-14 arg1))
|
|
(set! (-> a0-14 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 163)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(let ((s5-2 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 161)
|
|
(s5-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s5-3 arg1))
|
|
(set! (-> s5-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(let ((v1-43 (if (and (= (scf-get-territory) 1) (zero? (-> *progress-state* game-options-subtitle-language-index)))
|
|
7
|
|
(-> *progress-state* game-options-subtitle-language-index)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (-> *language-name-remap* v1-43) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(cond
|
|
((= (-> *progress-state* game-options-item-selected) 2)
|
|
(let ((s4-4 arg1))
|
|
(set! (-> s4-4 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 24 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-31 arg1))
|
|
(set! (-> a0-31 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-52 arg1))
|
|
(set! (-> v1-52 scale) 0.65)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(let ((v1-54 arg1))
|
|
(set! (-> v1-54 scale) 0.5)
|
|
)
|
|
(let ((a0-36 arg1))
|
|
(set! (-> a0-36 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 24.0 (-> arg1 origin y)))
|
|
(let ((a0-37 arg1))
|
|
(set! (-> a0-37 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((v1-61 (if (and (= (scf-get-territory) 1) (zero? (-> *progress-state* game-options-subtitle-language-index)))
|
|
7
|
|
(-> *progress-state* game-options-subtitle-language-index)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (-> *language-name-remap* v1-61) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-language-game-option ((obj menu-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))
|
|
(set! (-> v1-2 scale) 0.65)
|
|
)
|
|
(case arg2
|
|
((2)
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
)
|
|
((3)
|
|
(set! (-> arg1 origin y) (+ 32.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((a0-5 arg1))
|
|
(set! (-> a0-5 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((s4-0 (&-> *setting-control* user-default language)))
|
|
(cond
|
|
((and (= (-> *progress-state* game-options-item-selected) 3) (-> *progress-state* game-options-item-picked))
|
|
(let ((a0-7 arg1))
|
|
(set! (-> a0-7 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 44 f30-0)
|
|
(let ((s3-0 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
(s3-0 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 24.0 (-> arg1 origin y)))
|
|
(-> obj language-selection)
|
|
(let ((s4-1 (-> s4-0 0)))
|
|
7
|
|
(if (-> obj language-transition)
|
|
(seekl! (-> obj language-x-offset) 150 (the int (* 10.0 (-> pp clock time-adjust-ratio))))
|
|
)
|
|
(when (>= (-> obj language-x-offset) 75)
|
|
(set! (-> obj language-selection) (the-as uint s4-1))
|
|
(set! (-> obj language-transition) #f)
|
|
(set! (-> obj language-x-offset) 0)
|
|
0
|
|
)
|
|
)
|
|
(let ((a0-14 arg1))
|
|
(set! (-> a0-14 color) (font-color #7efbfb))
|
|
)
|
|
(let ((v1-33 arg1))
|
|
(set! (-> v1-33 scale) 0.5)
|
|
)
|
|
(let ((a0-16 arg1))
|
|
(set! (-> a0-16 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 163)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(let ((s5-2 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 161)
|
|
(s5-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s5-3 arg1))
|
|
(set! (-> s5-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(let ((v1-43 (if (and (= (scf-get-territory) 1) (zero? (-> *progress-state* game-options-language-index)))
|
|
7
|
|
(-> *progress-state* game-options-language-index)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (-> *language-name-remap* v1-43) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(cond
|
|
((= (-> *progress-state* game-options-item-selected) 3)
|
|
(let ((s3-1 arg1))
|
|
(set! (-> s3-1 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (-> arg1 origin y)) 24 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-33 arg1))
|
|
(set! (-> a0-33 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-52 arg1))
|
|
(set! (-> v1-52 scale) 0.65)
|
|
)
|
|
(let ((s3-2 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
(s3-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((v1-54 arg1))
|
|
(set! (-> v1-54 scale) 0.5)
|
|
)
|
|
(let ((a0-40 arg1))
|
|
(set! (-> a0-40 color) (font-color #7efbfb))
|
|
)
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> *language-name-remap* (-> s4-0 0)) #f))
|
|
*temp-string*
|
|
(set! (-> arg1 origin y) (+ 24.0 (-> arg1 origin y)))
|
|
(let ((a0-44 arg1))
|
|
(set! (-> a0-44 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((v1-66 (if (and (= (scf-get-territory) 1) (zero? (-> *progress-state* game-options-language-index)))
|
|
7
|
|
(-> *progress-state* game-options-language-index)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (-> *language-name-remap* v1-66) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-sub-menu-game-option ((obj 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)
|
|
(-> arg1 scale)
|
|
(if (< f0-1 0.0)
|
|
(set! f0-1 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f0-1)
|
|
(let ((a1-1 arg1))
|
|
(set! (-> a1-1 flags) (font-flags kerning middle large))
|
|
)
|
|
(if (= (-> *setting-control* user-default language) (language-enum spanish))
|
|
(draw-decoration obj arg1 f0-1 283 #f 0.85)
|
|
(draw-decoration obj arg1 f0-1 283 #f 0.95)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-aspect-ratio-option ((obj 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)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((a0-1 arg1))
|
|
(set! (-> a0-1 flags) (font-flags kerning middle large))
|
|
)
|
|
(let ((v1-5 arg1))
|
|
(set! (-> v1-5 scale) 0.75)
|
|
)
|
|
(set! (-> arg1 height) 35.0)
|
|
(set! (-> arg1 origin y) (+ 20.0 (-> arg1 origin y)))
|
|
(let ((s3-0 (-> *progress-state* graphic-options-aspect-ratio)))
|
|
(cond
|
|
((and (= (-> *progress-state* graphic-options-item-selected) 1)
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-4 arg1))
|
|
(set! (-> a0-4 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 42 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 23.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= s3-0 'aspect4x3)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-aspect-4x3) #f)
|
|
(lookup-text! *common-text* (text-id progress-aspect-16x9) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-aspect-4x3) #f)
|
|
(lookup-text! *common-text* (text-id progress-aspect-16x9) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(when (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(cond
|
|
((= (-> *progress-state* graphic-options-item-selected) 1)
|
|
(let ((s2-3 arg1))
|
|
(set! (-> s2-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 25 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-21 arg1))
|
|
(set! (-> a0-21 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 23.0 (-> arg1 origin y)))
|
|
(cond
|
|
((= s3-0 'aspect4x3)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~1L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-aspect-4x3) #f)
|
|
(lookup-text! *common-text* (text-id progress-aspect-16x9) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~1L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-aspect-4x3) #f)
|
|
(lookup-text! *common-text* (text-id progress-aspect-16x9) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(if (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(print-menu-text a0-12 (-> obj scale) arg1 arg0)
|
|
)
|
|
(draw-decoration obj arg1 f30-0 284 #f 0.95)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-on-off-progressive-scan-graphic-option ((obj 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)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.75)
|
|
)
|
|
(set! (-> arg1 height) 35.0)
|
|
(set! (-> arg1 origin y) (+ 35.0 (-> arg1 origin y)))
|
|
(let ((s3-0 (-> *progress-state* graphic-options-progressive-scan)))
|
|
(cond
|
|
((and (= (-> *progress-state* graphic-options-item-selected) 2)
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 42 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin y) (+ -8.0 (-> arg1 origin y)))
|
|
(when (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(cond
|
|
((= (-> *progress-state* graphic-options-item-selected) 2)
|
|
(let ((s2-3 arg1))
|
|
(set! (-> s2-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 24 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-20 arg1))
|
|
(set! (-> a0-20 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 18.0 (-> arg1 origin y)))
|
|
(cond
|
|
(s3-0
|
|
(format
|
|
(clear *temp-string*)
|
|
"~1L~S~35L ~S"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~35L~S ~1L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-on) #f)
|
|
(lookup-text! *common-text* (text-id progress-off) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(if (not (and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
)
|
|
(print-menu-text a0-11 (-> obj scale) arg1 arg0)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-center-screen-graphic-option ((obj 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)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(set! (-> arg1 height) 35.0)
|
|
(let ((v1-5 arg1))
|
|
(set! (-> v1-5 scale) 0.75)
|
|
)
|
|
(cond
|
|
((and (zero? (-> *progress-state* graphic-options-item-selected))
|
|
(-> *progress-state* graphic-options-item-picked)
|
|
)
|
|
(let ((v1-10 arg1))
|
|
(set! (-> v1-10 scale) 0.6)
|
|
)
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 color) (font-color #f9f9f9))
|
|
)
|
|
(set! (-> arg1 width) 350.0)
|
|
(set! (-> arg1 height) 60.0)
|
|
(set! (-> arg1 origin x) 80.0)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) (+ 5.0 (-> arg1 origin y)))
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) (+ 30.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(when (= (-> *setting-control* user-default language) (language-enum french))
|
|
(let ((v1-23 arg1))
|
|
(set! (-> v1-23 scale) 0.55)
|
|
)
|
|
)
|
|
(let ((s5-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 160)
|
|
(s5-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 21.0 (-> arg1 origin y)))
|
|
(let ((s5-2 print-game-text))
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~C~34L~S~33L~C"
|
|
163
|
|
(lookup-text! *common-text* (text-id progress-move-dpad) #f)
|
|
161
|
|
)
|
|
(s5-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 21.0 (-> arg1 origin y)))
|
|
(let ((s5-3 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 162)
|
|
(s5-3 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(+! (-> arg1 origin y)
|
|
(the float (if (and (= (-> *progress-state* starting-state) 'title) (= (scf-get-territory) 1))
|
|
100
|
|
80
|
|
)
|
|
)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) (+ -3.0 (-> arg1 origin y)))
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) (+ 10.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(let ((v1-37 arg1))
|
|
(set! (-> v1-37 scale) 0.5)
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (text-id progress-unknown-square-to-reset) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin y) (+ 5.0 (-> arg1 origin y)))
|
|
(cond
|
|
((zero? (-> *progress-state* graphic-options-item-selected))
|
|
(let ((s4-3 arg1))
|
|
(set! (-> s4-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 25 f30-0)
|
|
)
|
|
(else
|
|
(let ((a0-31 arg1))
|
|
(set! (-> a0-31 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-restart-mission-qr-option ((obj 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)
|
|
(set! f0-1 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f0-1)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.75)
|
|
)
|
|
(set! (-> arg1 height) 35.0)
|
|
(set! (-> arg1 origin y) (+ 5.0 (-> arg1 origin y)))
|
|
(let ((s4-0 (&-> *progress-state* yes-no-choice)))
|
|
(set! a0-11
|
|
(cond
|
|
((and (zero? (-> *progress-state* qr-options-item-selected)) (-> *progress-state* qr-options-item-picked))
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 50 f0-1)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 25.0 (-> arg1 origin y)))
|
|
(let ((v1-17 arg1))
|
|
(set! (-> v1-17 scale) 0.6)
|
|
)
|
|
(cond
|
|
((-> s4-0 0)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-11 *temp-string*)
|
|
)
|
|
)
|
|
a0-11
|
|
)
|
|
(else
|
|
(if (and (= (-> arg0 option-index) arg2) (zero? (-> *progress-state* qr-options-item-selected)))
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 26 f0-1)
|
|
)
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
*temp-string*
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text a0-11 arg1 #f 44 (bucket-id progress))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-quit-qr-option ((obj 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)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-4 arg1))
|
|
(set! (-> v1-4 scale) 0.75)
|
|
)
|
|
(set! (-> arg1 origin y) (+ 45.0 (-> arg1 origin y)))
|
|
(set! (-> arg1 height) 35.0)
|
|
(let ((s4-0 (&-> *progress-state* yes-no-choice)))
|
|
(set! a0-12
|
|
(cond
|
|
((and (= (-> *progress-state* qr-options-item-selected) 1) (-> *progress-state* qr-options-item-picked))
|
|
(let ((a0-3 arg1))
|
|
(set! (-> a0-3 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 50 f30-0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(set! (-> arg1 origin y) (+ 25.0 (-> arg1 origin y)))
|
|
(let ((v1-18 arg1))
|
|
(set! (-> v1-18 scale) 0.6)
|
|
)
|
|
(cond
|
|
((-> s4-0 0)
|
|
(format
|
|
(clear *temp-string*)
|
|
"~33L~S~32L ~S"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
(else
|
|
(format
|
|
(clear *temp-string*)
|
|
"~32L~S ~33L~S~1L"
|
|
(lookup-text! *common-text* (text-id progress-yes) #f)
|
|
(lookup-text! *common-text* (text-id progress-no) #f)
|
|
)
|
|
(set! a0-12 *temp-string*)
|
|
)
|
|
)
|
|
a0-12
|
|
)
|
|
(else
|
|
(if (and (= (-> arg0 option-index) arg2) (= (-> *progress-state* qr-options-item-selected) 1))
|
|
(draw-highlight (the int (+ -2.0 (-> arg1 origin y))) 26 f30-0)
|
|
)
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
*temp-string*
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(print-game-text a0-12 arg1 #f 44 (bucket-id progress))
|
|
(cond
|
|
((= (-> *setting-control* user-default language) (language-enum french))
|
|
(draw-decoration obj arg1 f30-0 371 #f 0.8)
|
|
)
|
|
((= (-> *setting-control* user-default language) (language-enum german))
|
|
(draw-decoration obj arg1 f30-0 371 #f 0.7)
|
|
)
|
|
(else
|
|
(draw-decoration obj arg1 f30-0 371 #f 0.95)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-slider-option ((obj menu-slider-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol))
|
|
(local-vars
|
|
(v0-42 pointer)
|
|
(sv-16 progress)
|
|
(sv-32 symbol)
|
|
(sv-48 int)
|
|
(sv-64 int)
|
|
(sv-80 int)
|
|
(sv-96 int)
|
|
(sv-112 int)
|
|
(sv-128 pointer)
|
|
(sv-144 (function string font-context symbol int bucket-id float))
|
|
(sv-160 uint)
|
|
(sv-176 dma-buffer)
|
|
(sv-192 pointer)
|
|
(sv-208 pointer)
|
|
(sv-224 (function string font-context symbol int bucket-id float))
|
|
(sv-240 uint)
|
|
(sv-256 dma-buffer)
|
|
(sv-272 pointer)
|
|
)
|
|
(set! sv-16 arg0)
|
|
(let ((s5-0 arg1)
|
|
(gp-0 arg2)
|
|
)
|
|
(set! sv-32 arg3)
|
|
(let ((f30-0 (* 2.0 (- 0.5 (-> sv-16 menu-transition)))))
|
|
(set! sv-48 128)
|
|
(let ((s1-0 sv-48)
|
|
(s0-0 9)
|
|
(s2-0 157)
|
|
(f28-0 2.0)
|
|
(s3-0 252)
|
|
)
|
|
(set! sv-64 20)
|
|
(set! sv-80 0)
|
|
(set! sv-96 112)
|
|
(set! sv-112 127)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> s5-0 alpha) f30-0)
|
|
(set! v0-42
|
|
(cond
|
|
((not (-> *bigmap* progress-minimap))
|
|
(draw-busy-loading s5-0)
|
|
v0-42
|
|
)
|
|
(else
|
|
(let ((v1-13 s5-0))
|
|
(set! (-> v1-13 scale) 0.6)
|
|
)
|
|
(set! (-> s5-0 origin y) (+ 20.0 (-> s5-0 origin y)))
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! s2-0 157)
|
|
(let ((v1-17 gp-0))
|
|
(cond
|
|
((zero? v1-17)
|
|
(set! (-> s5-0 origin y) (+ -24.0 (-> s5-0 origin y)))
|
|
(+! s2-0 -9)
|
|
)
|
|
((= v1-17 1)
|
|
(set! (-> s5-0 origin y) (+ -9.0 (-> s5-0 origin y)))
|
|
(+! s2-0 43)
|
|
)
|
|
((= v1-17 2)
|
|
(set! (-> s5-0 origin y) (+ 6.0 (-> s5-0 origin y)))
|
|
(+! s2-0 96)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(('aspect16x9)
|
|
(set! s2-0 172)
|
|
(set! f28-0 2.62)
|
|
(set! s0-0 5)
|
|
(set! s3-0 250)
|
|
(let ((v1-28 gp-0))
|
|
(cond
|
|
((zero? v1-28)
|
|
(set! (-> s5-0 origin y) (+ -20.0 (-> s5-0 origin y)))
|
|
(+! s2-0 -20)
|
|
)
|
|
((= v1-28 1)
|
|
(set! (-> s5-0 origin y) (+ 2.0 (-> s5-0 origin y)))
|
|
(+! s2-0 40)
|
|
)
|
|
((= v1-28 2)
|
|
(set! (-> s5-0 origin y) (+ 30.0 (-> s5-0 origin y)))
|
|
(+! s2-0 105)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((a0-11 s5-0))
|
|
(set! (-> a0-11 flags) (font-flags kerning large))
|
|
)
|
|
(set! (-> s5-0 origin x) (the float sv-48))
|
|
(cond
|
|
(sv-32
|
|
(set! sv-128 (-> obj value-to-modify))
|
|
(set! (-> s5-0 origin y) (+ -8.0 (-> s5-0 origin y)))
|
|
(let ((a0-12 s5-0))
|
|
(set! (-> a0-12 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -2.0 (-> s5-0 origin y))) 52 f30-0)
|
|
(set! sv-144 print-game-text)
|
|
(let ((a0-15 (lookup-text! *common-text* (-> obj name) #f))
|
|
(a1-3 s5-0)
|
|
(a2-3 #f)
|
|
(a3-1 44)
|
|
(t0-1 (bucket-id progress))
|
|
)
|
|
(sv-144 a0-15 a1-3 a2-3 a3-1 (the-as bucket-id t0-1))
|
|
)
|
|
(set! sv-160
|
|
(logior (logand (logior (logand (logior (logand (logior (logand (the-as uint #x8000ffff) -256)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-128)))) 56) 56)
|
|
)
|
|
-65281
|
|
)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-128)))) 56) 48)
|
|
)
|
|
-16711681
|
|
)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-128)))) 56) 40)
|
|
)
|
|
(the-as uint #xffffffff00ffffff)
|
|
)
|
|
(shr (shl (the int (* 128.0 f30-0)) 56) 32)
|
|
)
|
|
)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #xb :page #xc93)))
|
|
(set! (-> obj sprites 0 scale-x) f28-0)
|
|
(set! (-> obj sprites 0 scale-y) 0.7)
|
|
(let ((v1-57 (-> obj sprites 0 color2)))
|
|
(set! (-> v1-57 0) 128)
|
|
(set! (-> v1-57 1) 128)
|
|
(set! (-> v1-57 2) 128)
|
|
(set! (-> v1-57 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 0 pos z) #x3fffff)
|
|
(set! (-> obj sprites 0 pos w) 0)
|
|
(set! (-> obj sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #xc :page #xc93)))
|
|
(set! (-> obj sprites 1 scale-x) 0.2)
|
|
(set! (-> obj sprites 1 scale-y) 1.33)
|
|
(let ((v1-62 (-> obj sprites 1 color2)))
|
|
(set! (-> v1-62 0) 128)
|
|
(set! (-> v1-62 1) 128)
|
|
(set! (-> v1-62 2) 128)
|
|
(set! (-> v1-62 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 1 pos z) #x3fffff)
|
|
(set! (-> obj sprites 1 pos w) 0)
|
|
(set! (-> obj sprites 2 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x3e :page #xc93)))
|
|
(set! (-> obj sprites 2 scale-x) 1.0)
|
|
(set! (-> obj sprites 2 scale-y) 1.0)
|
|
(let ((v1-67 (-> obj sprites 2 color2)))
|
|
(set! (-> v1-67 0) sv-80)
|
|
(set! (-> v1-67 1) sv-96)
|
|
(set! (-> v1-67 2) sv-112)
|
|
(set! (-> v1-67 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 2 pos z) #xffffff)
|
|
(set! (-> obj sprites 2 pos w) 0)
|
|
(set! (-> obj sprites 3 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x3f :page #xc93)))
|
|
(set! (-> obj sprites 3 scale-x) 1.0)
|
|
(set! (-> obj sprites 3 scale-y) 1.0)
|
|
(let ((v1-72 (-> obj sprites 3 color2)))
|
|
(set! (-> v1-72 0) sv-80)
|
|
(set! (-> v1-72 1) sv-96)
|
|
(set! (-> v1-72 2) sv-112)
|
|
(set! (-> v1-72 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 3 pos z) #xffffff)
|
|
(set! (-> obj sprites 3 pos w) 0)
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) s1-0 s2-0)
|
|
(set-hud-piece-position!
|
|
(-> obj sprites 1)
|
|
(+ s1-0 (the int (* 230.0 (-> (the-as (pointer float) sv-128)))))
|
|
(+ s2-0 -4)
|
|
)
|
|
(set-hud-piece-position! (-> obj sprites 2) (- s1-0 sv-64) (+ s2-0 -4))
|
|
(set-hud-piece-position! (-> obj sprites 3) (+ sv-64 242 s1-0) (+ s2-0 -4))
|
|
(set! sv-176 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(set! sv-192 (-> sv-176 base))
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) sv-176 (-> *level* default-level))
|
|
(draw-sprite2d-xy
|
|
sv-176
|
|
(+ s1-0 s0-0 (the int (* 230.0 (-> (the-as (pointer float) sv-128)))))
|
|
(+ s2-0 7)
|
|
(- 240 (the int (* 230.0 (-> (the-as (pointer float) sv-128)))))
|
|
9
|
|
(the-as rgba sv-160)
|
|
)
|
|
(draw (-> obj sprites 1) sv-176 (-> *level* default-level))
|
|
(draw (-> obj sprites 2) sv-176 (-> *level* default-level))
|
|
(draw (-> obj sprites 3) sv-176 (-> *level* default-level))
|
|
(let ((a3-6 (-> sv-176 base)))
|
|
(let ((v1-100 (the-as object (-> sv-176 base))))
|
|
(set! (-> (the-as dma-packet v1-100) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
|
(set! (-> (the-as dma-packet v1-100) vif0) (new 'static 'vif-tag))
|
|
(set! (-> (the-as dma-packet v1-100) vif1) (new 'static 'vif-tag))
|
|
(set! (-> sv-176 base) (&+ (the-as pointer v1-100) 16))
|
|
)
|
|
(dma-bucket-insert-tag
|
|
(-> *display* frames (-> *display* on-screen) bucket-group)
|
|
(bucket-id progress)
|
|
sv-192
|
|
(the-as (pointer dma-tag) a3-6)
|
|
)
|
|
)
|
|
(+! (-> s5-0 origin x) (the float s3-0))
|
|
(let ((a0-71 s5-0))
|
|
(set! (-> a0-71 flags) (font-flags kerning right large))
|
|
)
|
|
(let ((s3-1 print-game-text))
|
|
(format (clear *temp-string*) "~D%" (the int (* 100.0 (-> (the-as (pointer float) sv-128)))))
|
|
(s3-1 *temp-string* s5-0 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((a0-75 s5-0))
|
|
(set! (-> a0-75 flags) (font-flags kerning large))
|
|
)
|
|
)
|
|
(else
|
|
(set! sv-208 (-> obj value-to-modify))
|
|
(set! (-> s5-0 origin y) (+ -8.0 (-> s5-0 origin y)))
|
|
(when (or (= (-> *setting-control* user-default language) (language-enum german))
|
|
(= (-> *setting-control* user-default language) (language-enum french))
|
|
)
|
|
(let ((v1-121 s5-0))
|
|
(set! (-> v1-121 scale) 0.56)
|
|
)
|
|
)
|
|
(if (= (-> sv-16 option-index) gp-0)
|
|
(draw-highlight (the int (+ -2.0 (-> s5-0 origin y))) 24 f30-0)
|
|
)
|
|
(set! sv-224 print-game-text)
|
|
(let ((a0-81 (lookup-text! *common-text* (-> obj name) #f))
|
|
(a1-21 s5-0)
|
|
(a2-18 #f)
|
|
(a3-8 44)
|
|
(t0-4 (bucket-id progress))
|
|
)
|
|
(sv-224 a0-81 a1-21 a2-18 a3-8 (the-as bucket-id t0-4))
|
|
)
|
|
(set! sv-240
|
|
(logior (logand (logior (logand (logior (logand (logior (logand (the-as uint #x8000ffff) -256)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-208)))) 56) 56)
|
|
)
|
|
-65281
|
|
)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-208)))) 56) 48)
|
|
)
|
|
-16711681
|
|
)
|
|
(shr (shl (the int (* 0.0 f30-0 (-> (the-as (pointer float) sv-208)))) 56) 40)
|
|
)
|
|
(the-as uint #xffffffff00ffffff)
|
|
)
|
|
(shr (shl (the int (* 128.0 f30-0)) 56) 32)
|
|
)
|
|
)
|
|
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #xb :page #xc93)))
|
|
(set! (-> obj sprites 0 scale-x) f28-0)
|
|
(set! (-> obj sprites 0 scale-y) 0.7)
|
|
(let ((v1-140 (-> obj sprites 0 color2)))
|
|
(set! (-> v1-140 0) 128)
|
|
(set! (-> v1-140 1) 128)
|
|
(set! (-> v1-140 2) 128)
|
|
(set! (-> v1-140 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 0 pos z) #x3fffff)
|
|
(set! (-> obj sprites 0 pos w) 0)
|
|
(set! (-> obj sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #xc :page #xc93)))
|
|
(set! (-> obj sprites 1 scale-x) 0.2)
|
|
(set! (-> obj sprites 1 scale-y) 1.33)
|
|
(let ((v1-145 (-> obj sprites 1 color2)))
|
|
(set! (-> v1-145 0) 128)
|
|
(set! (-> v1-145 1) 128)
|
|
(set! (-> v1-145 2) 128)
|
|
(set! (-> v1-145 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 1 pos z) #x3fffff)
|
|
(set! (-> obj sprites 1 pos w) 0)
|
|
(set! (-> obj sprites 2 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x3e :page #xc93)))
|
|
(set! (-> obj sprites 2 scale-x) 1.0)
|
|
(set! (-> obj sprites 2 scale-y) 1.0)
|
|
(let ((v1-150 (-> obj sprites 2 color2)))
|
|
(set! (-> v1-150 0) sv-80)
|
|
(set! (-> v1-150 1) sv-96)
|
|
(set! (-> v1-150 2) sv-112)
|
|
(set! (-> v1-150 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 2 pos z) #xffffff)
|
|
(set! (-> obj sprites 2 pos w) 0)
|
|
(set! (-> obj sprites 3 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x3f :page #xc93)))
|
|
(set! (-> obj sprites 3 scale-x) 1.0)
|
|
(set! (-> obj sprites 3 scale-y) 1.0)
|
|
(let ((v1-155 (-> obj sprites 3 color2)))
|
|
(set! (-> v1-155 0) sv-80)
|
|
(set! (-> v1-155 1) sv-96)
|
|
(set! (-> v1-155 2) sv-112)
|
|
(set! (-> v1-155 3) (the int (* 128.0 f30-0)))
|
|
)
|
|
(set! (-> obj sprites 3 pos z) #xffffff)
|
|
(set! (-> obj sprites 3 pos w) 0)
|
|
(set-hud-piece-position! (the-as hud-sprite (-> obj sprites)) s1-0 s2-0)
|
|
(set-hud-piece-position!
|
|
(-> obj sprites 1)
|
|
(+ s1-0 (the int (* 230.0 (-> (the-as (pointer float) sv-208)))))
|
|
(+ s2-0 -4)
|
|
)
|
|
(set-hud-piece-position! (-> obj sprites 2) (- s1-0 sv-64) (+ s2-0 -4))
|
|
(set-hud-piece-position! (-> obj sprites 3) (+ sv-64 242 s1-0) (+ s2-0 -4))
|
|
(set! sv-256 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(set! sv-272 (-> sv-256 base))
|
|
((method-of-type hud-sprite draw) (the-as hud-sprite (-> obj sprites)) sv-256 (-> *level* default-level))
|
|
(draw-sprite2d-xy
|
|
sv-256
|
|
(+ s1-0 s0-0 (the int (* 230.0 (-> (the-as (pointer float) sv-208)))))
|
|
(+ s2-0 7)
|
|
(- 240 (the int (* 230.0 (-> (the-as (pointer float) sv-208)))))
|
|
9
|
|
(the-as rgba sv-240)
|
|
)
|
|
(draw (-> obj sprites 1) sv-256 (-> *level* default-level))
|
|
(draw (-> obj sprites 2) sv-256 (-> *level* default-level))
|
|
(draw (-> obj sprites 3) sv-256 (-> *level* default-level))
|
|
(let ((a3-13 (-> sv-256 base)))
|
|
(let ((v1-183 (the-as object (-> sv-256 base))))
|
|
(set! (-> (the-as dma-packet v1-183) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
|
(set! (-> (the-as dma-packet v1-183) vif0) (new 'static 'vif-tag))
|
|
(set! (-> (the-as dma-packet v1-183) vif1) (new 'static 'vif-tag))
|
|
(set! (-> sv-256 base) (&+ (the-as pointer v1-183) 16))
|
|
)
|
|
(dma-bucket-insert-tag
|
|
(-> *display* frames (-> *display* on-screen) bucket-group)
|
|
(bucket-id progress)
|
|
sv-272
|
|
(the-as (pointer dma-tag) a3-13)
|
|
)
|
|
)
|
|
(+! (-> s5-0 origin x) (the float s3-0))
|
|
(let ((a0-137 s5-0))
|
|
(set! (-> a0-137 flags) (font-flags kerning right large))
|
|
)
|
|
(let ((s3-2 print-game-text))
|
|
(format (clear *temp-string*) "~D%" (the int (* 100.0 (-> (the-as (pointer float) sv-208)))))
|
|
(s3-2 *temp-string* s5-0 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((a0-141 s5-0))
|
|
(set! (-> a0-141 flags) (font-flags kerning large))
|
|
)
|
|
)
|
|
)
|
|
(if (zero? gp-0)
|
|
(draw-sound-options-decoration obj s5-0 f30-0 (the-as symbol 285) (the-as text-id #f))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defmethod menu-option-method-10 menu-stereo-mode-sound-option ((obj 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))
|
|
(set! (-> v1-2 scale) 0.65)
|
|
)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((a0-2 arg1))
|
|
(set! (-> a0-2 flags) (font-flags kerning middle large))
|
|
)
|
|
(cond
|
|
((not (-> *bigmap* progress-minimap))
|
|
(draw-busy-loading arg1)
|
|
)
|
|
((begin
|
|
(case (get-aspect-ratio)
|
|
(('aspect4x3)
|
|
(set! (-> arg1 origin y) (+ 32.0 (-> arg1 origin y)))
|
|
)
|
|
(('aspect16x9)
|
|
(set! (-> arg1 origin y) (+ 60.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
(set! s5-0 (-> *setting-control* user-default stereo-mode))
|
|
arg3
|
|
)
|
|
(let ((a0-7 arg1))
|
|
(set! (-> a0-7 color) (font-color #f9f9f9))
|
|
)
|
|
(draw-highlight (the int (+ -1.0 (-> arg1 origin y))) 42 f30-0)
|
|
(let ((s3-1 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
(s3-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin y) (+ 22.0 (-> arg1 origin y)))
|
|
(let ((a0-13 arg1))
|
|
(set! (-> a0-13 color) (font-color #7efbfb))
|
|
)
|
|
(let ((v1-22 arg1))
|
|
(set! (-> v1-22 scale) 0.5)
|
|
)
|
|
(let ((a0-15 arg1))
|
|
(set! (-> a0-15 color) (font-color #7efbfb))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s4-1 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 163)
|
|
(s4-1 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(set! (-> arg1 origin x) (+ 70.0 (-> arg1 origin x)))
|
|
(let ((s4-2 print-game-text))
|
|
(format (clear *temp-string*) "~33L~C" 161)
|
|
(s4-2 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(set! (-> arg1 origin x) (+ -70.0 (-> arg1 origin x)))
|
|
(let ((s4-3 arg1))
|
|
(set! (-> s4-3 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
(let ((a0-23 arg1))
|
|
(set! (-> a0-23 flags) (font-flags kerning middle large))
|
|
)
|
|
(print-game-text
|
|
(lookup-text! *common-text* (-> *stereo-mode-name-remap* s5-0) #f)
|
|
arg1
|
|
#f
|
|
44
|
|
(bucket-id progress)
|
|
)
|
|
)
|
|
(else
|
|
(if (= (-> arg0 option-index) arg2)
|
|
(draw-highlight (the int (-> arg1 origin y)) 21 f30-0)
|
|
)
|
|
(let ((v1-37 arg1))
|
|
(set! (-> v1-37 scale) 0.65)
|
|
)
|
|
(let ((s3-4 print-game-text))
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> obj name) #f))
|
|
(s3-4 *temp-string* arg1 #f 44 (bucket-id progress))
|
|
)
|
|
(let ((v1-39 arg1))
|
|
(set! (-> v1-39 scale) 0.5)
|
|
)
|
|
(let ((a0-33 arg1))
|
|
(set! (-> a0-33 color) (font-color #7efbfb))
|
|
)
|
|
(format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> *stereo-mode-name-remap* s5-0) #f))
|
|
(let ((a0-37 *temp-string*))
|
|
(set! (-> arg1 origin y) (+ 22.0 (-> arg1 origin y)))
|
|
(let ((a1-19 arg1))
|
|
(set! (-> a1-19 flags) (font-flags kerning middle large))
|
|
)
|
|
(print-game-text a0-37 arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; ERROR: Failed store: (s.w! (+ v1-87 8) 0) at op 335
|
|
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 349]
|
|
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 361]
|
|
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 417]
|
|
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 435]
|
|
(defmethod menu-option-method-10 menu-sub-menu-option ((obj 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))))
|
|
(s1-0 22)
|
|
)
|
|
(if (< f30-0 0.0)
|
|
(set! f30-0 0.0)
|
|
)
|
|
(set! (-> arg1 alpha) f30-0)
|
|
(let ((v1-5 arg1))
|
|
(set! (-> v1-5 scale) 0.6)
|
|
)
|
|
(cond
|
|
((= *title* (-> arg0 current-options))
|
|
(let ((v1-8 arg1))
|
|
(set! (-> v1-8 scale) 0.85)
|
|
)
|
|
(set! (-> arg1 height) 40.0)
|
|
(set! s1-0 36)
|
|
(+! s2-0 -8)
|
|
(when (memcard-unlocked-secrets? #f)
|
|
(set! (-> arg1 origin y) (+ -35.0 (-> arg1 origin y)))
|
|
(set! s1-0 36)
|
|
(+! s2-0 -34)
|
|
)
|
|
)
|
|
((= *options* (-> arg0 current-options))
|
|
(set! (-> arg1 origin y) (+ -20.0 (-> arg1 origin y)))
|
|
(let ((v1-16 arg1))
|
|
(set! (-> v1-16 scale) 0.85)
|
|
)
|
|
(set! (-> arg1 height) 40.0)
|
|
(set! s1-0 37)
|
|
(+! s2-0 -28)
|
|
)
|
|
)
|
|
(when (nonzero? (-> obj name))
|
|
(let ((s0-0 arg1))
|
|
(set! (-> s0-0 color) (if (= arg2 (-> arg0 option-index))
|
|
(the-as font-color (progress-selected 0))
|
|
(font-color #7efbfb)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((= arg2 (-> arg0 option-index))
|
|
(let ((s0-1 arg1))
|
|
(set! (-> s0-1 color) (the-as font-color (progress-selected 0)))
|
|
)
|
|
)
|
|
(else
|
|
(let ((a0-9 arg1))
|
|
(set! (-> a0-9 color) (font-color #7efbfb))
|
|
)
|
|
)
|
|
)
|
|
(if (and (and (= arg2 (-> arg0 option-index)) (!= 298 (-> obj name)))
|
|
(not (and (= (-> obj name) (text-id progress-root-secrets))
|
|
(= *title* (-> arg0 current-options))
|
|
(not (memcard-unlocked-secrets? #f))
|
|
(= (-> arg0 option-index) 3)
|
|
)
|
|
)
|
|
)
|
|
(draw-highlight s2-0 s1-0 f30-0)
|
|
)
|
|
(cond
|
|
((= *save-options-title* (-> arg0 current-options))
|
|
(cond
|
|
((= (-> obj name) (text-id progress-continue-without-saving))
|
|
(cond
|
|
((= arg2 (-> arg0 option-index))
|
|
(let ((v1-39 arg1))
|
|
(set! (-> v1-39 scale) 0.5)
|
|
)
|
|
)
|
|
(else
|
|
(let ((v1-40 arg1))
|
|
(set! (-> v1-40 scale) 0.45)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 origin y) (+ -120.0 (-> arg1 origin y)))
|
|
(set! (-> arg1 origin x) (- (-> arg1 origin x) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
10
|
|
5
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 width) (the float (if (= (get-aspect-ratio) 'aspect4x3)
|
|
180
|
|
170
|
|
)
|
|
)
|
|
)
|
|
(set! (-> arg1 height) 260.0)
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
(when (= arg2 (-> arg0 option-index))
|
|
(let ((s4-1 69)
|
|
(s2-4 110)
|
|
(s3-1 176)
|
|
(s1-1 42)
|
|
)
|
|
(case (get-aspect-ratio)
|
|
(('aspect16x9)
|
|
(set! s4-1 79)
|
|
(set! s2-4 110)
|
|
(set! s3-1 166)
|
|
(set! s1-1 42)
|
|
(set! sv-16 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(let ((s0-2 (-> sv-16 base)))
|
|
(draw-sprite2d-xy
|
|
sv-16
|
|
s4-1
|
|
(+ (* s1-1 arg2) 8 s1-1 s2-4)
|
|
s3-1
|
|
(+ s1-1 -8)
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 f30-0)))
|
|
)
|
|
(let ((a3-3 (-> sv-16 base)))
|
|
(let ((v1-62 (the-as object (-> sv-16 base))))
|
|
(set! (-> (the-as dma-packet v1-62) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
|
(set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag))
|
|
(set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag))
|
|
(set! (-> sv-16 base) (&+ (the-as pointer v1-62) 16))
|
|
)
|
|
(dma-bucket-insert-tag
|
|
(-> *display* frames (-> *display* on-screen) bucket-group)
|
|
(bucket-id particles)
|
|
s0-2
|
|
(the-as (pointer dma-tag) a3-3)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set-vector! (-> obj box 0 color) 64 128 128 (the int (* 128.0 f30-0)))
|
|
(draw-savegame-box
|
|
obj
|
|
(the float s4-1)
|
|
(the float (+ s4-1 s3-1))
|
|
(the float (+ s2-4 (* s1-1 arg2)))
|
|
(the float (+ s2-4 (* s1-1 arg2)))
|
|
)
|
|
(draw-savegame-box
|
|
obj
|
|
(the float (+ s4-1 s3-1))
|
|
(the float (+ s4-1 s3-1))
|
|
(the float s2-4)
|
|
(the float (+ s2-4 (* s1-1 arg2)))
|
|
)
|
|
(with-dma-buffer-add-bucket ((s0-3 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id particles)
|
|
)
|
|
(draw-sprite2d-xy
|
|
s0-3
|
|
s4-1
|
|
(+ s2-4 (* s1-1 arg2))
|
|
s3-1
|
|
(+ s1-1 8)
|
|
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a (the int (* 64.0 f30-0)))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set! (-> arg1 origin x) (+ -100.0 (-> arg1 origin x)))
|
|
(set! (-> arg1 origin y) (+ -35.0 (-> arg1 origin y)))
|
|
)
|
|
)
|
|
)
|
|
((= *load-save-options* (-> arg0 current-options))
|
|
(set! (-> arg1 origin x) (+ -100.0 (-> arg1 origin x)))
|
|
(set! (-> arg1 origin y) (+ -25.0 (-> arg1 origin y)))
|
|
(print-menu-text (lookup-text! *common-text* (-> obj name) #f) (-> obj scale) arg1 arg0)
|
|
)
|
|
((and (= *title* (-> arg0 current-options)) (= 339 (-> obj name)) (memcard-unlocked-secrets? #f))
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
((!= (-> obj name) (text-id progress-root-secrets))
|
|
(print-game-text (lookup-text! *common-text* (-> obj name) #f) arg1 #f 44 (bucket-id progress))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|