Closed Calinou closed 1 hour ago
I can confirm the fix, but the Speedy FOV effect is now basically completely gone in super widescreen. I tested with 2560x720 (32:9) resolution and there was no visible Speedy FOV effect compared to 1280x720 (16:9) where it is still visible. But at 1680x720 (21:9), which should be our maximum supported widescreen aspect ratio, it is still visible, but weak. In general, however, the fix gives super-widescreen players an advantage by reducing the distortion of the Speedy FOV effect.
I think I found a good solution for this. The speedy factor usually is 1.5 but designed for 4:3 aspect ratio. With new wide screen aspect ratios like they are used today the speedy effect is to intense and due to auto fov correction it is even stronger, so like suggested the speedy factor of 1.5 needs to be dynamic.
If we devide it into some constant base and dynamic peak part I would to it like this: 1.0 + 0.5. So let's make 0.5 dynamic by aspect ration of the current screen --> factor = height / width.
Height | Width | Factor | Base | Peak | Result |
---|---|---|---|---|---|
5 | 4 | 0,80 | 0.50 | 0.40 | 1.4 |
4 | 3 | 0.75 | 0.50 | 0.38 | 1.38 |
16 | 10 | 0.63 | 0.50 | 0.31 | 1.31 |
16 | 9 | 0.56 | 0.50 | 0.28 | 1.28 |
21 | 9 | 0.43 | 0.50 | 0.21 | 1.21 |
In the end the speedy factor is calculated this way:
speedy factor = 1.0f + base * height / width
In my tests this worked pretty well.
A few screenshots of the result in different aspect ratios with and without speedy fov effect. Experience nearly stays the same in all aspect ratios.
32:9
21:9
16:9
16:10
4:3
5:4
On 1.7.0-beta1, the FOV change that applies when running with the Speedy powerup is much higher since the FOV is now adjusted for widescreen displays automatically.
https://github.com/user-attachments/assets/df5b700b-a781-48f5-8d14-b438a75fe6d9
This is especially true if you increase
cg_fov
above its default, e.g.cg_fov 105
on 16:9:https://github.com/user-attachments/assets/599c0e2e-8adb-4e33-8172-e6cadeaba2ee
Conversely, if you use a lower-than-default FOV, the FOV change appears much more subtle. Example with
cg_fov 60
:https://github.com/user-attachments/assets/be1faa2d-1fc1-48e6-8c47-7e61c442e300
To resolve this, the FOV offset needs to be changed from a fixed value to a dynamic value depending on the current FOV, with higher base FOV values warranting a lower FOV difference to keep the effect similar. I believe the same formula used for widescreen adjustment (or mouse sensitivity adjustment based on scoped weapon FOV) can be used here.