;;-*-Lisp-*- (in-package goal) ;; name: progress-draw.gc ;; name in dgo: progress-draw ;; dgos: GAME ;; DECOMP BEGINS (define *progress-list-level* (new 'global 'progress-list-level)) ;; WARN: disable def twice: 28. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod length ((this progress-list-level)) (let ((gp-0 0)) (let* ((v1-0 (-> this act)) (act (cond ((= v1-0 1) (the-as game-task-node-flag (game-task-node-flag act1)) ) ((= v1-0 2) (the-as game-task-node-flag (game-task-node-flag act2)) ) ((= v1-0 3) (the-as game-task-node-flag (game-task-node-flag act3)) ) (else (the-as game-task-node-flag (game-task-node-flag act1 act2 act3)) ) ) ) ) (dotimes (s3-0 (-> *game-info* play-list length)) (let* ((v1-3 (-> *game-info* play-list s3-0)) (a0-6 (-> this mode)) (a0-8 (cond ((= a0-6 'select-pre-start) (or (-> v1-3 play-continue) (-> v1-3 pre-play-continue)) ) ((or (= a0-6 'select-kiosk-start) (= a0-6 'select-kiosk-start-special)) (-> v1-3 kiosk-play-continue) ) (else (-> v1-3 play-continue) ) ) ) ) (if (and a0-8 (and (-> v1-3 play-continue) (let ((a1-5 (-> *game-info* sub-task-list (-> v1-3 play-node) flags))) (logtest? a1-5 (the-as int act)) ) (lookup-text! *common-text* (-> v1-3 text-name) #t) ) ) (+! gp-0 1) ) ) ) ) gp-0 ) ) ;; WARN: disable def twice: 29. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod progress-list-method-9 ((this progress-list-level) (arg0 int)) (let* ((s4-0 0) (v1-0 (-> this act)) (act (cond ((= v1-0 1) (the-as game-task-node-flag (game-task-node-flag act1)) ) ((= v1-0 2) (the-as game-task-node-flag (game-task-node-flag act2)) ) ((= v1-0 3) (the-as game-task-node-flag (game-task-node-flag act3)) ) (else (the-as game-task-node-flag (game-task-node-flag act1 act2 act3)) ) ) ) ) (dotimes (s2-0 (-> *game-info* play-list length)) (let* ((s1-0 (-> *game-info* play-list s2-0)) (v1-3 (-> this mode)) (v1-5 (cond ((= v1-3 'select-pre-start) (or (-> s1-0 play-continue) (-> s1-0 pre-play-continue)) ) ((or (= v1-3 'select-kiosk-start) (= v1-3 'select-kiosk-start-special)) (-> s1-0 kiosk-play-continue) ) (else (-> s1-0 play-continue) ) ) ) ) (when (and v1-5 (and (-> s1-0 play-continue) (let ((a0-11 (-> *game-info* sub-task-list (-> s1-0 play-node) flags))) (logtest? a0-11 (the-as int act)) ) (lookup-text! *common-text* (-> s1-0 text-name) #t) ) ) (if (= s4-0 arg0) (return s1-0) ) (+! s4-0 1) ) ) ) ) (the-as game-task-info #f) ) (defmethod progress-method-53 ((this progress) (arg0 font-context)) (let ((v1-1 (get-scissor-stack-top this))) (let ((a0-1 arg0) (f0-0 (-> v1-1 x)) (f1-0 (-> v1-1 y)) ) (set! (-> a0-1 origin x) f0-0) (set! (-> a0-1 origin y) f1-0) ) (let ((a0-2 arg0)) (set! (-> a0-2 width) (- (-> v1-1 z) (-> v1-1 x))) ) (set! (-> arg0 height) (- (-> v1-1 w) (-> v1-1 y))) ) 0 (none) ) (defmethod get-language-by-idx ((this progress) (arg0 int)) (if (and (= (scf-get-territory) 1) (zero? (-> this languages arg0))) 11 (-> this languages arg0) ) ) (defmethod progress-method-38 ((this progress) (arg0 font-context) (arg1 float)) (let ((v1-1 (get-scissor-stack-top this))) (set! (-> arg0 origin y) (+ (-> v1-1 y) (* (- (-> v1-1 w) (-> v1-1 y)) arg1))) ) 0 (none) ) (defmethod progress-method-37 ((this progress)) (with-pp (let ((gp-0 33)) ;; og:preserve-this high fps fix (if (< (seconds 0.027) (logand (the int (* DISPLAY_FPS_RATIO (-> pp clock integral-frame-counter))) 15)) (set-font-color (the-as font-color gp-0) (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) ) (set-font-color (the-as font-color gp-0) (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) ) ) ) (none) ) ) (defmethod progress-method-44 ((this progress) (arg0 font-context) (arg1 string)) (let ((f0-1 (- 1.0 (-> this menu-transition)))) (set-scale! arg0 0.5) (set! (-> arg0 alpha) f0-1) ) (print-game-text arg1 arg0 #f 44 (bucket-id hud-draw-hud-alpha)) 0 (none) ) (defmethod progress-method-45 ((this progress) (arg0 font-context) (arg1 float) (arg2 float) (arg3 string) (arg4 float) (arg5 float) (arg6 int) ) (local-vars (sv-16 (function string font-context draw-string-result)) (sv-32 (function _varargs_ object))) (let ((v1-0 arg0)) (set! (-> v1-0 width) 10000.0) ) (set-scale! arg0 arg4) (set! sv-16 get-string-length) (set! sv-32 format) (let ((a0-3 (clear *temp-string*)) (a1-1 "~S") (a2-1 arg3) ) (sv-32 a0-3 a1-1 a2-1) ) (let* ((a0-4 *temp-string*) (a1-2 arg0) (f0-2 (-> (sv-16 a0-4 a1-2) length)) ) (let ((v1-5 arg0)) (set! (-> v1-5 width) arg1) ) (cond ((< arg1 f0-2) (if (< (/ arg1 f0-2) arg5) (set-scale! arg0 arg4) (set-scale! arg0 (/ (* arg1 arg4) f0-2)) ) ) (else (set-scale! arg0 arg4) ) ) ) (let ((s2-1 print-game-text)) (format (clear *temp-string*) "~S" arg3) (let ((f30-0 (s2-1 *temp-string* arg0 #t arg6 (bucket-id hud-draw-hud-alpha)))) (+! (-> arg0 origin y) (* 0.5 (- arg2 f30-0))) (let ((f28-0 (-> arg0 origin y))) (let ((s3-1 print-game-text)) (format (clear *temp-string*) "~S" arg3) (s3-1 *temp-string* arg0 #f arg6 (bucket-id hud-draw-hud-alpha)) ) (set! (-> arg0 origin y) f28-0) ) f30-0 ) ) ) (defmethod progress-method-40 ((this progress) (arg0 font-context) (arg1 int) (arg2 int) (arg3 float)) (let* ((v1-1 (get-scissor-stack-top this)) (a1-1 (the int (-> v1-1 x))) (a3-1 (the int (- (-> v1-1 z) (-> v1-1 x)))) (f0-6 (- 1.0 (-> this menu-transition))) ) (with-dma-buffer-add-bucket ((s3-0 (-> *display* frames (-> *display* on-screen) global-buf)) (bucket-id particles) ) (draw-sprite2d-xy s3-0 a1-1 arg1 a3-1 arg2 (new 'static 'rgba :r #x80 :g #x80 :b #x40 :a (the int (* 64.0 f0-6))) #x3fffff ) ) ) 0 (none) ) (defmethod progress-method-41 ((this progress) (arg0 progress-box) (arg1 float)) (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) ;; og:preserve-this changed from particles bucket (bucket-id hud-draw-hud-alpha) ) (case (get-aspect-ratio) (('aspect4x3) (set! (-> arg0 aspect4x3 color w) (the int arg1)) (draw-box-prim-only (-> arg0 aspect4x3) s4-0) ) (('aspect16x9) (set! (-> arg0 aspect16x9 color w) (the int arg1)) (draw-box-prim-only (-> arg0 aspect16x9) s4-0) ) ) ) 0 (none) ) (defmethod progress-method-42 ((this progress) (arg0 progress-box) (arg1 float)) (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) (bucket-id particles) ) (case (get-aspect-ratio) (('aspect4x3) (set! (-> arg0 aspect4x3 color w) (the int arg1)) (draw-box-alpha-2 (-> arg0 aspect4x3) s4-0) ) (('aspect16x9) (set! (-> arg0 aspect16x9 color w) (the int arg1)) (draw-box-alpha-2 (-> arg0 aspect16x9) s4-0) ) ) ) 0 (none) ) (defmethod progress-method-43 ((this progress) (arg0 progress-box) (arg1 float)) (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) ;; og:preserve-this changed from bucket6 (bucket-id tex-hud-hud-alpha) ) (case (get-aspect-ratio) (('aspect4x3) (set! (-> arg0 aspect4x3 color w) (the int arg1)) (draw-box-alpha-1 (-> arg0 aspect4x3) s4-0) ) (('aspect16x9) (set! (-> arg0 aspect16x9 color w) (the int arg1)) (draw-box-alpha-1 (-> arg0 aspect16x9) s4-0) ) ) ) 0 (none) ) (defmethod progress-method-46 ((this progress) (arg0 font-context) (arg1 float) (arg2 int)) (progress-method-33 this (-> *progress-work* header)) (let ((s3-0 (get-scissor-stack-top this))) (let ((s1-0 *progress-work*)) (progress-method-42 this (-> s1-0 header) (* 64.0 arg1)) (progress-method-41 this (-> s1-0 header) (* 128.0 arg1)) ) (let ((a0-5 arg0)) (set! (-> a0-5 flags) (font-flags kerning middle large)) ) (let ((a0-6 arg0)) (set! (-> a0-6 color) (font-color font-color-32)) ) (let ((v1-12 arg0) (f0-5 (+ 10.0 (-> s3-0 x))) (f1-3 (-> s3-0 y)) ) (set! (-> v1-12 origin x) f0-5) (set! (-> v1-12 origin y) f1-3) ) (progress-method-45 this arg0 (+ (- -20.0 (-> s3-0 x)) (-> s3-0 z)) 45.0 (lookup-text! *common-text* (the-as text-id arg2) #f) 0.95 0.1 32 ) ) (progress-method-34 this) 0 (none) ) (defmethod progress-method-47 ((this progress) (arg0 font-context) (arg1 symbol) (arg2 symbol)) (set-scale! arg0 0.5) (let ((a0-2 arg0)) (set! (-> a0-2 flags) (font-flags kerning large)) ) (set! (-> arg0 origin x) 250.0) (case (get-aspect-ratio) (('aspect4x3) (when arg1 (set! (-> arg0 origin y) 104.0) (let ((s4-1 print-game-text)) (format (clear *temp-string*) "~33L~C" 160) (s4-1 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) (when arg2 (set! (-> arg0 origin y) 305.0) (let ((s5-1 print-game-text)) (format (clear *temp-string*) "~33L~C" 162) (s5-1 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) (('aspect16x9) (when arg1 (set! (-> arg0 origin y) 70.0) (let ((s4-3 print-game-text)) (format (clear *temp-string*) "~33L~C" 160) (s4-3 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) (when arg2 (set! (-> arg0 origin y) 338.0) (let ((s5-2 print-game-text)) (format (clear *temp-string*) "~33L~C" 162) (s5-2 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) ) 0 (none) ) (defmethod draw-prev-next-footer ((this progress) (arg0 font-context) (arg1 float)) (local-vars (sv-16 string)) (let ((s3-0 *progress-work*)) (progress-method-33 this (-> s3-0 footer)) (progress-method-42 this (-> s3-0 footer) (* 64.0 arg1)) (progress-method-41 this (-> s3-0 footer) (* 128.0 arg1)) ) (let ((a0-4 arg0)) (set! (-> a0-4 color) (font-color font-color-33)) ) (set-scale! arg0 0.6) (let ((s4-1 (get-scissor-stack-top this))) (let ((v1-8 arg0) (f0-6 (+ 10.0 (-> s4-1 x))) (f1-4 (+ (-> s4-1 y) (* 0.5 (- (- (-> s4-1 w) (-> s4-1 y)) (* 32.0 (-> arg0 scale)))))) ) (set! (-> v1-8 origin x) f0-6) (set! (-> v1-8 origin y) f1-4) ) (let ((v1-9 arg0)) (set! (-> v1-9 width) (+ (- -20.0 (-> s4-1 x)) (-> s4-1 z))) ) (let ((a0-11 arg0)) (set! (-> a0-11 flags) (font-flags kerning large)) ) (let ((s3-1 print-game-text)) (let ((s2-0 format) (s1-0 (clear *temp-string*)) (s0-0 "~S~S") ) (set! sv-16 (lookup-text! *common-text* (text-id progress-footer-prev-l1) #f)) (let ((a3-0 (lookup-text! *common-text* (text-id progress-prev) #f))) (s2-0 s1-0 s0-0 sv-16 a3-0) ) ) (s3-1 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) (set! (-> arg0 origin x) (+ -10.0 (-> s4-1 z))) ) (let ((a0-17 arg0)) (set! (-> a0-17 flags) (font-flags kerning right large)) ) (let ((s4-2 print-game-text)) (format (clear *temp-string*) "~S~S" (lookup-text! *common-text* (text-id progress-next) #f) (lookup-text! *common-text* (text-id progress-footer-next-r1) #f) ) (s4-2 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) (progress-method-34 this) 0 (none) ) (defmethod draw-yes-no-style-footer ((this progress) (arg0 font-context) (arg1 text-id) (arg2 text-id)) (local-vars (a0-5 string)) (cond ((-> this yes-no-choice) (format (clear *temp-string*) "~33L~S~44L ~S" (lookup-text! *common-text* arg1 #f) (lookup-text! *common-text* arg2 #f) ) (set! a0-5 *temp-string*) ) (else (format (clear *temp-string*) "~44L~S ~33L~S" (lookup-text! *common-text* arg1 #f) (lookup-text! *common-text* arg2 #f) ) (set! a0-5 *temp-string*) ) ) (print-game-text a0-5 arg0 #f 44 (bucket-id hud-draw-hud-alpha)) 0 (none) ) ;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 (defmethod progress-method-50 ((this progress) (arg0 font-context) (arg1 text-id) (arg2 text-id) (arg3 text-id) (arg4 symbol) (arg5 symbol) (arg6 float) ) (local-vars (sv-16 float) (sv-20 string) (sv-24 vector) (sv-32 symbol) (sv-48 (function progress font-context float float string float float int float)) (sv-64 font-context) (sv-80 float) (sv-96 float) (sv-112 (function progress font-context float float string float float int float)) (sv-128 progress) (sv-144 font-context) (sv-160 float) (sv-176 float) ) (set! sv-32 arg5) (let ((s1-0 arg6)) (set! sv-16 (fmax 0.0 (* 2.0 (- 0.5 (-> this menu-transition))))) (set! sv-20 (the-as string #f)) (set! sv-24 (get-scissor-stack-top this)) (set! (-> arg0 alpha) sv-16) (let ((a0-2 arg0)) (set! (-> a0-2 flags) (font-flags kerning middle large)) ) (let ((f30-0 0.0)) (cond (sv-32 (let ((a0-3 arg0)) (set! (-> a0-3 color) (font-color font-color-32)) ) (set! (-> arg0 origin x) (+ 10.0 (-> sv-24 x))) (let ((s0-1 this)) (set! sv-48 (method-of-object s0-1 progress-method-45)) (set! sv-64 arg0) (set! sv-80 (+ (- -20.0 (-> sv-24 x)) (-> sv-24 z))) (set! sv-96 (the-as float 24.5)) (let* ((t0-1 (lookup-text! *common-text* arg1 #f)) (t2-1 0.75) (t3-1 35) (t1-1 s1-0) (f28-0 (sv-48 s0-1 sv-64 sv-80 sv-96 t0-1 t1-1 t2-1 t3-1)) ) (set! f30-0 (/ f28-0 2)) (set-scale! arg0 (/ (-> arg0 scale) 2)) (let* ((a0-7 this) (t9-3 (method-of-object a0-7 progress-method-40)) (a1-3 arg0) (a2-3 (the int (+ -1.0 (-> arg0 origin y)))) (a3-2 (the int (+ 2.0 f28-0))) (t0-2 sv-16) ) (t9-3 a0-7 a1-3 a2-3 a3-2 t0-2) (+! (-> arg0 origin y) f28-0) (set! sv-20 (cond ((-> this yes-no-choice) (format (clear *temp-string*) "~33L~S ~44L~S" (lookup-text! *common-text* arg2 #f) (lookup-text! *common-text* arg3 #f) (the-as none t0-2) (the-as none t1-1) ) *temp-string* ) (else (format (clear *temp-string*) "~44L~S~33L ~S" (lookup-text! *common-text* arg2 #f) (lookup-text! *common-text* arg3 #f) (the-as none t0-2) (the-as none t1-1) ) *temp-string* ) ) ) ) ) ) ) (else (cond (arg4 (let ((a0-16 arg0)) (set! (-> a0-16 color) (font-color font-color-33)) ) ) (else (let ((a0-17 arg0)) (set! (-> a0-17 color) (font-color font-color-32)) ) ) ) (set! (-> arg0 origin x) (+ 10.0 (-> sv-24 x))) (set! sv-128 this) (set! sv-112 (method-of-object sv-128 progress-method-45)) (set! sv-144 arg0) (set! sv-160 (+ (- -20.0 (-> sv-24 x)) (-> sv-24 z))) (set! sv-176 (the-as float 24.5)) (let ((t0-3 (the-as object (lookup-text! *common-text* arg1 #f)))) (let* ((t1-2 s1-0) (t2-2 0.75) (t3-2 35) (f28-1 (sv-112 sv-128 sv-144 sv-160 sv-176 (the-as string t0-3) t1-2 t2-2 t3-2)) ) (when arg4 (let* ((a0-20 this) (t9-14 (method-of-object a0-20 progress-method-40)) (a1-12 arg0) (a2-12 (the int (+ -1.0 (-> arg0 origin y)))) (a3-6 (the int (+ 1.0 f28-1))) ) (set! t0-3 sv-16) (t9-14 a0-20 a1-12 a2-12 a3-6 (the-as float t0-3)) ) ) (+! (-> arg0 origin y) f28-1) ) (set! sv-20 (cond ((-> this yes-no-choice) (format (clear *temp-string*) "~1L~S~44L ~S" (lookup-text! *common-text* arg2 #f) (lookup-text! *common-text* arg3 #f) (the-as none t0-3) ) *temp-string* ) (else (format (clear *temp-string*) "~44L~S ~1L~S~1L" (lookup-text! *common-text* arg2 #f) (lookup-text! *common-text* arg3 #f) (the-as none t0-3) ) *temp-string* ) ) ) ) ) ) (progress-method-44 this arg0 sv-20) (+! (-> arg0 origin y) f30-0) ) ) 0 (none) ) (defmethod progress-method-51 ((this progress) (arg0 font-context)) (let ((v1-1 (get-scissor-stack-top this))) (let ((a0-1 arg0) (f0-0 (-> v1-1 x)) (f1-1 (+ (-> v1-1 y) (* 0.5 (- (-> v1-1 w) (-> v1-1 y))))) ) (set! (-> a0-1 origin x) f0-0) (set! (-> a0-1 origin y) f1-1) ) (let ((a0-2 arg0)) (set! (-> a0-2 width) (- (-> v1-1 z) (-> v1-1 x))) ) ) (set-scale! arg0 0.6) (let ((a0-4 arg0)) (set! (-> a0-4 flags) (font-flags kerning middle large)) ) (if (< (mod (current-time) 300) 210) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-loading) #f) arg0 #f 44 (bucket-id hud-draw-hud-alpha) ) ) 0 (none) ) (defmethod progress-method-52 ((this progress) (arg0 font-context) (arg1 string) (arg2 float) (arg3 float) (arg4 float) (arg5 float) (arg6 float) ) (local-vars (sv-80 float) (sv-96 float) (sv-112 vector) (sv-128 int) (sv-144 rgba) (sv-160 dma-buffer) (sv-176 pointer) ) (set! sv-80 arg3) (let ((s1-0 arg4) (s5-0 arg5) ) (set! sv-96 arg6) (set! sv-112 (get-scissor-stack-top this)) (let ((s0-0 (new 'stack 'hud-sprite)) (f30-0 (* (- (-> sv-112 z) (-> sv-112 x)) s1-0)) ) (let ((s1-1 (- (- 256 (if sv-96 10 0 ) ) (the int (/ f30-0 2)) ) ) ) (set! sv-128 (the int (+ (-> sv-112 y) (* (- (-> sv-112 w) (-> sv-112 y)) sv-80)))) 1.0 (let ((f28-0 f30-0)) (let ((f24-0 (-> *video-params* relative-x-scale-reciprical)) (f26-0 (-> *video-params* relative-x-scale)) ) (set! sv-160 (-> *display* frames (-> *display* on-screen) global-buf)) (set! sv-176 (-> sv-160 base)) (set! (-> s0-0 tid) (the-as texture-id (get-texture hud-sliderbackground progress-minimap))) (if (-> s0-0 tid) (set! (-> s0-0 scale-x) (/ (* f30-0 f24-0) (the float (-> (the-as texture (-> s0-0 tid)) w)))) ) (set! (-> s0-0 scale-y) 0.7) (let ((v1-28 (-> s0-0 color-ptr))) (set! (-> v1-28 0) 128) (set! (-> v1-28 1) 128) (set! (-> v1-28 2) 128) (set! (-> v1-28 3) (the int (* 128.0 arg2))) ) (set-vector! (-> s0-0 pos) s1-1 sv-128 #x3fffff 0) (draw s0-0 sv-160 (-> *level* level-default) #t) (let ((f24-1 0.2)) (set! (-> s0-0 tid) (the-as texture-id (get-texture hud-sliderframe progress-minimap))) (set! (-> s0-0 scale-x) f24-1) (set! (-> s0-0 scale-y) 1.33) (if (-> s0-0 tid) (set! f28-0 (- f30-0 (* f24-1 f26-0 (the float (-> (the-as texture (-> s0-0 tid)) w))))) ) ) (let* ((v1-39 (the int (* f28-0 s5-0))) (a1-3 (+ s1-1 (the int (* 18.0 f26-0)) v1-39)) (a3-2 (the int (- f28-0 (the float v1-39)))) (t1-1 (shr (shl (the int (* 128.0 arg2)) 56) 32)) ) (draw-sprite2d-xy sv-160 a1-3 (+ sv-128 7) a3-2 9 (the-as rgba t1-1) #x3fffff) ) ) (set-vector! (-> s0-0 pos) (+ s1-1 (the int (* f28-0 s5-0))) (+ sv-128 -4) #x3fffff 0) ) (draw s0-0 sv-160 (-> *level* level-default) #t) (when sv-96 (set! sv-144 (-> *font-work* color-table 32 color 0)) (set! (-> s0-0 tid) (the-as texture-id (get-texture hud-speaker-empty progress-minimap))) (set! (-> s0-0 scale-x) 1.0) (set! (-> s0-0 scale-y) 1.0) (let ((v1-55 (-> s0-0 color-ptr))) (set! (-> v1-55 0) (the-as int (-> sv-144 r))) (set! (-> v1-55 1) (the-as int (-> sv-144 g))) (set! (-> v1-55 2) (the-as int (-> sv-144 b))) (set! (-> v1-55 3) (the int (* 128.0 arg2))) ) (set-vector! (-> s0-0 pos) (+ s1-1 -20) (+ sv-128 -5) #x3fffff 0) (draw s0-0 sv-160 (-> *level* level-default) #t) (set! (-> s0-0 tid) (the-as texture-id (get-texture hud-speaker-full progress-minimap))) (set! (-> s0-0 scale-x) 1.0) (set! (-> s0-0 scale-y) 1.0) (set-vector! (-> s0-0 pos) (+ (the int f30-0) 8 s1-1) (+ sv-128 -5) #x3fffff 0) (draw s0-0 sv-160 (-> *level* level-default) #t) ) (let ((a3-6 (-> sv-160 base))) (when (!= sv-176 a3-6) (let ((v1-68 (the-as object (-> sv-160 base)))) (set! (-> (the-as dma-packet v1-68) dma) (new 'static 'dma-tag :id (dma-tag-id next))) (set! (-> (the-as dma-packet v1-68) vif0) (new 'static 'vif-tag)) (set! (-> (the-as dma-packet v1-68) vif1) (new 'static 'vif-tag)) (set! (-> sv-160 base) (&+ (the-as pointer v1-68) 16)) ) (dma-bucket-insert-tag (-> *display* frames (-> *display* on-screen) bucket-group) (bucket-id hud-draw-hud-alpha) sv-176 (the-as (pointer dma-tag) a3-6) ) ) ) (let ((f0-43 0.5)) (set-scale! arg0 f0-43) (let ((a0-56 arg0)) (set! (-> a0-56 flags) (font-flags kerning large)) ) (let ((v1-79 arg0) (f1-14 (the float s1-1)) (f2-3 (+ -20.0 (the float sv-128))) ) (set! (-> v1-79 origin x) f1-14) (set! (-> v1-79 origin y) f2-3) ) (let ((f0-44 (progress-method-45 this arg0 f30-0 (* 32.0 f0-43) arg1 f0-43 0.75 32))) (if (= (-> this option-index) (-> this current-index)) (progress-method-40 this arg0 (the int (+ -2.0 (-> arg0 origin y))) (the int (+ 4.0 f0-44)) arg2) ) ) ) ) (+! (-> arg0 origin x) f30-0) ) (let ((a0-62 arg0)) (set! (-> a0-62 flags) (font-flags kerning right large)) ) (let ((s4-1 print-game-text)) (format (clear *temp-string*) "~D%" (the int (* 100.0 s5-0))) (s4-1 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) (set! (-> arg0 flags) (font-flags kerning large)) 0 (none) ) (defmethod draw-icon-array! ((this progress-icon-array) (arg0 int) (arg1 int) (arg2 float) (arg3 float) (arg4 rgba) (arg5 float)) (local-vars (sv-96 int) (sv-112 int) (sv-128 dma-buffer) (sv-144 pointer)) (set! sv-96 arg0) (set! sv-112 arg1) (let ((s5-0 arg2) (s4-0 arg3) (s1-0 arg4) (s0-0 arg5) (s3-0 (new 'stack 'hud-sprite)) (s2-0 (new 'stack 'vector4w)) ) (set-vector! s2-0 sv-96 sv-112 0 1) (let ((v1-3 (-> s3-0 color-ptr))) (set! (-> v1-3 0) (the-as int (-> s1-0 r))) (set! (-> v1-3 1) (the-as int (-> s1-0 g))) (set! (-> v1-3 2) (the-as int (-> s1-0 b))) (set! (-> v1-3 3) (the int (* s0-0 (the float (-> s1-0 a))))) ) (set! (-> s3-0 pos z) #xffffff) (set! (-> s3-0 pos w) 1) (set! (-> s3-0 scale-x) s5-0) (set! (-> s3-0 scale-y) s4-0) (dotimes (s1-1 (-> this length)) (let ((s0-1 (-> this icons s1-1))) (set! (-> s3-0 tid) (the-as texture-id (lookup-texture-by-id (-> s0-1 tex-id)))) (set! (-> s3-0 flags) (the-as hud-sprite-flags (-> s0-1 flags))) (set-as-offset-from! (the-as hud-sprite (-> s3-0 pos)) s2-0 (the int (* (the float (-> s0-1 offset x)) s5-0)) (the int (* (the float (-> s0-1 offset y)) s4-0)) ) (set! sv-128 (-> *display* frames (-> *display* on-screen) global-buf)) (set! sv-144 (-> sv-128 base)) (draw s3-0 sv-128 (-> *level* level-default) #t) (let ((a3-3 (-> sv-128 base))) (when (!= sv-144 a3-3) (let ((v1-24 (the-as object (-> sv-128 base)))) (set! (-> (the-as dma-packet v1-24) dma) (new 'static 'dma-tag :id (dma-tag-id next))) (set! (-> (the-as dma-packet v1-24) vif0) (new 'static 'vif-tag)) (set! (-> (the-as dma-packet v1-24) vif1) (new 'static 'vif-tag)) (set! (-> sv-128 base) (&+ (the-as pointer v1-24) 16)) ) (dma-bucket-insert-tag (-> *display* frames (-> *display* on-screen) bucket-group) (-> s0-1 bucket) sv-144 (the-as (pointer dma-tag) a3-3) ) ) ) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) 0 (none) ) (defmethod draw-option ((this 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 progress) (arg1 int)) (local-vars (v1-74 symbol)) (when (< arg1 (-> arg0 current-line-index)) (set! (-> arg0 current-task-index) (length (-> *game-info* sub-task-list))) (set! (-> arg0 current-line-index) -1) (set! (-> arg0 current-task) (game-task unknown)) (set! (-> arg0 first-closed-line-index) -1) (set! (-> arg0 extra-text-state) -1) (set! (-> arg0 num-open-tasks-found) 0) (set! (-> arg0 num-closed-tasks-found) 0) 0 ) (let ((s4-0 (-> *game-info* sub-task-list))) 0 (let ((s3-0 (the-as game-task-node-info #f))) (while (and (> (-> arg0 current-task-index) 0) (!= (-> arg0 current-line-index) arg1)) (cond ((or (= (-> arg0 extra-text-state) -1) (= (-> arg0 extra-text-state) 3)) (+! (-> arg0 current-task-index) -1) (let ((s2-0 (-> s4-0 (-> arg0 current-task-index)))) (when (and (!= (-> s2-0 task) (-> arg0 current-task)) (nonzero? (-> s2-0 description))) (cond ((and (>= (-> arg0 first-closed-line-index) 0) (game-task-node-info-method-12 s2-0)) (set! (-> arg0 current-task) (-> s2-0 task)) ) ((or (and (>= (-> arg0 first-closed-line-index) 0) (logtest? (-> s2-0 flags) (game-task-node-flag closed))) (and (< (-> arg0 first-closed-line-index) 0) (game-task-node-info-method-12 s2-0)) ) (set! (-> arg0 current-task) (-> s2-0 task)) (set! s3-0 (-> s4-0 (-> arg0 current-task-index))) (-> s4-0 (-> arg0 current-task-index) description) (if (< (-> arg0 first-closed-line-index) 0) (+! (-> arg0 num-open-tasks-found) 1) (set! (-> arg0 num-closed-tasks-found) 1) ) (+! (-> arg0 current-line-index) 1) ) ) ) ) (when (and (zero? (-> arg0 current-task-index)) (!= (-> arg0 current-line-index) arg1)) (set! (-> arg0 current-task-index) (length (-> *game-info* sub-task-list))) (cond ((< (-> arg0 first-closed-line-index) 0) (set! (-> arg0 first-closed-line-index) arg1) (+! (-> arg0 extra-text-state) (if (nonzero? (-> arg0 num-open-tasks-found)) 2 1 ) ) ) (else (+! (-> arg0 extra-text-state) (if (nonzero? (-> arg0 num-closed-tasks-found)) 2 1 ) ) ) ) ) ) ((zero? (-> arg0 extra-text-state)) 114 (+! (-> arg0 extra-text-state) 1) (+! (-> arg0 current-line-index) 1) ) ((= (-> arg0 extra-text-state) 1) 968 #t (let ((v1-73 (the-as symbol (-> arg0 num-open-tasks-found)))) (set! v1-73 v1-73) (cmove-#f-zero v1-74 v1-73 v1-73) ) (+! (-> arg0 extra-text-state) 1) (+! (-> arg0 current-line-index) 1) ) ((= (-> arg0 extra-text-state) 4) 114 (+! (-> arg0 extra-text-state) 1) (+! (-> arg0 current-line-index) 1) ) ((= (-> arg0 extra-text-state) 5) 969 (+! (-> arg0 extra-text-state) 2) (+! (-> arg0 current-line-index) 1) ) (else 0 (+! (-> arg0 extra-text-state) 1) (+! (-> arg0 current-line-index) 1) ) ) ) (cond ((= (-> arg0 current-line-index) arg1) (empty) s3-0 ) (else (the-as game-task-node-info #f) ) ) ) ) ) (defmethod draw-option ((this menu-missions-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-176 float) (sv-180 game-task-node-info) (sv-184 game-task-node-info) (sv-188 float) (sv-192 int) (sv-200 symbol) (sv-208 int) (sv-216 (array game-task-node-info)) (sv-224 string) (sv-240 (function _varargs_ object)) (sv-256 string) (sv-272 game-task-node-info) (sv-288 text-id) (sv-304 (function string font-context symbol int bucket-id float)) (sv-320 (function _varargs_ object)) (sv-336 string) (sv-352 string) (sv-368 (function string font-context symbol int bucket-id float)) (sv-384 (function _varargs_ object)) ) (set! sv-176 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (set! sv-180 (new 'stack 'game-task-node-info)) (set! sv-184 (new 'stack 'game-task-node-info)) (set! (-> arg0 current-task-index) (length (-> *game-info* sub-task-list))) (set! (-> arg0 current-line-index) -1) (set! (-> arg0 current-task) (game-task unknown)) (set! (-> arg0 first-closed-line-index) -1) (set! (-> arg0 extra-text-state) -1) (set! (-> arg0 num-open-tasks-found) 0) (set! (-> arg0 num-closed-tasks-found) 0) (set! (-> arg1 alpha) sv-176) (set! (-> *game-info* mission-list 0) sv-180) (set! (-> sv-180 description) (text-id progress-missions-todo)) (set! (-> sv-184 description) (text-id progress-missions-completed)) (progress-method-33 arg0 (-> *progress-work* body-footer)) (let ((s3-0 (get-scissor-stack-top arg0))) (set! sv-188 (- (-> s3-0 w) (-> s3-0 y))) (set! sv-192 1) (set! sv-200 #t) (set! sv-208 (length (-> *game-info* sub-task-list))) (set! sv-216 (-> *game-info* mission-list)) (dotimes (s2-0 sv-208) (let ((v0-6 (find-mission-text-at-index arg0 s2-0))) (when v0-6 (when (and (logtest? (-> v0-6 flags) (game-task-node-flag closed)) sv-200) (set! sv-200 (the-as symbol #f)) (set! (-> sv-216 sv-192) sv-184) (set! sv-192 (+ sv-192 1)) ) (set! (-> sv-216 sv-192) v0-6) (set! sv-192 (+ sv-192 1)) ) ) ) (set! (-> arg0 total-num-tasks) sv-192) (sort-task-node-result (-> arg0 total-num-tasks)) (let ((a0-17 arg1)) (set! (-> a0-17 flags) (font-flags kerning large)) ) (set-scale! arg1 0.5) (let ((f30-0 14.0) (s2-1 get-string-length) ) (let ((s1-0 format) (s0-0 (clear *temp-string*)) ) (set! sv-224 "~S") (let ((a2-2 (lookup-text! *common-text* (text-id progress-missions-complete-icon) #f))) (s1-0 s0-0 sv-224 a2-2) ) ) (let ((f30-1 (+ f30-0 (-> (s2-1 *temp-string* arg1) length)))) (let ((v1-45 arg1)) (set! (-> v1-45 width) (+ (- (- -10.0 f30-1) (-> s3-0 x)) (-> s3-0 z))) ) (let ((s2-2 (-> *game-info* mission-list)) (s1-2 (max 0 (the int (-> this current-index)))) ) (let* ((s0-1 (-> s2-2 s1-2)) (a1-10 (if (and (logtest? (-> s0-1 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> s0-1 task))) (-> *game-info* play-list (-> s0-1 task) text-name) (-> s0-1 description) ) ) ) (set! sv-256 (lookup-text! *common-text* a1-10 #f)) ) (let ((s0-2 print-game-text)) (set! sv-240 format) (let ((a0-29 (clear *temp-string*)) (a1-11 "~S") ) (sv-240 a0-29 a1-11 sv-256) ) (let ((f28-0 (s0-2 *temp-string* arg1 #t 44 (bucket-id hud-draw-hud-alpha)))) (let* ((v1-60 arg1) (f0-14 (+ 10.0 (-> s3-0 x))) (f1-6 4.0) (f2-2 (-> this current-index)) (f1-8 (+ (- f1-6 (* f28-0 (- f2-2 (* (the float (the int (/ f2-2 1.0))) 1.0)))) (-> s3-0 y))) ) (set! (-> v1-60 origin x) f0-14) (set! (-> v1-60 origin y) f1-8) ) (let ((v1-61 arg1)) (set! (-> v1-61 height) sv-188) ) (while (and (< (-> arg1 origin y) (-> s3-0 w)) (< s1-2 (-> arg0 total-num-tasks))) (set! sv-272 (-> s2-2 s1-2)) (if (and (logtest? (-> sv-272 flags) (game-task-node-flag closed)) (task-complete? *game-info* (-> sv-272 task))) (set! sv-288 (-> *game-info* play-list (-> sv-272 task) text-name)) (set! sv-288 (-> sv-272 description)) ) (let ((s0-3 (lookup-text! *common-text* sv-288 #f))) (set! (-> arg1 origin x) (+ 10.0 (-> s3-0 x))) (cond ((or (= sv-288 (text-id progress-missions-todo)) (= sv-288 (text-id progress-missions-completed))) (let ((a0-41 arg1)) (set! (-> a0-41 color) (font-color font-color-34)) ) ) (else (set! sv-304 print-game-text) (set! sv-320 format) (set! sv-336 (clear *temp-string*)) (set! sv-352 "~S") (let ((a2-8 (lookup-text! *common-text* (if (logtest? (-> sv-272 flags) (game-task-node-flag closed)) (text-id progress-missions-complete-icon) (text-id progress-missions-todo-icon) ) #f ) ) ) (sv-320 sv-336 sv-352 a2-8) ) (let ((a0-45 *temp-string*) (a1-17 arg1) (a2-9 #f) (a3-2 44) (t0-2 579) ) (sv-304 a0-45 a1-17 a2-9 a3-2 (the-as bucket-id t0-2)) ) (let ((a0-46 arg1)) (set! (-> a0-46 color) (font-color font-color-32)) ) (set! (-> arg1 origin x) (+ (-> s3-0 x) f30-1)) ) ) (let ((f26-0 (-> arg1 origin y))) (set! sv-368 print-game-text) (set! sv-384 format) (let ((a0-48 (clear *temp-string*)) (a1-18 "~S") ) (sv-384 a0-48 a1-18 s0-3) ) (let ((a0-49 *temp-string*) (a1-19 arg1) (a2-11 #f) (a3-3 44) (t0-3 579) ) (set! (-> arg1 origin y) (+ f26-0 (sv-368 a0-49 a1-19 a2-11 a3-3 (the-as bucket-id t0-3)))) ) ) ) (+! s1-2 1) ) (set! (-> this on-screen) (the-as basic (< (-> arg1 origin y) (-> s3-0 w)))) (seek! (-> this current-index) (-> this target-index) (* (/ (-> this scroll-speed) f28-0) (seconds-per-frame)) ) ) ) ) ) ) ) (progress-method-34 arg0) (let ((s3-1 *progress-work*)) (progress-method-46 arg0 arg1 sv-176 106) (progress-method-42 arg0 (-> s3-1 footer) (* 64.0 sv-176)) (progress-method-41 arg0 (-> s3-1 footer) (* 128.0 sv-176)) ) (progress-method-47 arg0 arg1 (!= (-> this current-index) 0.0) (and (not (-> this on-screen)) (!= (-> this current-index) (the float (+ (-> arg0 total-num-tasks) -1)))) ) 0 (none) ) (defmethod highscore-time->string ((this highscore-page-info) (arg0 float)) 0 0 0 (let* ((gp-0 (the int (/ arg0 60))) (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 (* 100.0 v1-6))) ) (format (clear *temp-string*) "~d:~2,'0,d:~2,'0,d" gp-0 s5-0 s3-0) ) *temp-string* ) (defmethod highscore-page-info-method-10 ((this highscore-page-info) (arg0 font-context) (arg1 float) (arg2 float) (arg3 float)) (let ((v1-3 (-> *highscore-info-array* (-> this game-score)))) (let ((a1-2 arg0) (f0-0 arg2) (f1-0 arg3) ) (set! (-> a1-2 origin x) f0-0) (set! (-> a1-2 origin y) f1-0) ) (cond ((logtest? (-> v1-3 flags) (highscore-flags hf2)) (print-game-text (highscore-time->string this (/ arg1 300)) arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ((logtest? (-> v1-3 flags) (highscore-flags hf3)) (let ((s4-1 print-game-text)) (format (clear *temp-string*) "~,,1Mm" arg1) (s4-1 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) (else (let ((s4-2 print-game-text)) (format (clear *temp-string*) "~D" (the int arg1)) (s4-2 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) ) 0 (none) ) (defmethod highscore-page-info-method-11 ((this highscore-page-info) (arg0 font-context) (arg1 int) (arg2 float) (arg3 float) (arg4 float)) (local-vars (sv-16 string) (sv-32 string)) (set! (-> arg0 origin x) arg3) (let ((a0-1 arg0)) (set! (-> a0-1 flags) (font-flags kerning large)) ) (let ((s1-0 print-game-text)) (let ((s0-0 format)) (set! sv-16 (clear *temp-string*)) (set! sv-32 "~S") (let ((a2-2 (lookup-text! *common-text* (the-as text-id arg1) #f))) (s0-0 sv-16 sv-32 a2-2) ) ) (s1-0 *temp-string* arg0 #f 44 (bucket-id hud-draw-hud-alpha)) ) (let ((a0-6 arg0)) (set! (-> a0-6 flags) (font-flags kerning right large)) ) (highscore-page-info-method-10 this arg0 arg2 arg4 (-> arg0 origin y)) 0 (none) ) (defmethod highscore-page-info-method-9 ((this highscore-page-info) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float)) (local-vars (sv-16 highscore-info) (sv-32 (function string font-context symbol int bucket-id float)) (sv-48 (function _varargs_ object)) (sv-64 string) (sv-80 string) (sv-96 int) (sv-112 int) ) (let ((s3-0 (get-scissor-stack-top arg0))) (let ((f28-0 (-> *video-params* relative-x-scale))) (set! sv-16 (-> *highscore-info-array* (-> this game-score))) (let ((f30-0 (- (-> s3-0 z) (-> s3-0 x))) (s0-0 *progress-work*) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning large)) ) (set-scale! arg1 0.675) (let ((a0-5 arg1)) (set! (-> a0-5 color) (font-color font-color-32)) ) (set! (-> arg1 origin x) (+ 10.0 arg2 (-> s3-0 x))) (progress-method-38 arg0 arg1 0.01) (let ((v1-11 arg1)) (set! (-> v1-11 width) (* 0.75 f30-0)) ) (set! sv-32 print-game-text) (set! sv-48 format) (set! sv-64 (clear *temp-string*)) (set! sv-80 "~S") (let ((a2-3 (lookup-text! *common-text* (-> this text) #f))) (sv-48 sv-64 sv-80 a2-3) ) (let ((a0-11 *temp-string*) (a1-4 arg1) (a2-4 #f) (a3-1 32) (t0-1 579) ) (sv-32 a0-11 a1-4 a2-4 a3-1 (the-as bucket-id t0-1)) ) (draw-icon-array! (-> *progress-icon-arrays* (-> this icon)) (the int (+ (- (-> s3-0 z) (* (-> this icon-offsetx) f28-0)) arg2)) (the int (+ (-> s3-0 y) (-> this icon-offsety))) (-> this icon-scalex) (-> this icon-scaley) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a (the int (* 128.0 arg3))) arg3 ) (when (not (logtest? (-> sv-16 flags) (highscore-flags hf1))) (let ((f28-1 (* 20.0 f28-0)) (f26-0 (+ 50.0 (-> s3-0 y))) ) (set! sv-96 (the int (+ 48.0 (-> s3-0 y)))) (set! sv-112 (logior #x808080 (shr (shl (the int (* 128.0 arg3)) 56) 32))) (let ((f24-0 0.25) (f22-0 (+ 10.0 arg2 (-> s3-0 x))) ) (set-scale! arg1 0.45) (let ((f20-0 f22-0)) (draw-icon-array! (-> *progress-icon-arrays* 63) (the int f20-0) sv-96 f24-0 f24-0 (the-as rgba sv-112) arg3) (highscore-page-info-method-10 this arg1 (-> sv-16 gold-score) (+ f20-0 f28-1) f26-0) ) (let ((f20-1 (+ f22-0 (* 0.333 f30-0)))) (draw-icon-array! (-> *progress-icon-arrays* 64) (the int f20-1) sv-96 f24-0 f24-0 (the-as rgba sv-112) arg3) (highscore-page-info-method-10 this arg1 (-> sv-16 silver-score) (+ f20-1 f28-1) f26-0) ) (let ((f30-1 (+ f22-0 (* 0.667 f30-0)))) (let* ((a0-23 (-> *progress-icon-arrays* 65)) (t9-11 (method-of-object a0-23 draw-icon-array!)) (a1-10 (the int f30-1)) (a3-7 f24-0) (t0-7 f24-0) (t2-3 arg3) ) (t9-11 a0-23 a1-10 sv-96 a3-7 t0-7 (the-as rgba sv-112) t2-3) ) (highscore-page-info-method-10 this arg1 (-> sv-16 bronze-score) (+ f30-1 f28-1) f26-0) ) ) ) ) (progress-method-42 arg0 (-> s0-0 highscore-1) (* 16.0 arg3)) (progress-method-41 arg0 (-> s0-0 highscore-1) (* 128.0 arg3)) (progress-method-41 arg0 (-> s0-0 highscore-0) (* 128.0 arg3)) (progress-method-33 arg0 (-> s0-0 highscore-body)) ) ) (let ((f30-2 (+ 10.0 arg2 (-> s3-0 x))) (f28-2 (+ -10.0 arg2 (-> s3-0 z))) (s3-1 (get-game-score-ref *game-info* (the-as int (-> this game-score)))) ) (set-scale! arg1 0.6) (progress-method-38 arg0 arg1 0.03) (highscore-page-info-method-11 this arg1 56 (-> s3-1 0) f30-2 f28-2) (set-scale! arg1 0.5) (progress-method-38 arg0 arg1 0.18) (highscore-page-info-method-11 this arg1 57 (-> s3-1 1) f30-2 f28-2) (set-scale! arg1 0.45) (progress-method-38 arg0 arg1 0.31) (highscore-page-info-method-11 this arg1 58 (-> s3-1 2) f30-2 f28-2) (set-scale! arg1 0.425) (progress-method-38 arg0 arg1 0.43) (highscore-page-info-method-11 this arg1 59 (-> s3-1 3) f30-2 f28-2) (progress-method-38 arg0 arg1 0.545) (highscore-page-info-method-11 this arg1 60 (-> s3-1 4) f30-2 f28-2) (progress-method-38 arg0 arg1 0.66) (highscore-page-info-method-11 this arg1 61 (-> s3-1 5) f30-2 f28-2) (progress-method-38 arg0 arg1 0.775) (highscore-page-info-method-11 this arg1 62 (-> s3-1 6) f30-2 f28-2) (progress-method-38 arg0 arg1 0.89) (highscore-page-info-method-11 this arg1 63 (-> s3-1 7) f30-2 f28-2) ) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-highscores-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s4-0 *progress-work*) ) (set! (-> arg1 alpha) f30-0) (let ((a0-1 arg1)) (set! (-> a0-1 flags) (font-flags kerning middle large)) ) (progress-method-33 arg0 (-> s4-0 body-footer)) (progress-method-53 arg0 arg1) (let ((f28-0 (the float (menu-highscores-option-method-12 this)))) (let* ((f0-2 (-> this current-index)) (f26-0 (- f0-2 (* (the float (the int (/ f0-2 f28-0))) f28-0))) (f0-4 (+ 1.0 f26-0)) (f0-5 (- f0-4 (* (the float (the int (/ f0-4 f28-0))) f28-0))) (s2-0 (-> this pages (the int f26-0))) (s3-1 (-> this pages (the int f0-5))) (s1-0 (get-scissor-stack-top arg0)) (f0-8 (- (-> s1-0 z) (-> s1-0 x))) ) (when (!= f28-0 0.0) (let ((f26-1 (* (- 1.0 (- f26-0 (* (the float (the int (/ f26-0 1.0))) 1.0))) f0-8))) (set! (-> arg1 origin x) (+ (- f26-1 f0-8) (-> s1-0 x))) ((method-of-type highscore-page-info highscore-page-info-method-9) (the-as highscore-page-info s2-0) arg0 arg1 (- f26-1 f0-8) f30-0 ) (when (< 1.0 f28-0) (set! (-> arg1 origin x) (+ f26-1 (-> s1-0 x))) ((method-of-type highscore-page-info highscore-page-info-method-9) (the-as highscore-page-info s3-1) arg0 arg1 f26-1 f30-0 ) ) ) ) ) (progress-method-34 arg0) (progress-method-46 arg0 arg1 f30-0 55) (cond ((< 1.0 f28-0) (draw-prev-next-footer arg0 arg1 f30-0) ) (else (progress-method-42 arg0 (-> s4-0 footer) (* 64.0 f30-0)) (progress-method-41 arg0 (-> s4-0 footer) (* 128.0 f30-0)) ) ) ) ) 0 (none) ) (defmethod inventory-item-method-10 ((this inventory-item) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float) (arg4 symbol)) (let ((s5-0 #x20000000)) (when (item-obtained? this) (if arg4 (set! s5-0 (the-as int (the-as uint #x80ffffff))) (set! s5-0 (the-as int (the-as uint #x80808080))) ) ) (let ((s3-1 (new 'stack 'vector2)) (v1-9 (get-scissor-stack-top arg0)) (f0-0 (-> this icon-scale)) ) (set! (-> s3-1 x) (+ (-> v1-9 x) (* (- (-> v1-9 z) (-> v1-9 x)) (-> this offset x)) arg2)) (set! (-> s3-1 y) (+ (-> v1-9 y) (* (- (-> v1-9 w) (-> v1-9 y)) (-> this offset y)))) (draw-icon-array! (-> *progress-icon-arrays* (-> this icon)) (the int (-> s3-1 x)) (the int (-> s3-1 y)) f0-0 f0-0 (the-as rgba s5-0) arg3 ) ) ) 0 (none) ) (defmethod inventory-item-group-method-10 ((this inventory-item-group) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float) (arg4 int)) (local-vars (sv-16 (function string font-context symbol int bucket-id float)) (sv-32 (function _varargs_ object)) (sv-48 string) (sv-64 string) ) (dotimes (s0-0 (-> this items length)) (when (and arg4 (have-items? this)) (set-scale! arg1 0.45) (progress-method-38 arg0 arg1 0.9) (set! sv-16 print-game-text) (set! sv-32 format) (set! sv-48 (clear *temp-string*)) (set! sv-64 "~S") (let ((a2-3 (lookup-text! *common-text* (-> this name) #f))) (sv-32 sv-48 sv-64 a2-3) ) (let ((a0-7 *temp-string*) (a1-4 arg1) (a2-4 #f) (a3-1 44) (t0-1 579) ) (sv-16 a0-7 a1-4 a2-4 a3-1 (the-as bucket-id t0-1)) ) ) (inventory-item-method-10 (-> this items s0-0) arg0 arg1 arg2 arg3 (the-as symbol arg4)) ) 0 (none) ) (defmethod inventory-screen-method-9 ((this inventory-screen) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float)) (local-vars (sv-16 string) (sv-32 string)) (set-scale! arg1 0.45) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (progress-method-38 arg0 arg1 0.01) (let ((s1-0 print-game-text)) (let ((s0-0 format)) (set! sv-16 (clear *temp-string*)) (set! sv-32 "~S") (let ((a2-3 (lookup-text! *common-text* (-> this name) #f))) (s0-0 sv-16 sv-32 a2-3) ) ) (s1-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (dotimes (s1-1 (-> this groups length)) (inventory-item-group-method-10 (-> this groups s1-1) arg0 arg1 arg2 arg3 (the-as int (= s1-1 (-> this current-index))) ) ) 0 (none) ) (defmethod draw-option ((this menu-inventory) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (let ((a0-1 arg1)) (set! (-> a0-1 flags) (font-flags kerning middle large)) ) (progress-method-33 arg0 (-> *progress-work* body-footer)) (progress-method-53 arg0 arg1) (let* ((f0-2 (the float (-> this screens length))) (f28-0 (-> this current-index)) (f1-3 (+ 1.0 f28-0)) (f0-4 (- f1-3 (* (the float (the int (/ f1-3 f0-2))) f0-2))) (s3-0 (-> this screens (the int f28-0))) (s4-1 (-> this screens (the int f0-4))) (s2-0 (get-scissor-stack-top arg0)) (f0-7 (- (-> s2-0 z) (-> s2-0 x))) (f28-1 (* (- 1.0 (- f28-0 (* (the float (the int (/ f28-0 1.0))) 1.0))) f0-7)) ) (set! (-> arg1 origin x) (+ (- f28-1 f0-7) (-> s2-0 x))) (inventory-screen-method-9 s3-0 arg0 arg1 (- f28-1 f0-7) f30-0) (set! (-> arg1 origin x) (+ f28-1 (-> s2-0 x))) (inventory-screen-method-9 s4-1 arg0 arg1 f28-1 f30-0) ) (progress-method-34 arg0) (progress-method-46 arg0 arg1 f30-0 1995) (draw-prev-next-footer arg0 arg1 f30-0) ) 0 (none) ) (defmethod controls-string-info-method-9 ((this controls-string-info) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float) (arg4 float) (arg5 float) (arg6 float) ) (local-vars (sv-48 float) (sv-64 (function string font-context symbol int bucket-id float)) (sv-80 (function _varargs_ object)) (sv-96 string) (sv-112 string) (sv-128 (function _varargs_ object)) (sv-144 string) (sv-160 string) ) (set! sv-48 arg4) (let ((s0-0 arg5) (s3-0 arg6) (s2-0 (get-scissor-stack-top arg0)) ) 0.0 0.0 (set! (-> arg1 origin x) (+ 10.0 arg2)) (let ((v1-2 arg1)) (set! (-> v1-2 width) (+ -20.0 sv-48)) ) (set! sv-64 print-game-text) (set! sv-80 format) (set! sv-96 (clear *temp-string*)) (set! sv-112 "~S") (let ((a2-2 (lookup-text! *common-text* (-> this action) #f))) (sv-80 sv-96 sv-112 a2-2) ) (let* ((a0-7 *temp-string*) (a1-3 arg1) (a2-3 #f) (a3-1 40) (t0-1 579) (f30-0 (sv-64 a0-7 a1-3 a2-3 a3-1 (the-as bucket-id t0-1))) ) (set! (-> arg1 origin x) (+ 10.0 arg3)) (let ((v1-8 arg1)) (set! (-> v1-8 width) (+ -20.0 s0-0)) ) (let ((s0-1 print-game-text)) (set! sv-128 format) (set! sv-144 (clear *temp-string*)) (set! sv-160 "~S") (let ((a2-5 (lookup-text! *common-text* (-> this button) #f))) (sv-128 sv-144 sv-160 a2-5) ) (let* ((f0-11 (s0-1 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha))) (f30-1 (+ 8.0 (fmax f30-0 f0-11))) ) (let ((s1-1 (new 'stack 'hud-box)) (f28-0 (+ arg3 (* 0.5 (- (-> s2-0 z) (-> s2-0 x))))) ) (set! (-> s1-1 box min y) (+ -6.0 (-> arg1 origin y))) (set! (-> s1-1 box max y) (+ (-> s1-1 box min y) f30-1)) (set-vector! (-> s1-1 color) 192 192 96 (the int (* 128.0 s3-0))) (with-dma-buffer-add-bucket ((s2-1 (-> *display* frames (-> *display* on-screen) global-buf)) ;; og:preserve-this changed from particles bucket (bucket-id hud-draw-hud-alpha) ) (set! (-> s1-1 box min x) arg2) (set! (-> s1-1 box max x) arg3) (draw-box-prim-only s1-1 s2-1) (set! (-> s1-1 box min x) arg3) (set! (-> s1-1 box max x) f28-0) (draw-box-prim-only s1-1 s2-1) ) ) (+! (-> arg1 origin y) f30-1) ) ) ) ) 0 (none) ) ;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16 (defmethod controls-page-info-method-11 ((this controls-page-info) (arg0 progress) (arg1 font-context) (arg2 float) (arg3 float)) (local-vars (v1-28 int) (v1-29 int) (sv-16 float) (sv-32 (function progress font-context float float string float float int float)) (sv-48 font-context) (sv-64 float) (sv-80 int) (sv-96 (function string font-context symbol int bucket-id float)) (sv-112 (function _varargs_ object)) (sv-128 string) (sv-144 string) (sv-160 (function string font-context symbol int bucket-id float)) (sv-176 (function _varargs_ object)) (sv-192 string) (sv-208 string) ) (set! sv-16 arg2) (let ((s2-0 arg3) (s3-0 *progress-work*) ) (let ((s1-0 (get-scissor-stack-top arg0))) (- (-> s1-0 z) (-> s1-0 x)) (progress-method-33 arg0 (-> s3-0 sub-header)) (progress-method-41 arg0 (-> s3-0 sub-header) (* 128.0 s2-0)) (let ((a0-4 arg1)) (set! (-> a0-4 flags) (font-flags kerning middle large)) ) (let ((v1-5 arg1) (f0-7 (+ 10.0 sv-16 (-> s1-0 x))) (f1-4 (-> s1-0 y)) ) (set! (-> v1-5 origin x) f0-7) (set! (-> v1-5 origin y) f1-4) ) (let ((a0-7 arg1)) (set! (-> a0-7 color) (font-color font-color-34)) ) (let ((s0-0 arg0)) (set! sv-32 (method-of-object s0-0 progress-method-45)) (set! sv-48 arg1) (let ((s1-1 (+ (- -20.0 (-> s1-0 x)) (-> s1-0 z)))) (set! sv-64 (the-as float 28.0)) (let ((t0-1 (lookup-text! *common-text* (-> this title) #f)) (t1-0 0.7) (t2-0 0.5) (t3-0 32) ) (sv-32 s0-0 sv-48 s1-1 sv-64 t0-1 t1-0 t2-0 t3-0) ) ) ) ) (progress-method-34 arg0) (progress-method-33 arg0 (-> s3-0 sub-body-footer)) (progress-method-53 arg0 arg1) (let ((a0-13 arg1)) (set! (-> a0-13 flags) (font-flags kerning large)) ) (set-scale! arg1 0.425) (let ((a0-15 arg1)) (set! (-> a0-15 color) (font-color font-color-32)) ) (let* ((s0-1 (get-scissor-stack-top arg0)) (f28-0 (- (-> s0-1 z) (-> s0-1 x))) (s1-2 (init-text! this)) ) (let* ((f30-0 (/ f28-0 2)) (f28-1 (/ f28-0 2)) (f26-0 (+ sv-16 (-> s0-1 x))) (f24-0 (+ sv-16 (-> s0-1 x) f30-0)) ) (let ((v1-25 arg1)) (set! (-> v1-25 width) (+ -20.0 f30-0)) ) (set! sv-80 0) (let ((v1-27 sv-80) (a0-20 (min (the int (-> this current-index)) s1-2)) ) (set-on-less-than v1-28 v1-27 a0-20) (move-if-not-zero v1-29 a0-20 v1-28 v1-28) ) (set! sv-80 v1-29) (set! sv-96 print-game-text) (set! sv-112 format) (set! sv-128 (clear *temp-string*)) (set! sv-144 "~S") (let ((a2-5 (lookup-text! *common-text* (the-as text-id (-> this text sv-80 text)) #f))) (sv-112 sv-128 sv-144 a2-5) ) (let* ((a0-24 *temp-string*) (a1-10 arg1) (a2-6 #t) (a3-2 40) (t0-2 579) (f22-0 (sv-96 a0-24 a1-10 a2-6 a3-2 (the-as bucket-id t0-2))) ) (set! sv-160 print-game-text) (set! sv-176 format) (set! sv-192 (clear *temp-string*)) (set! sv-208 "~S") (let ((a2-8 (lookup-text! *common-text* (-> this text sv-80 id) #f))) (sv-176 sv-192 sv-208 a2-8) ) (let* ((a0-28 *temp-string*) (a1-13 arg1) (a2-9 #t) (a3-3 40) (t0-3 579) (f0-23 (sv-160 a0-28 a1-13 a2-9 a3-3 (the-as bucket-id t0-3))) (f22-1 (+ 8.0 (fmax f22-0 f0-23))) ) (let* ((v1-47 arg1) (f0-26 (+ 10.0 (-> s0-1 x))) (f1-12 4.0) (f2-0 (-> this current-index)) (f1-14 (+ (- f1-12 (* f22-1 (- f2-0 (* (the float (the int (/ f2-0 1.0))) 1.0)))) (-> s0-1 y))) ) (set! (-> v1-47 origin x) f0-26) (set! (-> v1-47 origin y) f1-14) ) (while (and (< (-> arg1 origin y) (-> s0-1 w)) (< sv-80 s1-2)) (when (= sv-80 3) (nop!) (nop!) 0 ) ((method-of-type controls-string-info controls-string-info-method-9) (the-as controls-string-info (-> this text sv-80)) arg0 arg1 f26-0 f24-0 f30-0 f28-1 s2-0 ) (set! sv-80 (+ sv-80 1)) ) (set! (-> this on-screen) (< (-> arg1 origin y) (-> s0-1 w))) (seek! (-> this current-index) (-> this target-index) (* (/ 300.0 f22-1) (seconds-per-frame))) ) ) ) (progress-method-34 arg0) (progress-method-33 arg0 (-> s3-0 small-screen)) (progress-method-47 arg0 arg1 (!= (-> this current-index) 0.0) (and (not (-> this on-screen)) (!= (-> this current-index) (the float s1-2))) ) ) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-controls-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s2-0 *progress-work*) ) (set! (-> arg1 alpha) f30-0) (progress-method-46 arg0 arg1 f30-0 1581) (let ((a0-2 arg1)) (set! (-> a0-2 flags) (font-flags kerning middle large)) ) (progress-method-53 arg0 arg1) (let* ((f28-0 (the float (menu-controls-option-method-12 this))) (f0-2 (-> this current-index)) (f26-0 (- f0-2 (* (the float (the int (/ f0-2 f28-0))) f28-0))) (f0-4 (+ 1.0 f26-0)) (f0-5 (- f0-4 (* (the float (the int (/ f0-4 f28-0))) f28-0))) (s0-0 (-> this pages (the int f26-0))) (s3-0 (-> this pages (the int f0-5))) (s1-0 (get-scissor-stack-top arg0)) (f24-0 (- (-> s1-0 z) (-> s1-0 x))) ) (cond ((< 1.0 f28-0) (draw-prev-next-footer arg0 arg1 f30-0) ) (else (progress-method-42 arg0 (-> s2-0 footer) (* 64.0 f30-0)) (progress-method-41 arg0 (-> s2-0 footer) (* 128.0 f30-0)) ) ) (progress-method-33 arg0 (-> s2-0 body-footer)) (when (!= f28-0 0.0) (let ((f26-1 (* (- 1.0 (- f26-0 (* (the float (the int (/ f26-0 1.0))) 1.0))) f24-0))) (set! (-> arg1 origin x) (+ (- f26-1 f24-0) (-> s1-0 x))) (controls-page-info-method-11 s0-0 arg0 arg1 (- f26-1 f24-0) f30-0) (when (and (< 1.0 f28-0) (!= (-> this current-index) (-> this target-index))) (set! (-> arg1 origin x) (+ f26-1 (-> s1-0 x))) (controls-page-info-method-11 s3-0 arg0 arg1 f26-1 f30-0) ) ) ) ) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-language-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (set-scale! arg1 1.0) (let ((a1-2 arg1)) (set! (-> a1-2 flags) (font-flags kerning middle large)) ) (progress-method-38 arg0 arg1 (-> this offset-y)) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 44 f30-0) (+! (-> arg1 origin y) 8.0) (let ((a0-3 arg1)) (set! (-> a0-3 color) (font-color font-color-32)) ) (set-scale! arg1 1.0) (+! (-> arg1 origin x) -170.0) (let ((s4-0 print-game-text)) (format (clear *temp-string*) "~33L~C" 163) (s4-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin x) 340.0) (let ((s4-1 print-game-text)) (format (clear *temp-string*) "~33L~C" 161) (s4-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin x) -170.0) (let ((a0-11 arg1)) (set! (-> a0-11 color) (font-color font-color-33)) ) (print-game-text (lookup-text! *common-text* (-> *language-name-remap* (get-language-by-idx arg0 1)) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (progress-method-46 arg0 arg1 f30-0 11) ) 0 (none) ) (defmethod draw-option ((this menu-sub-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (set-scale! arg1 0.85) (progress-method-38 arg0 arg1 (-> this offset-y)) (cond ((= (-> arg0 option-index) arg2) (progress-method-40 arg0 arg1 (the int (+ -6.0 (-> arg1 origin y))) 35 f30-0) (let ((a0-4 arg1)) (set! (-> a0-4 color) (font-color font-color-33)) ) ) (else (let ((a0-5 arg1)) (set! (-> a0-5 color) (font-color font-color-32)) ) ) ) ) (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) 0 (none) ) (defmethod draw-option ((this menu-on-off-game-vibrations-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg0 yes-no-choice) (-> arg0 vibrations)) (progress-method-38 arg0 arg1 0.19) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-on) (text-id progress-off) (= (-> arg0 option-index) arg2) arg3 0.65 ) (let ((f0-1 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (progress-method-46 arg0 arg1 f0-1 28) ) 0 (none) ) (defmethod draw-option ((this menu-on-off-game-subtitles-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg0 yes-no-choice) (-> arg0 subtitles)) (progress-method-38 arg0 arg1 0.34) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-on) (text-id progress-off) (= (-> arg0 option-index) arg2) arg3 0.65 ) 0 (none) ) (defmethod draw-option ((this menu-language-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-16 string) (sv-32 string)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set-scale! arg1 0.65) (progress-method-38 arg0 arg1 (-> this offset-y)) (set! (-> arg1 alpha) f30-0) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle large)) ) (let ((s4-0 0)) (let ((s5-0 *language-name-remap*)) (case (-> this menu-option-type) ((5) (set! s4-0 (get-language-by-idx arg0 0)) ) ((6) (set! s4-0 (get-language-by-idx arg0 1)) ) ((7) (set! s4-0 (get-language-by-idx arg0 2)) ) ) (cond (arg3 (let ((a0-12 arg1)) (set! (-> a0-12 color) (font-color font-color-34)) ) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 42 f30-0) (let ((s2-1 print-game-text)) (let ((s1-1 format) (s0-1 (clear *temp-string*)) ) (set! sv-16 "~S") (let ((a2-4 (lookup-text! *common-text* (-> this name) #f))) (s1-1 s0-1 sv-16 a2-4) ) ) (s2-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 24.0) (let ((a0-18 arg1)) (set! (-> a0-18 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-20 arg1)) (set! (-> a0-20 color) (font-color font-color-32)) ) (+! (-> arg1 origin x) -70.0) (let ((s3-1 print-game-text)) (format (clear *temp-string*) "~33L~C" 163) (s3-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin x) 70.0) (+! (-> arg1 origin x) 70.0) (let ((s3-2 print-game-text)) (format (clear *temp-string*) "~33L~C" 161) (s3-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin x) -70.0) (let ((a0-27 arg1)) (set! (-> a0-27 color) (font-color font-color-33)) ) (print-game-text (lookup-text! *common-text* (-> s5-0 s4-0) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (else (cond ((= (-> arg0 option-index) arg2) (let ((a0-30 arg1)) (set! (-> a0-30 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 24 f30-0) ) (else (let ((a0-32 arg1)) (set! (-> a0-32 color) (font-color font-color-32)) ) ) ) (set-scale! arg1 0.65) (let ((s2-4 print-game-text)) (let ((s1-2 format) (s0-2 (clear *temp-string*)) ) (set! sv-32 "~S") (let ((a2-14 (lookup-text! *common-text* (-> this name) #f))) (s1-2 s0-2 sv-32 a2-14) ) ) (s2-4 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (set-scale! arg1 0.5) (let ((a0-39 arg1)) (set! (-> a0-39 color) (font-color font-color-32)) ) (format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> s5-0 s4-0) #f)) *temp-string* (+! (-> arg1 origin y) 24.0) (let ((a0-43 arg1)) (set! (-> a0-43 flags) (font-flags kerning middle large)) ) (print-game-text (lookup-text! *common-text* (-> s5-0 s4-0) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) ) ) 0 (none) ) ;; ERROR: Stack slot load at 16 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 16 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 16 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16 ;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16 (defmethod draw-option ((this menu-center-screen-graphic-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-16 float) (sv-32 font-context) (sv-48 float)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s4-0 (get-scissor-stack-top arg0)) ) (set! (-> arg1 alpha) f30-0) (let ((a0-2 arg1)) (set! (-> a0-2 flags) (font-flags kerning middle large)) ) (cond (arg3 (let ((a0-3 arg1)) (set! (-> a0-3 color) (font-color font-color-34)) ) (progress-method-38 arg0 arg1 0.45) (set! (-> arg1 origin x) (+ 30.0 (-> s4-0 x))) (let* ((s3-1 arg0) (s2-1 (method-of-object s3-1 progress-method-45)) (s1-1 arg1) (s0-0 (+ (- -60.0 (-> s4-0 x)) (-> s4-0 z))) ) (set! sv-16 (the-as float 16.0)) (let* ((t0-1 (lookup-text! *common-text* (text-id progress-graphics-center-screen-dpad) #f)) (t1-0 0.5) (t2-0 0.95) (t3-0 32) (f0-7 (s2-1 s3-1 s1-1 s0-0 sv-16 t0-1 t1-0 t2-0 t3-0)) (f1-6 (* 0.4 (-> arg1 max-x))) (f2-4 (+ (-> s4-0 x) (* 0.5 (- (-> s4-0 z) (-> s4-0 x))))) (f30-1 (+ f2-4 f1-6)) (f28-0 (- f2-4 f1-6)) (f26-0 (+ -8.0 (/ f0-7 2) (-> arg1 origin y))) ) (let ((f1-10 (+ -15.0 (-> arg1 origin y))) (f24-0 (+ 3.0 f0-7 (-> arg1 origin y))) ) (let ((v1-17 arg1)) (set! (-> v1-17 origin x) (-> s4-0 x)) (set! (-> v1-17 origin y) f1-10) ) (let ((v1-18 arg1)) (set! (-> v1-18 width) (- (-> s4-0 z) (-> s4-0 x))) ) (let ((s3-2 print-game-text)) (format (clear *temp-string*) "~33L~C" 160) (s3-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (set! (-> arg1 origin y) f24-0) ) (let ((s3-3 print-game-text)) (format (clear *temp-string*) "~33L~C" 162) (s3-3 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (let ((a0-13 arg1)) (set! (-> a0-13 flags) (font-flags kerning right large)) ) (let ((v1-20 arg1) (f0-12 f26-0) ) (set! (-> v1-20 origin x) f28-0) (set! (-> v1-20 origin y) f0-12) ) (let ((s3-4 print-game-text)) (format (clear *temp-string*) "~33L~C" 163) (s3-4 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (let ((a0-17 arg1)) (set! (-> a0-17 flags) (font-flags kerning large)) ) (let ((v1-22 arg1)) (set! (-> v1-22 origin x) f30-1) (set! (-> v1-22 origin y) f26-0) ) ) ) (let ((s3-5 print-game-text)) (format (clear *temp-string*) "~33L~C" 161) (s3-5 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (let ((a0-21 arg1)) (set! (-> a0-21 flags) (font-flags kerning middle large)) ) (set! (-> arg1 origin x) (-> s4-0 x)) (progress-method-38 arg0 arg1 0.85) (set-scale! arg1 0.5) (let ((v1-27 arg1)) (set! (-> v1-27 width) (- (-> s4-0 z) (-> s4-0 x))) ) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-center-screen-reset) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) ) (else (let ((f28-1 0.7)) (progress-method-38 arg0 arg1 (-> this offset-y)) (cond ((= (-> arg0 option-index) arg2) (let ((a0-27 arg1)) (set! (-> a0-27 color) (font-color font-color-33)) ) ) (else (let ((a0-28 arg1)) (set! (-> a0-28 color) (font-color font-color-32)) ) ) ) (set! (-> arg1 origin x) (+ 10.0 (-> s4-0 x))) (let* ((s1-2 arg0) (s0-1 (method-of-object s1-2 progress-method-45)) ) (set! sv-32 arg1) (let ((s4-1 (+ (- -20.0 (-> s4-0 x)) (-> s4-0 z)))) (set! sv-48 (* 32.0 f28-1)) (let* ((t0-7 (lookup-text! *common-text* (-> this name) #f)) (t1-1 f28-1) (t2-1 0.75) (t3-1 32) (f0-26 (s0-1 s1-2 sv-32 s4-1 sv-48 t0-7 t1-1 t2-1 t3-1)) ) (if (= (-> arg0 option-index) arg2) (progress-method-40 arg0 arg1 (the int (+ -1.0 (-> arg1 origin y))) (the int (+ 4.0 f0-26)) f30-0) ) ) ) ) ) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-aspect-ratio-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (when (not (and (zero? (-> arg0 option-index)) (-> arg0 selected-option))) (set! (-> arg0 yes-no-choice) (the-as basic (= (if arg3 (-> arg0 aspect-ratio) (get-aspect-ratio) ) 'aspect4x3 ) ) ) (progress-method-38 arg0 arg1 (-> this offset-y)) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-aspect-4x3) (text-id progress-aspect-16x9) (= (-> arg0 option-index) arg2) arg3 0.7 ) ) (let ((f0-2 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (progress-method-46 arg0 arg1 f0-2 29) ) 0 (none) ) (defmethod draw-option ((this menu-on-off-progressive-scan-graphic-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol) ) (when (not (and (zero? (-> arg0 option-index)) (-> arg0 selected-option))) (set! (-> arg0 yes-no-choice) (the-as basic (if arg3 (-> arg0 progressive-scan) (-> *setting-control* user-default set-video-mode) ) ) ) (progress-method-38 arg0 arg1 (-> this offset-y)) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-on) (text-id progress-off) (= (-> arg0 option-index) arg2) arg3 0.7 ) ) 0 (none) ) (defmethod draw-option ((this menu-video-mode-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (when (not (and (zero? (-> arg0 option-index)) (-> arg0 selected-option))) (set! (-> arg0 yes-no-choice) (the-as basic (= (if arg3 (-> arg0 video-mode) (get-video-mode) ) 'pal ) ) ) (progress-method-38 arg0 arg1 (-> this offset-y)) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-refresh-50hz) (text-id progress-refresh-60hz) (= (-> arg0 option-index) arg2) arg3 0.7 ) ) 0 (none) ) (defmethod draw-option ((this menu-sound-slider-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (cond ((not (loaded? *bigmap*)) (progress-method-51 arg0 arg1) ) (else (let ((f28-0 (-> (the-as (pointer float) (&+ (the-as pointer *setting-control*) (-> this setting-offset)))))) (progress-method-52 arg0 arg1 (lookup-text! *common-text* (-> this name) #f) f30-0 (-> this offset-y) 0.75 f28-0 (the-as float #t) ) ) ) ) (if (zero? arg2) (progress-method-46 arg0 arg1 f30-0 30) ) ) 0 (none) ) (defmethod draw-option ((this menu-stereo-mode-sound-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (s5-0 int)) (let ((f28-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set-scale! arg1 0.65) (set! (-> arg1 alpha) f28-0) (let ((a0-2 arg1)) (set! (-> a0-2 flags) (font-flags kerning middle large)) ) (cond ((not (loaded? *bigmap*)) (progress-method-51 arg0 arg1) ) ((begin (progress-method-38 arg0 arg1 (-> this offset-y)) (set! s5-0 (-> *setting-control* user-default stereo-mode)) arg3 ) (let ((f30-2 (fmax (fmax (-> (get-string-length (lookup-text! *common-text* (text-id progress-sound-mono) #f) arg1) length) (-> (get-string-length (lookup-text! *common-text* (text-id progress-sound-stereo) #f) arg1) length) ) (-> (get-string-length (lookup-text! *common-text* (text-id progress-sound-surround) #f) arg1) length) ) ) ) (let ((a0-12 arg1)) (set! (-> a0-12 color) (font-color font-color-34)) ) (progress-method-40 arg0 arg1 (the int (+ -1.0 (-> arg1 origin y))) 42 f28-0) (let ((s3-1 print-game-text)) (format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> this name) #f)) (s3-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 22.0) (set-scale! arg1 0.5) (let ((a0-19 arg1)) (set! (-> a0-19 color) (font-color font-color-33)) ) (let ((a0-20 arg1)) (set! (-> a0-20 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 hud-draw-hud-alpha) ) (let ((a0-23 arg1)) (set! (-> a0-23 color) (font-color font-color-32)) ) (set! (-> arg1 origin x) (- (-> arg1 origin x) (the float (the int (/ f30-2 2))))) (let ((s5-1 print-game-text)) (format (clear *temp-string*) "~33L~C" 163) (s5-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin x) (the float (the int f30-2))) ) (let ((s5-2 print-game-text)) (format (clear *temp-string*) "~33L~C" 161) (s5-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) (else (if (= (-> arg0 option-index) arg2) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 21 f28-0) ) (let ((s3-2 print-game-text)) (format (clear *temp-string*) "~S" (lookup-text! *common-text* (-> this name) #f)) (s3-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 22.0) (set-scale! arg1 0.5) (let ((a0-36 arg1)) (set! (-> a0-36 color) (font-color font-color-32)) ) (let ((a0-37 arg1)) (set! (-> a0-37 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 hud-draw-hud-alpha) ) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-picture-slider-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (progress-method-33 arg0 (-> *progress-work* body)) (cond ((not (loaded? *bigmap*)) (progress-method-51 arg0 arg1) ) (else (let ((f28-0 (-> (the-as (pointer float) (&+ (the-as pointer *setting-control*) (-> this setting-offset)))))) (progress-method-52 arg0 arg1 (lookup-text! *common-text* (-> this name) #f) f30-0 (-> this offset-y) 0.9 f28-0 (the-as float #f) ) ) ) ) (when (zero? arg2) (let ((s4-1 (get-scissor-stack-top arg0))) (progress-method-46 arg0 arg1 f30-0 1520) (draw-icon-array! (-> *progress-icon-arrays* 75) 256 (the int (+ (-> s4-1 y) (* 0.75 (- (-> s4-1 w) (-> s4-1 y))))) (-> *video-params* relative-x-scale-reciprical) 10.0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) f30-0 ) ) ) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-camera-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (progress-method-38 arg0 arg1 (-> this offset-y)) (let* ((v1-2 (-> this menu-option-type)) (v1-3 (cond ((= v1-2 12) (-> arg0 flip-horizontal) ) ((= v1-2 13) (-> arg0 flip-vertical) ) ) ) ) (set! (-> arg0 yes-no-choice) (the-as basic (not v1-3))) ) (progress-method-50 arg0 arg1 (-> this name) (text-id progress-camera-default) (text-id progress-camera-flipped) (= (-> arg0 option-index) arg2) arg3 0.7 ) (when (zero? arg2) (let ((f0-2 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (progress-method-46 arg0 arg1 f0-2 1534) ) ) 0 (none) ) (defmethod draw-option ((this menu-unlocked-sub-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((s2-0 (memcard-unlocked-secrets? arg0 #t)) (f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s1-0 "?????????") ) (progress-method-38 arg0 arg1 (-> this offset-y)) (set-scale! arg1 0.5) (if (= arg2 (-> arg0 option-index)) 33 32 ) (let ((f0-3 (if (logtest? s2-0 (-> this mask)) (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) (print-game-text s1-0 arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) (if (= arg2 (-> arg0 option-index)) (progress-method-40 arg0 arg1 (the int (+ 2.0 (-> arg1 origin y))) (the int (+ -1.0 f0-3)) f30-0) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-main-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (-> arg1 flags) (when (and (nonzero? (-> this name)) (= arg2 (-> arg0 option-index))) (set-scale! arg1 0.75) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags shadow 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 ((= (-> this name) (text-id progress-bigmap)) (if (= (-> *setting-control* user-default language) (language-enum french)) (set-scale! arg1 0.7) ) (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) (set! (-> arg1 origin y) (the float (if (= (get-aspect-ratio) 'aspect4x3) 210 200 ) ) ) (set! (-> arg1 scale) 0.6) ) (else (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-memcard-slot-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-48 (function string font-context symbol int bucket-id float)) (sv-64 (function _varargs_ object)) (sv-80 string) (sv-96 string) (sv-112 (function string font-context symbol int bucket-id float)) (sv-128 dma-buffer) (sv-144 pointer) (sv-160 int) (sv-176 (function string font-context symbol int bucket-id float)) (sv-192 (function _varargs_ object)) ) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (f28-0 (if (= (-> arg0 current) 'select-save-title) 0.2 0.25 ) ) (s3-0 *progress-work*) (f24-0 (-> *video-params* relative-x-scale)) ) (cond ((not (loaded? *bigmap*)) (progress-method-51 arg0 arg1) ) (else (set! (-> arg1 alpha) f30-0) (set-scale! arg1 0.6) (progress-method-33 arg0 (-> s3-0 body)) (let* ((s3-1 (get-scissor-stack-top arg0)) (s0-0 (new 'stack 'hud-box)) (f0-4 (* (- (-> s3-1 w) (-> s3-1 y)) f28-0)) (f26-0 (+ (-> s3-1 y) (* f0-4 (the float arg2)))) (f28-1 (+ f26-0 f0-4)) (s1-0 (the int (+ (-> s3-1 x) (* 0.7 (- (-> s3-1 z) (-> s3-1 x))) (* -48.0 f24-0)))) ) (set! sv-160 (the int (+ 32.0 (-> s3-1 y)))) (let ((s2-0 *progress-save-info*)) (let ((v1-16 arg1) (f1-12 (+ 10.0 (-> s3-1 x))) (f2-13 (+ f26-0 (* 0.5 (- f0-4 (* 32.0 (-> arg1 scale)))))) ) (set! (-> v1-16 origin x) f1-12) (set! (-> v1-16 origin y) f2-13) ) (set! (-> arg1 height) f0-4) (let ((a0-11 arg1)) (set! (-> a0-11 flags) (font-flags kerning large)) ) (when (and s2-0 (= (-> s2-0 formatted) 1) (= (-> s2-0 inited) 1)) (cond ((= (-> s2-0 file arg2 present) 1) (set! sv-48 print-game-text) (set! sv-64 format) (set! sv-80 (clear *temp-string*)) (set! sv-96 "~S ~D") (let ((a2-2 (lookup-text! *common-text* (text-id text-0073) #f)) (a3-1 (+ arg2 1)) ) (sv-64 sv-80 sv-96 a2-2 a3-1) ) (let ((a0-21 *temp-string*) (a1-6 arg1) (a2-3 #f) (a3-2 44) (t0-1 579) ) (sv-48 a0-21 a1-6 a2-3 a3-2 (the-as bucket-id t0-1)) ) ) ((zero? (-> s2-0 file arg2 present)) (set! sv-112 print-game-text) (let ((a0-23 (lookup-text! *common-text* (text-id progress-empty) #f)) (a1-8 arg1) (a2-5 #f) (a3-3 44) (t0-2 579) ) (sv-112 a0-23 a1-8 a2-5 a3-3 (the-as bucket-id t0-2)) ) ) ) (when (= arg2 (-> arg0 option-index)) (set-scale! arg1 0.8) (set! sv-128 (-> *display* frames (-> *display* on-screen) global-buf)) (set! sv-144 (-> sv-128 base)) (let ((f24-1 (+ (-> s3-1 x) (* 0.4 (- (-> s3-1 z) (-> s3-1 x)))))) (set-vector! (-> s0-0 color) 128 128 128 (the int (* 16.0 f30-0))) (set! (-> (the-as vector (-> s0-0 box)) quad) (-> s3-1 quad)) (set! (-> s0-0 box min x) f24-1) (draw-box-alpha-1 s0-0 sv-128) (set! (-> s0-0 box min x) (-> s3-1 x)) (set! (-> s0-0 box max x) f24-1) ) (set! (-> s0-0 box min y) f26-0) (set! (-> s0-0 box max y) f28-1) (draw-box-alpha-1 s0-0 sv-128) (set-vector! (-> s0-0 color) 128 128 64 (the int (* 128.0 f30-0))) (when (!= f26-0 (-> s3-1 y)) (set! (-> s0-0 box min y) (-> s3-1 y)) (set! (-> s0-0 box max y) f26-0) (draw-box-prim-only s0-0 sv-128) ) (when (!= f28-1 (-> s3-1 w)) (set! (-> s0-0 box min y) f28-1) (set! (-> s0-0 box max y) (-> s3-1 w)) (draw-box-prim-only s0-0 sv-128) ) (let ((a3-4 (-> sv-128 base))) (when (!= sv-144 a3-4) (let ((v1-63 (the-as object (-> sv-128 base)))) (set! (-> (the-as dma-packet v1-63) dma) (new 'static 'dma-tag :id (dma-tag-id next))) (set! (-> (the-as dma-packet v1-63) vif0) (new 'static 'vif-tag)) (set! (-> (the-as dma-packet v1-63) vif1) (new 'static 'vif-tag)) (set! (-> sv-128 base) (&+ (the-as pointer v1-63) 16)) ) (dma-bucket-insert-tag (-> *display* frames (-> *display* on-screen) bucket-group) (bucket-id tex-hud-hud-alpha) sv-144 (the-as (pointer dma-tag) a3-4) ) ) ) ) (when (= (-> s2-0 file arg2 present) 1) (when (= arg2 (-> arg0 option-index)) (let* ((a0-49 (-> *progress-icon-arrays* (-> s2-0 file arg2 level-index))) (t9-16 (method-of-object a0-49 draw-icon-array!)) (a3-5 1.0) (t0-3 1.0) (t1-0 (the-as uint #x80808080)) (t2-0 f30-0) ) (t9-16 a0-49 s1-0 sv-160 a3-5 t0-3 (the-as rgba t1-0) t2-0) ) (set-scale! arg1 0.6) (let ((a0-51 arg1)) (set! (-> a0-51 color) (font-color font-color-32)) ) (progress-method-38 arg0 arg1 0.675) (let ((a0-53 arg1)) (set! (-> a0-53 flags) (font-flags kerning right large)) ) (let* ((v1-91 (-> s2-0 file arg2 game-time0)) (v1-92 (logior (shl (-> s2-0 file arg2 game-time1) 32) v1-91)) (s1-1 (/ (the-as int v1-92) #x107ac0)) (s0-1 (/ (mod (the-as int v1-92) #x107ac0) #x4650)) ) (set! (-> arg1 origin x) (+ (-> s3-1 x) (* 0.675 (- (-> s3-1 z) (-> s3-1 x))))) (set! sv-176 print-game-text) (set! sv-192 format) (let ((a0-63 (clear *temp-string*)) (a1-16 "~2,'0D:~2,'0D") ) (sv-192 a0-63 a1-16 s1-1 s0-1) ) ) (let ((a0-64 *temp-string*) (a1-17 arg1) (a2-10 #f) (a3-7 44) (t0-4 579) ) (sv-176 a0-64 a1-17 a2-10 a3-7 (the-as bucket-id t0-4)) ) (draw-icon-array! (-> *progress-icon-arrays* 66) (the int (+ 10.0 (* 0.4 (- (-> s3-1 z) (-> s3-1 x))) (-> s3-1 x))) (the int (-> arg1 origin y)) 0.65 0.65 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) f30-0 ) (set! (-> arg1 origin x) (+ (- (+ -10.0 (-> s3-1 z)) (-> s3-1 x)) (-> s3-1 x))) (let ((s1-2 print-game-text)) (format (clear *temp-string*) "~D%" (the int (-> s2-0 file arg2 completion-percentage))) (s1-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (draw-icon-array! (-> *progress-icon-arrays* 67) (the int (+ -8.0 (* 0.75 (- (-> s3-1 z) (-> s3-1 x))) (-> s3-1 x))) (the int (-> arg1 origin y)) 0.7 0.7 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) f30-0 ) (progress-method-38 arg0 arg1 0.83) (set! (-> arg1 origin x) (+ (-> s3-1 x) (* 0.675 (- (-> s3-1 z) (-> s3-1 x))))) (let ((s1-3 print-game-text)) (format (clear *temp-string*) "~D" (the int (-> s2-0 file arg2 skill-count))) (s1-3 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (draw-icon-array! (-> *progress-icon-arrays* 68) (the int (+ 10.0 (* 0.4 (- (-> s3-1 z) (-> s3-1 x))) (-> s3-1 x))) (the int (+ -2.0 (-> arg1 origin y))) 0.7 0.7 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) f30-0 ) (set! (-> arg1 origin x) (+ (- (+ -10.0 (-> s3-1 z)) (-> s3-1 x)) (-> s3-1 x))) (let ((s1-4 print-game-text)) (format (clear *temp-string*) "~D" (the int (-> s2-0 file arg2 gem-count))) (s1-4 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (draw-icon-array! (-> *progress-icon-arrays* 69) (the int (+ -14.0 (* 0.75 (- (-> s3-1 z) (-> s3-1 x))) (-> s3-1 x))) (the int (-> arg1 origin y)) 0.5 0.5 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) f30-0 ) (when (logtest? (-> s2-0 file arg2 secrets) 1) (let ((a0-79 arg1)) (set! (-> a0-79 flags) (font-flags kerning middle large)) ) (set! (-> arg1 origin x) (+ (-> s3-1 x) (* 0.4 (- (-> s3-1 z) (-> s3-1 x))))) (set! (-> arg1 origin y) (+ 8.0 (-> s3-1 y))) (let ((v1-140 arg1)) (set! (-> v1-140 width) (* 0.6 (- (-> s3-1 z) (-> s3-1 x)))) ) (let ((s3-2 print-game-text)) (format (clear *temp-string*) "~S" (lookup-text! *common-text* (text-id progress-secrets-hero-mode) #f)) (s3-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) ) ) ) ) ) ) (progress-method-34 arg0) (when (zero? arg2) (case (-> arg0 current) (('select-load) (progress-method-46 arg0 arg1 f30-0 45) ) (('select-save-hero) (progress-method-46 arg0 arg1 f30-0 2198) ) (else (progress-method-46 arg0 arg1 f30-0 44) ) ) ) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-save-sub-menu-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (f28-0 0.2) ) (let ((v1-3 *progress-work*)) (progress-method-33 arg0 (-> v1-3 body)) ) (let ((s2-0 (get-scissor-stack-top arg0)) (s3-0 (new 'stack 'hud-box)) ) (let ((v1-7 arg1)) (set! (-> v1-7 width) (+ -10.0 (* 0.4 (- (-> s2-0 z) (-> s2-0 x))))) ) (let ((a0-6 arg1)) (set! (-> a0-6 flags) (font-flags kerning large)) ) (set-scale! arg1 0.425) (let* ((f24-0 (* (- (-> s2-0 w) (-> s2-0 y)) f28-0)) (f28-1 (+ (-> s2-0 y) (* f24-0 (the float arg2)))) (f26-0 (+ f28-1 f24-0)) ) (let* ((f0-7 (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #t 44 (bucket-id hud-draw-hud-alpha)) ) (v1-11 arg1) (f1-9 (+ 10.0 (-> s2-0 x))) (f0-10 (+ f28-1 (* 0.5 (- f24-0 f0-7)))) ) (set! (-> v1-11 origin x) f1-9) (set! (-> v1-11 origin y) f0-10) ) (set! (-> arg1 height) f24-0) (when (= arg2 (-> arg0 option-index)) (set-scale! arg1 0.45) (with-dma-buffer-add-bucket ((s0-1 (-> *display* frames (-> *display* on-screen) global-buf)) (bucket-id tex-hud-hud-alpha) ) (let ((f0-13 (+ (-> s2-0 x) (* 0.4 (- (-> s2-0 z) (-> s2-0 x)))))) (set-vector! (-> s3-0 color) 128 128 128 (the int (* 16.0 f30-0))) (set! (-> s3-0 box min x) (-> s2-0 x)) (set! (-> s3-0 box max x) f0-13) ) (set! (-> s3-0 box min y) f28-1) (set! (-> s3-0 box max y) f26-0) (draw-box-alpha-1 s3-0 s0-1) (set-vector! (-> s3-0 color) 128 128 64 (the int (* 128.0 f30-0))) (draw-box-prim-only s3-0 s0-1) ) ) ) ) ) (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha)) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (set-scale! arg1 0.55) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-33)) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 120.0) (set! (-> arg1 origin y) 110.0) (set-width! arg1 270) (set-height! arg1 35) (when (or (< (mod (current-time) 300) 150) (!= (-> arg0 menu-transition) 0.0)) (let ((v1-15 161)) (case (-> arg0 current) (('saving) (set! v1-15 160) ) (('formatting) (set! v1-15 162) ) (('creating) (set! v1-15 163) ) ) (print-game-text (lookup-text! *common-text* (the-as text-id v1-15) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) ) ) (+! (-> arg1 origin y) 45.0) (set-height! arg1 160) (let ((a0-16 arg1)) (set! (-> a0-16 color) (font-color font-color-32)) ) (let ((s5-1 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-remove-warn) #f) 1) (s5-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) 0 (none) ) (defmethod draw-option ((this menu-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (when (!= (-> arg0 current) 'none) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 color) (font-color font-color-32)) ) (let ((a0-4 arg1)) (set! (-> a0-4 flags) (font-flags kerning middle middle-vert large)) ) (progress-method-53 arg0 arg1) (+! (-> arg1 origin x) 10.0) (set! (-> arg1 origin y) 80.0) (let ((v1-10 arg1)) (set! (-> v1-10 width) (+ -20.0 (-> arg1 width))) ) (set-height! arg1 80) (let ((s4-0 155)) (case (-> arg0 current) (('insufficient-space) (set! s4-0 153) ) (('no-memory-card) (set! s4-0 154) ) ) (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 hud-draw-hud-alpha)) ) ) (+! (-> arg1 origin y) 80.0) (set-height! arg1 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 hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 55.0) (set-height! arg1 90) (cond ((and (!= (-> arg0 starting-state) 'insufficient-space) (!= (-> arg0 starting-state) 'no-memory-card)) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-insert-with-free-space) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 60.0) (let ((a0-26 arg1)) (set! (-> a0-26 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 30.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) ) (else (let ((a0-30 arg1)) (set! (-> a0-30 color) (font-color font-color-33)) ) (+! (-> arg1 origin y) 20.0) (progress-method-40 arg0 arg1 (the int (+ 30.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-memcard-continue?) (text-id progress-memcard-insufficient-space-retry?) ) ) ) ) 0 (none) ) (defmethod draw-option ((this menu-hero-mode-message-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s4-0 *progress-work*) ) (progress-method-33 arg0 (-> s4-0 body-footer)) (progress-method-53 arg0 arg1) (set! (-> arg1 alpha) f30-0) (set-scale! arg1 0.5) (let ((a0-4 arg1)) (set! (-> a0-4 color) (font-color font-color-32)) ) (let ((a0-5 arg1)) (set! (-> a0-5 flags) (font-flags kerning middle middle-vert large)) ) (let ((s3-0 print-game-text)) (let* ((s2-0 format) (s1-0 (clear *temp-string*)) (a0-7 *common-text*) (t9-3 (method-of-object a0-7 lookup-text!)) (a1-3 2199) (a2-1 #f) ) (s2-0 s1-0 (t9-3 a0-7 (the-as text-id a1-3) a2-1) (the-as none a2-1)) ) (s3-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (progress-method-34 arg0) (progress-method-33 arg0 (-> s4-0 footer)) ) (progress-method-53 arg0 arg1) (let ((a0-13 arg1)) (set! (-> a0-13 color) (font-color font-color-33)) ) (progress-method-38 arg0 arg1 0.1) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 18 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-secrets-insufficient-space-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (s4-0 *progress-work*) ) (progress-method-33 arg0 (-> s4-0 body-footer)) (progress-method-53 arg0 arg1) (set! (-> arg1 alpha) f30-0) (set-scale! arg1 0.5) (let ((a0-4 arg1)) (set! (-> a0-4 color) (font-color font-color-32)) ) (let ((a0-5 arg1)) (set! (-> a0-5 flags) (font-flags kerning middle middle-vert large)) ) (let ((s3-0 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-no-card-in-slot) #f) 1) (s3-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (progress-method-34 arg0) (progress-method-33 arg0 (-> s4-0 footer)) ) (progress-method-53 arg0 arg1) (let ((a0-13 arg1)) (set! (-> a0-13 color) (font-color font-color-33)) ) (progress-method-38 arg0 arg1 0.1) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 18 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (progress-method-34 arg0) 0 (none) ) (defmethod draw-option ((this menu-insert-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (set-scale! arg1 0.5) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 90.0) (set! (-> arg1 origin y) 130.0) (set-width! arg1 330) (set-height! arg1 95) (let ((s4-0 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-insert-with-jak3-data) #f) 1 ) (s4-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 115.0) (set-height! arg1 60) (let ((a0-11 arg1)) (set! (-> a0-11 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (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 hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-error-loading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (set-scale! arg1 0.5) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 90.0) (set! (-> arg1 origin y) 100.0) (set-width! arg1 330) (set-height! arg1 45) (let ((s4-0 170)) (case (-> arg0 current) (('error-saving) (set! s4-0 171) ) (('error-formatting) (set! s4-0 172) ) (('error-creating) (set! s4-0 173) ) ) (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 hud-draw-hud-alpha)) ) ) (+! (-> arg1 origin y) 50.0) (set-height! arg1 105) (let ((s4-1 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-check-and-try-again) #f) 1 ) (s4-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 115.0) (set-height! arg1 45) (let ((a0-21 arg1)) (set! (-> a0-21 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 9.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-error-auto-saving-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (set-scale! arg1 0.5) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 77.0) (set! (-> arg1 origin y) 85.0) (set-width! arg1 360) (set-height! arg1 25) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-save-error) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 25.0) (set-height! arg1 60) (let ((s4-1 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-check) #f) 1) (s4-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 60.0) (set-height! arg1 45) (print-game-text (lookup-text! *common-text* (text-id progress-autosave-disabled) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 45.0) (set-height! arg1 95) (print-game-text (lookup-text! *common-text* (text-id progress-autosave-reenable-info) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 90.0) (set-height! arg1 25) (let ((a0-20 arg1)) (set! (-> a0-20 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 22 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-card-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (set-scale! arg1 0.5) (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-32)) ) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 80.0) (set-width! arg1 360) (set-height! arg1 70) (let ((s4-0 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-removed) #f) 1) (s4-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 65.0) (print-game-text (lookup-text! *common-text* (text-id progress-autosave-disabled) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 65.0) (set-height! arg1 90) (print-game-text (lookup-text! *common-text* (text-id progress-autosave-reenable-info) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 85.0) (set-height! arg1 35) (let ((a0-16 arg1)) (set! (-> a0-16 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 5.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-error-disc-removed-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 120.0) (set-width! arg1 360) (set-height! arg1 35) (print-game-text (lookup-text! *common-text* (text-id progress-disc-removed-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 45.0) (set-height! arg1 85) (print-game-text (lookup-text! *common-text* (text-id progress-disc-removed-prompt) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (when (is-cd-in?) (+! (-> arg1 origin y) 95.0) (set-height! arg1 50) (let ((a0-12 arg1)) (set! (-> a0-12 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) ) 0 (none) ) (defmethod draw-option ((this menu-error-reading-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 90.0) (set! (-> arg1 origin y) 120.0) (set-width! arg1 330) (set-height! arg1 35) (print-game-text (lookup-text! *common-text* (text-id progress-disc-read-error) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 55.0) (set-height! arg1 85) (print-game-text (lookup-text! *common-text* (text-id progress-disc-read-error-prompt) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 105.0) (set-height! arg1 50) (let ((a0-12 arg1)) (set! (-> a0-12 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-icon-info-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (set! (-> *bigmap* auto-save-icon-flag) #t) (set! (-> this sprites 0 tid) (the-as texture-id (get-texture checkpoint level-default-minimap))) (set! (-> this sprites 0 scale-x) 1.0) (set! (-> this sprites 0 scale-y) 1.0) (let ((v1-6 (-> this sprites 0 color-ptr))) (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! (-> this sprites 0 pos z) #xffffff) (set! (-> this sprites 0 pos w) 0) (set-hud-piece-position! (-> this sprites 0) 240 160) (with-dma-buffer-add-bucket ((s2-0 (-> *display* frames (-> *display* on-screen) global-buf)) (bucket-id hud-draw-hud-alpha) ) ((method-of-type hud-sprite draw) (-> this sprites 0) s2-0 (-> *level* level-default) #t) ) (let ((a0-16 arg1)) (set! (-> a0-16 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 90.0) (set! (-> arg1 origin y) 80.0) (set-width! arg1 330) (set-height! arg1 85) (print-game-text (lookup-text! *common-text* (text-id progress-autosave-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 115.0) (set-height! arg1 95) (let ((s4-2 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-autosave-remove-warn) #f) 1) (s4-2 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 90.0) (set-height! arg1 50) (let ((a0-27 arg1)) (set! (-> a0-27 color) (font-color font-color-33)) ) (progress-method-40 arg0 arg1 (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) 0 (none) ) (defmethod draw-option ((this menu-format-card-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 80.0) (set-width! arg1 360) (set-height! arg1 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 hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 95.0) (set-height! arg1 85) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-formatting-required-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 95.0) (set-height! arg1 25) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 44 (-> arg1 alpha)) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-format?) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 25.0) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-already-exists-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 120.0) (set-width! arg1 360) (set-height! arg1 85) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-overwrite-warning) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 105.0) (set-height! arg1 45) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-overwrite-confirm?) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 45.0) (progress-method-40 arg0 arg1 (the int (+ 8.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-create-game-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 110.0) (set-width! arg1 360) (set-height! arg1 90) (let ((s4-0 print-game-text)) (format (clear *temp-string*) (lookup-text! *common-text* (text-id progress-memcard-no-save-data) #f) 1) (s4-0 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (+! (-> arg1 origin y) 95.0) (set-height! arg1 60) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-create-save-data?) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 70.0) (progress-method-40 arg0 arg1 (the int (+ 18.0 (-> arg1 origin y))) 22 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-video-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 85.0) (set-width! arg1 360) (set-height! arg1 45) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-change-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 50.0) (set-height! arg1 95) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-warn-2) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 85.0) (set-height! arg1 55) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-60hz-change-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 60.0) (set-height! arg1 30) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-continue?) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 20.0) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-video-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 130.0) (set-width! arg1 360) (set-height! arg1 50) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-60hz-change-complete) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 70.0) (set-height! arg1 50) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-keep) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 50.0) (progress-method-40 arg0 arg1 (the int (+ 12.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-progressive-mode-warning-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.5) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 75.0) (set-width! arg1 360) (set-height! arg1 50) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-warn-1) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 50.0) (set-height! arg1 90) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-warn-2) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 85.0) (set-height! arg1 75) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-60hz-change-notice) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 70.0) (set-height! arg1 30) (print-game-text (lookup-text! *common-text* (text-id progress-memcard-continue?) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 25.0) (progress-method-40 arg0 arg1 (the int (-> arg1 origin y)) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-progressive-mode-ok-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (set! (-> arg1 alpha) (- 1.0 (-> arg0 menu-transition))) (let ((a0-1 arg1)) (set! (-> a0-1 color) (font-color font-color-32)) ) (set-scale! arg1 0.55) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning middle middle-vert large)) ) (set! (-> arg1 origin x) 80.0) (set! (-> arg1 origin y) 90.0) (set-width! arg1 360) (set-height! arg1 80) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-change-complete) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 100.0) (set-height! arg1 75) (print-game-text (lookup-text! *common-text* (text-id progress-graphics-prog-scan-keep) #f) arg1 #f 44 (bucket-id hud-draw-hud-alpha) ) (+! (-> arg1 origin y) 70.0) (progress-method-40 arg0 arg1 (the int (+ 20.0 (-> arg1 origin y))) 24 (-> arg1 alpha)) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) 0 (none) ) (defmethod draw-option ((this menu-select-start-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-16 string) (sv-32 string) (sv-48 (function game-text-info text-id symbol string)) (sv-64 game-text-info) (sv-80 (function _varargs_ object)) (sv-96 string) (sv-112 string) (sv-128 (function game-text-info text-id symbol string)) (sv-144 game-text-info) ) (set! (-> *progress-list-level* mode) (-> arg0 current)) (set! (-> *progress-list-level* act) (-> *progress-work* selected-num)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (let ((s3-0 (length *progress-list-level*))) (set! (-> arg1 alpha) f30-0) (let ((a0-4 arg1)) (set! (-> a0-4 flags) (font-flags kerning large)) ) (set-scale! arg1 0.42) (progress-method-33 arg0 (-> *progress-work* body-footer)) (let ((s2-1 (max 0 (the int (-> this current-index)))) (s1-0 print-game-text) ) (let ((s0-0 format)) (set! sv-16 (clear *temp-string*)) (set! sv-32 "~S") (set! sv-64 *common-text*) (set! sv-48 (method-of-object sv-64 lookup-text!)) (let* ((a1-3 (-> (progress-list-method-9 *progress-list-level* s2-1) text-name)) (a2-1 #f) (a2-2 (sv-48 sv-64 a1-3 a2-1)) ) (s0-0 sv-16 sv-32 a2-2) ) ) (let ((f28-0 (s1-0 *temp-string* arg1 #t 44 (bucket-id hud-draw-hud-alpha)))) (let ((s1-1 (get-scissor-stack-top arg0))) (let ((f0-5 (- (-> s1-1 w) (-> s1-1 y)))) (let* ((v1-18 arg1) (f1-4 (+ 10.0 (-> s1-1 x))) (f2-3 8.0) (f3-1 (-> this current-index)) (f2-5 (+ (- f2-3 (* f28-0 (- f3-1 (* (the float (the int (/ f3-1 1.0))) 1.0)))) (-> s1-1 y))) ) (set! (-> v1-18 origin x) f1-4) (set! (-> v1-18 origin y) f2-5) ) (let ((v1-19 arg1)) (set! (-> v1-19 width) (+ (- -20.0 (-> s1-1 x)) (-> s1-1 z))) ) (set! (-> arg1 height) f0-5) ) (while (and (< (-> arg1 origin y) (-> s1-1 w)) (< s2-1 s3-0)) (cond ((= s2-1 (-> this selected-index)) (let ((a0-18 arg1)) (set! (-> a0-18 color) (font-color font-color-34)) ) ) (else (let ((a0-19 arg1)) (set! (-> a0-19 color) (font-color font-color-32)) ) ) ) (let ((s0-1 print-game-text)) (set! sv-80 format) (set! sv-96 (clear *temp-string*)) (set! sv-112 "~S") (set! sv-144 *common-text*) (set! sv-128 (method-of-object sv-144 lookup-text!)) (let* ((a1-7 (-> (progress-list-method-9 *progress-list-level* s2-1) text-name)) (a2-4 #f) (a2-5 (sv-128 sv-144 a1-7 a2-4)) ) (sv-80 sv-96 sv-112 a2-5) ) (let ((f26-0 (s0-1 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)))) (if (= s2-1 (-> this selected-index)) (progress-method-40 arg0 arg1 (the int (+ -2.0 (-> arg1 origin y))) (the int (+ 2.0 f26-0)) f30-0) ) (+! (-> arg1 origin y) f26-0) ) ) (+! s2-1 1) ) ) (seek! (-> this current-index) (-> this target-index) (* (/ (-> this scroll-speed) f28-0) (seconds-per-frame)) ) ) ) ) (progress-method-34 arg0) (let ((s3-1 *progress-work*)) (let* ((a0-28 arg0) (t9-16 (method-of-object a0-28 progress-method-46)) (a1-12 arg1) (a2-9 f30-0) (v1-46 (-> *progress-work* selected-num)) ) (t9-16 a0-28 a1-12 a2-9 (cond ((zero? v1-46) 54 ) ((= v1-46 1) 2126 ) ((= v1-46 2) 2127 ) (else 2128 ) ) ) ) (progress-method-42 arg0 (-> s3-1 footer) (* 64.0 f30-0)) (progress-method-41 arg0 (-> s3-1 footer) (* 128.0 f30-0)) ) ) (progress-method-47 arg0 arg1 (!= (-> this current-index) 0.0) (!= (-> this current-index) (the float (+ (-> arg0 total-num-tasks) -1))) ) 0 (none) ) (defmethod draw-option ((this menu-select-scene-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (sv-16 (function _varargs_ object)) (sv-32 string) (sv-48 string) (sv-64 (function string font-context symbol int bucket-id float)) (sv-80 (function _varargs_ object)) (sv-96 string) (sv-112 string) ) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (let* ((v1-3 (-> *progress-work* selected-num)) (s3-0 (cond ((zero? v1-3) *hud-select-scene-act1* ) ((= v1-3 1) *hud-select-scene-act2* ) ((= v1-3 2) *hud-select-scene-act3* ) (else *hud-select-scene-commentary* ) ) ) (s2-0 (-> s3-0 length)) ) (set! (-> arg1 alpha) f30-0) (let ((a0-3 arg1)) (set! (-> a0-3 flags) (font-flags kerning large)) ) (set-scale! arg1 0.42) (progress-method-33 arg0 (-> *progress-work* body-footer)) (let ((s1-1 (max 0 (the int (-> this current-index)))) (s0-0 print-game-text) ) (set! sv-16 format) (set! sv-32 (clear *temp-string*)) (set! sv-48 "~S") (let ((a2-2 (lookup-text! *common-text* (-> s3-0 s1-1 text) #f))) (sv-16 sv-32 sv-48 a2-2) ) (let ((f28-0 (s0-0 *temp-string* arg1 #t 44 (bucket-id hud-draw-hud-alpha)))) (let ((s0-1 (get-scissor-stack-top arg0))) (let ((f0-5 (- (-> s0-1 w) (-> s0-1 y)))) (let* ((v1-16 arg1) (f1-4 (+ 10.0 (-> s0-1 x))) (f2-3 8.0) (f3-1 (-> this current-index)) (f2-5 (+ (- f2-3 (* f28-0 (- f3-1 (* (the float (the int (/ f3-1 1.0))) 1.0)))) (-> s0-1 y))) ) (set! (-> v1-16 origin x) f1-4) (set! (-> v1-16 origin y) f2-5) ) (let ((v1-17 arg1)) (set! (-> v1-17 width) (+ (- -20.0 (-> s0-1 x)) (-> s0-1 z))) ) (set! (-> arg1 height) f0-5) ) (while (and (< (-> arg1 origin y) (-> s0-1 w)) (< s1-1 s2-0)) (cond ((= s1-1 (-> this selected-index)) (let ((a0-16 arg1)) (set! (-> a0-16 color) (font-color font-color-34)) ) ) (else (let ((a0-17 arg1)) (set! (-> a0-17 color) (font-color font-color-32)) ) ) ) (set! sv-64 print-game-text) (set! sv-80 format) (set! sv-96 (clear *temp-string*)) (set! sv-112 "~S") (let ((a2-5 (lookup-text! *common-text* (-> s3-0 s1-1 text) #f))) (sv-80 sv-96 sv-112 a2-5) ) (let* ((a0-21 *temp-string*) (a1-7 arg1) (a2-6 #f) (a3-2 40) (t0-2 579) (f26-0 (sv-64 a0-21 a1-7 a2-6 a3-2 (the-as bucket-id t0-2))) ) (if (= s1-1 (-> this selected-index)) (progress-method-40 arg0 arg1 (the int (+ -2.0 (-> arg1 origin y))) (the int (+ 2.0 f26-0)) f30-0) ) (+! (-> arg1 origin y) f26-0) ) (+! s1-1 1) ) ) (seek! (-> this current-index) (-> this target-index) (* (/ (-> this scroll-speed) f28-0) (seconds-per-frame)) ) ) ) ) (progress-method-34 arg0) (let ((s3-1 *progress-work*)) (let* ((a0-25 arg0) (t9-13 (method-of-object a0-25 progress-method-46)) (a1-10 arg1) (a2-9 f30-0) (v1-44 (-> *progress-work* selected-num)) ) (t9-13 a0-25 a1-10 a2-9 (cond ((zero? v1-44) 91 ) ((= v1-44 1) 92 ) ((= v1-44 2) 93 ) (else 2002 ) ) ) ) (progress-method-42 arg0 (-> s3-1 footer) (* 64.0 f30-0)) (progress-method-41 arg0 (-> s3-1 footer) (* 128.0 f30-0)) ) ) (progress-method-47 arg0 arg1 (!= (-> this current-index) 0.0) (!= (-> this current-index) (the float (+ (-> arg0 total-num-tasks) -1))) ) 0 (none) ) (defmethod draw-option ((this menu-qr-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((f30-0 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition)))))) (set! (-> arg1 alpha) f30-0) (progress-method-38 arg0 arg1 (-> this offset-y)) (cond (arg3 (let ((a0-2 arg1)) (set! (-> a0-2 color) (font-color font-color-34)) ) ) ((= (-> arg0 option-index) arg2) (let ((v1-6 arg1)) (set! (-> v1-6 color) (font-color font-color-33)) ) ) (else (let ((v1-7 arg1)) (set! (-> v1-7 color) (font-color font-color-32)) ) ) ) (set-scale! arg1 0.75) (let ((f28-0 (print-game-text (lookup-text! *common-text* (-> this name) #f) arg1 #f 24 (bucket-id hud-draw-hud-alpha)) ) ) (when (= (-> arg0 option-index) arg2) (progress-method-40 arg0 arg1 (the int (+ -2.0 (-> arg1 origin y))) (the int (+ 8.0 f28-0)) f30-0) (set! (-> arg1 origin y) (+ 4.0 f28-0 (-> arg1 origin y))) ) ) (when arg3 (set-scale! arg1 0.6) (draw-yes-no-style-footer arg0 arg1 (text-id progress-yes) (text-id progress-no)) ) (if (zero? arg2) (progress-method-46 arg0 arg1 f30-0 116) ) ) 0 (none) ) (defun unlocked-secret-menu? ((arg0 game-secrets)) (logtest? arg0 (game-secrets scene-player-1 scene-player-2 scene-player-3 title-commentary level-select-1 level-select-2 level-select-3 scrap-book-1 scrap-book-2 model-viewer-1 model-viewer-2 model-viewer-3 ) ) ) ;; WARN: Return type mismatch object vs game-secrets. (defun memcard-unlocked-secrets? ((arg0 object) (arg1 symbol)) (let ((v1-0 *progress-save-info*) (s5-0 (the-as object 0)) ) (let ((a0-1 4) (s4-0 *progress-work*) ) (when (and v1-0 (= (-> v1-0 formatted) 1) (= (-> v1-0 inited) 1)) (dotimes (a1-6 a0-1) (set! s5-0 (logior (the-as int s5-0) (-> v1-0 file a1-6 purchase-secrets))) ) ) (if (or (nonzero? (-> *setting-control* user-current subtitle-language)) (nonzero? (-> *setting-control* user-current language)) (nonzero? (-> *setting-control* user-current audio-language)) ) (set! s5-0 (logand -17 (the-as int s5-0))) ) (cond ((kiosk?) (set! (-> s4-0 secrets-unlocked) (the-as basic #t)) (set! s5-0 (logior (the-as int s5-0) 32)) ) ((unlocked-secret-menu? (the-as game-secrets s5-0)) (set! (-> s4-0 secrets-unlocked) (the-as basic #t)) ) (else (set! (-> s4-0 secrets-unlocked) #f) ) ) (when *cheat-mode* (set! (-> s4-0 secrets-unlocked) (the-as basic #t)) (set! s5-0 (logior (the-as int s5-0) #x3bfe)) ) ) (the-as game-secrets (cond (arg1 (empty) s5-0 ) (else (unlocked-secret-menu? (the-as game-secrets s5-0)) ) ) ) ) ) (defun num-unlocked-secret? ((arg0 game-secrets)) (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 title-commentary)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets level-select-1)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets level-select-2)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets level-select-3)) (+! 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 model-viewer-1)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets model-viewer-2)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets model-viewer-3)) (+! v0-0 1) ) (if (logtest? arg0 (game-secrets hero-mode)) (+! v0-0 1) ) v0-0 ) ) (defmethod secret-item-option-method-12 ((this secret-item-option)) (cond ((logtest? (-> this flags) (secret-item-option-flags sf0)) 5 ) ((logtest? (-> *game-info* purchase-secrets) (-> this secret)) (if (logtest? (-> *game-info* secrets) (-> this secret)) 1 2 ) ) ((and (not (task-node-closed? (-> this avail-after))) (not (logtest? (-> *game-info* secrets) (game-secrets hero-mode))) ) 4 ) ((!= (logand (-> *game-info* purchase-secrets) (-> this required-secrets)) (-> this required-secrets)) 3 ) (else 0 ) ) ) (defmethod secret-item-option-method-13 ((this secret-item-option)) (local-vars (v0-1 game-vehicles)) (when (zero? (secret-item-option-method-12 this)) (case (-> this secret) (((game-secrets hero-mode)) (logior! (-> *game-info* purchase-secrets) (-> this secret)) ) (else (logior! (-> *game-info* purchase-secrets) (-> this secret)) (set! (-> *game-info* secrets) (logclear (logior (-> *game-info* secrets) (-> this secret)) (-> this mask-secrets)) ) ) ) (case (-> this secret) (((game-secrets vehicle-fox)) (set! v0-1 (logior (-> *game-info* vehicles) (game-vehicles v-fox))) (set! (-> *game-info* vehicles) v0-1) v0-1 ) (((game-secrets vehicle-mirage)) (set! v0-1 (logior (-> *game-info* vehicles) (game-vehicles v-mirage))) (set! (-> *game-info* vehicles) v0-1) v0-1 ) (((game-secrets vehicle-x-ride)) (set! v0-1 (logior (-> *game-info* vehicles) (game-vehicles v-x-ride))) (set! (-> *game-info* vehicles) v0-1) v0-1 ) ) ) ) ;; ERROR: Function may read a register that is not set: t1 (defmethod draw-option ((this menu-secret-option) (arg0 progress) (arg1 font-context) (arg2 int) (arg3 symbol)) (local-vars (a0-19 string) (t1-0 int) (sv-16 float) (sv-24 int) (sv-96 int) (sv-112 int) (sv-128 int) (sv-144 string) (sv-160 string) (sv-176 (function _varargs_ object)) (sv-192 string) (sv-208 text-id) (sv-224 (function _varargs_ object)) (sv-240 string) (sv-256 (function string font-context symbol int bucket-id float)) (sv-272 (function _varargs_ object)) (sv-288 int) (sv-304 (function string font-context symbol int bucket-id float)) (sv-320 (function _varargs_ object)) (sv-336 (function _varargs_ object)) (sv-352 string) (sv-368 string) (sv-384 (function _varargs_ object)) (sv-400 (function _varargs_ object)) (sv-416 (function _varargs_ object)) ) (set! sv-16 (fmax 0.0 (* 2.0 (- 0.5 (-> arg0 menu-transition))))) (set! sv-24 (the int (-> *game-info* skill))) (set! (-> arg1 alpha) sv-16) (cond ((not (loaded? *bigmap*)) (progress-method-51 arg0 arg1) ) (else (new 'stack 'hud-sprite) (let ((s2-0 (get-texture hud-orb progress-minimap))) (when (and s2-0 (not (-> this available-title))) (progress-method-33 arg0 (-> *progress-work* sub-header)) (let ((s3-0 (get-scissor-stack-top arg0))) (let* ((f0-5 0.64) (f30-0 (+ 10.0 (* (the float (-> s2-0 w)) f0-5 (-> *video-params* relative-x-scale)))) ) (let ((f1-5 (* (the float (-> s2-0 h)) f0-5))) (+ (- (- -20.0 f30-0) (-> s3-0 x)) (-> s3-0 z)) (set! t1-0 (logior #x808080 (shr (shl (the int (* 128.0 sv-16)) 56) 32))) (draw-icon-array! (-> *progress-icon-arrays* 68) (the int (+ 10.0 (-> s3-0 x))) (the int (+ (-> s3-0 y) (* 0.5 (- 28.0 f1-5)))) f0-5 f0-5 (the-as rgba t1-0) sv-16 ) ) (let ((v1-26 arg1)) (set! (-> v1-26 height) 28.0) ) (let ((a0-13 arg1)) (set! (-> a0-13 flags) (font-flags kerning large)) ) (let ((f28-0 0.45)) (let ((a0-14 arg1)) (set! (-> a0-14 color) (font-color font-color-34)) ) (cond ((-> this buy-menu) (let ((s2-1 format) (s1-0 (clear *temp-string*)) (s0-0 "x~D ~S") ) (set! sv-96 (-> *menu-secrets-array* (-> this selected-index) cost)) (let ((a3-2 (lookup-text! *common-text* (text-id progress-secrets-price) #f))) (s2-1 s1-0 s0-0 sv-96 a3-2) ) ) (set! a0-19 *temp-string*) ) (else (let ((s2-2 format) (s1-1 (clear *temp-string*)) (s0-1 "x~D ~S") ) (set! sv-112 sv-24) (let ((a3-3 (lookup-text! *common-text* (text-id progress-secrets-orbs-available) #f))) (s2-2 s1-1 s0-1 sv-112 a3-3) ) ) (set! a0-19 *temp-string*) ) ) (set-scale! arg1 f28-0) (let ((v1-43 arg1) (f0-10 (+ (-> s3-0 x) f30-0)) (f1-11 (+ (-> s3-0 y) (* 0.5 (- 28.0 (* 32.0 f28-0))))) ) (set! (-> v1-43 origin x) f0-10) (set! (-> v1-43 origin y) f1-11) ) ) ) (print-game-text a0-19 arg1 #f 44 (bucket-id hud-draw-hud-alpha)) (let ((a0-23 arg1)) (set! (-> a0-23 flags) (font-flags kerning right large)) ) (set! (-> arg1 origin x) (+ -10.0 (-> s3-0 z))) ) (let ((s3-1 print-game-text)) (let ((s2-3 format) (s1-2 (clear *temp-string*)) (s0-2 "~D/600 ~S") ) (set! sv-128 (the int (-> *game-info* skill-total))) (let ((a3-5 (lookup-text! *common-text* (text-id progress-secrets-orbs-collected) #f))) (s2-3 s1-2 s0-2 sv-128 a3-5) ) ) (let ((a0-27 *temp-string*) (a1-15 arg1) (a2-9 #f) (a3-6 44) ) (set! arg3 (the-as symbol 579)) (s3-1 a0-27 a1-15 a2-9 a3-6 (the-as bucket-id arg3)) ) ) (progress-method-34 arg0) ) ) (set-scale! arg1 0.42) (cond ((-> this available-title) (progress-method-33 arg0 (-> *progress-work* body-footer)) (progress-method-53 arg0 arg1) (let ((a0-32 arg1)) (set! (-> a0-32 color) (font-color font-color-32)) ) (let ((a0-33 arg1)) (set! (-> a0-33 flags) (font-flags kerning middle middle-vert large)) ) (let ((s4-1 print-game-text)) (let* ((s3-2 format) (s2-4 (clear *temp-string*)) (a0-35 *common-text*) (t9-22 (method-of-object a0-35 lookup-text!)) (a1-18 128) (a2-10 #f) ) (s3-2 s2-4 (t9-22 a0-35 (the-as text-id a1-18) a2-10) (the-as none a2-10)) ) (s4-1 *temp-string* arg1 #f 44 (bucket-id hud-draw-hud-alpha)) ) (progress-method-34 arg0) (progress-method-33 arg0 (-> *progress-work* footer)) (let ((a0-40 arg1)) (set! (-> a0-40 flags) (font-flags kerning middle large)) ) (progress-method-38 arg0 arg1 0.1) (let ((a0-42 arg1)) (set! (-> a0-42 color) (font-color font-color-33)) ) (let ((f0-16 (print-game-text (lookup-text! *common-text* (text-id progress-continue) #f) arg1 #f 32 (bucket-id hud-draw-hud-alpha) ) ) ) (progress-method-40 arg0 arg1 (the int (+ -2.0 (-> arg1 origin y))) (the int (+ 4.0 f0-16)) (-> arg1 alpha)) ) (progress-method-34 arg0) ) ((-> this buy-menu) (progress-method-33 arg0 (-> *progress-work* body)) (progress-method-38 arg0 arg1 0.45) (progress-method-50 arg0 arg1 (-> *menu-secrets-array* (-> this selected-index) name) (text-id progress-secrets-buy) (text-id progress-secrets-cancel) #t #t 0.65 ) (let ((s4-3 *progress-work*)) (progress-method-46 arg0 arg1 sv-16 84) (progress-method-41 arg0 (-> s4-3 sub-header) (* 128.0 sv-16)) ) (progress-method-34 arg0) ) (else (progress-method-33 arg0 (-> *progress-work* sub-body-footer)) (let* ((s3-3 (get-scissor-stack-top arg0)) (f22-0 (- (-> s3-3 w) (-> s3-3 y))) (f30-1 (+ 10.0 (* 24.0 (-> *video-params* relative-x-scale) (-> arg1 scale)))) (f28-1 (+ (- -10.0 (-> s3-3 x)) (-> s3-3 z))) (s2-5 get-string-length) ) (let ((s1-3 format) (s0-3 (clear *temp-string*)) ) (set! sv-144 "~32L~S~44L ~S") (set! sv-160 (lookup-text! *common-text* (text-id progress-on) #f)) (let ((a3-12 (lookup-text! *common-text* (text-id progress-off) #f))) (s1-3 s0-3 sv-144 sv-160 a3-12 (the-as none arg3) (the-as none t1-0)) ) ) (let* ((f0-27 (-> (s2-5 *temp-string* arg1) length)) (f26-0 (- (- (- f28-1 f30-1) f0-27) f30-1)) ) (- f28-1 f26-0) (let ((a0-60 arg1)) (set! (-> a0-60 flags) (font-flags kerning large)) ) (let ((v1-100 arg1)) (set! (-> v1-100 width) f26-0) ) (let ((s2-6 *menu-secrets-array*) (s1-5 (max 0 (the int (-> this current-index)))) ) (let* ((a0-61 (-> s2-6 s1-5)) (s0-4 (-> a0-61 name)) ) (case (secret-item-option-method-12 a0-61) ((4) (set! sv-192 "?????????") ) (else (set! sv-192 (lookup-text! *common-text* s0-4 #f)) ) ) ) (let ((s0-5 print-game-text)) (set! sv-176 format) (let ((a0-65 (clear *temp-string*)) (a1-37 "~S") ) (sv-176 a0-65 a1-37 sv-192) ) (let ((f24-0 (s0-5 *temp-string* arg1 #t 40 (bucket-id hud-draw-hud-alpha)))) (let ((f0-33 4.0) (f1-25 (-> this current-index)) ) (set! (-> arg1 origin y) (+ (- f0-33 (* f24-0 (- f1-25 (* (the float (the int (/ f1-25 1.0))) 1.0)))) (-> s3-3 y)) ) ) (set! (-> arg1 height) f22-0) (while (and (< (-> arg1 origin y) (-> s3-3 w)) (< s1-5 (-> *menu-secrets-array* length))) (let ((s0-6 (-> s2-6 s1-5))) (set! sv-208 (-> s2-6 s1-5 name)) (set! sv-288 (secret-item-option-method-12 s0-6)) (case sv-288 ((4) (set! sv-240 "?????????") ) (else (let* ((a0-69 *common-text*) (t9-51 (method-of-object a0-69 lookup-text!)) (a2-27 #f) ) (set! sv-240 (t9-51 a0-69 sv-208 a2-27)) ) ) ) (cond ((logtest? (-> s2-6 s1-5 flags) (secret-item-option-flags sf0)) (set! (-> arg1 origin x) (+ 10.0 (-> s3-3 x))) (let ((v1-130 arg1)) (set! (-> v1-130 width) f28-1) ) (let ((a0-70 arg1)) (set! (-> a0-70 color) (font-color font-color-34)) ) (let ((a0-71 arg1)) (set! (-> a0-71 flags) (font-flags kerning large)) ) (let ((f22-1 (-> arg1 origin y)) (s0-7 print-game-text) ) (set! sv-224 format) (let ((a0-73 (clear *temp-string*)) (a1-40 "~S") ) (sv-224 a0-73 a1-40 sv-240) ) (set! (-> arg1 origin y) (+ f22-1 (s0-7 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)))) ) ) ((not (and (logtest? (-> s2-6 s1-5 flags) (secret-item-option-flags sf4)) (or (nonzero? (-> *setting-control* user-current subtitle-language)) (nonzero? (-> *setting-control* user-current language)) (nonzero? (-> *setting-control* user-current audio-language)) ) ) ) (set! (-> arg1 origin x) (+ (-> s3-3 x) f30-1)) (let ((v1-147 arg1)) (set! (-> v1-147 width) f26-0) ) (let ((v1-148 sv-288)) (cond ((or (= v1-148 4) (= v1-148 3)) (let ((a0-79 arg1)) (set! (-> a0-79 flags) (font-flags kerning large ff7)) ) (let ((v1-150 arg1)) (set! (-> v1-150 color) (font-color font-color-44)) ) ) ((zero? v1-148) (let ((a0-81 arg1)) (set! (-> a0-81 flags) (font-flags kerning large)) ) (let ((v1-152 arg1)) (set! (-> v1-152 color) (font-color font-color-34)) ) ) (else (let ((a0-83 arg1)) (set! (-> a0-83 flags) (font-flags kerning large)) ) (let ((v1-154 arg1)) (set! (-> v1-154 color) (font-color font-color-32)) ) ) ) ) (let ((f22-2 (-> arg1 origin y))) (set! sv-256 print-game-text) (set! sv-272 format) (let ((a0-86 (clear *temp-string*)) (a1-44 "~S") (a2-30 sv-240) ) (sv-272 a0-86 a1-44 a2-30) ) (let* ((a0-87 *temp-string*) (a1-45 arg1) (a2-31 #f) (a3-15 40) (t0-9 579) (f20-0 (sv-256 a0-87 a1-45 a2-31 a3-15 (the-as bucket-id t0-9))) ) (when (not (logtest? (-> s2-6 s1-5 flags) (secret-item-option-flags sf0))) (set! (-> arg1 origin x) (+ (-> s3-3 x) f28-1)) (let ((a0-88 arg1)) (set! (-> a0-88 flags) (font-flags kerning right large)) ) (set! sv-352 (lookup-text! *common-text* (text-id progress-on) #f)) (set! sv-368 (lookup-text! *common-text* (text-id progress-off) #f)) (cond ((or (zero? sv-288) (= sv-288 3)) (set! sv-304 print-game-text) (set! sv-320 format) (let ((a0-93 (clear *temp-string*)) (a1-48 "~d") (a2-34 (-> s0-6 cost)) ) (sv-320 a0-93 a1-48 a2-34) ) (let ((a0-94 *temp-string*) (a1-49 arg1) (a2-35 #f) (a3-16 40) (t0-10 579) ) (sv-304 a0-94 a1-49 a2-35 a3-16 (the-as bucket-id t0-10)) ) ) ((= sv-288 1) (cond ((logtest? (-> s2-6 s1-5 flags) (secret-item-option-flags sf1)) (let ((s0-8 print-game-text)) (set! sv-336 format) (let ((a0-97 (clear *temp-string*)) (a1-50 "~32L~S~44L ~S") ) (sv-336 a0-97 a1-50 sv-352 sv-368 (the-as none t0-9) (the-as none t1-0)) ) (s0-8 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)) ) ) (else (let ((s0-9 print-game-text)) (set! sv-384 format) (let ((a0-100 (clear *temp-string*)) (a1-52 "~S") (a2-38 sv-352) ) (sv-384 a0-100 a1-52 a2-38) ) (s0-9 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)) ) ) ) ) ((= sv-288 2) (cond ((logtest? (-> s2-6 s1-5 flags) (secret-item-option-flags sf1)) (let ((s0-10 print-game-text)) (set! sv-400 format) (let ((a0-104 (clear *temp-string*)) (a1-54 "~44L~S ~32L~S~1L") (a2-40 sv-352) (a3-20 sv-368) ) (sv-400 a0-104 a1-54 a2-40 a3-20 (the-as none t0-9) (the-as none t1-0)) ) (s0-10 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)) ) ) (else (let ((s0-11 print-game-text)) (set! sv-416 format) (let ((a0-107 (clear *temp-string*)) (a1-56 "~S") (a2-42 sv-368) ) (sv-416 a0-107 a1-56 a2-42) ) (s0-11 *temp-string* arg1 #f 40 (bucket-id hud-draw-hud-alpha)) ) ) ) ) ) ) (+! (-> arg1 origin y) f20-0) (if (= s1-5 (-> this selected-index)) (progress-method-40 arg0 arg1 (the int (+ -2.0 f22-2)) (the int (+ 3.0 f20-0)) sv-16) ) ) ) ) ) ) (+! s1-5 1) ) (seek! (-> this current-index) (-> this target-index) (* (/ 600.0 f24-0) (seconds-per-frame))) ) ) ) ) ) (progress-method-34 arg0) (let ((s3-4 *progress-work*)) (progress-method-46 arg0 arg1 sv-16 84) (progress-method-41 arg0 (-> s3-4 sub-header) (* 128.0 sv-16)) (progress-method-42 arg0 (-> s3-4 footer) (* 64.0 sv-16)) (progress-method-41 arg0 (-> s3-4 footer) (* 128.0 sv-16)) ) (progress-method-47 arg0 arg1 (!= (-> this current-index) 0.0) (!= (-> this current-index) (the float (+ (-> *menu-secrets-array* length) -1))) ) ) ) ) ) 0 (none) )