mirror of
https://github.com/open-goal/jak-project
synced 2026-07-31 16:17:16 -04:00
fix blit size being wrong most of the time (#2620)
This commit is contained in:
@@ -141,7 +141,7 @@
|
||||
(pc-get-window-scale (&-> obj dpi-x) (&-> obj dpi-y))
|
||||
|
||||
(when (-> obj use-vis?)
|
||||
(if (= (get-game-setting! obj 'aspect-ratio) 'aspect4x3)
|
||||
(if (= (get-game-setting obj 'aspect-ratio) 'aspect4x3)
|
||||
(set-aspect-ratio! obj ASPECT_4X3)
|
||||
(set-aspect-ratio! obj ASPECT_16X9)
|
||||
)
|
||||
@@ -340,6 +340,31 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
(defmethod get-current-game-width pc-settings ((obj pc-settings))
|
||||
"return the current width in pixels of the visible portion of the game"
|
||||
|
||||
(cond
|
||||
((= (-> obj display-mode) 'windowed)
|
||||
(if (-> obj letterbox?)
|
||||
(-> obj lbox-width)
|
||||
(-> obj real-width)))
|
||||
(else
|
||||
(-> obj width))
|
||||
)
|
||||
)
|
||||
(defmethod get-current-game-height pc-settings ((obj pc-settings))
|
||||
"return the current height in pixels of the visible portion of the game"
|
||||
|
||||
(cond
|
||||
((= (-> obj display-mode) 'windowed)
|
||||
(if (-> obj letterbox?)
|
||||
(-> obj lbox-height)
|
||||
(-> obj real-height)))
|
||||
(else
|
||||
(-> obj height))
|
||||
)
|
||||
)
|
||||
|
||||
(when *debug-segment*
|
||||
|
||||
(defmethod draw pc-settings ((obj pc-settings) (buf dma-buffer))
|
||||
@@ -718,7 +743,7 @@
|
||||
|
||||
(format file " (fps ~D)~%" (-> obj target-fps))
|
||||
(format file " (msaa ~D)~%" (-> obj gfx-msaa))
|
||||
(format file " (aspect-state ~A ~D ~D ~A)~%" (get-game-setting! obj 'aspect-ratio)
|
||||
(format file " (aspect-state ~A ~D ~D ~A)~%" (get-game-setting obj 'aspect-ratio)
|
||||
(-> obj aspect-custom-x) (-> obj aspect-custom-y)
|
||||
(-> obj aspect-ratio-auto?))
|
||||
(format file " (display-mode ~A)~%" (-> obj display-mode))
|
||||
@@ -764,7 +789,7 @@
|
||||
(format file " (music-fadein? ~A)~%" (-> obj music-fadein?))
|
||||
(format file " (music-fadeout? ~A)~%" (-> obj music-fadeout?))
|
||||
(format file " (hinttitles? ~A)~%" (-> obj hinttitles?))
|
||||
(format file " (game-language ~D)~%" (get-game-language! obj))
|
||||
(format file " (game-language ~D)~%" (get-game-language obj))
|
||||
(format file " (text-language ~D)~%" (-> obj text-language))
|
||||
(format file " (subtitle-speaker ~A)~%" (-> obj subtitle-speaker?))
|
||||
|
||||
|
||||
@@ -340,9 +340,11 @@
|
||||
(set-frame-rate! (_type_ int) int)
|
||||
(set-monitor! (_type_ int) none)
|
||||
(set-game-setting! (_type_ symbol symbol) object)
|
||||
(get-game-setting! (_type_ symbol) symbol)
|
||||
(get-game-setting (_type_ symbol) symbol)
|
||||
(set-game-language! (_type_ language-enum) language-enum)
|
||||
(get-game-language! (_type_) language-enum)
|
||||
(get-game-language (_type_) language-enum)
|
||||
(get-current-game-width (_type_) int)
|
||||
(get-current-game-height (_type_) int)
|
||||
(read-from-file (_type_ string) symbol)
|
||||
(write-to-file (_type_ string) symbol)
|
||||
(handle-input-settings (_type_ file-stream) object)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod get-game-setting! pc-settings-jak1 ((obj pc-settings-jak1) (setting symbol))
|
||||
(defmethod get-game-setting pc-settings-jak1 ((obj pc-settings-jak1) (setting symbol))
|
||||
(case setting
|
||||
(('video-mode)
|
||||
(-> *setting-control* default video-mode)
|
||||
@@ -38,7 +38,7 @@
|
||||
(-> *setting-control* default aspect-ratio)
|
||||
)
|
||||
(else
|
||||
(format #t "unknown setting ~A to get-game-setting!" setting)
|
||||
(format #t "unknown setting ~A to get-game-setting" setting)
|
||||
#f)
|
||||
)
|
||||
)
|
||||
@@ -47,7 +47,7 @@
|
||||
(set! (-> *setting-control* default language) lang)
|
||||
)
|
||||
|
||||
(defmethod get-game-language! pc-settings-jak1 ((obj pc-settings-jak1))
|
||||
(defmethod get-game-language pc-settings-jak1 ((obj pc-settings-jak1))
|
||||
(-> *setting-control* default language)
|
||||
)
|
||||
|
||||
|
||||
@@ -918,7 +918,7 @@ vf31: cam 0 (premultiplied by hmge)
|
||||
(set! a1-46 128)
|
||||
(set! a2-55 128)
|
||||
)
|
||||
(let ((v1-57 (* (-> *pc-settings* lbox-height) 16))
|
||||
(let ((v1-57 (* (get-current-game-height *pc-settings*) 16))
|
||||
(a3-16 0)
|
||||
)
|
||||
(let ((t1-22 (the-as (inline-array qword) (-> s4-1 base)))
|
||||
@@ -928,7 +928,7 @@ vf31: cam 0 (premultiplied by hmge)
|
||||
(set-vector! (-> t1-22 2 vector4w) a0-57 a1-46 a2-55 128)
|
||||
(set-vector! (-> t1-22 3 vector4w) (* 0 16) v1-57 0 0)
|
||||
(set-vector! (-> t1-22 4 vector4w) (* 1792 16) #x7300 0 0)
|
||||
(set-vector! (-> t1-22 5 vector4w) (* (-> *pc-settings* lbox-width) 16) a3-16 0 0)
|
||||
(set-vector! (-> t1-22 5 vector4w) (* (get-current-game-width *pc-settings*) 16) a3-16 0 0)
|
||||
(set-vector! (-> t1-22 6 vector4w) (* 2304 16) #x8d00 0 0)
|
||||
(&+! (-> s4-1 base) 112)
|
||||
)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod get-game-setting! pc-settings-jak2 ((obj pc-settings-jak2) (setting symbol))
|
||||
(defmethod get-game-setting pc-settings-jak2 ((obj pc-settings-jak2) (setting symbol))
|
||||
(case setting
|
||||
(('video-mode)
|
||||
(-> *setting-control* user-default video-mode)
|
||||
@@ -37,7 +37,7 @@
|
||||
(-> *setting-control* user-default aspect-ratio)
|
||||
)
|
||||
(else
|
||||
(format #t "unknown setting ~A to get-game-setting!" setting)
|
||||
(format #t "unknown setting ~A to get-game-setting" setting)
|
||||
#f)
|
||||
)
|
||||
)
|
||||
@@ -46,7 +46,7 @@
|
||||
(set! (-> *setting-control* user-default language) lang)
|
||||
)
|
||||
|
||||
(defmethod get-game-language! pc-settings-jak2 ((obj pc-settings-jak2))
|
||||
(defmethod get-game-language pc-settings-jak2 ((obj pc-settings-jak2))
|
||||
(get-current-language)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user