diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index c494c6eab5..5e64e81558 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -7417,6 +7417,7 @@ (progress-shadows-normal #x12a1) (progress-shadows-extended #x12a2) (progress-error-no-resolutions #x12a3) + (progress-territory-auto #x12a4) (progress-input-options-auto-hide-cursor #x1300) (progress-menu-reassign-binds #x1301) (progress-reassign-binds-controller #x1302) diff --git a/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc b/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc index 9f9062a59c..e160a6d03a 100644 --- a/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc +++ b/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc @@ -654,7 +654,7 @@ "collectables": [[69, "(function part-tracker vector)"]], "mech-states": [[50, "(function none :behavior target)"]], "target-mech": [ - [7, "(function none :behavior target)"], + [7, "(function none :behavior manipy)"], [8, "(function none :behavior mech)"], [9, "(function none :behavior manipy)"], [18, "(function surface object surface int none :behavior target)"], diff --git a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc index b8c12a0234..092cc25c02 100644 --- a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc @@ -4968,10 +4968,6 @@ ], "(enter target-mech-carry-hit-ground)": [[3, "v0", "sound-rpc-set-param"]], "(event target-mech-grab)": [[24, "a0", "process"]], - "(anon-function 7 target-mech)": [ - [32, "a0", "joint-mod-ik"], - [26, "a0", "(array joint-mod-ik)"] - ], "(enter target-mech-hit-ground)": [[3, "v0", "sound-rpc-set-param"]], "(exit target-mech-carry-drag)": [ [11, "v0", "sound-rpc-set-param"], diff --git a/game/assets/jak2/text/game_custom_text_en-US.json b/game/assets/jak2/text/game_custom_text_en-US.json index 13f05034ec..d4f7eb8616 100644 --- a/game/assets/jak2/text/game_custom_text_en-US.json +++ b/game/assets/jak2/text/game_custom_text_en-US.json @@ -144,6 +144,7 @@ "12a1": "Normal", "12a2": "Extended", "12a3": "No valid resolutions found.", + "12a4": "Automatic", "1300": "Auto Hide Cursor", "1301": "Reassign Binds", "1302": "Controller Binds", diff --git a/goal_src/jak1/engine/ps2/pad.gc b/goal_src/jak1/engine/ps2/pad.gc index e29d783113..b4757e108f 100644 --- a/goal_src/jak1/engine/ps2/pad.gc +++ b/goal_src/jak1/engine/ps2/pad.gc @@ -19,12 +19,11 @@ ;; opengoal territory override ;;;;;;;;;;;;;;;;;;;;;; -(define *debug-territory* GAME_TERRITORY_SCEA) (defun scf-get-territory () "redefined from C kernel for convenience" - (if *debug-segment* - *debug-territory* - *default-territory*) + (if (= (-> *pc-settings* territory) -1) + *default-territory* + (-> *pc-settings* territory)) ) ) diff --git a/goal_src/jak1/pc/debug/default-menu-pc.gc b/goal_src/jak1/pc/debug/default-menu-pc.gc index 26a188797d..c81b9130b5 100644 --- a/goal_src/jak1/pc/debug/default-menu-pc.gc +++ b/goal_src/jak1/pc/debug/default-menu-pc.gc @@ -629,8 +629,8 @@ (defun dm-territory-pick-func ((bterr int) (msg debug-menu-msg)) (let ((terr (/ bterr 8))) (when (= msg (debug-menu-msg press)) - (set! *debug-territory* terr)) - (= *debug-territory* terr))) + (set! (-> *pc-settings* territory) terr)) + (= (-> *pc-settings* territory) terr))) (defun dm-pc-cheats-pick-func ((bcheat int) (msg debug-menu-msg)) (let ((cheat (the pc-cheats (/ bcheat 8)))) @@ -829,6 +829,7 @@ (flag "heat" #f ,(dm-lambda-boolean-flag (-> *pc-settings* controller-led-heat?))) ) (menu "Territory" + (flag "Automatic" -1 dm-territory-pick-func) (flag "GAME_TERRITORY_SCEA" (the binteger GAME_TERRITORY_SCEA) dm-territory-pick-func) (flag "GAME_TERRITORY_SCEE" (the binteger GAME_TERRITORY_SCEE) dm-territory-pick-func) (flag "GAME_TERRITORY_SCEI" (the binteger GAME_TERRITORY_SCEI) dm-territory-pick-func) diff --git a/goal_src/jak1/pc/pckernel-common.gc b/goal_src/jak1/pc/pckernel-common.gc index 202f6e817f..df7f9487fe 100644 --- a/goal_src/jak1/pc/pckernel-common.gc +++ b/goal_src/jak1/pc/pckernel-common.gc @@ -664,6 +664,7 @@ (("lod-force-actor") (set! (-> obj lod-force-actor) (file-stream-read-int file))) (("game-language") (set-game-language! obj (the-as language-enum (file-stream-read-int file)))) (("subtitle-speaker") (set! (-> obj subtitle-speaker?) (file-stream-read-symbol file))) + (("territory") (set! (-> obj territory) (file-stream-read-int file))) (("ignore-controller-win-unfocused?") (set-ignore-controller-in-bg! obj (file-stream-read-symbol file))) (("controller-hp-led?") (set! (-> obj controller-led-hp?) (file-stream-read-symbol file))) @@ -786,6 +787,7 @@ (format file " (hinttitles? ~A)~%" (-> obj hinttitles?)) (format file " (game-language ~D)~%" (get-game-language obj)) (format file " (subtitle-speaker ~A)~%" (-> obj subtitle-speaker?)) + (format file " (territory ~D)~%" (-> obj territory)) 0) (defmethod write-to-file pc-settings ((obj pc-settings) (filename string)) diff --git a/goal_src/jak1/pc/pckernel-h.gc b/goal_src/jak1/pc/pckernel-h.gc index e55c21947b..62d86dc4ae 100644 --- a/goal_src/jak1/pc/pckernel-h.gc +++ b/goal_src/jak1/pc/pckernel-h.gc @@ -418,7 +418,7 @@ (set! (-> obj subtitle-speaker?) 'auto) (reset-camera obj call-handlers) - (set! (-> obj territory) *default-territory*) + (set! (-> obj territory) -1) ;; auto 0) (defmethod reset-camera pc-settings ((obj pc-settings) (call-handlers symbol)) diff --git a/goal_src/jak1/pc/pckernel-impl.gc b/goal_src/jak1/pc/pckernel-impl.gc index 88d75a3bdb..4c312f64b6 100644 --- a/goal_src/jak1/pc/pckernel-impl.gc +++ b/goal_src/jak1/pc/pckernel-impl.gc @@ -11,8 +11,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; version: 1.10.3.1 -(defconstant PC_KERNEL_VERSION (static-pckernel-version 1 10 3 1)) + ;; version: 1.10.4.0 +(defconstant PC_KERNEL_VERSION (static-pckernel-version 1 10 4 0)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; types and enums diff --git a/goal_src/jak2/engine/ps2/pad.gc b/goal_src/jak2/engine/ps2/pad.gc index 867fde457a..8c77e3ab01 100644 --- a/goal_src/jak2/engine/ps2/pad.gc +++ b/goal_src/jak2/engine/ps2/pad.gc @@ -71,10 +71,11 @@ The cpad-set-buzz! function can be used for vibration. (#when PC_PORT ;; redefined from C kernel -(define *debug-territory* *default-territory*) (defun scf-get-territory () "redefined from C kernel for convenience" - *debug-territory* + (if (= (-> *pc-settings* territory) -1) + *default-territory* + (-> *pc-settings* territory)) ) ) diff --git a/goal_src/jak2/engine/target/mech/target-mech.gc b/goal_src/jak2/engine/target/mech/target-mech.gc index 10f26fe2a6..e51440f8b4 100644 --- a/goal_src/jak2/engine/target/mech/target-mech.gc +++ b/goal_src/jak2/engine/target/mech/target-mech.gc @@ -7,46 +7,46 @@ ;; DECOMP BEGINS -(defmethod draw hud-heatmeter ((obj hud-heatmeter)) +(defmethod draw ((this hud-heatmeter)) (set-hud-piece-position! - (the-as hud-sprite (-> obj sprites)) + (the-as hud-sprite (-> this sprites)) 256 - (the int (+ 25.0 (* -100.0 (-> obj offset)))) + (the int (+ 25.0 (* -100.0 (-> this offset)))) ) - (set! (-> obj sprites 0 pos z) #xfffff0) + (set! (-> this sprites 0 pos z) #xfffff0) (set-as-offset-from! - (-> obj sprites 1) - (the-as vector4w (-> obj sprites)) - (+ (the int (* 0.128 (the float (-> obj values 0 current)))) -63) + (-> this sprites 1) + (the-as vector4w (-> this sprites)) + (+ (the int (* 0.128 (the float (-> this values 0 current)))) -63) 1 ) - (set! (-> obj sprites 1 pos z) #xfffff0) - ((method-of-type hud draw) obj) + (set! (-> this sprites 1 pos z) #xfffff0) + ((method-of-type hud draw) this) 0 (none) ) -(defmethod update-values hud-heatmeter ((obj hud-heatmeter)) - (set! (-> obj values 0 target) (the int (* 1000.0 (-> *game-info* distance)))) - (logclear! (-> obj flags) (hud-flags disable)) - ((method-of-type hud update-values) obj) +(defmethod update-values ((this hud-heatmeter)) + (set! (-> this values 0 target) (the int (* 1000.0 (-> *game-info* distance)))) + (logclear! (-> this flags) (hud-flags disable)) + ((method-of-type hud update-values) this) 0 (none) ) -(defmethod init-callback hud-heatmeter ((obj hud-heatmeter)) - (set! (-> obj gui-id) - (add-process *gui-control* obj (gui-channel hud-upper-center-2) (gui-action hidden) (-> obj name) 81920.0 0) +(defmethod init-callback ((this hud-heatmeter)) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-upper-center-2) (gui-action hidden) (-> this name) 81920.0 0) ) - (logior! (-> obj flags) (hud-flags show)) - (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x43 :page #x67a))) - (set! (-> obj sprites 0 flags) (the-as uint 8)) - (set! (-> obj sprites 0 scale-x) 1.2) - (set! (-> obj sprites 0 scale-y) 1.2) - (set! (-> obj sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x34 :page #x67a))) - (set! (-> obj sprites 1 flags) (the-as uint 8)) - (set! (-> obj sprites 1 scale-x) 1.8) - (set! (-> obj sprites 1 scale-y) 1.8) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x43 :page #x67a))) + (set! (-> this sprites 0 flags) (the-as uint 8)) + (set! (-> this sprites 0 scale-x) 1.2) + (set! (-> this sprites 0 scale-y) 1.2) + (set! (-> this sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x34 :page #x67a))) + (set! (-> this sprites 1 flags) (the-as uint 8)) + (set! (-> this sprites 1 scale-x) 1.8) + (set! (-> this sprites 1 scale-y) 1.8) 0 (none) ) @@ -710,69 +710,66 @@ ;; WARN: Return type mismatch symbol vs object. (defbehavior target-mech-bonk-event-handler target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (the-as - object - (when (and (= arg2 'touched) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self control) - (the-as uint 6) - ) - (>= 409.6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (begin - (vector-normalize! - (vector-! - s4-0 - (the-as vector (-> self control collision-spheres 0 prim-core)) - (-> self control actor-contact-pt) - ) - 1.0 - ) - (< 0.01 (-> s4-0 y)) - ) - ) - (if (< 0.75 (-> s4-0 y)) - (send-event - arg0 - 'bonk - (-> arg3 param 0) - (fmax - (-> self control ground-impact-vel) - (- (vector-dot (-> self control transv) (-> self control dynam gravity-normal))) + (when (and (= arg2 'touched) + ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self control) + (the-as uint 6) ) + (>= 409.6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (begin + (vector-normalize! + (vector-! + s4-0 + (the-as vector (-> self control collision-spheres 0 prim-core)) + (-> self control actor-contact-pt) + ) + 1.0 + ) + (< 0.01 (-> s4-0 y)) + ) + ) + (if (< 0.75 (-> s4-0 y)) + (send-event + arg0 + 'bonk + (-> arg3 param 0) + (fmax + (-> self control ground-impact-vel) + (- (vector-dot (-> self control transv) (-> self control dynam gravity-normal))) ) ) - (when (and (= (target-send-attack - arg0 - 'bonk - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> self control target-attack-id)) - (the-as int (-> self control attack-count)) - (penetrate touch bonk mech-bonk) - ) - 'bounce - ) - (not (logtest? (-> self focus-status) (focus-status dead hit))) - ) - (set! (-> self control last-trans-any-surf quad) (-> self control trans quad)) - (target-timed-invulnerable (seconds 0.1) self 1) - (if (focus-test? self carry) - (go - target-mech-carry-jump - (-> *TARGET-bank* mech-carry-jump-height-min) - (-> *TARGET-bank* mech-carry-jump-height-max) - #f - ) - (go - target-mech-jump - (-> *TARGET-bank* mech-jump-height-min) - (-> *TARGET-bank* mech-jump-height-max) - (the-as surface #f) - ) - ) ) - #f + (when (and (= (target-send-attack + arg0 + 'bonk + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as int (-> self control target-attack-id)) + (the-as int (-> self control attack-count)) + (penetrate touch bonk mech-bonk) + ) + 'bounce + ) + (not (logtest? (-> self focus-status) (focus-status dead hit))) + ) + (set! (-> self control last-trans-any-surf quad) (-> self control trans quad)) + (target-timed-invulnerable (seconds 0.1) self 1) + (if (focus-test? self carry) + (go + target-mech-carry-jump + (-> *TARGET-bank* mech-carry-jump-height-min) + (-> *TARGET-bank* mech-carry-jump-height-max) + #f + ) + (go + target-mech-jump + (-> *TARGET-bank* mech-jump-height-min) + (-> *TARGET-bank* mech-jump-height-max) + (the-as surface #f) + ) + ) ) + #f ) ) ) @@ -866,7 +863,7 @@ ) ) ) - (the-as object (handle-copy! arg0 s5-0)) + (handle-copy! arg0 s5-0) ) ) ) @@ -1041,9 +1038,9 @@ (set! (-> self board latch?) #f) (set! (-> self mech stick-lock) #f) (set! (-> self mech stick-off) #f) - (set! (-> self mech unstuck-time) (current-time)) + (set-time! (-> self mech unstuck-time)) (set! (-> self mech stuck-count) 0) - (set! (-> self mech mech-start-time) (current-time)) + (set-time! (-> self mech mech-start-time)) (set! (-> self mech jump-thrust) 0.0) (set! (-> self mech jump-thrust-fuel) (-> *TARGET-bank* mech-jump-thrust-fuel)) (set! (-> self mech state-impact? 0) #f) @@ -1186,18 +1183,18 @@ (send-event (ppointer->process (-> self manipy)) 'eval - (lambda :behavior target + (lambda :behavior manipy () - (set! (-> self state-hook) #f) + (set! (-> self clone-copy-trans) #f) (set! (-> self draw shadow-ctrl) *mech-shadow-control*) - (set! (-> self mech-ik 0) (new 'process 'joint-mod-ik self 27 5283.84)) - (set! (-> self mech-ik 1) (new 'process 'joint-mod-ik self 33 5283.84)) + (set! (-> self joint 0) (the-as joint-mod (new 'process 'joint-mod-ik self 27 5283.84))) + (set! (-> self joint 1) (the-as joint-mod (new 'process 'joint-mod-ik self 33 5283.84))) (dotimes (v1-3 2) - (let ((a0-5 (-> (the-as (array joint-mod-ik) (+ (* v1-3 4) (the-as int self))) 64))) - (set! (-> a0-5 elbow-pole-vector-axis) (the-as uint 2)) - (set! (-> a0-5 elbow-rotation-axis) (the-as uint 0)) - (set! (-> a0-5 callback) mech-leg-ik-callback) - (logior! (-> a0-5 flags) (joint-mod-ik-flags elbow-trans-neg)) + (let ((a0-5 (-> self joint v1-3))) + (set! (-> a0-5 twist x) (the-as float #x2)) + (set! (-> a0-5 twist y) 0.0) + (set! (-> a0-5 trans z) (the-as float mech-leg-ik-callback)) + (logior! (-> a0-5 mode) (joint-mod-mode look-at)) ) ) (none) @@ -1540,7 +1537,7 @@ (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self control wall-contact-pt) (-> self control trans)))) (set! (-> v1-98 y) 0.0) (when (< (vector-dot v1-98 (-> self control c-R-w vector 2)) 0.0) - (set! (-> self mech back-touch-time) (current-time)) + (set-time! (-> self mech back-touch-time)) (set! (-> self mech back-touch-point quad) (-> self control wall-contact-pt quad)) (set! (-> self mech back-touch-trans quad) (-> self control trans quad)) ) @@ -1675,7 +1672,7 @@ (quaternion-copy! (the-as quaternion (-> self mech mech-quat)) (-> self control quat)) (set! (-> self mech mech-scale quad) (-> self control scale quad)) (vector+! (-> self alt-cam-pos) (-> self control camera-pos) (new 'static 'vector :y 4096.0 :w 1.0)) - (set! (-> self mech mech-time) (current-time)) + (set-time! (-> self mech mech-time)) (target-mech-effect) 0 (none) diff --git a/goal_src/jak2/engine/ui/text-id-h.gc b/goal_src/jak2/engine/ui/text-id-h.gc index 385f65d80a..ab24afea4e 100644 --- a/goal_src/jak2/engine/ui/text-id-h.gc +++ b/goal_src/jak2/engine/ui/text-id-h.gc @@ -732,6 +732,7 @@ (progress-shadows-normal #x12a1) (progress-shadows-extended #x12a2) (progress-error-no-resolutions #x12a3) + (progress-territory-auto #x12a4) (progress-input-options-auto-hide-cursor #x1300) (progress-menu-reassign-binds #x1301) (progress-reassign-binds-controller #x1302) diff --git a/goal_src/jak2/pc/debug/default-menu-pc.gc b/goal_src/jak2/pc/debug/default-menu-pc.gc index 79667eb234..8d752d1f5e 100644 --- a/goal_src/jak2/pc/debug/default-menu-pc.gc +++ b/goal_src/jak2/pc/debug/default-menu-pc.gc @@ -795,8 +795,12 @@ (defun dm-territory-pick-func ((bterr int) (msg debug-menu-msg)) (let ((terr (/ bterr 8))) (when (= msg (debug-menu-msg press)) - (set! *debug-territory* terr)) - (= *debug-territory* terr))) + (set! (-> *pc-settings* territory) terr)) + (= (-> *pc-settings* territory) terr))) + +(defun dm-size-pick-func ((size pair)) + (set-size! *pc-settings* (/ (the int (car size)) 8) (/ (the int (cadr size)) 8) #t) + ) (when (-> *debug-menu-context* root-menu) ;; (debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-load-menu *debug-menu-context*)) @@ -841,24 +845,24 @@ (function "Borderless" #f ,(lambda () (set-display-mode! *pc-settings* 'borderless #t))) ) (menu "Sizes" - (function "640 x 480" #f ,(lambda () (set-size! *pc-settings* 640 480 #t))) - (function "640 x 360" #f ,(lambda () (set-size! *pc-settings* 640 360 #t))) - (function "720 x 540" #f ,(lambda () (set-size! *pc-settings* 720 540 #t))) - (function "960 x 540" #f ,(lambda () (set-size! *pc-settings* 960 540 #t))) - (function "800 x 600" #f ,(lambda () (set-size! *pc-settings* 800 600 #t))) - (function "960 x 720" #f ,(lambda () (set-size! *pc-settings* 960 720 #t))) - (function "1280 x 720" #f ,(lambda () (set-size! *pc-settings* 1280 720 #t))) - (function "1024 x 768" #f ,(lambda () (set-size! *pc-settings* 1024 768 #t))) - (function "1366 x 768" #f ,(lambda () (set-size! *pc-settings* 1366 768 #t))) - (function "1280 x 960" #f ,(lambda () (set-size! *pc-settings* 1280 960 #t))) - (function "1440 x 1080" #f ,(lambda () (set-size! *pc-settings* 1440 1080 #t))) - (function "1920 x 1080" #f ,(lambda () (set-size! *pc-settings* 1920 1080 #t))) - (function "1920 x 1440" #f ,(lambda () (set-size! *pc-settings* 1920 1440 #t))) - (function "2560 x 1440" #f ,(lambda () (set-size! *pc-settings* 2560 1440 #t))) - (function "2880 x 2160" #f ,(lambda () (set-size! *pc-settings* 2880 2160 #t))) - (function "3840 x 2160" #f ,(lambda () (set-size! *pc-settings* 3840 2160 #t))) - (function "512 x 416" #f ,(lambda () (set-size! *pc-settings* 512 416 #t))) - (function "512 x 208" #f ,(lambda () (set-size! *pc-settings* 512 208 #t))) + (function "640 x 480" (640 480) dm-size-pick-func) + (function "640 x 360" (640 360) dm-size-pick-func) + (function "720 x 540" (720 540) dm-size-pick-func) + (function "960 x 540" (960 540) dm-size-pick-func) + (function "800 x 600" (800 600) dm-size-pick-func) + (function "960 x 720" (960 720) dm-size-pick-func) + (function "1280 x 720" (1280 720) dm-size-pick-func) + (function "1024 x 768" (1024 768) dm-size-pick-func) + (function "1366 x 768" (1366 768) dm-size-pick-func) + (function "1280 x 960" (1280 960) dm-size-pick-func) + (function "1440 x 1080" (1440 1080) dm-size-pick-func) + (function "1920 x 1080" (1920 1080) dm-size-pick-func) + (function "1920 x 1440" (1920 1440) dm-size-pick-func) + (function "2560 x 1440" (2560 1440) dm-size-pick-func) + (function "2880 x 2160" (2880 2160) dm-size-pick-func) + (function "3840 x 2160" (3840 2160) dm-size-pick-func) + (function "512 x 416" (512 416) dm-size-pick-func) + (function "512 x 208" (512 208) dm-size-pick-func) ) (flag "Letterbox" #f ,(dm-lambda-boolean-flag (-> *pc-settings* letterbox?))) (flag "Hinttitles" #f ,(dm-lambda-boolean-flag (-> *pc-settings* hinttitles?))) @@ -935,6 +939,7 @@ (flag "status" #f ,(dm-lambda-boolean-flag (-> *pc-settings* controller-led-status?))) ) (menu "Territory" + (flag "Automatic" -1 dm-territory-pick-func) (flag "GAME_TERRITORY_SCEA" (the binteger GAME_TERRITORY_SCEA) dm-territory-pick-func) (flag "GAME_TERRITORY_SCEE" (the binteger GAME_TERRITORY_SCEE) dm-territory-pick-func) (flag "GAME_TERRITORY_SCEI" (the binteger GAME_TERRITORY_SCEI) dm-territory-pick-func) diff --git a/goal_src/jak2/pc/pckernel-impl.gc b/goal_src/jak2/pc/pckernel-impl.gc index 2dd593225b..a23a82e93b 100644 --- a/goal_src/jak2/pc/pckernel-impl.gc +++ b/goal_src/jak2/pc/pckernel-impl.gc @@ -11,8 +11,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; version: 0.1.6.2 -(defconstant PC_KERNEL_VERSION (static-pckernel-version 0 1 6 2)) + ;; version: 0.1.7.0 +(defconstant PC_KERNEL_VERSION (static-pckernel-version 0 1 7 0)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; types and enums @@ -190,6 +190,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (define *hires-sky* #t) (define *debug-region-color-alt* #t) (define *debug-region-show-bsphere* #f) @@ -198,6 +199,14 @@ (define *fallback-text-lookup?* #t) +(defun pc-settings-save () + (commit-to-file *pc-settings*) + ) + +(defun get-video-params () *video-params*) + + + ;; for debugging (defenum pc-pat-skip-hack :bitfield #t @@ -218,8 +227,8 @@ ) -(defun get-video-params () *video-params*) +;; cheat stuff (defenum pc-cheat-state-flag :bitfield #t diff --git a/goal_src/jak2/pc/progress/progress-generic-h-pc.gc b/goal_src/jak2/pc/progress/progress-generic-h-pc.gc index 6135b10167..2c6608a76f 100644 --- a/goal_src/jak2/pc/progress/progress-generic-h-pc.gc +++ b/goal_src/jak2/pc/progress/progress-generic-h-pc.gc @@ -253,7 +253,7 @@ :get-value-fn (lambda () ,field) :on-confirm (lambda ((val symbol)) (set! ,field val) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (defmacro static-progress-generic-pc-settings-on-off-boolean (name field) `(new 'static 'menu-generic-boolean-option @@ -263,7 +263,7 @@ :get-value-fn (lambda () ,field) :on-confirm (lambda ((val symbol)) (set! ,field val) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (defmacro static-progress-generic-pc-settings-shadows-normal-extended-boolean (name field) `(new 'static 'menu-generic-boolean-option @@ -273,7 +273,7 @@ :get-value-fn (lambda () ,field) :on-confirm (lambda ((val symbol)) (set! ,field val) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (define *progress-generic-temp-string* (new 'global 'string 512 (the string #f))) diff --git a/goal_src/jak2/pc/progress/progress-static-pc.gc b/goal_src/jak2/pc/progress/progress-static-pc.gc index 64678471e3..d80ff1cd83 100644 --- a/goal_src/jak2/pc/progress/progress-static-pc.gc +++ b/goal_src/jak2/pc/progress/progress-static-pc.gc @@ -98,7 +98,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* first-camera-h-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* first-camera-h-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-first-vert) :truthy-text (text-id progress-normal) @@ -106,7 +106,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* first-camera-v-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* first-camera-v-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-third-horz) :truthy-text (text-id progress-normal) @@ -114,7 +114,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* third-camera-h-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* third-camera-h-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-third-vert) :truthy-text (text-id progress-normal) @@ -122,12 +122,12 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* third-camera-v-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* third-camera-v-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-camera *pc-settings* #t) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (progress-new-generic-link-to-scrolling-page (text-id progress-menu-controller-options) :should-disable? (lambda () (<= (pc-get-controller-count) 0)) (new 'static 'menu-generic-carousel-option :name (text-id progress-controller-options-select-controller) @@ -153,7 +153,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* stick-deadzone)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* stick-deadzone) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-ignore-if-unfocused) :truthy-text (text-id progress-on) @@ -161,7 +161,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* ignore-controller-win-unfocused?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* ignore-controller-win-unfocused?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-led-hp) :should-disable? (lambda () (not (pc-current-controller-has-led?))) @@ -170,7 +170,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* controller-led-hp?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* controller-led-hp?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-led-state) :should-disable? (lambda () (not (pc-current-controller-has-led?))) @@ -179,13 +179,13 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* controller-led-eco?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* controller-led-eco?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-input *pc-settings* 'controller #t) (set-ignore-controller-in-bg! *pc-settings* (-> *pc-settings* ignore-controller-win-unfocused?)) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-enable-keyboard) :truthy-text (text-id progress-on) @@ -193,7 +193,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* keyboard-enabled?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* keyboard-enabled?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-enable-mouse) :truthy-text (text-id progress-on) @@ -201,7 +201,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-enabled?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-enabled?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (progress-new-generic-link-to-scrolling-page (text-id progress-menu-mouse-options) :should-disable? (lambda () (not (-> *pc-settings* mouse-enabled?))) (new 'static 'menu-generic-boolean-option :name (text-id progress-mouse-options-track-camera) @@ -210,7 +210,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-camera?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-camera?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-slider-option :name (text-id progress-mouse-options-horz-sens) :should-disable? (lambda () (not (-> *pc-settings* mouse-camera?))) @@ -221,7 +221,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-xsens)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* mouse-xsens) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-slider-option :name (text-id progress-mouse-options-vert-sens) :should-disable? (lambda () (not (-> *pc-settings* mouse-camera?))) @@ -232,7 +232,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-ysens)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* mouse-ysens) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-mouse-options-player-movement) :truthy-text (text-id progress-on) @@ -240,13 +240,13 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-movement?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-movement?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-input *pc-settings* 'mouse #t) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-auto-hide-cursor) :truthy-text (text-id progress-on) @@ -255,7 +255,7 @@ This gives us more freedom to write code how we want. :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* auto-hide-cursor?) val) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (progress-new-generic-keybinds-page-link) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) @@ -263,7 +263,7 @@ This gives us more freedom to write code how we want. (reset-input *pc-settings* 'input #t) (set-enable-keyboard! *pc-settings* (-> *pc-settings* keyboard-enabled?)) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-subtitles) :truthy-text (text-id progress-on) @@ -313,7 +313,8 @@ This gives us more freedom to write code how we want. (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 (-> *setting-control* user-default language))))) + (load-level-text-files (the-as int (-> *pc-settings* text-language))) + (pc-settings-save))) (progress-new-generic-link-to-scrolling-page (text-id progress-misc-game-options) (new 'static 'menu-generic-boolean-option :name (text-id progress-discord-rpc) @@ -322,7 +323,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* discord-rpc?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* discord-rpc?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-speedrunner-mode) :truthy-text (text-id progress-on) @@ -335,7 +336,7 @@ This gives us more freedom to write code how we want. (if (-> *pc-settings* speedrunner-mode?) (set! (-> *pc-settings* cheats-backup) (-> *pc-settings* cheats)) (set! (-> *pc-settings* cheats) (-> *pc-settings* cheats-backup))) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-fast-progress) :truthy-text (text-id progress-on) @@ -343,7 +344,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* fast-progress?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* fast-progress?) val) - (commit-to-file *pc-settings*)))))) + (pc-settings-save)))))) (define *game-options-title-pc* (progress-new-generic-scrolling-page (text-id progress-root-game-options) @@ -356,7 +357,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* first-camera-h-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* first-camera-h-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-first-vert) :truthy-text (text-id progress-normal) @@ -364,7 +365,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* first-camera-v-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* first-camera-v-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-third-horz) :truthy-text (text-id progress-normal) @@ -372,7 +373,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* third-camera-h-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* third-camera-h-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-camera-options-third-vert) :truthy-text (text-id progress-normal) @@ -380,12 +381,12 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* third-camera-v-inverted?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* third-camera-v-inverted?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-camera *pc-settings* #t) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (progress-new-generic-link-to-scrolling-page (text-id progress-menu-controller-options) :should-disable? (lambda () (<= (pc-get-controller-count) 0)) (new 'static 'menu-generic-carousel-option :name (text-id progress-controller-options-select-controller) @@ -411,7 +412,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* stick-deadzone)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* stick-deadzone) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-ignore-if-unfocused) :truthy-text (text-id progress-on) @@ -419,7 +420,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* ignore-controller-win-unfocused?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* ignore-controller-win-unfocused?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-led-hp) :should-disable? (lambda () (not (pc-current-controller-has-led?))) @@ -428,7 +429,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* controller-led-hp?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* controller-led-hp?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-controller-options-led-state) :should-disable? (lambda () (not (pc-current-controller-has-led?))) @@ -437,13 +438,13 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* controller-led-eco?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* controller-led-eco?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-input *pc-settings* 'controller #t) (set-ignore-controller-in-bg! *pc-settings* (-> *pc-settings* ignore-controller-win-unfocused?)) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-enable-keyboard) :truthy-text (text-id progress-on) @@ -451,7 +452,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* keyboard-enabled?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* keyboard-enabled?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-enable-mouse) :truthy-text (text-id progress-on) @@ -459,7 +460,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-enabled?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-enabled?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (progress-new-generic-link-to-scrolling-page (text-id progress-menu-mouse-options) :should-disable? (lambda () (not (-> *pc-settings* mouse-enabled?))) (new 'static 'menu-generic-boolean-option :name (text-id progress-mouse-options-track-camera) @@ -468,7 +469,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-camera?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-camera?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-slider-option :name (text-id progress-mouse-options-horz-sens) :should-disable? (lambda () (not (-> *pc-settings* mouse-camera?))) @@ -479,7 +480,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-xsens)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* mouse-xsens) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-slider-option :name (text-id progress-mouse-options-vert-sens) :should-disable? (lambda () (not (-> *pc-settings* mouse-camera?))) @@ -490,7 +491,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-ysens)) :on-confirm (lambda ((val float)) (set! (-> *pc-settings* mouse-ysens) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-mouse-options-player-movement) :truthy-text (text-id progress-on) @@ -498,13 +499,13 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* mouse-movement?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* mouse-movement?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) :on-confirm (lambda ((val symbol)) (reset-input *pc-settings* 'mouse #t) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-input-options-auto-hide-cursor) :truthy-text (text-id progress-on) @@ -513,7 +514,7 @@ This gives us more freedom to write code how we want. :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* auto-hide-cursor?) val) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (progress-new-generic-keybinds-page-link) (new 'static 'menu-generic-confirm-option :name (text-id progress-restore-defaults) @@ -521,7 +522,7 @@ This gives us more freedom to write code how we want. (reset-input *pc-settings* 'input #t) (set-enable-keyboard! *pc-settings* (-> *pc-settings* keyboard-enabled?)) (update-mouse-controls! *pc-settings*) - (commit-to-file *pc-settings*)))) + (pc-settings-save)))) (new 'static 'menu-generic-boolean-option :name (text-id progress-subtitles) :truthy-text (text-id progress-on) @@ -571,16 +572,18 @@ This gives us more freedom to write code how we want. (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 (-> *setting-control* user-default language))))) + (load-level-text-files (the-as int (-> *pc-settings* text-language))) + (pc-settings-save))) (new 'static 'menu-generic-carousel-option :name (text-id progress-territory) :items (new 'static 'boxed-array :type text-id + (text-id progress-territory-auto) (text-id progress-territory-scea) (text-id progress-territory-scee) (text-id progress-territory-scei) (text-id progress-territory-scek)) - :get-item-index-fn (lambda () *debug-territory*) - :on-confirm (lambda ((index int) (the-progress progress)) (set! *debug-territory* index))) + :get-item-index-fn (lambda () (1+ (-> *pc-settings* territory))) + :on-confirm (lambda ((index int) (the-progress progress)) (set! (-> *pc-settings* territory) (1- index)) (pc-settings-save))) (progress-new-generic-link-to-scrolling-page (text-id progress-misc-game-options) (new 'static 'menu-generic-boolean-option :name (text-id progress-discord-rpc) @@ -589,7 +592,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* discord-rpc?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* discord-rpc?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-speedrunner-mode) :truthy-text (text-id progress-on) @@ -597,7 +600,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* speedrunner-mode?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* speedrunner-mode?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-fast-airlock) :truthy-text (text-id progress-on) @@ -605,7 +608,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* fast-airlock?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* fast-airlock?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-fast-elevator) :truthy-text (text-id progress-on) @@ -613,7 +616,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* fast-elevator?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* fast-elevator?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-boolean-option :name (text-id progress-fast-progress) :truthy-text (text-id progress-on) @@ -621,7 +624,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* fast-progress?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* fast-progress?) val) - (commit-to-file *pc-settings*)))))) + (pc-settings-save)))))) (define *msaa-options* (new 'static 'boxed-array :type int16 1 2 4 8 16)) @@ -647,7 +650,7 @@ This gives us more freedom to write code how we want. ) :on-confirm (lambda ((index int) (the-progress progress)) (set-monitor! *pc-settings* index) - (commit-to-file *pc-settings*) + (pc-settings-save) ) :should-disable? (lambda () (nmember (the basic (-> *pc-settings* display-mode)) '(windowed #f))) ) @@ -671,7 +674,7 @@ This gives us more freedom to write code how we want. ((1) (set-display-mode! *pc-settings* 'fullscreen #t)) ((2) (set-display-mode! *pc-settings* 'borderless #t)) ) - (commit-to-file *pc-settings*) + (pc-settings-save) ) ) (new 'static 'menu-generic-carousel-option @@ -702,7 +705,7 @@ This gives us more freedom to write code how we want. (false! (-> *setting-control* user-current aspect-ratio))) (set! (-> *setting-control* user-default aspect-ratio) 'aspect4x3) (true! (-> *pc-settings* use-vis?)) - (commit-to-file *pc-settings*) + (pc-settings-save) ) ((1) (if (not (-> *pc-settings* use-vis?)) @@ -710,13 +713,13 @@ This gives us more freedom to write code how we want. ) (set! (-> *setting-control* user-default aspect-ratio) 'aspect16x9) (true! (-> *pc-settings* use-vis?)) - (commit-to-file *pc-settings*) + (pc-settings-save) ) ((2) (set! (-> *setting-control* user-default aspect-ratio) 'aspect4x3) (true! (-> *pc-settings* aspect-ratio-auto?)) (false! (-> *pc-settings* use-vis?)) - (commit-to-file *pc-settings*) + (pc-settings-save) ) ((3) (push-and-set-state the-progress 'aspect-ratio-custom) @@ -742,7 +745,7 @@ This gives us more freedom to write code how we want. (cond ((or (zero? index) (= (-> *frame-rate-options* index) (-> *pc-settings* target-fps)) *frame-rate-disclaimer-seen?*) (set-frame-rate! *pc-settings* (-> *frame-rate-options* index) #t) - (commit-to-file *pc-settings*) + (pc-settings-save) ) (else (defun-extern set-progress-frame-rate-index int int) @@ -759,7 +762,7 @@ This gives us more freedom to write code how we want. :get-value-fn (lambda () (-> *pc-settings* vsync?)) :on-confirm (lambda ((val symbol)) (set! (-> *pc-settings* vsync?) val) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (new 'static 'menu-generic-carousel-option :name (text-id progress-msaa) :get-item-index-fn (lambda () @@ -779,7 +782,7 @@ This gives us more freedom to write code how we want. ) :on-confirm (lambda ((index int) (the-progress progress)) (set! (-> *pc-settings* gfx-msaa) (ash 1 index)) - (commit-to-file *pc-settings*) + (pc-settings-save) ) ) (progress-new-generic-link-to-scrolling-page (text-id progress-graphics-ps2) @@ -798,7 +801,7 @@ This gives us more freedom to write code how we want. (set! (-> *pc-settings* lod-force-tfrag) 0) (set! (-> *pc-settings* lod-force-tie) 0) )) - (commit-to-file *pc-settings*))) + (pc-settings-save))) (static-progress-generic-pc-settings-lod-default-high-boolean (text-id progress-lod-fg) (-> *pc-settings* ps2-lod-dist?)) (static-progress-generic-pc-settings-on-off-boolean (text-id progress-ps2-parts) (-> *pc-settings* ps2-parts?)) (static-progress-generic-pc-settings-shadows-normal-extended-boolean (text-id progress-shadows) (-> *pc-settings* ps2-shadow?))