From 9560b08464af04e45f153b4f2715c699b672ef68 Mon Sep 17 00:00:00 2001 From: Grateful Forest <168700820+gratefulforest@users.noreply.github.com> Date: Sun, 28 Dec 2025 16:50:06 +1030 Subject: [PATCH] jak1: fix aspect settings selection (#4101) I was changing aspect ratios when I noticed something was off, getting different results for the same setting. On screen positions are determined by both the aspect ratio you select as well as the last time you selected a PS2 aspect ratio. You get different result by choosing 4x3 (PS2), then 16:9, compared to 16:9 (PS2), then 16:9. The same is true for all aspects and Fit to Screen. By contrast, Jak 2 always uses the 'aspect4x3 scale factor for all custom aspects, making the menu option you select consistent. There is an intention to use 4x3 for custom aspects [here](https://github.com/open-goal/jak-project/blob/abf27960f0033436b066c712c787160d2c9a5346/goal_src/jak1/pc/progress-pc.gc#L2618); when `fit-to-screen` then `(set-aspect-ratio 'aspect4x3)`. However it needs the extra lines to take effect. This is helpful as the only cause of vertical misalignment on memory cards is using PS2 16x9 on custom aspects: 2 4 --- goal_src/jak1/pc/progress-pc.gc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/goal_src/jak1/pc/progress-pc.gc b/goal_src/jak1/pc/progress-pc.gc index 787557b1f3..4d66265a54 100644 --- a/goal_src/jak1/pc/progress-pc.gc +++ b/goal_src/jak1/pc/progress-pc.gc @@ -2615,6 +2615,7 @@ ((= (-> options (-> obj option-index) name) (text-id fit-to-screen)) (set-aspect! *pc-settings* 4 3) (false! (-> *pc-settings* use-vis?)) + (set! (-> *setting-control* default aspect-ratio) 'aspect4x3) (set-aspect-ratio 'aspect4x3) (true! (-> *pc-settings* aspect-ratio-auto?))) ((= newx -1.0) @@ -2627,7 +2628,9 @@ (true! (-> *pc-settings* use-vis?)) (set! (-> *setting-control* default aspect-ratio) 'aspect16x9) (set-aspect-ratio 'aspect16x9)) - (else (set-aspect! *pc-settings* newx newy)))) + (else + (set! (-> *setting-control* default aspect-ratio) 'aspect4x3) + (set-aspect! *pc-settings* newx newy)))) (cpad-clear! 0 x) (cpad-clear! 0 circle) (sound-play "cursor-options")