mirror of
https://github.com/open-goal/jak-project
synced 2026-05-29 08:43:08 -04:00
g/j1: set internal settings valid when menu is changed
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user