add a toggle for faster airlocks and elevators and enable by default (#2478)

This commit is contained in:
ManDude 2023-04-14 07:53:14 +01:00 committed by GitHub
parent 7d11c6e100
commit e004780f73
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 50 additions and 46 deletions

View file

@ -1096,8 +1096,8 @@ static std::vector<ReplaceInfo> s_replace_info_jak2 = {
{"~Y~5L<FLAG_PART_FILL>~Z~3L<FLAG_PART_TOP_BOTTOM_STRIPE>~]~-1H~Y~5L<FLAG_PART_FILL>~Z~3L<FLAG_"
"PART_TOP_BOTTOM_STRIPE>~Z~+26H",
"<FLAG_SPAIN>"},
{"~Y~39L~~~Z~3L<FLAG_PART_HORZ_TRIPE_MIDDLE>~Z~5L<FLAG_PART_HORZ_TRIPE_BOTTOM>~]~-1H~Y~39L~~~Z~"
"3L<FLAG_PART_HORZ_TRIPE_MIDDLE>~Z~5L<FLAG_PART_HORZ_TRIPE_BOTTOM>~Z~+26H",
{"~Y~39L~~~Z~3L<FLAG_PART_HORZ_STRIPE_MIDDLE>~Z~5L<FLAG_PART_HORZ_STRIPE_BOTTOM>~]~-1H~Y~39L~~~"
"Z~3L<FLAG_PART_HORZ_STRIPE_MIDDLE>~Z~5L<FLAG_PART_HORZ_STRIPE_BOTTOM>~Z~+26H",
"<FLAG_GERMAN>"},
{"~Y~7L<FLAG_PART_VERT_STRIPE_LARGE>~Z~+15H~1L<FLAG_PART_VERT_STRIPE_LARGE>~Z~+30H~3L<FLAG_"
"PART_VERT_STRIPE_LARGE>~Z~+47H",
@ -1105,12 +1105,12 @@ static std::vector<ReplaceInfo> s_replace_info_jak2 = {
{"~Y~1L<FLAG_PART_FILL>~Z~3L<FLAG_PART_UK_CROSS_LEFT>~Z~7L<FLAG_PART_UK_FILL_LEFT>~]~-1H~Y~1L<"
"FLAG_PART_FILL>~Z~3L<FLAG_PART_UK_CROSS_RIGHT>~Z~7L<FLAG_PART_UK_FILL_RIGHT>~Z~+26H",
"<FLAG_UK>"},
{"~Y~1L<FLAG_PART_FILL>~Z~3L<FLAG_PART_USA_STRIPES_LEFT>~Z~7L<FLAG_PART_USA_STARS>~]~-"
"1H~Y~1L<FLAG_PART_FILL>~Z~3L<FLAG_PART_USA_STRIPES_RIGHT>~Z~+26H",
{"~Y~1L<FLAG_PART_FILL>~Z~3L<FLAG_PART_USA_STRIPES_LEFT>~Z~7L<FLAG_PART_USA_STARS>~]~-1H~Y~1L<"
"FLAG_PART_FILL>~Z~3L<FLAG_PART_USA_STRIPES_RIGHT>~Z~+26H",
"<FLAG_USA>"},
{"~Y~1L<FLAG_PART_FILL>~Z~39L<FLAG_PART_KOREA_TRIGRAMS_LEFT>~]~-1H~Y~1L<FLAG_PART_FILL>~Z~39L<"
"FLAG_PART_KOREA_TRIGRAMS_RIGHT>~Z~-11H~7L<FLAG_PART_KOREA_CIRCLE_FILL>~Z~-11H~3L<"
"FLAG_PART_KOREA_CIRCLE_TOP>~Z~+26H",
"FLAG_PART_KOREA_TRIGRAMS_RIGHT>~Z~-11H~7L<FLAG_PART_KOREA_CIRCLE_FILL>~Z~-11H~3L<FLAG_PART_"
"KOREA_CIRCLE_TOP>~Z~+26H",
"<FLAG_KOREA>"},
{"~Y~1L<FLAG_PART_FILL>~]~-1H~Y~1L<FLAG_PART_FILL>~Z~-11H~3L<FLAG_PART_JAPAN_SUN>~Z~+26H",
"<FLAG_JAPAN>"},
@ -1153,8 +1153,8 @@ static std::vector<EncodeInfo> s_encode_info_jak2 = {
{"œ", {0x5e}}, // ligature o+e
{"<FLAG_PART_HORZ_TRIPE_MIDDLE>", {0x7f}},
{"<FLAG_PART_HORZ_TRIPE_BOTTOM>", {0x80}},
{"<FLAG_PART_HORZ_STRIPE_MIDDLE>", {0x7f}},
{"<FLAG_PART_HORZ_STRIPE_BOTTOM>", {0x80}},
{"<FLAG_PART_VERT_STRIPE_LARGE>", {0x81}},
{"<FLAG_PART_VERT_STRIPE_RIGHT>", {0x82}},
{"<FLAG_PART_VERT_STRIPE_LEFT>", {0x83}},

View file

@ -690,7 +690,9 @@ do so.
(seek!
(-> self path-pos)
(-> self path-dest)
(* (/ (-> self params move-rate) (-> self move-dist)) (-> self clock seconds-per-frame))
(* (/ (* (#if PC_PORT (if (eligible-for-fast-elevator? *pc-settings* self) 1.5 1.0)
1.0)
(-> self params move-rate)) (-> self move-dist)) (-> self clock seconds-per-frame))
)
(let* ((f30-0 (-> self move-pos 0))
(f28-0 (-> self move-pos 1))

View file

@ -1745,7 +1745,10 @@
(tick! (-> arg0 bg-clock))
(set! (-> arg0 bg-clock frame-counter) (the-as time-frame (mod (-> arg0 bg-clock frame-counter) #x69780)))
(tick! (-> arg0 part-clock))
(#when PC_PORT
(with-pc
(if (-> *pc-settings* fast-airlock?)
(update-rates! *airlock-clock* (* *airlock-speed* (-> arg0 entity-clock clock-ratio)))
(update-rates! *airlock-clock* (-> arg0 entity-clock clock-ratio)))
(tick! *airlock-clock*))
; (when (and (nonzero? *screen-shot-work*) (!= (-> *screen-shot-work* count) -1))

View file

@ -43,7 +43,7 @@
(#when PC_PORT
(define *airlock-clock* (new 'global 'clock 13))
(set! (-> *airlock-clock* clock-ratio) 1.5)
(define *airlock-speed* 1.5)
)
(defun set-display ((arg0 display))

View file

@ -707,6 +707,10 @@
)
)
(defun dm-set-msaa-pick-func ((msaa int) (msg debug-menu-msg))
(when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) (/ msaa 8)))
(= (-> *pc-settings* gfx-msaa) (/ msaa 8)))
(when (-> *debug-menu-context* root-menu)
;; (debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-load-menu *debug-menu-context*))
(debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-part-menu *debug-menu-context*))
@ -797,6 +801,8 @@
;(flag "PS2 Music" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-music?)))
;(flag "PS2 Sound effects" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-se?)))
;(flag "PS2 Hints" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-hints?)))
(flag "Faster airlocks" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fast-airlock?)))
(flag "Faster elevators" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fast-elevator?)))
)
(menu "Level of detail"
(flag "PS2 LOD " #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-lod-dist?)))
@ -824,18 +830,13 @@
;; (flag "150" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set-frame-rate! *pc-settings* 150))
;; (= (-> *pc-settings* target-fps) 150)))
;; )
(menu "MSAA"
(flag "Off" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) 1))
(= (-> *pc-settings* gfx-msaa) 1)))
(flag "x2" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) 2))
(= (-> *pc-settings* gfx-msaa) 2)))
(flag "x4" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) 4))
(= (-> *pc-settings* gfx-msaa) 4)))
(flag "x8" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) 8))
(= (-> *pc-settings* gfx-msaa) 8)))
(flag "x16" #f ,(lambda (arg (msg debug-menu-msg)) (when (= msg (debug-menu-msg press)) (set! (-> *pc-settings* gfx-msaa) 16))
(= (-> *pc-settings* gfx-msaa) 16)))
)
(menu "MSAA"
(flag "Off" 1 dm-set-msaa-pick-func)
(flag "x2" 2 dm-set-msaa-pick-func)
(flag "x4" 4 dm-set-msaa-pick-func)
(flag "x8" 8 dm-set-msaa-pick-func)
(flag "x16" 16 dm-set-msaa-pick-func)
)
(flag "V-sync" #f ,(dm-lambda-boolean-flag (-> *pc-settings* vsync?)))
(flag "All actors" #f ,(dm-lambda-boolean-flag (-> *pc-settings* force-actors?)))
(flag "Display actor counts" *display-actor-counts* dm-boolean-toggle-pick-func)
@ -865,29 +866,6 @@
(int-var "City info x" *city-info-x* dm-int-var-func 10 1 #t 0 255 1)
(int-var "City info y" *city-info-y* dm-int-var-func 10 1 #t 0 255 1)
(int-var "City info z" *city-info-z* dm-int-var-func 10 1 #t 0 255 1)
;; (menu "Mood override"
;; (function "-- SIMPLE OVERRIDE" #f nothing)
;; (flag "Palette 0" 0 dm-mood-override-palette-pick-func)
;; (flag "Palette 1" 1 dm-mood-override-palette-pick-func)
;; (flag "Palette 2" 2 dm-mood-override-palette-pick-func)
;; (flag "Palette 3" 3 dm-mood-override-palette-pick-func)
;; (flag "Palette 4" 4 dm-mood-override-palette-pick-func)
;; (flag "Palette 5" 5 dm-mood-override-palette-pick-func)
;; (flag "Palette 6" 6 dm-mood-override-palette-pick-func)
;; (flag "Palette 7" 7 dm-mood-override-palette-pick-func)
;; (menu "Advanced"
;; (flag "Overwrite" copy dm-mood-override-pick-func)
;; (flag "Multiply" mult dm-mood-override-pick-func)
;; (float-fixed-var "Palette 0 Amt" 0 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 1 Amt" 1 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 2 Amt" 2 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 3 Amt" 3 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 4 Amt" 4 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 5 Amt" 5 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 6 Amt" 6 dm-mood-palette-float 0 10 #t 0 1000 3)
;; (float-fixed-var "Palette 7 Amt" 7 dm-mood-palette-float 0 10 #t 0 1000 3)
;; )
;; )
(flag "Joint names" *display-joint-names* dm-boolean-toggle-pick-func)
(flag "Bone lines" *display-bones* dm-boolean-toggle-pick-func)
(flag "Entity Lights" *display-lights* dm-boolean-toggle-pick-func)

View file

@ -22,9 +22,16 @@
;; The Jak 2 version of the pc-settings object.
(deftype pc-settings-jak2 (pc-settings)
(
(fast-airlock? symbol)
(fast-elevator? symbol)
;; debug
(jetboard-trick-text? symbol) ;; enable rendering jetboard trick combo during minigame
)
(:methods
(eligible-for-fast-elevator? (_type_ process) symbol)
)
)
(define *pc-settings* (the pc-settings-jak2 #f))
@ -60,6 +67,9 @@
((method-of-type pc-settings reset-misc) obj)
(set! (-> obj jetboard-trick-text?) #t)
(set! (-> obj fast-airlock?) #t)
(set! (-> obj fast-elevator?) #t)
(none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View file

@ -86,6 +86,13 @@
)
(defmethod eligible-for-fast-elevator? pc-settings-jak2 ((obj pc-settings-jak2) (proc process))
"is this a valid process for a fast elevator?"
(and (-> obj fast-elevator?) (not (or (string= (-> proc name) "drill-lift-1")
(string= (-> proc name )"drill-lift-2"))))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; file I/O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -97,6 +104,8 @@
((method-of-type pc-settings handle-input-settings) obj file)
(case-str *pc-temp-string*
(("jetboard-trick-text?") (set! (-> obj jetboard-trick-text?) (file-stream-read-symbol file)))
(("fast-airlock?") (set! (-> obj fast-airlock?) (file-stream-read-symbol file)))
(("fast-elevator?") (set! (-> obj fast-elevator?) (file-stream-read-symbol file)))
)
0)
@ -105,6 +114,8 @@
((method-of-type pc-settings handle-output-settings) obj file)
(format file " (jetboard-trick-text? ~A)~%" (-> obj jetboard-trick-text?))
(format file " (fast-airlock? ~A)~%" (-> obj fast-airlock?))
(format file " (fast-elevator? ~A)~%" (-> obj fast-elevator?))
0)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;