mirror of
https://github.com/open-goal/jak-project
synced 2026-07-07 06:05:15 -04:00
Fix language settings not saving in jak 2/3, fix autosave from title screen new game in jak 3 (#4172)
fixes #4167 and #4164
This commit is contained in:
@@ -427,7 +427,9 @@ This gives us more freedom to write code how we want.
|
||||
(text-id language-name-korean))
|
||||
:get-item-index-fn (lambda () (-> *setting-control* user-default language))
|
||||
:on-confirm (lambda ((index int) (the-progress progress))
|
||||
(set! (-> *setting-control* user-default language) (the-as language-enum index)))))
|
||||
(set! (-> *setting-control* user-default language) (the-as language-enum index))
|
||||
(set! (-> *setting-control* user-current language) (the-as language-enum index))
|
||||
(pc-settings-save))))
|
||||
|
||||
(defmacro game-options-pc-text-language ()
|
||||
`(new 'static 'menu-generic-carousel-option
|
||||
|
||||
@@ -175,6 +175,22 @@
|
||||
(false! (-> obj hires-clouds?))
|
||||
(set! (-> obj speedrunner-mode-custom-bind) 0)
|
||||
|
||||
(cond
|
||||
((and (= *default-territory* GAME_TERRITORY_SCEE) (= (-> obj text-language) (pc-language english)))
|
||||
(set! (-> obj text-language) (pc-language uk-english))
|
||||
(set! (-> obj subtitle-language) (pc-language uk-english))
|
||||
)
|
||||
;; ((= *default-territory* GAME_TERRITORY_SCEI)
|
||||
;; (set! (-> obj text-language) (pc-language japanese))
|
||||
;; (set! (-> obj subtitle-language) (pc-language japanese))
|
||||
;; )
|
||||
((= *default-territory* GAME_TERRITORY_SCEK)
|
||||
(set! (-> obj text-language) (pc-language korean))
|
||||
(set! (-> obj subtitle-language) (pc-language korean))
|
||||
)
|
||||
(else
|
||||
))
|
||||
|
||||
(set! (-> obj memcard-volume-sfx) 0.5)
|
||||
(set! (-> obj memcard-volume-music) 0.4)
|
||||
(set! (-> obj memcard-volume-dialog) 0.75)
|
||||
|
||||
@@ -239,6 +239,7 @@
|
||||
(set! (-> *setting-control* user-default dialog-volume) (-> obj memcard-volume-dialog))
|
||||
(set! (-> *setting-control* user-default vibration) (-> obj memcard-vibration?))
|
||||
(set! (-> *setting-control* user-default subtitle) (-> obj memcard-subtitles?))
|
||||
(set! (-> *setting-control* user-default subtitle-language) (the-as language-enum (-> obj subtitle-language)))
|
||||
obj)
|
||||
|
||||
(defmethod set-game-setting! ((obj pc-settings-jak3) (setting symbol) (value symbol))
|
||||
@@ -270,12 +271,12 @@
|
||||
)
|
||||
|
||||
(defmethod set-game-language! ((obj pc-settings-jak3) (lang language-enum))
|
||||
(set! (-> *setting-control* user-default language) lang)
|
||||
(set! (-> *setting-control* user-default audio-language) lang)
|
||||
)
|
||||
|
||||
(defmethod get-game-language ((obj pc-settings-jak3))
|
||||
;; if the language is unintialized, return the default
|
||||
(let ((lang (get-current-language)))
|
||||
(let ((lang (-> *setting-control* user-current audio-language)))
|
||||
(if (= lang 255)
|
||||
(scf-get-language)
|
||||
lang
|
||||
@@ -646,6 +647,8 @@
|
||||
(("smooth-minimap?") (set! (-> obj smooth-minimap?) (file-stream-read-symbol file)))
|
||||
(("minimap-force-north") (set! (-> obj minimap-force-north) (file-stream-read-symbol file)))
|
||||
(("hires-clouds?") (set! (-> obj hires-clouds?) (file-stream-read-symbol file)))
|
||||
(("text-language") (set! (-> obj text-language) (the-as pc-language (file-stream-read-int file))))
|
||||
(("subtitle-language") (set! (-> obj subtitle-language) (the-as pc-language (file-stream-read-int file))))
|
||||
(("controller-led-status?") (set! (-> obj controller-led-status?) (file-stream-read-symbol file)))
|
||||
(("controller-swap-r1-r2?") (set! (-> obj controller-swap-r1-r2?) (file-stream-read-symbol file)))
|
||||
(("speedrunner-mode-custom-bind") (set! (-> obj speedrunner-mode-custom-bind) (file-stream-read-int file)))
|
||||
@@ -700,6 +703,8 @@
|
||||
(format file " (smooth-minimap? ~A)~%" (-> obj smooth-minimap?))
|
||||
(format file " (minimap-force-north ~A)~%" (-> obj minimap-force-north))
|
||||
(format file " (hires-clouds? ~A)~%" (-> obj hires-clouds?))
|
||||
(format file " (text-language ~D)~%" (-> obj text-language))
|
||||
(format file " (subtitle-language ~D)~%" (-> obj subtitle-language))
|
||||
(format file " (controller-led-status? ~A)~%" (-> obj controller-led-status?))
|
||||
(format file " (controller-swap-r1-r2? ~A)~%" (-> obj controller-swap-r1-r2?))
|
||||
(format file " (speedrunner-mode-custom-bind ~D)~%" (-> obj speedrunner-mode-custom-bind))
|
||||
|
||||
@@ -490,8 +490,8 @@
|
||||
((= (-> self state-array 0) 'title)
|
||||
(let ((gp-1 (-> *setting-control* user-default auto-save)))
|
||||
(sound-volume-off)
|
||||
(set! (-> *setting-control* user-default auto-save) gp-1)
|
||||
(progress-intro-start)
|
||||
(set! (-> *setting-control* user-default auto-save) gp-1)
|
||||
)
|
||||
)
|
||||
((-> *progress-work* hero-mode-save)
|
||||
|
||||
@@ -512,7 +512,9 @@ This gives us more freedom to write code how we want.
|
||||
)
|
||||
:get-item-index-fn (lambda () (-> *setting-control* user-default audio-language))
|
||||
:on-confirm (lambda ((index int) (the-progress progress))
|
||||
(set! (-> *setting-control* user-default audio-language) (the-as language-enum index)))))
|
||||
(set! (-> *setting-control* user-default audio-language) (the-as language-enum index))
|
||||
(set! (-> *setting-control* user-current audio-language) (the-as language-enum index))
|
||||
(pc-settings-save))))
|
||||
|
||||
(defmacro game-options-pc-text-language ()
|
||||
`(new 'static 'menu-generic-carousel-option
|
||||
|
||||
Reference in New Issue
Block a user