-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[nit] Health circle is too large in widescreen #13
Comments
Reading the code, I believe a good fix is to do in
Technically, this will make the health circle too big at resolution that are taller than wider (like a mobile phone) but those are much less common in desktop PC space than widescreen resolutions. |
@smlu No, reference screenshots are from CD version 1.2 |
That being said, to change the scaling and use the resolution height for scaling reference, other changes will need to be made. Specifically, the position offset of indicators will need to be updated, the inventory menu scaling will also have to be adjusted. For reference here's what has to be changed for indicator scaling:
|
You're comparing 1920x1080 with 1920x1440 but you should be comparing it with 1440x1080. That's the 4:3 native resolution equivalent for the same resolution display. |
Ah yes, you're right about that. |
What was originally intended is hard to decide in my opinion since the original implementation of HUD in widescreen was broken. The choice of using width/height ratio for scaling was completely arbitrary as long as the target resolution was 4:3 because then they are the same number ( In widescreen, width and height ratio are no longer equal and this resulted in the circle being squished (wider than tall) in the original implementation. To "unsquish" it, the current implementation chooses to pick the width ratio and apply that to the height as well which makes the circle larger than it would be at a 4:3 resolution of the same number of lines. I happen to think that making the circle the same size regardless of aspect ratio is the more "correct" (and prettier) solution. And I think the images support than opinion because if I overlay the original PC version with your modified OpenJones3D, it fits completely perfectly. If then the inventory looks "wrong", I would rather adjust the inventory (and I'm happy to write a PR for that). Finally, here's N64 version as well for shits and giggles. |
Scaling to 4:3 was intentionally chosen for the initial implementation to match the original design 1:1 and to fix HUD rendering problems on widescreen resolutions. I'm not arguing tho, that this is the correct scaling solution for widescreen resolutions. I'm simply pointing out the OpenJones3D implementation decision, which I'll try to explain below.
The HUD was designed to lock on 4:3 aspect ratio, uses 640x480 as base resolution and scaled by using the longer side - width. Example of HUD scaling on different 4:3 resolutions (vanilla): Vanilla 1920x1080 vs 1920x1440: Vanilla vs OpenJone3D at 1920x1080: Just for reference, to match the original scaling, a new variable JonesHud_aspectRatioScale was created. This variable holds the current aspect ratio of current resolution vs base resolution. This var is used for scaling the size and position of the inventory menu and the 'item changed' element
As far as I'm concerned, I'm all for changing the scaling of health/endurance indicator as long as other elements of the HUD are also correctly scaled (inventory menu, "item changed" element, text?). |
I'll see how it looks but I expect large gaps between inventory columns to look weird. |
This report is brought to you by OCD.
The health circle in OpenJones3D takes up too much screen space at 1920x1080 compared to the original PC version or the N64 version.
As a control group, here's the original PC version and N64 version (both at 640x480) overlaid with each other. You can see the health circle takes up the exact same amount of screen space.
Here's OpenJones3D and original PC version rendered at 640x480 scaled to the exact same vertical resolution overlaid with each other:
In exact numbers, the health circle at 1080p is about 177 pixels tall. It should be about 135 pixels to take the same amount of screen space as the original does.
The text was updated successfully, but these errors were encountered: