Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Game stretched in full screen mode when using a widescreen.

I just recently bought a new widescreen monitor, which has a 1440x900 resolution, and when playing RMXP games, even though in windowed mode it looks allright (maybe a bit small, but I don't care much about that) but when I go to fullscreen, the game gets stretched too m,uch to the side... is there a way the prtogram could detect if I'm using a widescreen monitor and apply some black bars to the side or something? I hate playing in windowed mode because of the size, and now I can't play in fullscreen either :(
I hope someone can help me with this...
 
I'm interested in finding something similar, I don't mind it distorting/pixelating but the stretching annoys me. Would it be possible to make a script that modifies the full screen so that it wouldn't change the original proportions? Or alternatively a script that simply filled the everything behind the window (including the window frame) with black?
 

Zeriab

Sponsor

It is definitely possible, but would require huge modifications of the default scripts.
There may also be problems when going to and from fullscreen, so you got to be prepared for it being rather tedious.
I can tell you that before going fullscreen you would want to get the resolution:
Post at another forum":267z24px said:
You can use GetSystemMetrics in user32 for that.
Ref: http://msdn.microsoft.com/en-us/library/ms724385(VS.85).aspx

Illustrative code:
Code:
SM_CXSCREEN =   0

SM_CYSCREEN =   1

 

user32 = Win32API.new('user32', 'GetSystemMetrics', ['I'], 'I')

 

w = user32.call(SM_CXSCREEN)

h = user32.call(SM_CYSCREEN)

 

p w,h
From this you can figure out the aspect ratio and thus the size of the black borders and resolution.
Then you would have to use a resolution script to change the resolution and make sure that any pixel-placement done by the default script is altered to fit with the black borders.
There can easily be issue which I have not considered. I know that I would never do this since it's far too tedious.

It will be much easier if maintaining aspect ratio while adding black borders is supported by your video card and/or screen.

*hugs*
- Zeriab
 
I've been working on a widescreen autoadjust script for a while, but with a much more complex structure than what Zery initialized there... either way, nothing would work for already compiled games without hacking involved, so I figure if you want to run ALL games in the proper resolution, you have to figure out a non-script way to do that... graphics card is a good start, but monitors also change stuff sometimes. For example, my Samsung 26" adjusts to the aspect ratio and, if necessary, adds black bars automatically. Well, it only works for TV stuff, NOT for RPG Maker games, for some reason... leads to the thought that the RGSS Player could already stretch the game to widescreen, so it factually IS widescreen when playing... and fixing that is something way beyond my capability bounds ^^
 
BlueScope":2xfkia86 said:
I've been working on a widescreen autoadjust script for a while, but with a much more complex structure than what Zery initialized there... either way, nothing would work for already compiled games without hacking involved, so I figure if you want to run ALL games in the proper resolution, you have to figure out a non-script way to do that... graphics card is a good start, but monitors also change stuff sometimes. For example, my Samsung 26" adjusts to the aspect ratio and, if necessary, adds black bars automatically. Well, it only works for TV stuff, NOT for RPG Maker games, for some reason... leads to the thought that the RGSS Player could already stretch the game to widescreen, so it factually IS widescreen when playing... and fixing that is something way beyond my capability bounds ^^

You're on the right track there. It isn't the video card or monitor causing issues, it's Game.exe. Specifically, the executable will automatically resize the screen to match the fullscreen resolution. The only alternatives are a wildly complex, script based bypass, or hacking Game.exe so that it won't do that.

Actually, on further thought, I need to test whether the game window is resized, or the screen it. With a dual monitor setup, it's pretty easy to find out. I'll be back in a sec.

Edit: Thought so. The Game.exe file changes the resolution of the monitor to 640x480, and then goes into fullscreen. Which means that no, it isn't your graphics card or monitor, and it is Enterbrain's fault.
 
I wonder what you did with your two monitors... I'm running a dual screen desktop everyday and never realized anything particularly related to it...

But yeah, I figure a script solution to put into your games beforehand will be a handy thing for the growing number of widescreen displays around, eh?
 
BlueScope":3oicnrrz said:
I wonder what you did with your two monitors... I'm running a dual screen desktop everyday and never realized anything particularly related to it...

But yeah, I figure a script solution to put into your games beforehand will be a handy thing for the growing number of widescreen displays around, eh?

Well, I have a weird computer. If I have anything open and fullscreen when something changes the resolution before going fullscreen, the other program will stay at its original resolution, and will be displayed on the second monitor. I tested this with a maximized file folder, and it was being displayed on both screens. This can be a pain when a game isn't intended to run on two screens. For example, if I tried to run WoW on this setup, I'd have to disable the second monitor, because it would slow the game down enormously.
 

Zeriab

Sponsor

My laptop automatically makes black borders. It does stretch since the dimensions is 1280x800, but the ratio is preserved.

I do have a Preserve wide aspect ratio on attached displays check-button under my Display Properties->Advanced->Displays, but it doesn't seem to make any difference. (I.e. the ratio is preserved whether it's checked or not.)

I have ATI Mobility Radeon HD 2400 XT and I use Omega Drivers. (I dunno if that makes any difference)



I guess one could change the resolution so it doesn't alter the ratio. (Or not change it at all)
Then change the style of the RGSS Player window so it has no borders. (I dunno how to do it, but I am sure you can)
Change the size of the window and move it so it fills out the entire screen. (Changing the properties of the window so it's always on top is probably a good idea as well)
It probably would be a good idea to mess around with the key accelerators of the window so the normal Alt+Enter won't work. (Or use some other means of preventing it. I believe Demonfire found a way)

It may be worth considering if it's possible just to change the solution to one which doesn't alter the ratio and then go fullscreen. That and preventing the normal Alt+Enter from working. I am sure there are dangers, but I dunno which.

*hugs*
- Zeriab
 
Well, I wonder if it's because of the Omega drivers, which are pretty advanced from what I've experienced back in the days I used them. Factually, it's possible to solve this problem with drivers, but I think you'd have to specifically address it, which seems to be unlikely for a program like RGSS Player... which brings us to the question again if RGSS Player really has something to do with itor not...

@Zery: Can you screenshot your blackbar'd fullscreen there? I'd like to see that.
 

Zeriab

Sponsor

It might be the Omega drivers. I am too lazy to install the official drivers to test it though.
I cannot take a screenshot of it since on the black borders will not be copied to the clipboard.
I don't have a camera, so I won't be able to take a picture that way :(
 
Well... if the black borders aren't printed, that sounds more like something your monitor does then... because I think drivers can only change so much - relative amount of screen used shouldn't be included, at least not for monitors in general... I guess.

This is confusing :/
 

Zeriab

Sponsor

It could also be that my monitor have support for it and the drivers use the functionality.
I am sure that if you can solve either by your video drivers or by configuring your monitor then that solution is preferable.

I do remember an old IBM laptop I had like 7 years ago where you could configure it to either stretch or don't stretch when going into fullscreen with a resolution smaller than the native one.
This was somewhere in the IBM configuration utilities.

I can see a Preserve Aspect Ratio check button in the Omega driver's Display properties, but it's grayed out, so maybe my video card don't have support for changing that setting.
I don't really care as I prefer black borders ^_^
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top