diff --git a/goal_src/jak1/pc/progress-pc.gc b/goal_src/jak1/pc/progress-pc.gc index 3fd402c0f3..3bc72b1e49 100644 --- a/goal_src/jak1/pc/progress-pc.gc +++ b/goal_src/jak1/pc/progress-pc.gc @@ -225,7 +225,10 @@ :name (text-id input-options) :scale #t :param3 (game-option-menu input-options)) - (new 'static 'game-option :option-type (game-option-type on-off) :name (text-id play-hints) :scale #t) + (new 'static 'game-option :option-type (game-option-type on-off) :name (text-id play-hints) :scale #t + :on-confirm + (lambda () + (set! (-> *setting-control* default play-hints) (-> *pc-settings* memcard-play-hints?)))) (new 'static 'game-option :option-type (game-option-type on-off) :name (text-id subtitles) :scale #t) (new 'static 'game-option :option-type (game-option-type on-off) :name (text-id hinttitles) :scale #t) (new 'static 'game-option :option-type (game-option-type language) :name (text-id language) :scale #t) @@ -297,7 +300,11 @@ :scale #t :param1 0.0 :param2 100.0 - :slider-step-size 1.0) + :slider-step-size 1.0 + :on-confirm + (lambda ((val object)) + (set! (-> *setting-control* default sfx-volume) (-> *pc-settings* memcard-volume-sfx)) + (none))) (new 'static 'game-option :option-type (game-option-type slider) @@ -305,7 +312,11 @@ :scale #t :param1 0.0 :param2 100.0 - :slider-step-size 1.0) + :slider-step-size 1.0 + :on-confirm + (lambda ((val object)) + (set! (-> *setting-control* default music-volume) (-> *pc-settings* memcard-volume-music)) + (none))) (new 'static 'game-option :option-type (game-option-type slider) @@ -313,7 +324,11 @@ :scale #t :param1 0.0 :param2 100.0 - :slider-step-size 1.0) + :slider-step-size 1.0 + :on-confirm + (lambda ((val object)) + (set! (-> *setting-control* default dialog-volume) (-> *pc-settings* memcard-volume-dialog)) + (none))) ;(new 'static 'game-option :option-type (game-option-type on-off) :name (text-id music-fadein) :scale #t) (new 'static 'game-option :option-type (game-option-type button) :name (text-id back) :scale #t))) @@ -371,7 +386,10 @@ :scale #t :option-disabled-func (lambda () - (not (pc-current-controller-has-rumble?)))) + (not (pc-current-controller-has-rumble?))) + :on-confirm + (lambda () + (set! (-> *setting-control* default vibration) (-> *pc-settings* memcard-vibration?)))) (new 'static 'game-option :option-type (game-option-type slider) diff --git a/goal_src/jak2/pc/progress/progress-static-pc.gc b/goal_src/jak2/pc/progress/progress-static-pc.gc index a9e0182e1b..55b9dac78e 100644 --- a/goal_src/jak2/pc/progress/progress-static-pc.gc +++ b/goal_src/jak2/pc/progress/progress-static-pc.gc @@ -6,9 +6,6 @@ Additional PC port specific file for overriding/expanding the progress menu This gives us more freedom to write code how we want. |# -;; in jak 2, the options dont have to be all-caps anymore! -;; encode controller/display names - current bug waiting to happen - (define *title-pc* (new 'static 'menu-option-list :y-center #xc6 @@ -138,7 +135,10 @@ This gives us more freedom to write code how we want. :truthy-text (text-id progress-on) :falsey-text (text-id progress-off) :get-value-fn (lambda () (-> *setting-control* user-default vibration)) - :on-confirm (lambda ((val symbol)) (set! (-> *setting-control* user-default vibration) val))) + :on-confirm (lambda ((val symbol)) + (set! (-> *pc-settings* memcard-vibration?) val) + (pc-settings-save) + (set! (-> *setting-control* user-default vibration) val))) (new 'static 'menu-generic-slider-option :name (text-id progress-controller-options-analog-deadzone) :min-value 0.0 @@ -285,7 +285,10 @@ This gives us more freedom to write code how we want. :truthy-text (text-id progress-on) :falsey-text (text-id progress-off) :get-value-fn (lambda () (-> *setting-control* user-default subtitle)) - :on-confirm (lambda ((val symbol)) (set! (-> *setting-control* user-default subtitle) val)))) + :on-confirm (lambda ((val symbol)) + (set! (-> *pc-settings* memcard-subtitles?) val) + (pc-settings-save) + (set! (-> *setting-control* user-default subtitle) val)))) (defmacro game-options-pc-subtitle-language () `(new 'static 'menu-generic-carousel-option @@ -334,7 +337,6 @@ This gives us more freedom to write code how we want. :on-confirm (lambda ((index int) (the-progress progress)) (set! (-> *pc-settings* text-language) (the-as pc-language index)) ;; NOTE - this doesn't actually work (naughty dog tried it too in their progress code) - ;; fix it eventually (load-level-text-files (the-as int (-> *pc-settings* text-language))) (pc-settings-save)))) @@ -427,7 +429,7 @@ This gives us more freedom to write code how we want. (define *graphic-options-pc* (progress-new-generic-scrolling-page (text-id progress-root-graphic-options) - ;; NOTE/TODO - this doesn't following the established generic menu pattern + ;; NOTE/TODO - this doesn't follow the established generic menu pattern ;; a generic scrolling list menu component should be created (similar to menu-generic-details-page) ;; so the code can be localized to functions instead of scattered around in a bunch of switch statements (new 'static 'menu-generic-to-resolutions-option