[jak2] make progress menu work for widescreen + various other fixes (#2843)

Lots of manual fixes to make the text and other UI elements in the
progress fit within the small 4x3 view.


![image](https://cdn.discordapp.com/attachments/995787558816595968/1132986451664056423/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133064077460131840/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133074288564510780/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133117633898762280/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133117633470922842/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133135949610627225/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133146823968706621/image.png)

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133153504417042593/image.png)

I've also changed the select start menus to not have that giant space in
each option. It's behind a toggle in the code right now.

![image](https://cdn.discordapp.com/attachments/995787558816595968/1133146382006489138/image.png)

Additionally:
- fixed city billboard particles
- fix stadium crash from original game
- fix an accidental regression
This commit is contained in:
ManDude
2023-07-26 17:20:22 +01:00
committed by GitHub
parent f327e67182
commit 05b7b571c8
21 changed files with 2673 additions and 1122 deletions
+20 -20
View File
@@ -22142,18 +22142,18 @@
:size-assert #x164
:flag-assert #x2100f00164
(:methods
(come-in () _type_ :state 20) ;; (hidden? (_type_) symbol 20)
(idle () _type_ :state 21) ;; (adjust-sprites (_type_) none 21)
(go-away () _type_ :state 22) ;; (adjust-icons (_type_) none 22)
(gone () _type_ :state 23) ;; (adjust-ratios (_type_ symbol symbol) none 23)
(init-defaults "Initialize default menu settings." (_type_) connection 24) ;; (draw-fuel-cell-screen (_type_ int) none 24)
(progress-method-25 (_type_) none 25) ;; (draw-money-screen (_type_ int) none 25)
(is-gone (_type_) object 26) ;; (draw-buzzer-screen (_type_ int) none 26)
(can-go-back? (_type_) symbol 27) ;; (draw-notice-screen (_type_) none 27)
(progress-method-28 (_type_ symbol) symbol 28) ;; (draw-options (_type_ int int float) none 28)
(progress-method-29 (_type_) int 29) ;; (respond-common (_type_) none 29)
(progress-method-30 (_type_) int 30) ;; (respond-progress (_type_) none 30)
(set-next-state "Set the next menu state specified by arg0 at the index specified by arg1." (_type_ symbol int) int 31) ;; (respond-memcard (_type_) none 31)
(come-in () _type_ :state 20)
(idle () _type_ :state 21)
(go-away () _type_ :state 22)
(gone () _type_ :state 23)
(init-defaults "Initialize default menu settings." (_type_) connection 24)
(respond-to-cpad (_type_) none 25)
(gone? (_type_) object 26)
(can-go-back? (_type_) symbol 27)
(get-state-check-card (_type_ symbol) symbol 28)
(push-state (_type_) int 29)
(pop-state (_type_) int 30)
(set-next-state "Set the next menu state specified by arg0 at the index specified by arg1." (_type_ symbol int) int 31)
(set-menu-options "Set the menu options for the menu state specified by arg0." (_type_ symbol) int 32)
)
)
@@ -22173,7 +22173,7 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(respond-progress "Handle progress menu navigation logic." (_type_ progress object) int :behavior progress 9)
(respond-progress "Handle progress menu navigation logic." (_type_ progress symbol) int :behavior progress 9)
(draw-option (_type_ progress font-context int symbol) none 10)
(menu-option-method-11 () none 11)
)
@@ -31077,12 +31077,12 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftype print-highscore-obj (basic)
((self texture-page :offset-assert 4)
((self menu-highscores-option :offset-assert 4)
(index int32 :offset-assert 8)
(previous texture-page :offset-assert 12) ; guess
(previous symbol :offset-assert 12) ; guess
(place int32 :offset-assert 16)
(score float :offset-assert 20)
(game-score basic :offset-assert 24)
(game-score symbol :offset-assert 24)
(context font-context :offset-assert 28)
(local-scale float :offset-assert 32)
(interp float :offset-assert 36)
@@ -31124,16 +31124,16 @@
(define-extern get-level-icon-id-02 "TODO - Icon id enum perhaps?" (function int texture-id))
(define-extern get-level-icon-id-03 "TODO - Icon id enum perhaps?" (function int texture-id))
(define-extern get-level-icon-id-04 "TODO - Icon id enum perhaps?" (function int texture-id))
(define-extern draw-decoration (function menu-option font-context float int symbol float pointer))
(define-extern draw-decoration (function menu-option font-context float text-id symbol float pointer))
(define-extern draw-missions-decoration (function menu-missions-option font-context float text-id pointer))
(define-extern draw-sound-options-decoration (function menu-slider-option font-context float symbol text-id pointer))
(define-extern draw-sound-options-decoration (function menu-slider-option font-context float text-id symbol pointer))
(define-extern draw-decoration-secrets (function menu-option font-context float text-id pointer))
(define-extern draw-decoration-load-save (function menu-option font-context float int pointer))
(define-extern draw-decoration-load-save (function menu-option font-context float text-id pointer))
(define-extern sort-task-node-result (function int none))
(define-extern find-mission-text-at-index (function int game-task-node-info))
(define-extern draw-secret-list (function secret-item-option progress font-context int symbol float none))
(define-extern draw-highscore-icon (function menu-highscores-option uint int int float pointer))
(define-extern draw-highscore-cup "First int is an enum" (function texture-page int int int float float pointer))
(define-extern draw-highscore-cup "First int is an enum" (function menu-highscores-option int int int float float pointer))
(define-extern get-highscore-score "TODO - takes and returns an enum?" (function int int))
(define-extern eval-highscore (function print-highscore-obj int))
(define-extern str-print-time (function float string))
+1 -3
View File
@@ -184,9 +184,7 @@
// STR files containing a texture that should be used by
// FR3 creation.
"str_texture_file_names" : [
"STR/PRMINIMA.STR"
],
"str_texture_file_names": ["STR/PRMINIMA.STR"],
// some objects are part of STR files (streaming data).
"str_file_names": [
@@ -4341,5 +4341,25 @@
"vars": {
"s2-0": ["s2-0", "pickup-type"]
}
},
"get-level-icon-id-01": {
"vars": {
"v0-0": ["tex", "texture-id"]
}
},
"get-level-icon-id-02": {
"vars": {
"v0-0": ["tex", "texture-id"]
}
},
"get-level-icon-id-03": {
"vars": {
"v0-0": ["tex", "texture-id"]
}
},
"get-level-icon-id-04": {
"vars": {
"v0-0": ["tex", "texture-id"]
}
}
}
+1
View File
@@ -359,6 +359,7 @@
"progress-static.o"
"progress.o"
"progress-draw.o"
"progress-draw-pc.o" ;; added
"ocean.o"
"ocean-vu0.o"
"ocean-texture.o"
+5
View File
@@ -339,3 +339,8 @@
s4-0
)
)
(defmacro language? (&rest langs)
"is the current language any of the ones specified?"
`(or ,(apply (lambda (x) `(= (-> *setting-control* user-default language) (language-enum ,x))) langs)))
+14 -11
View File
@@ -1063,6 +1063,9 @@
(throne 0 #f #f)
(garage 0 #f #f)
(stadium 0 #f #f)
(stadiumb 0 #f #f) ;; added
(stadiumc 0 #f #f) ;; added
(stadiumd 0 #f #f) ;; added
(introcst 0 lintcstb #f)
(onintent 0 ltentout display)
)
@@ -5682,7 +5685,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((garage 0 lgarcsta #f) (stadium 0 lracelit special) (ctywide 0 lracebf special))
:borrow '((garage 0 lgarcsta #f) (stadium 0 lracelit special) (stadiumb 0 lracebf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (= (level-status *level* 'stadium) 'active))
:on-close #f
:description (text-id progress-missions-stadium-race-class3)
@@ -5715,7 +5718,7 @@
)
:on-open #f
:info #f
:borrow '((garage 0 lashgrd #f) (stadium 0 lracelit special) (ctywide 0 lracebf special))
:borrow '((garage 0 lashgrd #f) (stadium 0 lracelit special) (stadiumb 0 lracebf special)) ;; changed from ctywide
:open? #f
:on-close #f
:description (text-id progress-missions-stadium-race-class3)
@@ -7167,7 +7170,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((garage 0 lsamergd #f) (stadium 0 lracelit special) (ctywide 0 lracecf special))
:borrow '((garage 0 lsamergd #f) (stadium 0 lracelit special) (stadiumc 0 lracecf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (= (level-status *level* 'stadium) 'active))
:on-close #f
:description (text-id progress-missions-stadium-race-class2)
@@ -7200,7 +7203,7 @@
)
:on-open #f
:info #f
:borrow '((garage 0 lashgrd #f) (stadium 0 lracelit special) (ctywide 0 lracecf special))
:borrow '((garage 0 lashgrd #f) (stadium 0 lracelit special) (stadiumc 0 lracecf special)) ;; changed from ctywide
:open? #f
:on-close #f
:description (text-id progress-missions-stadium-race-class2)
@@ -8284,7 +8287,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracedf special))
:borrow '((stadium 0 lracelit special) (stadiumd 0 lracedf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (= (level-status *level* 'stadium) 'active))
:on-close #f
:description (text-id progress-missions-stadium-race-class1)
@@ -11929,7 +11932,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracebf special))
:borrow '((stadium 0 lracelit special) (stadiumb 0 lracebf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -12006,7 +12009,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracecf special))
:borrow '((stadium 0 lracelit special) (stadiumc 0 lracecf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -12083,7 +12086,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracedf special))
:borrow '((stadium 0 lracelit special) (stadiumd 0 lracedf special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -12154,7 +12157,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracebb special))
:borrow '((stadium 0 lracelit special) (stadiumb 0 lracebb special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -12225,7 +12228,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracecb special))
:borrow '((stadium 0 lracelit special) (stadiumc 0 lracecb special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -12296,7 +12299,7 @@
:on-complete #f
:on-fail #f
)
:borrow '((stadium 0 lracelit special) (ctywide 0 lracedb special))
:borrow '((stadium 0 lracelit special) (stadiumd 0 lracedb special)) ;; changed from ctywide
:open? (lambda ((arg0 game-task-node-info)) (let ((v1-1 (level-get-target-inside *level*)))
(the-as symbol (and v1-1 (= (-> v1-1 info taskname) (-> arg0 level))))
)
@@ -1627,124 +1627,88 @@
(none)
)
;; TODO: vf1/vf2 get set from somewhere...
(defun sparticle-texture-day-night ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-2d))
(local-vars
(v1-9 uint128)
(v1-10 uint128)
(v1-13 uint128)
(v1-14 uint128)
(v1-23 uint128)
(v1-24 uint128)
(v1-27 uint128)
(v1-28 uint128)
(v1-33 float)
(a0-5 float)
(a0-11 float)
(t7-0 uint) ;; changed
(t7-3 uint) ;; changed
(s3-0 float)
(s4-0 float)
)
(rlet ((vf1 :class vf)
(vf2 :class vf)
)
(let ((s2-0 (the-as object (-> arg1 user-float))))
(when (nonzero? (the-as float s2-0))
(let* ((v1-1 *time-of-day*)
(s1-0 (if v1-1
(-> v1-1 0 hours)
0
)
)
(f0-0 (rand-vu))
)
(.mov s4-0 vf1)
(.mov s3-0 vf2)
(cond
((or (< s1-0 6) (< 18 s1-0))
(let ((a1-1 (-> (the-as (array int32) s2-0) 7)))
(when (nonzero? a1-1)
(let ((v1-6 f0-0))
(.mov vf2 v1-6)
)
(let ((v1-8 (the-as uint128 (make-u128 0 (-> (the-as (array int32) s2-0) 9)))))
(.pextlb v1-9 0 v1-8)
)
(.pextlb v1-10 0 v1-9)
(.mov vf1 v1-10)
(.itof.vf vf1 vf1)
(.mul.x.vf vf1 vf1 vf2)
(let ((v1-12 (the-as uint128 (make-u128 0 (-> (the-as (array int32) s2-0) 8)))))
(.pextlb v1-13 0 v1-12)
)
(.pextlb v1-14 0 v1-13)
(.mov vf2 v1-14)
(.itof.vf vf2 vf2)
(.add.vf vf1 vf1 vf2)
(let ((v1-15 (-> arg1 flags-s32)))
(when (nonzero? (-> (the-as (array int32) s2-0) 10))
(.lvf vf2 (&-> *time-of-day-context* current-prt-color quad))
(.mul.vf vf1 vf1 vf2)
(.mov a0-5 vf1)
)
(let ((v1-16 (logand v1-15 (sp-cpuinfo-flag-s32 sp-cpuinfo-flag-14))))
(.mov t7-0 vf1)
(let ((v1-17 (sar (the-as int v1-16) 14)))
(set! (-> arg2 r-g-b-a quad) (the-as uint128 (logior (logand t7-0 (the-as uint -2)) v1-17)))
)
)
)
(particle-adgif-callback (-> arg1 adgif) (the-as texture-id a1-1))
)
)
)
(else
(let ((a1-2 (-> (the-as (array int32) s2-0) 3)))
(when (nonzero? a1-2)
(let ((v1-20 f0-0))
(.mov vf2 v1-20)
)
(let ((v1-22 (the-as uint128 (make-u128 0 (-> (the-as (array int32) s2-0) 5)))))
(.pextlb v1-23 0 v1-22)
)
(.pextlb v1-24 0 v1-23)
(.mov vf1 v1-24)
(.itof.vf vf1 vf1)
(.mul.x.vf vf1 vf1 vf2)
(let ((v1-26 (the-as uint128 (make-u128 0 (-> (the-as (array int32) s2-0) 4)))))
(.pextlb v1-27 0 v1-26)
)
(.pextlb v1-28 0 v1-27)
(.mov vf2 v1-28)
(.itof.vf vf2 vf2)
(.add.vf vf1 vf1 vf2)
(let ((v1-29 (-> arg1 flags-s32)))
(when (nonzero? (-> (the-as (array int32) s2-0) 6))
(.lvf vf2 (&-> *time-of-day-context* current-prt-color quad))
(.mul.vf vf1 vf1 vf2)
(.mov a0-11 vf1)
)
(let ((v1-30 (logand v1-29 (sp-cpuinfo-flag-s32 sp-cpuinfo-flag-14))))
(.mov t7-3 vf1)
(let ((v1-31 (sar (the-as int v1-30) 14)))
(set! (-> arg2 r-g-b-a quad) (the-as uint128 (logior (logand t7-3 (the-as uint -2)) v1-31)))
;; this was rewritten from assembly!
(let ((s2-0 (the-as (array int32) (-> arg1 user-object))))
(when (nonzero? s2-0)
(let* ((v1-1 *time-of-day*)
(s1-0 (if v1-1
(-> v1-1 0 hours)
0
)
)
)
(particle-adgif-callback (-> arg1 adgif) (the-as texture-id a1-2))
(f0-0 (rand-vu))
)
(cond
((or (< s1-0 6) (< 18 s1-0))
(let ((night-tex (the texture-id (-> s2-0 7))))
(when (nonzero? night-tex)
;; they use two consecutive pextlb with zeros to expand each 8-bit value in the rgba
;; to a 32-bit value with no sign extension (i believe) and then itof it. very fast!
;; 8 -> 32 expand to vf1
;; multiply by f0-0 (in vf2)
;; 8 -> 32 expand to vf2
;; to float
;; vf1 += vf2
(let ((rgba-rand (the rgba (-> s2-0 9)))
(rgba-base (the rgba (-> s2-0 8))))
(set-vector! (-> arg2 r-g-b-a)
(* f0-0 (-> rgba-rand r))
(* f0-0 (-> rgba-rand g))
(* f0-0 (-> rgba-rand b))
(* f0-0 (-> rgba-rand a)))
(+! (-> arg2 r-g-b-a x) (-> rgba-base r))
(+! (-> arg2 r-g-b-a y) (-> rgba-base g))
(+! (-> arg2 r-g-b-a z) (-> rgba-base b))
(+! (-> arg2 r-g-b-a w) (-> rgba-base a))
)
(when (nonzero? (-> s2-0 10))
(*! (-> arg2 r-g-b-a x) (-> *time-of-day-context* current-prt-color x))
(*! (-> arg2 r-g-b-a y) (-> *time-of-day-context* current-prt-color y))
(*! (-> arg2 r-g-b-a z) (-> *time-of-day-context* current-prt-color z))
(*! (-> arg2 r-g-b-a w) (-> *time-of-day-context* current-prt-color w))
)
;; sneak in a flag here for... some reason
(if (logtest? (-> arg1 flags) (sp-cpuinfo-flag-s32 sp-cpuinfo-flag-14))
(set! (-> arg2 r-g-b-a x) (the-as float (logior 1 (the-as int (-> arg2 r-g-b-a x)))))
(set! (-> arg2 r-g-b-a x) (the-as float (logand (lognot 1) (the-as int (-> arg2 r-g-b-a x))))))
(particle-adgif-callback (-> arg1 adgif) night-tex)
)
)
)
(else
(let ((day-tex (the texture-id (-> s2-0 3))))
(when (nonzero? day-tex)
(let ((rgba-rand (the rgba (-> s2-0 5)))
(rgba-base (the rgba (-> s2-0 4))))
(set-vector! (-> arg2 r-g-b-a)
(* f0-0 (-> rgba-rand r))
(* f0-0 (-> rgba-rand g))
(* f0-0 (-> rgba-rand b))
(* f0-0 (-> rgba-rand a)))
(+! (-> arg2 r-g-b-a x) (-> rgba-base r))
(+! (-> arg2 r-g-b-a y) (-> rgba-base g))
(+! (-> arg2 r-g-b-a z) (-> rgba-base b))
(+! (-> arg2 r-g-b-a w) (-> rgba-base a))
)
(when (nonzero? (-> s2-0 6))
(*! (-> arg2 r-g-b-a x) (-> *time-of-day-context* current-prt-color x))
(*! (-> arg2 r-g-b-a y) (-> *time-of-day-context* current-prt-color y))
(*! (-> arg2 r-g-b-a z) (-> *time-of-day-context* current-prt-color z))
(*! (-> arg2 r-g-b-a w) (-> *time-of-day-context* current-prt-color w))
)
(if (logtest? (-> arg1 flags) (sp-cpuinfo-flag-s32 sp-cpuinfo-flag-14))
(set! (-> arg2 r-g-b-a x) (the-as float (logior 1 (the-as int (-> arg2 r-g-b-a x)))))
(set! (-> arg2 r-g-b-a x) (the-as float (logand (lognot 1) (the-as int (-> arg2 r-g-b-a x))))))
(particle-adgif-callback (-> arg1 adgif) day-tex)
)
)
)
)
(.mov vf1 s4-0)
(.mov vf2 s3-0)
(.mov v1-33 vf2)
)
)
(none)
)
(none)
)
(defun sparticle-mode-animate ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-2d))
+3
View File
@@ -8865,6 +8865,7 @@
:activate-func 'race-level-activate
:deactivate-func 'race-level-deactivate
:kill-func #f
:borrow-size (new 'static 'array uint16 2 160 0) ;; added
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
@@ -9064,6 +9065,7 @@
:activate-func 'race-level-activate
:deactivate-func 'race-level-deactivate
:kill-func #f
:borrow-size (new 'static 'array uint16 2 160 0) ;; added
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
@@ -9239,6 +9241,7 @@
:activate-func 'race-level-activate
:deactivate-func 'race-level-deactivate
:kill-func #f
:borrow-size (new 'static 'array uint16 2 160 0) ;; added
:borrow-level (new 'static 'array symbol 2 #f #f)
:borrow-display? (new 'static 'array symbol 2 #f #f)
:texture-anim-tfrag #f
+9 -6
View File
@@ -2428,14 +2428,17 @@ into 7 sections, which might explain the weird sizes in the center.
)
;; did we find one to unload?
;; PC NOTE : added an extra check for DGO time. If you start a load and discard it on the next frame,
;; PC NOTE : added an extra check for DGO time and name. If you start a load and discard it on the next frame,
;; you may attempt to start a new load right away before the ISO thread can properly stop the previous load
;; which will just crash the game. Sadly this means loads may sometimes be delayed by one frame. The horror.
(when ;(>= unload-idx 0)
(and (>= unload-idx 0) (< 1 (- (-> *display* real-clock integral-frame-counter) *dgo-time*)))
(let ((lev-to-unload (-> *level* level unload-idx)))
(format 0 "Discarding level ~A~%" (-> lev-to-unload name))
(level-status-update! lev-to-unload 'inactive) ;; kill it.
(when (>= unload-idx 0)
(format 0 " level loading : want to unload ~A. load-level is ~A~%" (-> *level* level unload-idx load-name) (-> *level* load-level))
(when (or (!= (-> *level* level unload-idx load-name) (-> *level* load-level))
(< 1 (- (-> *display* real-clock integral-frame-counter) *dgo-time*)))
(let ((lev-to-unload (-> *level* level unload-idx)))
(format 0 "Discarding level ~A~%" (-> lev-to-unload name))
(level-status-update! lev-to-unload 'inactive) ;; kill it.
)
)
(set! discarded-level #t)
)
+1 -1
View File
@@ -1108,7 +1108,7 @@
)
(defun show-hud ((arg0 object))
(when (and *target* (or (not *progress-process*) (is-gone (-> *progress-process* 0))))
(when (and *target* (or (not *progress-process*) (gone? (-> *progress-process* 0))))
(let ((v1-7 (-> *hud-engine* alive-list next0)))
*hud-engine*
(let ((s5-0 (-> v1-7 next0)))
File diff suppressed because it is too large Load Diff
@@ -60,12 +60,12 @@
(go-away () _type_ :state 22)
(gone () _type_ :state 23)
(init-defaults (_type_) connection 24)
(progress-method-25 (_type_) none 25)
(is-gone (_type_) object 26)
(respond-to-cpad (_type_) none 25)
(gone? (_type_) object 26)
(can-go-back? (_type_) symbol 27)
(progress-method-28 (_type_ symbol) symbol 28)
(progress-method-29 (_type_) int 29)
(progress-method-30 (_type_) int 30)
(get-state-check-card (_type_ symbol) symbol 28)
(push-state (_type_) int 29)
(pop-state (_type_) int 30)
(set-next-state (_type_ symbol int) int 31)
(set-menu-options (_type_ symbol) int 32)
)
@@ -83,7 +83,7 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(respond-progress (_type_ progress object) int :behavior progress 9)
(respond-progress (_type_ progress symbol) int :behavior progress 9)
(draw-option (_type_ progress font-context int symbol) none 10)
(menu-option-method-11 () none 11)
)
+104 -103
View File
@@ -5,8 +5,6 @@
;; name in dgo: progress
;; dgos: ENGINE, GAME
(set! *progress-process* #f)
;; DECOMP BEGINS
(deftype progress-global-state (basic)
@@ -487,7 +485,7 @@
(none)
)
(defmethod is-gone progress ((obj progress))
(defmethod gone? progress ((obj progress))
(and *progress-process*
(-> *progress-process* 0 next-state)
(= (-> *progress-process* 0 next-state name) 'gone)
@@ -577,7 +575,7 @@
(none)
)
(defmethod progress-method-28 progress ((obj progress) (arg0 symbol))
(defmethod get-state-check-card progress ((obj progress) (arg0 symbol))
(let ((v1-0 *progress-save-info*)
(v0-0 arg0)
)
@@ -674,7 +672,7 @@
)
)
(defmethod progress-method-29 progress ((obj progress))
(defmethod push-state progress ((obj progress))
(let ((v1-0 (-> obj state-pos)))
(cond
((< v1-0 5)
@@ -690,7 +688,7 @@
0
)
(defmethod progress-method-30 progress ((obj progress))
(defmethod pop-state progress ((obj progress))
(let ((v1-0 (-> obj state-pos)))
(cond
((> v1-0 0)
@@ -723,7 +721,7 @@
(set! (-> obj next) arg0)
(case (-> obj next)
(('select-load 'select-save 'select-save-title 'select-save-title-hero)
(set! (-> obj next) (progress-method-28 obj (-> obj next)))
(set! (-> obj next) (get-state-check-card obj (-> obj next)))
)
)
(case (-> obj next)
@@ -961,12 +959,12 @@
)
(when (= (-> obj current-options) #f)
(format #t "Didn't find new menu settings!!~%")
(progress-method-30 obj)
(pop-state obj)
)
0
)
(defmethod progress-method-25 progress ((obj progress))
(defmethod respond-to-cpad progress ((obj progress))
(mc-get-slot-info 0 *progress-save-info*)
(when (-> obj current-options)
(let ((s5-0 (-> obj current-options options)))
@@ -1048,7 +1046,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 obj)
(pop-state obj)
)
)
)
@@ -1119,7 +1117,7 @@
)
)
(if (= (-> self ring-angle) (-> self ring-want-angle))
(progress-method-25 self)
(respond-to-cpad self)
)
(let ((f30-0 (* 0.005 (-> self clock time-adjust-ratio))))
(cond
@@ -1315,12 +1313,8 @@
)
(set! (-> sv-144 origin x) 79.0)
(set! (-> sv-144 origin y) (the float sv-148))
(let ((v1-29 sv-144))
(set! (-> v1-29 width) (the float 355))
)
(let ((v1-30 sv-144))
(set! (-> v1-30 height) (the float 30))
)
(set-width! sv-144 355)
(set-height! sv-144 30)
(set! (-> sv-144 flags) (if (= (-> *setting-control* user-default language) (language-enum japanese))
(font-flags middle left large)
(font-flags kerning middle left large)
@@ -1333,6 +1327,13 @@
)
)
)
;; added for proper aspect ratio-ing
(#when PC_PORT
(when (not (-> *pc-settings* use-vis?))
(set! (-> sv-144 origin x) (the float (the int (adjust-game-x (-> sv-144 origin x)))))
(set! (-> sv-144 width) (the float (the int (* (-> sv-144 width) (-> *pc-settings* aspect-ratio-reciprocal)))))
)
)
(draw-option
(-> gp-0 s4-1)
self
@@ -1522,7 +1523,7 @@
)
)
(else
(progress-method-30 self)
(pop-state self)
)
)
)
@@ -1719,12 +1720,12 @@
)
)
(defmethod respond-progress menu-option ((obj menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-option ((obj menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
0
)
(defmethod respond-progress menu-on-off-option ((obj menu-on-off-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-on-off-option ((obj menu-on-off-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* on-off-choice))
(gp-0 #f)
@@ -1751,7 +1752,7 @@
((and (-> v1-1 0) (= (-> obj value-to-modify) (&-> *setting-control* user-default use-progressive-scan)))
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'progressive-mode-warning 0)
)
(else
@@ -1774,7 +1775,7 @@
0
)
(defmethod respond-progress menu-yes-no-option ((obj menu-yes-no-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-yes-no-option ((obj menu-yes-no-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -1815,7 +1816,7 @@
0
)
(defmethod respond-progress menu-slider-option ((obj menu-slider-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-slider-option ((obj menu-slider-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((gp-0 (-> obj value-to-modify))
@@ -1897,7 +1898,7 @@
0
)
(defmethod respond-progress menu-stereo-mode-sound-option ((obj menu-stereo-mode-sound-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-stereo-mode-sound-option ((obj menu-stereo-mode-sound-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((a0-1 (-> *setting-control* user-default stereo-mode))
@@ -1935,7 +1936,7 @@
0
)
(defmethod respond-progress menu-main-menu-option ((obj menu-main-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-main-menu-option ((obj menu-main-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(cond
((cpad-pressed? 0 start)
@@ -1975,20 +1976,20 @@
)
)
(sound-play "window-expand")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
((= (-> obj next-state) 'restart)
(sound-volume-off)
(restart-mission)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "window-expand")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
)
@@ -2030,7 +2031,7 @@
0
)
(defmethod respond-progress menu-sub-menu-option ((obj menu-sub-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-sub-menu-option ((obj menu-sub-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (and (-> *progress-state* secrets-unlocked)
(not (memcard-unlocked-secrets? #f))
@@ -2046,7 +2047,7 @@
(set-next-state arg0 'secrets-insufficient-space 0)
)
(when (= (-> obj name) (text-id progress-continue-without-saving))
(let ((a1-3 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-3 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-3 0)
)
)
@@ -2078,11 +2079,11 @@
(progress-intro-start (logtest? (-> *game-info* purchase-secrets) (game-secrets hero-mode)))
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
)
@@ -2090,7 +2091,7 @@
0
)
(defmethod respond-progress menu-unlocked-menu-option ((obj menu-unlocked-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-unlocked-menu-option ((obj menu-unlocked-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (memcard-unlocked-secrets? #t)))
(logclear! (-> *game-info* purchase-secrets) (game-secrets hero-mode))
@@ -2156,7 +2157,7 @@
)
(set! (-> *progress-state* scene-player-act) 1)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-sceneplayer-2))
@@ -2164,7 +2165,7 @@
)
(set! (-> *progress-state* scene-player-act) 2)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-sceneplayer-3))
@@ -2172,23 +2173,23 @@
)
(set! (-> *progress-state* scene-player-act) 3)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-hero-mode)) (logtest? s4-0 (game-secrets hero-mode)))
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-save-title-hero 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-levelselect))
(logtest? s4-0 (game-secrets level-select))
)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-start 0)
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2227,10 +2228,10 @@
0
)
(defmethod respond-progress menu-memcard-slot-option ((obj menu-memcard-slot-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-memcard-slot-option ((obj menu-memcard-slot-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(memcard-unlocked-secrets? #t)
(let ((a1-2 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-2 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-2 0)
)
(set! (-> arg0 selected-option) #f)
@@ -2272,10 +2273,10 @@
0
)
(defmethod respond-progress menu-already-exists-option ((obj menu-already-exists-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-already-exists-option ((obj menu-already-exists-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(a1-2 (progress-method-28 arg0 'select-save))
(a1-2 (get-state-check-card arg0 'select-save))
(gp-0 #f)
)
(if (!= a1-2 'select-save)
@@ -2314,12 +2315,12 @@
0
)
(defmethod respond-progress menu-create-game-option ((obj menu-create-game-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-create-game-option ((obj menu-create-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
)
(let ((a1-2 (progress-method-28 arg0 'select-save)))
(let ((a1-2 (get-state-check-card arg0 'select-save)))
(if (!= a1-2 'select-save)
(set-next-state arg0 a1-2 0)
)
@@ -2347,7 +2348,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2359,10 +2360,10 @@
0
)
(defmethod respond-progress menu-insufficient-space-option ((obj menu-insufficient-space-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-insufficient-space-option ((obj menu-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s5-0 (&-> *progress-state* yes-no-choice))
(s3-0 (progress-method-28 arg0 'select-save))
(s3-0 (get-state-check-card arg0 'select-save))
)
(cond
((or (= (-> *progress-state* starting-state) 'insufficient-space)
@@ -2388,13 +2389,13 @@
(cond
((-> s5-0 0)
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
((and (not (-> s5-0 0))
(!= (progress-method-28 arg0 'select-save) 'insufficient-space)
(!= (progress-method-28 arg0 'select-save) 'no-memory-card)
(!= (get-state-check-card arg0 'select-save) 'insufficient-space)
(!= (get-state-check-card arg0 'select-save) 'no-memory-card)
)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "generic-beep")
@@ -2421,7 +2422,7 @@
(set! a1-9 'select-save-title)
)
)
(let ((a1-10 (progress-method-28 arg0 a1-9)))
(let ((a1-10 (get-state-check-card arg0 a1-9)))
(set-next-state arg0 a1-10 0)
)
)
@@ -2443,7 +2444,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2454,7 +2455,7 @@
0
)
(defmethod respond-progress menu-secrets-insufficient-space-option ((obj menu-secrets-insufficient-space-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-secrets-insufficient-space-option ((obj menu-secrets-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(&-> *progress-state* yes-no-choice)
(cond
@@ -2472,7 +2473,7 @@
0
)
(defmethod respond-progress menu-video-mode-warning-option ((obj menu-video-mode-warning-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-video-mode-warning-option ((obj menu-video-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2498,7 +2499,7 @@
)
(else
(set! (-> *progress-state* video-mode-choice) 'pal)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2510,7 +2511,7 @@
0
)
(defmethod respond-progress menu-video-mode-ok-option ((obj menu-video-mode-ok-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-video-mode-ok-option ((obj menu-video-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2538,7 +2539,7 @@
)
)
(set! (-> *progress-state* video-mode-timeout) 0)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -2551,12 +2552,12 @@
(set! (-> *progress-state* video-mode-timeout) 0)
(set! (-> *progress-state* video-mode-choice) 'pal)
(set! (-> *setting-control* user-default video-mode) (-> *progress-state* video-mode-choice))
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-progressive-mode-warning-option ((obj menu-progressive-mode-warning-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-progressive-mode-warning-option ((obj menu-progressive-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2589,7 +2590,7 @@
(set! (-> *progress-state* on-off-choice) #f)
(set! (-> *progress-state* graphic-options-progressive-scan) #f)
(set-progressive-scan #f)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2601,7 +2602,7 @@
0
)
(defmethod respond-progress menu-progressive-mode-ok-option ((obj menu-progressive-mode-ok-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-progressive-mode-ok-option ((obj menu-progressive-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2630,7 +2631,7 @@
)
)
(set! (-> *progress-state* progressive-mode-timeout) 0)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -2644,97 +2645,97 @@
(set! (-> *setting-control* user-default use-progressive-scan) #f)
(set! (-> *progress-state* graphic-options-progressive-scan) #f)
(set-progressive-scan #f)
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-card-removed-option ((obj menu-card-removed-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-card-removed-option ((obj menu-card-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-insert-card-option ((obj menu-insert-card-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-insert-card-option ((obj menu-insert-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
*progress-save-info*
(cond
((= (progress-method-28 arg0 'select-load) 'select-load)
((= (get-state-check-card arg0 'select-load) 'select-load)
(set-next-state arg0 'select-load 0)
)
((cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
0
)
(defmethod respond-progress menu-error-loading-option ((obj menu-error-loading-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-loading-option ((obj menu-error-loading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-error-auto-saving-option ((obj menu-error-auto-saving-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-auto-saving-option ((obj menu-error-auto-saving-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-error-disc-removed-option ((obj menu-error-disc-removed-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-disc-removed-option ((obj menu-error-disc-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(when (is-cd-in?)
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
0
)
(defmethod respond-progress menu-error-reading-option ((obj menu-error-reading-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-reading-option ((obj menu-error-reading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-icon-info-option ((obj menu-icon-info-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-icon-info-option ((obj menu-icon-info-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
(defmethod respond-progress menu-quit-option ((obj menu-quit-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-quit-option ((obj menu-quit-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2766,7 +2767,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2778,12 +2779,12 @@
0
)
(defmethod respond-progress menu-format-card-option ((obj menu-format-card-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-format-card-option ((obj menu-format-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
)
(let ((a1-2 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-2 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-2 0)
)
(cond
@@ -2810,7 +2811,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2823,7 +2824,7 @@
)
;; WARN: disable def twice: 110. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
(defmethod respond-progress menu-select-start-option ((obj menu-select-start-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-select-start-option ((obj menu-select-start-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -2918,7 +2919,7 @@
0
)
(defmethod respond-progress menu-select-scene-option ((obj menu-select-scene-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-select-scene-option ((obj menu-select-scene-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -2993,7 +2994,7 @@
0
)
(defmethod respond-progress menu-bigmap-option ((obj menu-bigmap-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-bigmap-option ((obj menu-bigmap-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(bigmap-method-12 *bigmap*)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -3001,7 +3002,7 @@
0
)
(defmethod respond-progress menu-missions-option ((obj menu-missions-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-missions-option ((obj menu-missions-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3040,7 +3041,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -3050,7 +3051,7 @@
0
)
(defmethod respond-progress menu-highscores-option ((obj menu-highscores-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-highscores-option ((obj menu-highscores-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding) (seek-ease
(-> arg0 sliding)
@@ -3108,7 +3109,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -3119,7 +3120,7 @@
0
)
(defmethod respond-progress menu-secret-option ((obj menu-secret-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-secret-option ((obj menu-secret-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let* ((s5-1 (logtest? (-> *game-info* secrets) (game-secrets hero-mode)))
(s3-0 (if (not s5-1)
@@ -3221,7 +3222,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-2
@@ -3237,7 +3238,7 @@
0
)
(defmethod respond-progress menu-game-option ((obj menu-game-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-game-option ((obj menu-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* game-options-vibrations)
(-> *progress-state* game-options-subtitles)
@@ -3287,7 +3288,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -3458,7 +3459,7 @@
0
)
(defmethod respond-progress menu-graphic-option ((obj menu-graphic-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-graphic-option ((obj menu-graphic-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* graphic-options-aspect-ratio)
(-> *progress-state* graphic-options-progressive-scan)
@@ -3525,7 +3526,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -3610,7 +3611,7 @@
)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'progressive-mode-warning 0)
)
(when (and (= (-> *progress-state* graphic-options-item-selected) 3)
@@ -3622,7 +3623,7 @@
(set! (-> *setting-control* user-default video-mode) a0-173)
)
(('ntsc)
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'video-mode-warning 0)
)
)
@@ -3676,7 +3677,7 @@
0
)
(defmethod respond-progress menu-qr-option ((obj menu-qr-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-qr-option ((obj menu-qr-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* qr-options-restart)
(-> *progress-state* qr-options-quit)
@@ -3740,7 +3741,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
+11
View File
@@ -840,6 +840,11 @@
)
(dotimes (s5-1 (-> obj spawners length))
(let ((s4-1 (-> obj spawners data s5-1)))
(#when PC_PORT
;; added. a battle may have enemies from an unloaded level in its ally list (e.g. atoll battle has atollext enemies).
(if (not (valid? (-> s4-1 entity) entity-actor "battle spawners" #f *stdcon*))
(deactivate obj))
)
(let ((a0-6 (-> s4-1 intro-path)))
(if a0-6
(debug-draw a0-6)
@@ -1416,6 +1421,12 @@
(let ((v1-0 (-> obj allies))
(gp-0 (-> obj allies length))
)
(#when PC_PORT
;; added. a battle may have enemies from an unloaded level in its ally list (e.g. atoll battle has atollext enemies).
(dotimes (i gp-0)
(if (not (valid? (-> v1-0 data i entity) entity-actor "battle allies" #f *stdcon*))
(deactivate self)))
)
(when (> gp-0 0)
(let* ((a1-4 (mod (the-as int (-> self clock integral-frame-counter)) gp-0))
(a3-0 (-> v1-0 data a1-4))
@@ -61,7 +61,7 @@
)
:level 'stadiumb
:borrow-level 'lracebf
:borrow '((ctywide 0 lracebf special) (stadium 0 lracelit display))
:borrow '((stadiumb 0 lracebf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-2"
:countdown-scene #f
@@ -121,7 +121,7 @@
)
:level 'stadiumc
:borrow-level 'lracecf
:borrow '((ctywide 0 lracecf special) (stadium 0 lracelit display))
:borrow '((stadiumc 0 lracecf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-3"
:countdown-scene #f
@@ -187,7 +187,7 @@
)
:level 'stadiumd
:borrow-level 'lracedf
:borrow '((ctywide 0 lracedf special) (stadium 0 lracelit display))
:borrow '((stadiumd 0 lracedf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-1"
:countdown-scene "city-class-1-race-intro-b"
@@ -277,7 +277,7 @@
)
:level 'stadiumb
:borrow-level 'lracebf
:borrow '((ctywide 0 lracebf special) (stadium 0 lracelit display))
:borrow '((stadiumb 0 lracebf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-2"
:countdown-scene #f
@@ -337,7 +337,7 @@
)
:level 'stadiumc
:borrow-level 'lracecf
:borrow '((ctywide 0 lracecf special) (stadium 0 lracelit display))
:borrow '((stadiumc 0 lracecf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-3"
:countdown-scene #f
@@ -403,7 +403,7 @@
)
:level 'stadiumd
:borrow-level 'lracedf
:borrow '((ctywide 0 lracedf special) (stadium 0 lracelit display))
:borrow '((stadiumd 0 lracedf special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-1"
:countdown-scene #f
@@ -521,7 +521,7 @@
)
:level 'stadiumb
:borrow-level 'lracebb
:borrow '((ctywide 0 lracebb special) (stadium 0 lracelit display))
:borrow '((stadiumb 0 lracebb special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-2"
:countdown-scene #f
@@ -580,7 +580,7 @@
)
:level 'stadiumc
:borrow-level 'lracecb
:borrow '((ctywide 0 lracecb special) (stadium 0 lracelit display))
:borrow '((stadiumc 0 lracecb special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-3"
:countdown-scene #f
@@ -643,7 +643,7 @@
)
:level 'stadiumd
:borrow-level 'lracedb
:borrow '((ctywide 0 lracedb special) (stadium 0 lracelit display))
:borrow '((stadiumd 0 lracedb special) (stadium 0 lracelit display)) ;; changed from ctywide
:manager-handle-init-hack #f
:hatch-actor-name "stdmb-race-hatch-1"
:countdown-scene #f
@@ -2206,7 +2206,7 @@
)
:load-point-obj "stadiumd-start"
:end-point-obj #f
:borrow '((ctywide 1 lwidesta special) (ctywide 0 lracedf special) (stadium 0 lracelit display))
:borrow '((ctywide 1 lwidesta special) (stadiumd 0 lracedf special) (stadium 0 lracelit display)) ;; changed from ctywide
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
@@ -2663,7 +2663,7 @@
)
:load-point-obj "stadiumd-start"
:end-point-obj "stadium-class1-res-end-movie"
:borrow '((ctywide 1 lwidesta special) (ctywide 0 lracedf special) (stadium 0 lracelit display))
:borrow '((ctywide 1 lwidesta special) (stadiumd 0 lracedf special) (stadium 0 lracelit display)) ;; changed from ctywide
:sfx-volume -1.0
:ambient-volume -1.0
:music-volume -1.0
+31 -3
View File
@@ -4,7 +4,7 @@
#|
This file runs the game-specific version of the pckernel.
See pckernel-common.gc for the bulk of the pckernel.
See pckernel-common.gc for the bulk of the pckernel.
|#
@@ -125,7 +125,7 @@
(defmethod handle-input-settings pc-settings-jak2 ((obj pc-settings-jak2) (file file-stream))
"handle the text parsing input for the 'settings' group"
((method-of-type pc-settings handle-input-settings) obj file)
((method-of-type pc-settings handle-input-settings) obj file)
(case-str *pc-temp-string*
(("jetboard-trick-text?") (set! (-> obj jetboard-trick-text?) (file-stream-read-symbol file)))
(("fast-airlock?") (set! (-> obj fast-airlock?) (file-stream-read-symbol file)))
@@ -138,7 +138,7 @@
(defmethod handle-output-settings pc-settings-jak2 ((obj pc-settings-jak2) (file file-stream))
"handle the text writing output for the 'settings' group"
((method-of-type pc-settings handle-output-settings) obj file)
((method-of-type pc-settings handle-output-settings) obj file)
(format file " (jetboard-trick-text? ~A)~%" (-> obj jetboard-trick-text?))
(format file " (fast-airlock? ~A)~%" (-> obj fast-airlock?))
(format file " (fast-elevator? ~A)~%" (-> obj fast-elevator?))
@@ -167,6 +167,18 @@
(font-color flat-yellow)
(font-flags right shadow kerning))))
(defun print-level-types ((lev level))
"print the level-type linked list for a level"
(format #t "print-level-types for ~A~%" (-> lev nickname))
(let ((cur-type (-> lev level-type)))
(while (and cur-type (nonzero? cur-type) (= type (-> cur-type type)))
(format #t "~A~%" cur-type)
(set! cur-type (the type (-> cur-type method-table 8))))
(format #t "~%"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; process pools
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -175,3 +187,19 @@
;; the actor pool for PC processes! it has space for 4 processes, with 16K of space.
(define *pc-dead-pool* (new 'global 'dead-pool 4 (* 16 1024) "*pc-dead-pool*"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; progress adjustments
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defconstant CENTER_X (/ 512 2))
(defun adjust-game-x-centered ((origin int) (x float))
"given an x position ranging from [0, 512) adjust for aspect ratio towards the origin point specified
such that it does not get stretched away with the framebuffer"
(+ origin (* (- x origin) (-> *pc-settings* aspect-ratio-reciprocal))))
(defmacro adjust-game-x (x)
`(adjust-game-x-centered CENTER_X ,x))
File diff suppressed because it is too large Load Diff
+137 -133
View File
@@ -1319,64 +1319,64 @@
;; WARN: Return type mismatch uint vs texture-id.
(defun get-level-icon-id-01 ((arg0 int))
"TODO - Icon id enum perhaps?"
(let ((v0-0 (the-as uint #xc9303600)))
(let ((tex (new 'static 'texture-id :index #x36 :page #xc93)))
(cond
((zero? arg0)
(set! v0-0 (the-as uint #xc9304800))
(set! tex (new 'static 'texture-id :index #x48 :page #xc93))
)
((= arg0 1)
(set! v0-0 (the-as uint #xc9304000))
(set! tex (new 'static 'texture-id :index #x40 :page #xc93))
)
((= arg0 2)
(set! v0-0 (the-as uint #xc9307000))
(set! tex (new 'static 'texture-id :index #x70 :page #xc93))
)
((= arg0 3)
(set! v0-0 (the-as uint #xc9305800))
(set! tex (new 'static 'texture-id :index #x58 :page #xc93))
)
((= arg0 4)
(set! v0-0 (the-as uint #xc9306800))
(set! tex (new 'static 'texture-id :index #x68 :page #xc93))
)
((= arg0 5)
(set! v0-0 (the-as uint #xc9307400))
(set! tex (new 'static 'texture-id :index #x74 :page #xc93))
)
((= arg0 6)
(set! v0-0 (the-as uint #xc9303600))
(set! tex (new 'static 'texture-id :index #x36 :page #xc93))
)
((= arg0 7)
(set! v0-0 (the-as uint #xc9306c00))
(set! tex (new 'static 'texture-id :index #x6c :page #xc93))
)
((= arg0 8)
(set! v0-0 (the-as uint #xc9305c00))
(set! tex (new 'static 'texture-id :index #x5c :page #xc93))
)
((= arg0 9)
(set! v0-0 (the-as uint #xc9305400))
(set! tex (new 'static 'texture-id :index #x54 :page #xc93))
)
((= arg0 10)
(set! v0-0 (the-as uint #xc9305000))
(set! tex (new 'static 'texture-id :index #x50 :page #xc93))
)
((= arg0 11)
(set! v0-0 (the-as uint #xc9306400))
(set! tex (new 'static 'texture-id :index #x64 :page #xc93))
)
((= arg0 12)
(set! v0-0 (the-as uint #xc9307800))
(set! tex (new 'static 'texture-id :index #x78 :page #xc93))
)
((= arg0 13)
(set! v0-0 (the-as uint #xc9304c00))
(set! tex (new 'static 'texture-id :index #x4c :page #xc93))
)
((= arg0 14)
(set! v0-0 (the-as uint #xc9303a00))
(set! tex (new 'static 'texture-id :index #x3a :page #xc93))
)
((= arg0 15)
(set! v0-0 (the-as uint #xc9307c00))
(set! tex (new 'static 'texture-id :index #x7c :page #xc93))
)
((= arg0 16)
(set! v0-0 (the-as uint #xc9304400))
(set! tex (new 'static 'texture-id :index #x44 :page #xc93))
)
((= arg0 17)
(set! v0-0 (the-as uint #xc9306000))
(set! tex (new 'static 'texture-id :index #x60 :page #xc93))
)
)
(the-as texture-id v0-0)
(the-as texture-id tex)
)
)
@@ -1384,64 +1384,64 @@
;; WARN: Return type mismatch uint vs texture-id.
(defun get-level-icon-id-02 ((arg0 int))
"TODO - Icon id enum perhaps?"
(let ((v0-0 (the-as uint #xc9303700)))
(let ((tex (new 'static 'texture-id :index #x37 :page #xc93)))
(cond
((zero? arg0)
(set! v0-0 (the-as uint #xc9304900))
(set! tex (new 'static 'texture-id :index #x49 :page #xc93))
)
((= arg0 1)
(set! v0-0 (the-as uint #xc9304100))
(set! tex (new 'static 'texture-id :index #x41 :page #xc93))
)
((= arg0 2)
(set! v0-0 (the-as uint #xc9307100))
(set! tex (new 'static 'texture-id :index #x71 :page #xc93))
)
((= arg0 3)
(set! v0-0 (the-as uint #xc9305900))
(set! tex (new 'static 'texture-id :index #x59 :page #xc93))
)
((= arg0 4)
(set! v0-0 (the-as uint #xc9306900))
(set! tex (new 'static 'texture-id :index #x69 :page #xc93))
)
((= arg0 5)
(set! v0-0 (the-as uint #xc9307500))
(set! tex (new 'static 'texture-id :index #x75 :page #xc93))
)
((= arg0 6)
(set! v0-0 (the-as uint #xc9303700))
(set! tex (new 'static 'texture-id :index #x37 :page #xc93))
)
((= arg0 7)
(set! v0-0 (the-as uint #xc9306d00))
(set! tex (new 'static 'texture-id :index #x6d :page #xc93))
)
((= arg0 8)
(set! v0-0 (the-as uint #xc9305d00))
(set! tex (new 'static 'texture-id :index #x5d :page #xc93))
)
((= arg0 9)
(set! v0-0 (the-as uint #xc9305500))
(set! tex (new 'static 'texture-id :index #x55 :page #xc93))
)
((= arg0 10)
(set! v0-0 (the-as uint #xc9305100))
(set! tex (new 'static 'texture-id :index #x51 :page #xc93))
)
((= arg0 11)
(set! v0-0 (the-as uint #xc9306500))
(set! tex (new 'static 'texture-id :index #x65 :page #xc93))
)
((= arg0 12)
(set! v0-0 (the-as uint #xc9307900))
(set! tex (new 'static 'texture-id :index #x79 :page #xc93))
)
((= arg0 13)
(set! v0-0 (the-as uint #xc9304d00))
(set! tex (new 'static 'texture-id :index #x4d :page #xc93))
)
((= arg0 14)
(set! v0-0 (the-as uint #xc9303b00))
(set! tex (new 'static 'texture-id :index #x3b :page #xc93))
)
((= arg0 15)
(set! v0-0 (the-as uint #xc9307d00))
(set! tex (new 'static 'texture-id :index #x7d :page #xc93))
)
((= arg0 16)
(set! v0-0 (the-as uint #xc9304500))
(set! tex (new 'static 'texture-id :index #x45 :page #xc93))
)
((= arg0 17)
(set! v0-0 (the-as uint #xc9306100))
(set! tex (new 'static 'texture-id :index #x61 :page #xc93))
)
)
(the-as texture-id v0-0)
(the-as texture-id tex)
)
)
@@ -1449,64 +1449,64 @@
;; WARN: Return type mismatch uint vs texture-id.
(defun get-level-icon-id-03 ((arg0 int))
"TODO - Icon id enum perhaps?"
(let ((v0-0 (the-as uint #xc9303800)))
(let ((tex (new 'static 'texture-id :index #x38 :page #xc93)))
(cond
((zero? arg0)
(set! v0-0 (the-as uint #xc9304a00))
(set! tex (new 'static 'texture-id :index #x4a :page #xc93))
)
((= arg0 1)
(set! v0-0 (the-as uint #xc9304200))
(set! tex (new 'static 'texture-id :index #x42 :page #xc93))
)
((= arg0 2)
(set! v0-0 (the-as uint #xc9307200))
(set! tex (new 'static 'texture-id :index #x72 :page #xc93))
)
((= arg0 3)
(set! v0-0 (the-as uint #xc9305a00))
(set! tex (new 'static 'texture-id :index #x5a :page #xc93))
)
((= arg0 4)
(set! v0-0 (the-as uint #xc9306a00))
(set! tex (new 'static 'texture-id :index #x6a :page #xc93))
)
((= arg0 5)
(set! v0-0 (the-as uint #xc9307600))
(set! tex (new 'static 'texture-id :index #x76 :page #xc93))
)
((= arg0 6)
(set! v0-0 (the-as uint #xc9303800))
(set! tex (new 'static 'texture-id :index #x38 :page #xc93))
)
((= arg0 7)
(set! v0-0 (the-as uint #xc9306e00))
(set! tex (new 'static 'texture-id :index #x6e :page #xc93))
)
((= arg0 8)
(set! v0-0 (the-as uint #xc9305e00))
(set! tex (new 'static 'texture-id :index #x5e :page #xc93))
)
((= arg0 9)
(set! v0-0 (the-as uint #xc9305600))
(set! tex (new 'static 'texture-id :index #x56 :page #xc93))
)
((= arg0 10)
(set! v0-0 (the-as uint #xc9305200))
(set! tex (new 'static 'texture-id :index #x52 :page #xc93))
)
((= arg0 11)
(set! v0-0 (the-as uint #xc9306600))
(set! tex (new 'static 'texture-id :index #x66 :page #xc93))
)
((= arg0 12)
(set! v0-0 (the-as uint #xc9307a00))
(set! tex (new 'static 'texture-id :index #x7a :page #xc93))
)
((= arg0 13)
(set! v0-0 (the-as uint #xc9304e00))
(set! tex (new 'static 'texture-id :index #x4e :page #xc93))
)
((= arg0 14)
(set! v0-0 (the-as uint #xc9303c00))
(set! tex (new 'static 'texture-id :index #x3c :page #xc93))
)
((= arg0 15)
(set! v0-0 (the-as uint #xc9307e00))
(set! tex (new 'static 'texture-id :index #x7e :page #xc93))
)
((= arg0 16)
(set! v0-0 (the-as uint #xc9304600))
(set! tex (new 'static 'texture-id :index #x46 :page #xc93))
)
((= arg0 17)
(set! v0-0 (the-as uint #xc9306200))
(set! tex (new 'static 'texture-id :index #x62 :page #xc93))
)
)
(the-as texture-id v0-0)
(the-as texture-id tex)
)
)
@@ -1514,77 +1514,77 @@
;; WARN: Return type mismatch uint vs texture-id.
(defun get-level-icon-id-04 ((arg0 int))
"TODO - Icon id enum perhaps?"
(let ((v0-0 (the-as uint #xc9303900)))
(let ((tex (new 'static 'texture-id :index #x39 :page #xc93)))
(cond
((zero? arg0)
(set! v0-0 (the-as uint #xc9304b00))
(set! tex (new 'static 'texture-id :index #x4b :page #xc93))
)
((= arg0 1)
(set! v0-0 (the-as uint #xc9304300))
(set! tex (new 'static 'texture-id :index #x43 :page #xc93))
)
((= arg0 2)
(set! v0-0 (the-as uint #xc9307300))
(set! tex (new 'static 'texture-id :index #x73 :page #xc93))
)
((= arg0 3)
(set! v0-0 (the-as uint #xc9305b00))
(set! tex (new 'static 'texture-id :index #x5b :page #xc93))
)
((= arg0 4)
(set! v0-0 (the-as uint #xc9306b00))
(set! tex (new 'static 'texture-id :index #x6b :page #xc93))
)
((= arg0 5)
(set! v0-0 (the-as uint #xc9307700))
(set! tex (new 'static 'texture-id :index #x77 :page #xc93))
)
((= arg0 6)
(set! v0-0 (the-as uint #xc9303900))
(set! tex (new 'static 'texture-id :index #x39 :page #xc93))
)
((= arg0 7)
(set! v0-0 (the-as uint #xc9306f00))
(set! tex (new 'static 'texture-id :index #x6f :page #xc93))
)
((= arg0 8)
(set! v0-0 (the-as uint #xc9305f00))
(set! tex (new 'static 'texture-id :index #x5f :page #xc93))
)
((= arg0 9)
(set! v0-0 (the-as uint #xc9305700))
(set! tex (new 'static 'texture-id :index #x57 :page #xc93))
)
((= arg0 10)
(set! v0-0 (the-as uint #xc9305300))
(set! tex (new 'static 'texture-id :index #x53 :page #xc93))
)
((= arg0 11)
(set! v0-0 (the-as uint #xc9306700))
(set! tex (new 'static 'texture-id :index #x67 :page #xc93))
)
((= arg0 12)
(set! v0-0 (the-as uint #xc9307b00))
(set! tex (new 'static 'texture-id :index #x7b :page #xc93))
)
((= arg0 13)
(set! v0-0 (the-as uint #xc9304f00))
(set! tex (new 'static 'texture-id :index #x4f :page #xc93))
)
((= arg0 14)
(set! v0-0 (the-as uint #xc9303d00))
(set! tex (new 'static 'texture-id :index #x3d :page #xc93))
)
((= arg0 15)
(set! v0-0 (the-as uint #xc9307f00))
(set! tex (new 'static 'texture-id :index #x7f :page #xc93))
)
((= arg0 16)
(set! v0-0 (the-as uint #xc9304700))
(set! tex (new 'static 'texture-id :index #x47 :page #xc93))
)
((= arg0 17)
(set! v0-0 (the-as uint #xc9306300))
(set! tex (new 'static 'texture-id :index #x63 :page #xc93))
)
)
(the-as texture-id v0-0)
(the-as texture-id tex)
)
)
;; definition for function draw-decoration
;; INFO: Used lq/sq
(defun draw-decoration ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 int) (arg4 symbol) (arg5 float))
(defun draw-decoration ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 text-id) (arg4 symbol) (arg5 float))
(local-vars
(sv-16 symbol)
(sv-32 float)
(sv-48 int)
(sv-64 int)
(sv-80 (function string font-context symbol int bucket-id float))
(sv-96 int)
(sv-96 text-id)
)
(set! sv-96 arg3)
(set! sv-16 arg4)
@@ -1652,7 +1652,7 @@
(let* ((a0-3 *common-text*)
(t9-2 (method-of-object a0-3 lookup-text!))
(a2-1 #f)
(a0-4 (t9-2 a0-3 (the-as text-id sv-96) a2-1))
(a0-4 (t9-2 a0-3 sv-96 a2-1))
(a1-2 arg1)
(a2-2 #f)
(a3-1 44)
@@ -1765,12 +1765,12 @@
;; definition for function draw-sound-options-decoration
;; INFO: Used lq/sq
(defun draw-sound-options-decoration ((arg0 menu-slider-option) (arg1 font-context) (arg2 float) (arg3 symbol) (arg4 text-id))
(defun draw-sound-options-decoration ((arg0 menu-slider-option) (arg1 font-context) (arg2 float) (arg3 text-id) (arg4 symbol))
(local-vars
(sv-16 font-context)
(sv-32 int)
(sv-48 (function string font-context symbol int bucket-id float))
(sv-64 symbol)
(sv-64 text-id)
)
(set! sv-16 arg1)
(let ((s2-0 arg2))
@@ -1815,7 +1815,7 @@
(let* ((a0-4 *common-text*)
(t9-1 (method-of-object a0-4 lookup-text!))
(a2-1 #f)
(a0-5 (t9-1 a0-4 (the-as text-id sv-64) a2-1))
(a0-5 (t9-1 a0-4 sv-64 a2-1))
(a1-2 sv-16)
(a2-2 #f)
(a3-1 44)
@@ -1931,12 +1931,12 @@
;; definition for function draw-decoration-load-save
;; INFO: Used lq/sq
(defun draw-decoration-load-save ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 int))
(defun draw-decoration-load-save ((arg0 menu-option) (arg1 font-context) (arg2 float) (arg3 text-id))
(local-vars
(sv-16 int)
(sv-32 int)
(sv-48 (function string font-context symbol int bucket-id float))
(sv-64 int)
(sv-64 text-id)
(sv-80 font-context)
)
(set! sv-80 arg1)
@@ -1995,7 +1995,7 @@
(let* ((a0-8 *common-text*)
(t9-1 (method-of-object a0-8 lookup-text!))
(a2-1 #f)
(a0-9 (t9-1 a0-8 (the-as text-id sv-64) a2-1))
(a0-9 (t9-1 a0-8 sv-64 a2-1))
(a2-2 #f)
(a3-1 44)
(t0-0 320)
@@ -2545,8 +2545,8 @@
(set! (-> arg1 height) sv-36)
(if (zero? arg2)
(draw-decoration-load-save obj arg1 sv-16 (if (= (-> arg0 current) 'select-load)
300
299
(text-id progress-select-file-to-load)
(text-id progress-select-file-to-save)
)
)
)
@@ -2729,7 +2729,7 @@
(set! (-> v1-7 height) (the float 60))
)
(let ((s5-0 409))
(progress-method-28 arg0 'select-save)
(get-state-check-card arg0 'select-save)
(let ((s4-0 print-game-text))
(format (clear *temp-string*) (lookup-text! *common-text* (the-as text-id s5-0) #f) 1)
(s4-0 *temp-string* arg1 #f 44 (bucket-id progress))
@@ -3669,8 +3669,8 @@
(if (or (= (-> *setting-control* user-default language) (language-enum french))
(= (-> *setting-control* user-default language) (language-enum spanish))
)
(draw-decoration obj arg1 f30-0 a3-1 #t 0.7)
(draw-decoration obj arg1 f30-0 a3-1 #t 0.95)
(draw-decoration obj arg1 f30-0 (the-as text-id a3-1) #t 0.7)
(draw-decoration obj arg1 f30-0 (the-as text-id a3-1) #t 0.95)
)
)
(begin-scissor-level sv-128)
@@ -3846,8 +3846,8 @@
(if (or (= (-> *setting-control* user-default language) (language-enum french))
(= (-> *setting-control* user-default language) (language-enum spanish))
)
(draw-decoration obj arg1 f30-0 364 #t 0.7)
(draw-decoration obj arg1 f30-0 364 #t 0.95)
(draw-decoration obj arg1 f30-0 (text-id progress-select-scene) #t 0.7)
(draw-decoration obj arg1 f30-0 (text-id progress-select-scene) #t 0.95)
)
(begin-scissor-scene s1-0)
(let ((v1-23 arg1))
@@ -5093,15 +5093,15 @@
;; definition of type print-highscore-obj
(deftype print-highscore-obj (basic)
((self texture-page :offset-assert 4)
(index int32 :offset-assert 8)
(previous texture-page :offset-assert 12)
(place int32 :offset-assert 16)
(score float :offset-assert 20)
(game-score basic :offset-assert 24)
(context font-context :offset-assert 28)
(local-scale float :offset-assert 32)
(interp float :offset-assert 36)
((self menu-highscores-option :offset-assert 4)
(index int32 :offset-assert 8)
(previous symbol :offset-assert 12)
(place int32 :offset-assert 16)
(score float :offset-assert 20)
(game-score symbol :offset-assert 24)
(context font-context :offset-assert 28)
(local-scale float :offset-assert 32)
(interp float :offset-assert 36)
)
:method-count-assert 9
:size-assert #x28
@@ -5142,7 +5142,7 @@
)
;; definition for function draw-highscore-cup
(defun draw-highscore-cup ((arg0 texture-page) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float))
(defun draw-highscore-cup ((arg0 menu-highscores-option) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float))
"First int is an enum"
(let ((a0-1 (the-as uint #xc9300300)))
(case arg1
@@ -5157,23 +5157,23 @@
)
)
(when (nonzero? arg1)
(set! (-> arg0 pad 11) (the-as uint 4))
(let ((v1-10 (&-> arg0 pad 7)))
(set! (-> v1-10 0) (the-as uint 128))
(set! (-> v1-10 1) (the-as uint 128))
(set! (-> v1-10 2) (the-as uint 128))
(set! (-> v1-10 3) (the-as uint (the int (* 128.0 arg5))))
(set! (-> arg0 sprites 0 flags) (the-as uint 4))
(let ((v1-10 (-> arg0 sprites 0 color2)))
(set! (-> v1-10 0) 128)
(set! (-> v1-10 1) 128)
(set! (-> v1-10 2) 128)
(set! (-> v1-10 3) (the int (* 128.0 arg5)))
)
(set! (-> arg0 pad 5) (the-as uint #xffffff))
(set! (-> arg0 pad 6) (the-as uint 0))
(set! (-> arg0 data 0) (lookup-texture-by-id (the-as texture-id a0-1)))
(set! (-> arg0 pad 12) (the-as uint arg4))
(set! (-> arg0 pad 13) (the-as uint arg4))
(set-hud-piece-position! (the-as hud-sprite (&-> arg0 pad 3)) arg2 arg3)
(set! (-> arg0 sprites 0 pos z) #xffffff)
(set! (-> arg0 sprites 0 pos w) 0)
(set! (-> arg0 sprites 0 tex) (lookup-texture-by-id (the-as texture-id a0-1)))
(set! (-> arg0 sprites 0 scale-x) arg4)
(set! (-> arg0 sprites 0 scale-y) arg4)
(set-hud-piece-position! (the-as hud-sprite (-> arg0 sprites)) arg2 arg3)
(with-dma-buffer-add-bucket ((s4-1 (-> *display* frames (-> *display* on-screen) global-buf))
(bucket-id progress)
)
((method-of-type hud-sprite draw) (the-as hud-sprite (&-> arg0 pad 3)) s4-1 (-> *level* default-level))
((method-of-type hud-sprite draw) (the-as hud-sprite (-> arg0 sprites)) s4-1 (-> *level* default-level))
)
)
)
@@ -6126,8 +6126,8 @@
(set! (-> sv-144 sprites 0 pos z) #xfffff0)
(set! (-> sv-144 sprites 0 pos w) 0)
(if (= (-> *setting-control* user-default language) (language-enum spanish))
(draw-decoration sv-144 sv-140 sv-96 310 #t 0.8)
(draw-decoration sv-144 sv-140 sv-96 310 #t 0.95)
(draw-decoration sv-144 sv-140 sv-96 (text-id progress-root-highscores) #t 0.8)
(draw-decoration sv-144 sv-140 sv-96 (text-id progress-root-highscores) #t 0.95)
)
(let ((v1-39 sv-140))
(set! (-> v1-39 scale) 0.6)
@@ -6212,10 +6212,10 @@
(let ((gp-5 (get-game-score-ref *game-info* (get-highscore-score (-> sv-144 page-index)))))
(set! (-> sv-116 index) (-> sv-144 page-index))
(set! (-> sv-116 previous) #f)
(set! (-> sv-116 self) (the-as texture-page sv-144))
(set! (-> sv-116 self) sv-144)
(case (get-highscore-type (-> sv-144 page-index))
(('game)
(set! (-> sv-116 game-score) (the-as basic #t))
(set! (-> sv-116 game-score) #t)
)
(('race)
(set! (-> sv-116 game-score) #f)
@@ -6326,11 +6326,11 @@
(when (< 1 (get-num-highscores))
(let ((gp-11 (get-game-score-ref *game-info* (get-highscore-score (-> sv-144 prev-page-index)))))
(set! (-> sv-116 index) (-> sv-144 prev-page-index))
(set! (-> sv-116 previous) (the-as texture-page #t))
(set! (-> sv-116 self) (the-as texture-page sv-144))
(set! (-> sv-116 previous) #t)
(set! (-> sv-116 self) sv-144)
(case (get-highscore-type (-> sv-144 prev-page-index))
(('game)
(set! (-> sv-116 game-score) (the-as basic #t))
(set! (-> sv-116 game-score) #t)
)
(('race)
(set! (-> sv-116 game-score) #f)
@@ -6833,8 +6833,8 @@
(set! (-> a1-1 flags) (font-flags kerning middle large))
)
(if (= (-> *setting-control* user-default language) (language-enum spanish))
(draw-decoration obj arg1 f0-1 283 #f 0.85)
(draw-decoration obj arg1 f0-1 283 #f 0.95)
(draw-decoration obj arg1 f0-1 (text-id progress-root-game-options) #f 0.85)
(draw-decoration obj arg1 f0-1 (text-id progress-root-game-options) #f 0.95)
)
)
0
@@ -6942,7 +6942,7 @@
)
(print-menu-text a0-12 (-> obj scale) arg1 arg0)
)
(draw-decoration obj arg1 f30-0 284 #f 0.95)
(draw-decoration obj arg1 f30-0 (text-id progress-root-graphic-options) #f 0.95)
)
0
(none)
@@ -7290,13 +7290,13 @@
(print-game-text a0-12 arg1 #f 44 (bucket-id progress))
(cond
((= (-> *setting-control* user-default language) (language-enum french))
(draw-decoration obj arg1 f30-0 371 #f 0.8)
(draw-decoration obj arg1 f30-0 (text-id progress-restart-quit) #f 0.8)
)
((= (-> *setting-control* user-default language) (language-enum german))
(draw-decoration obj arg1 f30-0 371 #f 0.7)
(draw-decoration obj arg1 f30-0 (text-id progress-restart-quit) #f 0.7)
)
(else
(draw-decoration obj arg1 f30-0 371 #f 0.95)
(draw-decoration obj arg1 f30-0 (text-id progress-restart-quit) #f 0.95)
)
)
)
@@ -7666,7 +7666,7 @@
)
)
(if (zero? gp-0)
(draw-sound-options-decoration obj s5-0 f30-0 (the-as symbol 285) (the-as text-id #f))
(draw-sound-options-decoration obj s5-0 f30-0 (text-id progress-root-sound-options) #f)
)
)
)
@@ -7986,3 +7986,7 @@
0
(none)
)
+6 -6
View File
@@ -39,12 +39,12 @@
(go-away () _type_ :state 22)
(gone () _type_ :state 23)
(init-defaults (_type_) connection 24)
(progress-method-25 (_type_) none 25)
(is-gone (_type_) object 26)
(respond-to-cpad (_type_) none 25)
(gone? (_type_) object 26)
(can-go-back? (_type_) symbol 27)
(progress-method-28 (_type_ symbol) symbol 28)
(progress-method-29 (_type_) int 29)
(progress-method-30 (_type_) int 30)
(get-state-check-card (_type_ symbol) symbol 28)
(push-state (_type_) int 29)
(pop-state (_type_) int 30)
(set-next-state (_type_ symbol int) int 31)
(set-menu-options (_type_ symbol) int 32)
)
@@ -100,7 +100,7 @@
:size-assert #x30
:flag-assert #xc00000030
(:methods
(respond-progress (_type_ progress object) int :behavior progress 9)
(respond-progress (_type_ progress symbol) int :behavior progress 9)
(draw-option (_type_ progress font-context int symbol) none 10)
(menu-option-method-11 () none 11)
)
+95 -95
View File
@@ -576,7 +576,7 @@
)
;; definition for method 26 of type progress
(defmethod is-gone progress ((obj progress))
(defmethod gone? progress ((obj progress))
(and *progress-process*
(-> *progress-process* 0 next-state)
(= (-> *progress-process* 0 next-state name) 'gone)
@@ -670,7 +670,7 @@
)
;; definition for method 28 of type progress
(defmethod progress-method-28 progress ((obj progress) (arg0 symbol))
(defmethod get-state-check-card progress ((obj progress) (arg0 symbol))
(let ((v1-0 *progress-save-info*)
(v0-0 arg0)
)
@@ -768,7 +768,7 @@
)
;; definition for method 29 of type progress
(defmethod progress-method-29 progress ((obj progress))
(defmethod push-state progress ((obj progress))
(let ((v1-0 (-> obj state-pos)))
(cond
((< v1-0 5)
@@ -785,7 +785,7 @@
)
;; definition for method 30 of type progress
(defmethod progress-method-30 progress ((obj progress))
(defmethod pop-state progress ((obj progress))
(let ((v1-0 (-> obj state-pos)))
(cond
((> v1-0 0)
@@ -819,7 +819,7 @@
(set! (-> obj next) arg0)
(case (-> obj next)
(('select-load 'select-save 'select-save-title 'select-save-title-hero)
(set! (-> obj next) (progress-method-28 obj (-> obj next)))
(set! (-> obj next) (get-state-check-card obj (-> obj next)))
)
)
(case (-> obj next)
@@ -1058,14 +1058,14 @@
)
(when (= (-> obj current-options) #f)
(format #t "Didn't find new menu settings!!~%")
(progress-method-30 obj)
(pop-state obj)
)
0
)
;; definition for method 25 of type progress
;; WARN: Return type mismatch int vs none.
(defmethod progress-method-25 progress ((obj progress))
(defmethod respond-to-cpad progress ((obj progress))
(mc-get-slot-info 0 *progress-save-info*)
(when (-> obj current-options)
(let ((s5-0 (-> obj current-options options)))
@@ -1147,7 +1147,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 obj)
(pop-state obj)
)
)
)
@@ -1217,7 +1217,7 @@
)
)
(if (= (-> self ring-angle) (-> self ring-want-angle))
(progress-method-25 self)
(respond-to-cpad self)
)
(let ((f30-0 (* 0.005 (-> self clock time-adjust-ratio))))
(cond
@@ -1640,7 +1640,7 @@
)
)
(else
(progress-method-30 self)
(pop-state self)
)
)
)
@@ -1833,13 +1833,13 @@
)
;; definition for method 9 of type menu-option
(defmethod respond-progress menu-option ((obj menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-option ((obj menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
0
)
;; definition for method 9 of type menu-on-off-option
(defmethod respond-progress menu-on-off-option ((obj menu-on-off-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-on-off-option ((obj menu-on-off-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* on-off-choice))
(gp-0 #f)
@@ -1866,7 +1866,7 @@
((and (-> v1-1 0) (= (-> obj value-to-modify) (&-> *setting-control* user-default use-progressive-scan)))
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'progressive-mode-warning 0)
)
(else
@@ -1890,7 +1890,7 @@
)
;; definition for method 9 of type menu-yes-no-option
(defmethod respond-progress menu-yes-no-option ((obj menu-yes-no-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-yes-no-option ((obj menu-yes-no-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -1932,7 +1932,7 @@
)
;; definition for method 9 of type menu-slider-option
(defmethod respond-progress menu-slider-option ((obj menu-slider-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-slider-option ((obj menu-slider-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((gp-0 (-> obj value-to-modify))
@@ -2015,7 +2015,7 @@
)
;; definition for method 9 of type menu-stereo-mode-sound-option
(defmethod respond-progress menu-stereo-mode-sound-option ((obj menu-stereo-mode-sound-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-stereo-mode-sound-option ((obj menu-stereo-mode-sound-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (-> *bigmap* progress-minimap)
(let ((a0-1 (-> *setting-control* user-default stereo-mode))
@@ -2054,7 +2054,7 @@
)
;; definition for method 9 of type menu-main-menu-option
(defmethod respond-progress menu-main-menu-option ((obj menu-main-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-main-menu-option ((obj menu-main-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(cond
((cpad-pressed? 0 start)
@@ -2094,20 +2094,20 @@
)
)
(sound-play "window-expand")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
((= (-> obj next-state) 'restart)
(sound-volume-off)
(restart-mission)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "window-expand")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
)
@@ -2150,7 +2150,7 @@
)
;; definition for method 9 of type menu-sub-menu-option
(defmethod respond-progress menu-sub-menu-option ((obj menu-sub-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-sub-menu-option ((obj menu-sub-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (and (-> *progress-state* secrets-unlocked)
(not (memcard-unlocked-secrets? #f))
@@ -2166,7 +2166,7 @@
(set-next-state arg0 'secrets-insufficient-space 0)
)
(when (= (-> obj name) (text-id progress-continue-without-saving))
(let ((a1-3 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-3 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-3 0)
)
)
@@ -2198,11 +2198,11 @@
(progress-intro-start (logtest? (-> *game-info* purchase-secrets) (game-secrets hero-mode)))
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 (-> obj next-state) 0)
)
)
@@ -2211,7 +2211,7 @@
)
;; definition for method 9 of type menu-unlocked-menu-option
(defmethod respond-progress menu-unlocked-menu-option ((obj menu-unlocked-menu-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-unlocked-menu-option ((obj menu-unlocked-menu-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (memcard-unlocked-secrets? #t)))
(logclear! (-> *game-info* purchase-secrets) (game-secrets hero-mode))
@@ -2277,7 +2277,7 @@
)
(set! (-> *progress-state* scene-player-act) 1)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-sceneplayer-2))
@@ -2285,7 +2285,7 @@
)
(set! (-> *progress-state* scene-player-act) 2)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-sceneplayer-3))
@@ -2293,23 +2293,23 @@
)
(set! (-> *progress-state* scene-player-act) 3)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-scene 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-hero-mode)) (logtest? s4-0 (game-secrets hero-mode)))
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-save-title-hero 0)
)
((and (= (-> obj name) (text-id progress-main-secrets-levelselect))
(logtest? s4-0 (game-secrets level-select))
)
(sound-play "generic-beep")
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'select-start 0)
)
((= (-> obj next-state) 'back)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2349,10 +2349,10 @@
)
;; definition for method 9 of type menu-memcard-slot-option
(defmethod respond-progress menu-memcard-slot-option ((obj menu-memcard-slot-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-memcard-slot-option ((obj menu-memcard-slot-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(memcard-unlocked-secrets? #t)
(let ((a1-2 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-2 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-2 0)
)
(set! (-> arg0 selected-option) #f)
@@ -2395,10 +2395,10 @@
)
;; definition for method 9 of type menu-already-exists-option
(defmethod respond-progress menu-already-exists-option ((obj menu-already-exists-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-already-exists-option ((obj menu-already-exists-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(a1-2 (progress-method-28 arg0 'select-save))
(a1-2 (get-state-check-card arg0 'select-save))
(gp-0 #f)
)
(if (!= a1-2 'select-save)
@@ -2438,12 +2438,12 @@
)
;; definition for method 9 of type menu-create-game-option
(defmethod respond-progress menu-create-game-option ((obj menu-create-game-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-create-game-option ((obj menu-create-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
)
(let ((a1-2 (progress-method-28 arg0 'select-save)))
(let ((a1-2 (get-state-check-card arg0 'select-save)))
(if (!= a1-2 'select-save)
(set-next-state arg0 a1-2 0)
)
@@ -2471,7 +2471,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2484,10 +2484,10 @@
)
;; definition for method 9 of type menu-insufficient-space-option
(defmethod respond-progress menu-insufficient-space-option ((obj menu-insufficient-space-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-insufficient-space-option ((obj menu-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s5-0 (&-> *progress-state* yes-no-choice))
(s3-0 (progress-method-28 arg0 'select-save))
(s3-0 (get-state-check-card arg0 'select-save))
)
(cond
((or (= (-> *progress-state* starting-state) 'insufficient-space)
@@ -2513,13 +2513,13 @@
(cond
((-> s5-0 0)
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
((and (not (-> s5-0 0))
(!= (progress-method-28 arg0 'select-save) 'insufficient-space)
(!= (progress-method-28 arg0 'select-save) 'no-memory-card)
(!= (get-state-check-card arg0 'select-save) 'insufficient-space)
(!= (get-state-check-card arg0 'select-save) 'no-memory-card)
)
(progress-method-30 arg0)
(pop-state arg0)
)
(else
(sound-play "generic-beep")
@@ -2546,7 +2546,7 @@
(set! a1-9 'select-save-title)
)
)
(let ((a1-10 (progress-method-28 arg0 a1-9)))
(let ((a1-10 (get-state-check-card arg0 a1-9)))
(set-next-state arg0 a1-10 0)
)
)
@@ -2568,7 +2568,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2580,7 +2580,7 @@
)
;; definition for method 9 of type menu-secrets-insufficient-space-option
(defmethod respond-progress menu-secrets-insufficient-space-option ((obj menu-secrets-insufficient-space-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-secrets-insufficient-space-option ((obj menu-secrets-insufficient-space-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(&-> *progress-state* yes-no-choice)
(cond
@@ -2599,7 +2599,7 @@
)
;; definition for method 9 of type menu-video-mode-warning-option
(defmethod respond-progress menu-video-mode-warning-option ((obj menu-video-mode-warning-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-video-mode-warning-option ((obj menu-video-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2625,7 +2625,7 @@
)
(else
(set! (-> *progress-state* video-mode-choice) 'pal)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2638,7 +2638,7 @@
)
;; definition for method 9 of type menu-video-mode-ok-option
(defmethod respond-progress menu-video-mode-ok-option ((obj menu-video-mode-ok-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-video-mode-ok-option ((obj menu-video-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2666,7 +2666,7 @@
)
)
(set! (-> *progress-state* video-mode-timeout) 0)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -2679,13 +2679,13 @@
(set! (-> *progress-state* video-mode-timeout) 0)
(set! (-> *progress-state* video-mode-choice) 'pal)
(set! (-> *setting-control* user-default video-mode) (-> *progress-state* video-mode-choice))
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-progressive-mode-warning-option
(defmethod respond-progress menu-progressive-mode-warning-option ((obj menu-progressive-mode-warning-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-progressive-mode-warning-option ((obj menu-progressive-mode-warning-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2718,7 +2718,7 @@
(set! (-> *progress-state* on-off-choice) #f)
(set! (-> *progress-state* graphic-options-progressive-scan) #f)
(set-progressive-scan #f)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2731,7 +2731,7 @@
)
;; definition for method 9 of type menu-progressive-mode-ok-option
(defmethod respond-progress menu-progressive-mode-ok-option ((obj menu-progressive-mode-ok-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-progressive-mode-ok-option ((obj menu-progressive-mode-ok-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(s5-0 #f)
@@ -2760,7 +2760,7 @@
)
)
(set! (-> *progress-state* progressive-mode-timeout) 0)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -2774,105 +2774,105 @@
(set! (-> *setting-control* user-default use-progressive-scan) #f)
(set! (-> *progress-state* graphic-options-progressive-scan) #f)
(set-progressive-scan #f)
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-card-removed-option
(defmethod respond-progress menu-card-removed-option ((obj menu-card-removed-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-card-removed-option ((obj menu-card-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-insert-card-option
(defmethod respond-progress menu-insert-card-option ((obj menu-insert-card-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-insert-card-option ((obj menu-insert-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
*progress-save-info*
(cond
((= (progress-method-28 arg0 'select-load) 'select-load)
((= (get-state-check-card arg0 'select-load) 'select-load)
(set-next-state arg0 'select-load 0)
)
((cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
0
)
;; definition for method 9 of type menu-error-loading-option
(defmethod respond-progress menu-error-loading-option ((obj menu-error-loading-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-loading-option ((obj menu-error-loading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-error-auto-saving-option
(defmethod respond-progress menu-error-auto-saving-option ((obj menu-error-auto-saving-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-auto-saving-option ((obj menu-error-auto-saving-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-error-disc-removed-option
(defmethod respond-progress menu-error-disc-removed-option ((obj menu-error-disc-removed-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-disc-removed-option ((obj menu-error-disc-removed-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(when (is-cd-in?)
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
0
)
;; definition for method 9 of type menu-error-reading-option
(defmethod respond-progress menu-error-reading-option ((obj menu-error-reading-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-error-reading-option ((obj menu-error-reading-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-icon-info-option
(defmethod respond-progress menu-icon-info-option ((obj menu-icon-info-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-icon-info-option ((obj menu-icon-info-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(when (cpad-pressed? 0 confirm)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
0
)
;; definition for method 9 of type menu-quit-option
(defmethod respond-progress menu-quit-option ((obj menu-quit-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-quit-option ((obj menu-quit-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((v1-1 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
@@ -2904,7 +2904,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2917,12 +2917,12 @@
)
;; definition for method 9 of type menu-format-card-option
(defmethod respond-progress menu-format-card-option ((obj menu-format-card-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-format-card-option ((obj menu-format-card-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let ((s4-0 (&-> *progress-state* yes-no-choice))
(gp-0 #f)
)
(let ((a1-2 (progress-method-28 arg0 (-> arg0 current))))
(let ((a1-2 (get-state-check-card arg0 (-> arg0 current))))
(set-next-state arg0 a1-2 0)
)
(cond
@@ -2949,7 +2949,7 @@
)
(else
(sound-play "generic-beep")
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -2963,7 +2963,7 @@
;; definition for method 9 of type menu-select-start-option
;; WARN: disable def twice: 110. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
(defmethod respond-progress menu-select-start-option ((obj menu-select-start-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-select-start-option ((obj menu-select-start-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3059,7 +3059,7 @@
)
;; definition for method 9 of type menu-select-scene-option
(defmethod respond-progress menu-select-scene-option ((obj menu-select-scene-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-select-scene-option ((obj menu-select-scene-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3135,7 +3135,7 @@
)
;; definition for method 9 of type menu-bigmap-option
(defmethod respond-progress menu-bigmap-option ((obj menu-bigmap-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-bigmap-option ((obj menu-bigmap-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(bigmap-method-12 *bigmap*)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
@@ -3144,7 +3144,7 @@
)
;; definition for method 9 of type menu-missions-option
(defmethod respond-progress menu-missions-option ((obj menu-missions-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-missions-option ((obj menu-missions-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding-height) (seek-ease
(-> arg0 sliding-height)
@@ -3183,7 +3183,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -3194,7 +3194,7 @@
)
;; definition for method 9 of type menu-highscores-option
(defmethod respond-progress menu-highscores-option ((obj menu-highscores-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-highscores-option ((obj menu-highscores-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(set! (-> arg0 sliding) (seek-ease
(-> arg0 sliding)
@@ -3252,7 +3252,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-0
@@ -3264,7 +3264,7 @@
)
;; definition for method 9 of type menu-secret-option
(defmethod respond-progress menu-secret-option ((obj menu-secret-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-secret-option ((obj menu-secret-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(let* ((s5-1 (logtest? (-> *game-info* secrets) (game-secrets hero-mode)))
(s3-0 (if (not s5-1)
@@ -3366,7 +3366,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
(if s5-2
@@ -3383,7 +3383,7 @@
)
;; definition for method 9 of type menu-game-option
(defmethod respond-progress menu-game-option ((obj menu-game-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-game-option ((obj menu-game-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* game-options-vibrations)
(-> *progress-state* game-options-subtitles)
@@ -3433,7 +3433,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -3606,7 +3606,7 @@
)
;; definition for method 9 of type menu-graphic-option
(defmethod respond-progress menu-graphic-option ((obj menu-graphic-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-graphic-option ((obj menu-graphic-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* graphic-options-aspect-ratio)
(-> *progress-state* graphic-options-progressive-scan)
@@ -3673,7 +3673,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)
@@ -3758,7 +3758,7 @@
)
(logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons confirm))
(logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons confirm))
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'progressive-mode-warning 0)
)
(when (and (= (-> *progress-state* graphic-options-item-selected) 3)
@@ -3770,7 +3770,7 @@
(set! (-> *setting-control* user-default video-mode) a0-173)
)
(('ntsc)
(progress-method-29 arg0)
(push-state arg0)
(set-next-state arg0 'video-mode-warning 0)
)
)
@@ -3826,7 +3826,7 @@
)
;; definition for method 9 of type menu-qr-option
(defmethod respond-progress menu-qr-option ((obj menu-qr-option) (arg0 progress) (arg1 object))
(defmethod respond-progress menu-qr-option ((obj menu-qr-option) (arg0 progress) (arg1 symbol))
"Handle progress menu navigation logic."
(-> *progress-state* qr-options-restart)
(-> *progress-state* qr-options-quit)
@@ -3890,7 +3890,7 @@
(sound-play "window-contract")
(sound-play "generic-beep")
)
(progress-method-30 arg0)
(pop-state arg0)
)
)
)