Non-standard aspect ratio - now solved for Fighter HUD

General discussion for players of Oolite.

Moderators: winston, another_commander

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Non-standard aspect ratio - now solved for Fighter HUD

Post by Cody »

I know that I’ve griped about this before, but it’s very mildly irksome.

Why doesn’t Oolite 1.73 onwards like 1280x1024 in full screen mode? The gap under the HUD is getting to me.
Even the standard HUD is the same. It puts the bottom message line too close to the top of the HUD, and just does not look right.
Everything else is great, and it doesn’t affect gameplay, but…

I do not like to play in Windowed mode, which cures the problem.
My only solution is to change my display every time I want to play Oolite (the lower choice offered by Oolite is not good),
and then change it back again. Not satisfactory. It’s the same in trunk (r2626).

I understand that this is a “non-standard” aspect ratio but in 1.72.2 there was no problem.
I can’t be the only one using a 1280x1024 monitor, can I?
Or am I the only one to have this very minor problem?

If I am the only one, then please ignore this post. If not, is there any hope in the MNSR? Or beyond that, even?



Regards
Last edited by Cody on Thu Oct 08, 2009 10:34 am, edited 1 time in total.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Re: Non-standard aspect ratio

Post by Screet »

El Viejo wrote:
Why doesn’t Oolite 1.73 onwards like 1280x1024 in full screen mode? The gap under the HUD is getting to me.
I understand that this is a “non-standard” aspect ratio but in 1.72.2 there was no problem.
1280*1024 is one of the most common resolutions, as it's standard for 19" TFT screens. Surely, now widescreen is coming more and more into the market and TFTs got cheaper, thus often providing higher resolutions nowadays, but most people I know did end up with 19" when they became affordable - and that's simply their native resolution.

Interestingly, I never noticed there would be something wrong with how Oolite is using it in fullscreen before reading your message ;)

Maybe the reason is that I use the standard HUD and that it's floating a few cm above the bottom never did look too wrong (while other HUDs with more graphical content surely would look strange).

I can very well imagine that there are several developers running that resolution and simply never noticed that there would be a problem...

Screet
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

HUDs are laid out in a 640×480 point coordinate system, and therefore assume a 4:3 aspect ratio unless the designer puts content outside the “board”. If the screen/window aspect ratio is not 4:3, the content area is scaled to fit inside the screen, so that no information ends up off-screen. For wider aspect ratios, that means padding is added to the left and right. For narrow aspect ratios, it means padding is added to the top and bottom.

This behaviour has not changed since 1.72, and there is no way to change it without breaking existing HUDs.
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Ahruman wrote:
For narrow aspect ratios, it means padding is added to the top and bottom.
This behaviour has not changed since 1.72, and there is no way to change it without breaking existing HUDs.
Really not possible? Padding top and bottom seems strange to me...why not padding at top only? I don't recall any HUD that's reliant on the top position, but all I know depend upon the bottom position...

Screet
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Post by Cody »

Hi Ahruman.

Fair enough, you'll not hear another word from me on this subject.
Thanks for the explanation.


Regards
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Screet wrote:
Ahruman wrote:
For narrow aspect ratios, it means padding is added to the top and bottom.
This behaviour has not changed since 1.72, and there is no way to change it without breaking existing HUDs.
Really not possible? Padding top and bottom seems strange to me...why not padding at top only? I don't recall any HUD that's reliant on the top position, but all I know depend upon the bottom position...
The one used by default in OSE puts a sprite under the crosshairs. This would be misaligned if the HUD was shifted down.
pmw57
---- E L I T E ----
---- E L I T E ----
Posts: 389
Joined: Sat Sep 26, 2009 2:14 pm
Location: Christchurch, New Zealand

Post by pmw57 »

Ahruman wrote:
Screet wrote:
Ahruman wrote:
For narrow aspect ratios, it means padding is added to the top and bottom.
This behaviour has not changed since 1.72, and there is no way to change it without breaking existing HUDs.
Really not possible? Padding top and bottom seems strange to me...why not padding at top only? I don't recall any HUD that's reliant on the top position, but all I know depend upon the bottom position...
The one used by default in OSE puts a sprite under the crosshairs. This would be misaligned if the HUD was shifted down.
So the solution here is to plan for a future fix, where sprites for the crosshairs can be defined separately from the hud. If the separate sprite for the crosshair is defined then it's a straight-forward top-only padding.

Then, work with the OSE developer to come up with a solution.

After the the OSE update has been out for a couple of code releases, apply top-padding to all huds.
A trumble a day keeps the doctor away, and the tax man;
even the Grim Reaper keeps his distance.
-- Paul Wilkins
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

If I may: from a developer point of view this whole thread is plain weird.

The graphical issues experienced by El Viejo are a direct result of the way the HUD of his choice was designed: it was drawn without taking into account all possible height/width display ratios.

The way Oolite is displaying HUDs is to centre them to the centre of the screen.

To coin a phrase, making the centre of the screen not the centre of the screen, doesn't make any sense to me.

Of course, if you feel that strongly about having an off-centred centre of the screen, you can always patch the game, and submit a patch. If it doesn't actually break things in any of the supported platforms, sure, we'll consider adding the patch to the codebase.

Oolite has had the same centered centre of the screen behaviour since it's been able to go full screen. The same HUD El Viejo is using now looks exactly the same with 1.73 as in any other version that can display it.

El Viejo, and anybody interested, have a look using 1.65 and see for yourself. I've no idea why you never noticed that gap in 1.70 through to 1.72.2 but it was there all the time.
Again, don't take my - or Ahruman's - word for it. Check for yourselves.

The Fighter HUD wasn't designed with 1280x1024 in mind.

This might sound weird, but why not change that specific HUD's design, instead of asking us to change the way Oolite handles different display resolutions across 3 different computer platforms?
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
pmw57
---- E L I T E ----
---- E L I T E ----
Posts: 389
Joined: Sat Sep 26, 2009 2:14 pm
Location: Christchurch, New Zealand

Post by pmw57 »

Kaks wrote:
This might sound weird, but why not change that specific HUD's design, instead of asking us to change the way Oolite handles different display resolutions across 3 different computer platforms?
That's a good question. I'll shall try to provide a worthy answer.

Nobody wants the crosshairs at the centre of the screen to move from where they are.

My idea is to allow hud designers to be capable of accommodating multiple aspect ratios, by being able to create the graphics for the crosshairs area separate from the hud area.

The intention being to "untie" the existing OSE hud design so that no matter how the aspect ratio changes, that the graphics for the crosshairs can be allowed to stay in the middle, and the graphics for the hud stay at the bottom of the screen.
A trumble a day keeps the doctor away, and the tax man;
even the Grim Reaper keeps his distance.
-- Paul Wilkins
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

So the solution is to redesign the HUD!

If anyone wants to also redesign the way Oolite uses HUDs, this is an open source project, there's nothing to stop anybody from doing so!
I'm already looking forward to seeing a working patch to Oolite's codebase! :)

edit: of course, as Ahruman pointed out already, the Oolite HUD display redesign needs to be done in a way that's backward compatible with existing HUDs...
Last edited by Kaks on Sat Oct 03, 2009 3:32 pm, edited 1 time in total.
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

I don't know if this covers fully pmw57's idea of crosshairs separation from hud, but the crosshairs in 1.73.4 are already separate from the rest. They can be defined independently, and positioned as one sees fit. All this is handled from the crosshairs.plist file. See the example image, where I have moved the "No Weapon Here" crosshairs higher up in the screen (click thumbnail to enlarge):
Image
If this is not good enough or does not cover the idea fully, then as Kaks already said, it will be great to have a patch submitted from anyone who considers this a problem important enough to require urgent resolution.
User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1649
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Post by Cmdr Wyvern »

When I worked on MilHUDv3, I took advantage of the fact that Oolite can recently support multiple background images in the hud. It's all separate elements that can be moved, resized, tweaked around, turned off, even changed if the player has some plist skills. Almost infinite variety is possible there, whatever you like goes.

And yes, it's completely compatible with 1280*1024, which FYI happens to be the native rez of my monitor.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Cmdr Wyvern wrote:
Almost infinite variety is possible there, whatever you like goes.
Wyvern, apparently this seems to be a bit too restrictive. :roll:

Hopefully someone will come up with a patch to expand the options, so maybe they won't have to redesign the HUD! :mrgreen:
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1649
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Post by Cmdr Wyvern »

Kaks wrote:
Cmdr Wyvern wrote:
Almost infinite variety is possible there, whatever you like goes.
Wyvern, apparently this seems to be a bit too restrictive. :roll:

Hopefully someone will come up with a patch to expand the options, so maybe they won't have to redesign the HUD! :mrgreen:
Wait... A HUD made to be flexible winds up being restrictive?
Man, who woulda thunk? It's a bit much for the old wetware processor to compute... :brain explodes:
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Kaks wrote:
Oolite has had the same centered centre of the screen behaviour since it's been able to go full screen. The same HUD El Viejo is using now looks exactly the same with 1.73 as in any other version that can display it.

El Viejo, and anybody interested, have a look using 1.65 and see for yourself.
Well, actually… there was a bug causing all HUDs to be misaligned on non-Mac systems that we fixed somewhere around 1.69 or 1.70.
another_commander wrote:
I don't know if this covers fully pmw57's idea of crosshairs separation from hud, but the crosshairs in 1.73.4 are already separate from the rest.
That wouldn’t work for the aforecited OSE HUD, since it uses a sprite and the new crosshair stuff only supports lines.

Anyway, the overall point is: it would be possible to change the way HUDs work so they can pin elements to the edges or centre, but it would be a biggish feature, not a geometry adjustment or a reversion to how it worked in the Golden Age.
Post Reply