elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.16k stars 83 forks source link

Scale up smaller resolutions - e.g. Myth: The Fallen Lords #91

Open pgalbraith opened 3 years ago

pgalbraith commented 3 years ago

DxWnd does some kind of magic where it allows you to choose a smaller resolution and it scales it up over your current desktop resolution without actually going full screen. This is very nice for Myth: The Fallen Lords because the game's latest patch (v1.5 from Project Magma) can't handle resolutions over 1920x1080 for the directx portions of the game. Is there any chance dxwrapper can perform the same trick? Nglide works nicely for the 3dfx rendering parts of the game, so I was wondering if a combination of nglide and dxwrapper could be used together for this game.

mirh commented 3 years ago

That sounds like integer scaling, with some kind of "use the biggest window resolution that can fit the screen"

elishacloud commented 3 years ago

dxwrapper does have the ability to scale the resolution when using dd7to9. If the game DirectX 7 or older and only uses the 2D APIs then it should work fine. As @mirh said, you can also use integer scaling here and maintain aspect ratio, if you like.

pgalbraith commented 3 years ago

Thanks for the pointers. I tried this with Myth TFL (v1.5) but unfortunately no luck. I'm suspecting part of the problem is, with v1.5, they recognize the larger screen and keep your desktop resolution (so integer scaling really doesn't do anything in this case as you're already by default at desktop resolution). But, the game just doesn't work at resolutions over 1920x1080, so I need to trick it into using a smaller screen resolution and scale that back up to the desktop. I also tried these settings, but still couldn't get this game to work with dxwrapper:

[Compatibility] Dd7to9 = 1

[Dd7to9] DdrawOverrideWidth = 800 DdrawOverrideHeight = 600 DdrawIntegerScalingClamp = 1 DdrawMaintainAspectRatio = 1 ; or 0

elishacloud commented 1 year ago

Nglide works nicely for the 3dfx rendering parts of the game, so I was wondering if a combination of nglide and dxwrapper could be used together for this game.

At this point I have no plans to support nglide. I am focusing mainly on DirectX, but I might add WinG in the future.

elishacloud commented 1 month ago

This is basically DSR/supersampling.