Open BridgeHeadland opened 1 year ago
Is this along the same lines as your older request #3791?
I'm not sure of your use case for this as you would end up with aspect correct but tiny game screens for a lot of games, there is also the issue that running LCD panels outside their native resolution introduces blurry/distortions (obviously ignore this aspect if running on a CRT)
I'm not saying this is a solution but the way I work is to have a batch file (actually more for different use cases) in the drivez
folder that setup scaling and such. You could have something like this saved in fullscreen.bat
:
config -set "aspect=true"
config -set "output=direct3d"
config -set "scaler=hq3x forced"
config -set "fullscreen= true"
If you don't like the hq3x style scaler and want something more authentic then the normal or hardware options below will just pixel double, triple etc... without attempting to 'process' the output. As always some games may look better in one mode over another, and because DOS games do weirdness soe may not work with a particular scaler (or any scaler). Also you need to use opengl
in place of direct3d
if playing 3DFX games.
none, normal2x, normal3x, normal4x, normal5x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x, gray, gray2x, hardware_none, hardware2x, hardware3x, hardware4x, hardware5x, xbrz, xbrz_bilinear
Then in your games folder have a bat to start you game as follows:
call z:fullscreen.bat
REM Do any other stuff like mount .iso etc...
playgame.exe
@NebularNerd Do you mean that then a game with 320x200 resolution will be displayed in 320x200 in the middle of the black that covers the whole screen, with a resolution of for example 3840x2160, if the Windows resolution is 3840x2160? It makes more sense when I think about it. The times I have run DOSBox-X in a resolution other than 0x0 or the Windows 1x resolution I use now and then, the image becomes smaller, and a black frame appears around the image. Then you can just as easily choose surface as the output value, instead of openglnb (which I prefer to use above all), without needing a -1x-1 resolution as the resolution value. My original wish is that a future version of DOSBox-X allows Windows 1x, or another operating system, to change resolution, and a specific resolution, depending on where you are within DOSBox-X in full screen mode, if the operating system is already set to change resolution automatic. I know that the resolution can change automatically after a certain setting, because sometimes my Windows 10 automatically changes the resolution from 3840x2160 to some 768p resolution (don't remember the exact width), because I did a setting that I don't remember how to do (I'm not very good with computers, you know). As I see it, DOSBox-X does not make Windows 1x change resolution automatically - if Windows 1x is set that way. I don't know if there is a solution to such things, or how it should be done, when I think about it, but for me it doesn't matter, because I run the software in 4K, and I'm happy with it.
Ah I get what you want now, my previous suggestion was based on scaling the image upto an aspect correct size to fill you monitor which is fine. You could likely make a script that watches the DosBox log and when a res change happen in the log trigger a Windows command to adjust the res to either the same or nearest possible. The issue with this is if you get something trying to send over an image that the screen determines is not in range (say those weird super vertical Pinball Fantasies menu springs to mind) and may not show anything at all.
As mentioned previously unless you are doing this on a CRT it will look 'not great' to 'pretty awful' depending on how far outside the native resolution of your screen you go and how good your LCD is at polishing up non native content, LCD's are designed to run at one resolution and anything else on them can and will be presented 'as best as it can manage'.
My suggestion to scale up the content using normal
or hardware
scalers would in most cases be the better solution with the pixels being scaled up to fill the screen, bring the content up to the screen res, not the screen down to the content res. If you have a CRT then changing res is fine as they just draw whatever comes their way (mostly).
Question
If -1x-1 is added as a fullresolution value, then an operating system that supports DOSBox-X (such as Windows 11) will automatically set the resolution to the closest to 320x200 (such as 800x600 (where 500 vertical pixels show the software, while 50 black vertical pixels are displayed above the software, and 50 more are displayed below)), if the resolution in the operating system, running DOSBox-X, changes automatically? To me it sounds very logical. I realize that a 320x200 image will look ugly if that image is stretched to 800x500 or 800x600, but I know that adding custom resolutions is actually possible for certain operating systems, at least Windows 1x as far as I know.
Have you checked that no similar question(s) exist?
Code of Conduct & Contributing Guidelines