mirror of
https://github.com/open-goal/jak-project
synced 2026-09-06 19:21:00 -04:00
save & load game territory setting (#3243)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)"],
|
||||
|
||||
@@ -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"],
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
|
||||
|
||||
@@ -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?))
|
||||
|
||||
Reference in New Issue
Block a user