Skip to content

[D3D9 (via D3D8)] Request scaling for DX8/Dx9 games. #370

Closed
@RustyShacklefordIII

Description

@RustyShacklefordIII

First of, I want to thank you for the dxwrapper. It's really an amazing tool that finally lets me have fullscreen shell menus in the game Star Trek Armada Fleet Operations ( https://www.fleetops.net/download ). I'm also loving the improved anti-aliasing and framerate control that dxwrapper brings. This game originally was a DX8 game, but using dxwrapper with its d3d9.dll library and the settings:

D3d8to9 = 1
FullscreenWindowMode = 1

I can get the shell menus that normally come in a 800x600 window in the middle of the desktop to show as fullscreen (with some black bars).

I did run into the issue of very lengthy mode changes when launching in fullscreen using dxwrapper. It takes about 5 seconds when launching into fullscreen before I get to see the main menu, and during those 5 seconds the screen is entirely black, then when I launch a game (which has a different resolution than the shell menus) the same thing happens, also every time I go from a game into the escape menu, and back. I'm assuming this has something to do with refresh rates, but I'm not sure, when I change resolutions in Windows display settings the change is instantaneous and without a black screen, so I know it's not strictly necessary to have any delay or black screens.

However, if I force scaling (aspect ratio or integer) on the GPU in the Nvidia control panel the mode changes only take about 1 second (there is a very short flicker where you see the taskbar appear and disappear, but I'll take that over 5 seconds of black screen and missing the loading screen when launching a game). The Magpie tool ( https://github.com/Blinue/Magpie ) can also scale the game with very quick mode changes, although it needs to be actively told to scale every time a new menu page is opened (for example when going from the main menu to the options menu).

I was hoping you could add scaling (aspect ratio would be best, but integer scaling is already better than nothing, especially if we get to choose the integer, and if we can also choose half integers) for DX9 games. I'd rather have it be done by dxwrapper than by the Nvidia control panel, also because Nvidia messes up the color saturation (Magpie doesn't).

I'm able to compile dxwrapper and now sort of know where to make changes to fullscreen settings but I'm in over my head when it comes to scaling modes.

P.S. Magpie is open source with the code available on github for inspiration, I think it uses a change of the viewport size to achieve the scaling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions