Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
hairylegs222

Doom Intermission wrong aspect ratio

Recommended Posts

Is there a way to change the intermission screen to another ratio (16:9 preferably)?

 

The image here is 4k resolution (3840x2160) but showing it in 4:3 ratio. Using GZDoom, Project Brutality 3.0 test. GtWWCpF.jpg

Edited by hairylegs222

Share this post


Link to post
3 hours ago, hairylegs222 said:

Is there a way to change the intermission screen to another ratio (16:9 preferably)?

 

The image here is 4k resolution (3840x2160) but showing it in 4:3 ratio. Using GZDoom, Project Brutality 3.0 test. GtWWCpF.jpg

Well it is because the intermission screen is at the default aspect ratio.

Because it wants to maintain 4k resolution, it will happen for intermission screen. If it follows the aspect ratio, the pixels will be stretch and it will look wierd.

Share this post


Link to post

Not sure what to suggest, it's probably the image being used that needs manual adjusting.

Share this post


Link to post
15 hours ago, hairylegs222 said:

Then it should be addressed and fixed :)

The dimensions of the screenshot you posted are 7094x3741. How you got Doom to output such an image is a mystery to me, however, it is not a standard 16:9 size. For a proper 16:9 image to fill that screen, you'd need to lower the X resolution, or raise the Y resolution. When performing a best-fit image display, with the goal of maintaining aspect ratio, the algorithm guarantees that the picture is stretched/shrunk to make sure that it fills at least one dimension. If both the image and the display resolution are at the same ratio, the picture fills the screen horizontally and vertically, but if the ratios are different, the picture can only fill the screen on one of those 2 dimensions.

 

A known 16:9 ratio is 1920x1080, or as you suggest, 3840x2160. So, doing the math:

 

7094/3840 = 1.8473958333_

2160 * 1.8473958333_ = 3990.375, not 3741.

 

Therefore, your Y resolution is 249.375 pixels too short to allow a 3840x2160 picture to completely fill both dimensions.

 

OR

 

3741/2160 = 1.7319444_

3840 * 1.7319444_ = 6650.666_

 

Instead, adjusting the X coordinate, your X coordinate is 443.333_ pixels too wide to allow a 3840x2160 picture to completely fill both dimensions. So GZDoom must start drawing the image at 443.333_ / 2, or 221~ pixels to the right, with a 221~ pixel gap on both sides of the screen, to maintain aspect ratio. Or something like that.

 

The conclusion is, based on your screenshot and your statement that the source image is 3840x2160:

 

GZDoom is doing *exactly* what it should be doing: Allowing the picture to be displayed as large as possible, while maintaining aspect ratio.

 

So, what, do you have a quad-4k monitor setup? Is the image faked? Did Imgur resize the image? How do you get a 7094x3741 resolution anyway?

 

Edited by kb1 : added some emphasis

Share this post


Link to post

Appreciate the info however it does the same thing in 3840x2160 resolution. I always set GZDoom resolution to DSR (Dynamic Super Resolution) 3.00 x 4k which is 7094x3741.

AJ78vff.jpg

Share this post


Link to post
On 4/25/2018 at 1:04 PM, The Mysterious Moustachio said:

Wait, GZDoom really doesn't support widescreen INTERPICs?

Last I ever bothered to check, nope. I suspect no ports do (other than maybe Doomsday?), not properly/intentionally anyway.

Edited by Edward850

Share this post


Link to post

I might be misremembering, but don't some ports have an option that allows interpics/titlepics to be stretched to fit? Such an option would surely be easy to implement and a net positive. Support for widescreen custom titlepics/interpics also seems like an obvious improvement to be implemented. Does anyone really buy the "switching between 16:9 for gameplay and 4:3 for screens doesn't look ugly and unprofessional" argument? To me it sounds like pointless refusal to update in an obvious way, even if the issue isn't of much consequence overall.

Edited by Doomkid

Share this post


Link to post
30 minutes ago, hairylegs222 said:

Appreciate the info however it does the same thing in 3840x2160 resolution. I always set GZDoom resolution to DSR (Dynamic Super Resolution) 3.00 x 4k which is 7094x3741.

AJ78vff.jpg

 

I can't make the math work out to save my life. This screenshot lack 960 horiz. pixels (480 on either side).

 

(3840/2160) / (16/9) = 1           : 3840x2160 is 16:9 ratio

(7094/3741) / (16/9) = 1.0666.. : 7094x3741 is some other ratio

 

3840-((2160/200)*320)=384, not 960

 

960/384 = 2.5  <--- probably significant, though I don't know why.

 

Anyway, it has to do with the different pixel sizes for 320x200 vs. 3840x2160.

 

21 minutes ago, Edward850 said:

GZDoom's title and intermission screens are always projected as 4:3 to correct for Doom's pixel ratio. This is intentional.

I'm sure this is what's happening, but from that second screenshot, I can't figure out why there's a gap of 960 horiz. pixels instead of 384. It's apparently taking a 16:9 sized image, assuming it's a 4:3 image, and rendering it to some non-16:9 internal buffer which is being dynamically shrunk to a 16:9 display.

 

@hairylegs222 (what a user name - yikes)

So, what happens if you turn off DSR, and render straight 3840x2160? Is that what the second screenshot is representing? Please also provide a screenshot of you finishing Doom E1M1, using only the Doom IWAD (so you get original Doom's 4:3 Finished/Entering screen, in 3840x2160.

Share this post


Link to post
39 minutes ago, Doomkid said:

I might be misremembering, but don't some ports have an option that allows interpics/titlepics to be stretched to fit? Such an option would surely be easy to implement and a net positive. Support for widescreen custom titlepics/interpics also seems like an obvious improvement to be implemented. Does anyone really buy the "switching between 16:9 for gameplay and 4:3 for screens doesn't look ugly and unprofessional" argument? To me it sounds like pointless refusal to update in an obvious way, even if the issue isn't of much consequence overall.

I'm not sure it's a refusal. Currently, the code tries to maintain proper aspect ratio so the images don't look stretched. But it assumes that the source image is 320x200. I suppose it should be able to determine that the image is not 320x200, and display the image as widescreen, but it's also possible to have a 4:3 image that's not 320x200. A possible solution is a setting, maybe in the MAPINFO file that triggers the renderer to assume that the pixels in the image are to be interpreted as square pixels (which would cause the OP's image. to fill the screen.) The big problem is that in that old 320x200 mode, pixels were not square, they were rectangular. And, there's nothing in those source images to indicate that it's a 4:3 image.

 

My point is that the engine cannot determine the original pixel size on its own. It could make an assumption that any non-320x200 image has square pixels, and that would probably solve it most of the time. But, again it's just a guess. So, sketchy auto-detect, or new flag in MAPINFO:

 

titlepic_pixels_are_square = true/false

interpic_pixels_are_square = true/false

 

Personally, I'd go for auto-detect. I like when I follow the rules, and things just work, without the hassle of special flags.

Share this post


Link to post
8 minutes ago, Anidrex_1009 said:

The Numbers! What do they mean!?

I don't know! I wanted to understand how GZDoom scaled the image - I wanted to understand the math being used. I got close, but I think I failed to account for rectangular vs. square pixels.

 

Imagine using an old computer with a non-widescreen monitor, and drawing a perfect square in MS Paint, or something. Then transfer that picture to a newer computer with a widescreen monitor. Will your perfect square still be a square, or will it look rectangular (more long than wide)?

Share this post


Link to post

Interesting. Is there any way I could take a crack at a fix myself?

 

I'm thinking the best way to go about it would be to add the widescreen-supported rendering process to the codebase while maintaining support for the original legacy rendering process. A simple boolean to keep track of which to use could be set to the legacy process by default (so as not to break compatibility with the hundreds of established ZDoom/GZDoom wads and mods), and a wad or pk3 author could force the new process should they want a widescreen (or other resolution) TITLEPIC/INTERPIC/BOSSBACK via some sort of wad or pk3 lump/script. Does this sound feasible to anyone with expert knowledge of the Q/GZDoom codebase?

Share this post


Link to post
On 4/25/2018 at 2:12 AM, The Mysterious Moustachio said:

Interesting. Is there any way I could take a crack at a fix myself?

 

I'm thinking the best way to go about it would be to add the widescreen-supported rendering process to the codebase while maintaining support for the original legacy rendering process. A simple boolean to keep track of which to use could be set to the legacy process by default (so as not to break compatibility with the hundreds of established ZDoom/GZDoom wads and mods), and a wad or pk3 author could force the new process should they want a widescreen (or other resolution) TITLEPIC/INTERPIC/BOSSBACK via some sort of wad or pk3 lump/script. Does this sound feasible to anyone with expert knowledge of the Q/GZDoom codebase?

You should probably ask on the ZDoom forum. They'd probably be more receptive if you submitted a fix with the question! I can't comment on your idea, though, without doing a bunch of tests, and checking out the source in detail. That's probably the first step - to understand what you're dealing with. That will tell you what your options are.

 

Share this post


Link to post
On ‎4‎/‎24‎/‎2018 at 7:16 PM, kb1 said:

 

@hairylegs222 (what a user name - yikes)

So, what happens if you turn off DSR, and render straight 3840x2160? Is that what the second screenshot is representing? Please also provide a screenshot of you finishing Doom E1M1, using only the Doom IWAD (so you get original Doom's 4:3 Finished/Entering screen, in 3840x2160.

That 2nd screenshot was 3840x2160 resolution with DSR off.

Share this post


Link to post
On ‎4‎/‎24‎/‎2018 at 11:12 PM, The Mysterious Moustachio said:

Interesting. Is there any way I could take a crack at a fix myself?

 

I'm thinking the best way to go about it would be to add the widescreen-supported rendering process to the codebase while maintaining support for the original legacy rendering process. A simple boolean to keep track of which to use could be set to the legacy process by default (so as not to break compatibility with the hundreds of established ZDoom/GZDoom wads and mods), and a wad or pk3 author could force the new process should they want a widescreen (or other resolution) TITLEPIC/INTERPIC/BOSSBACK via some sort of wad or pk3 lump/script. Does this sound feasible to anyone with expert knowledge of the Q/GZDoom codebase?

You're on the right track. Project Brutality achieved this for the main menu screen. Somewhere in its pk3 file they were able to change the image correctly. I just replaced their image with a cooler one :D. 

SxQfYa5.jpg

 

vS7I653.jpg

Also hopefully someone makes this into a proper 16x9 HD image :)

Share this post


Link to post
19 minutes ago, hairylegs222 said:

You're on the right track. Project Brutality achieved this for the main menu screen. Somewhere in its pk3 file they were able to change the image correctly.

No they didn't. They are using a titlemap (think Half-life 2), not a titlescreen.

 

As stated previously, the forced 4:3 aspect ratio is not a bug, no matter how many times you say otherwise. In addition, if you want to to see widescreen title and intermission images, you're posting on the wrong forum. None of the GZDoom developers post here (to my knowledge) and we cannot do anything for you. All you're doing here is essentially screaming into the void.

Edited by Edward850

Share this post


Link to post
1 hour ago, hairylegs222 said:

Woah calm down lol, take a chill pill... jeeze.

I'm not sure we are on the same page, I haven't said anything implying any sort of agitation or frustration. There really wouldn't be much point in getting angry about it anyway, it's not my port.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×