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.15k stars 82 forks source link

D3D8 game doesn't stretch from 4:3 to 16:9 #168

Closed weewoo-meow closed 1 year ago

weewoo-meow commented 1 year ago

Hello

My game called Torrente On-Line (it is in Spanish, won't blame anyone for not knowing it) doesn't stretch even if configured. It uses D3D8 according to Ghidra.

My config:

;; Config file for DirectX DLL Wrapper
;;
;; For details, see: https://github.com/elishacloud/dxwrapper/wiki/Configuration
;;
[General]
RealDllPath                = AUTO
WrapperMode                = AUTO
LoadCustomDllPath          = 
ExcludeProcess             = 
IncludeProcess             = 
RunProcess                 = 
WaitForProcess             = 0
DisableLogging             = 0

[Plugins]
LoadPlugins                = 0
LoadFromScriptsOnly        = 0

[Compatibility]
Dd7to9                     = 0
D3d8to9                    = 1
DDrawCompat                = 0
Dinputto8                  = 0
DisableGameUX              = 0
DxWnd                      = 0
EnableDdrawWrapper         = 0
EnableD3d9Wrapper          = 1
EnableDinput8Wrapper       = 1
EnableDsoundWrapper        = 1
HandleExceptions           = 0
SingleProcAffinity         = 0

[DDrawCompat]
DDrawCompat20              = 0
DDrawCompat21              = 0
DDrawCompat31              = 0
DDrawCompatDisableGDIHook  = 0
DDrawCompatNoProcAffinity  = 0

[ddraw]
ConvertToDirectDraw7       = 0
ConvertToDirect3D7         = 0
DdrawFixByteAlignment      = 0
DdrawOverrideBitMode       = 0

[Dd7to9]
AutoFrameSkip              = 0
DdrawEmulateSurface        = 0
DdrawRemoveScanlines       = 0
DdrawReadFromGDI           = 0
DdrawWriteToGDI            = 0
DdrawLimitDisplayModeCount = 0
DdrawUseNativeResolution   = 0
DdrawClippedWidth          = 0
DdrawClippedHeight         = 0
DdrawOverrideWidth         = 0
DdrawOverrideHeight        = 0
DdrawOverrideRefreshRate   = 0
DdrawIntegerScalingClamp   = 0
DdrawMaintainAspectRatio   = 0

[d3d9]
AnisotropicFiltering       = 0
AntiAliasing               = 0
EnableVSync                = 0
EnableWindowMode           = 0
ForceMixedVertexProcessing = 0
ForceSystemMemVertexCache  = 0
ForceVsyncMode             = 0
FullscreenWindowMode       = 1
WindowModeBorder           = 0

[FullScreen]
FullScreen                 = 1
ForceWindowResize          = 1
WaitForWindowChanges       = 1

[dinput8]
FilterNonActiveInput       = 0

[dsound]
Num2DBuffers               = 0
Num3DBuffers               = 0
ForceCertification         = 0
ForceExclusiveMode         = 0
ForceSoftwareMixing        = 0
ForceHardwareMixing        = 0
ForceHQ3DSoftMixing        = 0
ForceNonStaticBuffers      = 0
ForceVoiceManagement       = 0
ForcePrimaryBufferFormat   = 0
PrimaryBufferBits          = 16
PrimaryBufferSamples       = 44100
PrimaryBufferChannels      = 2
AudioClipDetection         = 0

My folder structure

24.01.2023  20:40    <DIR>          .
04.08.2022  03:55    <DIR>          ..
04.08.2022  03:55    <DIR>          comun
24.01.2023  19:12           120’832 d3d8.dll
24.01.2023  20:22           413’184 d3d9.dll
03.03.2004  17:41       197’432’132 demo.vpk
24.01.2023  19:02           413’184 dinput8.dll
24.01.2023  19:03           413’184 dsound.dll
24.01.2023  20:40             6’799 dxwrapper-torrente.log
24.01.2023  19:05         1’957’888 dxwrapper.dll
24.01.2023  20:28             2’575 dxwrapper.ini
24.01.2023  20:40                88 mplayer.cfg
04.08.2022  03:55    <DIR>          musica
19.12.2003  17:50               815 scenes.txt
03.03.2004  16:13             4’590 spanish.txt
10.03.2004  15:29            53’248 torrente.exe
04.08.2022  03:55            10’073 unins000.dat
27.06.2004  01:00            78’440 unins000.exe
04.08.2022  03:55    <DIR>          videos
04.08.2022  03:55                52 VirtualToys.url
10.03.2004  15:22           823’296 vtKernel.dll
24.01.2023  19:03           413’184 winmm.dll

All .dll from used are from this project or custom game libraries unless d3d8.dll which I sourced it from https://github.com/crosire/d3d8to9

And finally the log

18588 20:44:07.243 Starting DxWrapper v1.0.6542.21
18588 20:44:07.243 Running from: C:\Program Files (x86)\Virtual Toys\Torrente On-Line\dxwrapper.dll
18588 20:44:07.243 Reading config file: C:\Program Files (x86)\Virtual Toys\Torrente On-Line\dxwrapper.ini
18588 20:44:07.243 MSI MS-7971 1.0 (Desktop)
18588 20:44:07.243 MSI Z170-A PRO (MS-7971) 1.0 (Desktop)
18588 20:44:07.243 NVIDIA GeForce GTX 1060 6GB
18588 20:44:07.244 Windows 10 Enterprise 64-bit (10.0.22000)
18588 20:44:07.244 "torrente.exe" (PID:20164)
18588 20:44:07.249 Environment variable __COMPAT_LAYER = "DWM8And16BitMitigation"
18588 20:44:07.249 Disabling High DPI Scaling...
18588 20:44:07.249 Loaded library: user32.dll
18588 20:44:07.249 Loaded library: shcore.dll
18588 20:44:07.250 Loading 'dsound.dll'...
18588 20:44:07.251 Hooking dsound.dll APIs...
18588 20:44:07.251 Enabling dinput8 wrapper
18588 20:44:07.251 Loading 'dinput8.dll'...
18588 20:44:07.252 Hooking dinput8.dll APIs...
18588 20:44:07.252 Enabling d3d8to9 wrapper
18588 20:44:07.252 Loading 'd3d8.dll'...
18588 20:44:07.256 Loaded library: C:\Windows\system32\d3d8.dll
18588 20:44:07.256 Hooking d3d8.dll APIs...
18588 20:44:07.256 Enabling d3d9 wrapper
18588 20:44:07.256 Loading 'd3d9.dll'...
18588 20:44:07.256 Hooking d3d9.dll APIs...
18588 20:44:07.256 DxWrapper loaded!
2220 20:44:07.257 Starting fullscreen thread...
18588 20:44:07.278 d9_Direct3DCreate9
18588 20:44:07.278 Redirecting 'Direct3DCreate9' ...
18588 20:44:07.337 Creating interface m_IDirect3D9Ex::m_IDirect3D9Ex (005A4338)
18588 20:44:07.732 Utils::SetWndProcFilter Setting new WndProc WND(00710398,Render...,{0,0,1024,768})
18588 20:44:08.298 Creating interface m_IDirect3DDevice9Ex::InitDirect3DDevice (005A5638)
18588 20:44:08.299 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (03963BA0)
18588 20:44:08.299 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (039639C0)
18588 20:44:08.299 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (0392E5B0)
18588 20:44:08.301 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (0392E868)
18588 20:44:08.301 Creating interface m_IDirect3DStateBlock9::m_IDirect3DStateBlock9 (00614E50)
18588 20:44:08.301 Creating interface m_IDirect3DStateBlock9::m_IDirect3DStateBlock9 (00614E98)
18588 20:44:08.303 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (03963660)
18588 20:44:08.305 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (0395D608)
18588 20:44:08.305 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (03936348)
18588 20:44:08.313 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (09D5E480)
18588 20:44:08.313 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (09D5E2A0)
18588 20:44:08.314 di8_DirectInput8Create
18588 20:44:08.314 Redirecting 'DirectInput8Create' ...
18588 20:44:08.327 Creating interface m_IDirectInput8A::m_IDirectInput8A (09D96EA8)
18588 20:44:08.365 Creating interface m_IDirectInputDevice8A::m_IDirectInputDevice8A (09D96F98)
18588 20:44:08.365 Creating interface m_IDirectInputDevice8A::m_IDirectInputDevice8A (09D96EC0)
18588 20:44:08.371 ds_DirectSoundCreate8
18588 20:44:08.371 Redirecting 'DirectSoundCreate8' ...
18588 20:44:08.391 Creating interface m_IDirectSound8::m_IDirectSound8 (09D971D8)
18588 20:44:08.394 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (09DB0218)
21468 20:44:08.738 Redirecting 'Direct3DCreate9' ...
21468 20:44:08.743 Creating interface m_IDirect3D9Ex::m_IDirect3D9Ex (09E09B38)
21468 20:44:08.744 m_IDirect3D9Ex::~m_IDirect3D9Ex (09E09B38) deleting interface!
18588 20:44:08.816 ds_DirectSoundCreate
18588 20:44:08.816 Redirecting 'DirectSoundCreate' ...
18588 20:44:08.820 Creating interface m_IDirectSound8::m_IDirectSound8 (09E09B38)
18588 20:44:08.820 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (0D37FCC8)
18588 20:44:08.821 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D37FCC8) deleting interface!
18588 20:44:08.824 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (0D37FDE8)
18588 20:44:08.825 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D37FDE8) deleting interface!
18588 20:44:08.825 ds_DllGetClassObject
18588 20:44:08.825 Creating interface m_IKsPropertySet::m_IKsPropertySet (0D381568)
18588 20:44:08.825 m_IKsPropertySet::~m_IKsPropertySet (0D381568) deleting interface!
18588 20:44:08.825 m_IDirectSound8::~m_IDirectSound8 (09E09B38) deleting interface!
18588 20:44:08.982 Redirecting 'DirectSoundCreate' ...
18588 20:44:08.986 Creating interface m_IDirectSound8::m_IDirectSound8 (09FD69C8)
18588 20:44:18.878 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D37FDE8) deleting interface!
18588 20:44:18.878 m_IDirectSound8::~m_IDirectSound8 (09FD69C8) deleting interface!
18588 20:44:18.938 Creating interface m_IDirect3DIndexBuffer9::m_IDirect3DIndexBuffer9 (0D382728)
18588 20:44:27.412 m_IDirect3DDevice9Ex::~m_IDirect3DDevice9Ex (005A5638) deleting interface!
18588 20:44:27.412 m_IDirect3DIndexBuffer9::~m_IDirect3DIndexBuffer9 (0D382728) deleting interface!
18588 20:44:27.412 m_IDirect3DStateBlock9::~m_IDirect3DStateBlock9 (00614E50) deleting interface!
18588 20:44:27.412 m_IDirect3DStateBlock9::~m_IDirect3DStateBlock9 (00614E98) deleting interface!
18588 20:44:27.412 m_IDirect3DSurface9::~m_IDirect3DSurface9 (03963660) deleting interface!
18588 20:44:27.412 m_IDirect3DSurface9::~m_IDirect3DSurface9 (0D35D910) deleting interface!
18588 20:44:27.412 m_IDirect3DSurface9::~m_IDirect3DSurface9 (09FAB058) deleting interface!
18588 20:44:27.412 m_IDirect3DTexture9::~m_IDirect3DTexture9 (03929310) deleting interface!
18588 20:44:27.412 m_IDirect3DTexture9::~m_IDirect3DTexture9 (09D3F020) deleting interface!
18588 20:44:27.412 m_IDirect3DTexture9::~m_IDirect3DTexture9 (0392E5B0) deleting interface!
18588 20:44:27.412 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (09D5E2A0) deleting interface!
18588 20:44:27.412 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (0392E868) deleting interface!
18588 20:44:27.412 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (09D5E480) deleting interface!
18588 20:44:27.414 m_IDirect3D9Ex::~m_IDirect3D9Ex (005A4338) deleting interface!
18588 20:44:27.414 m_IDirectInputDevice8A::~m_IDirectInputDevice8A (09D96F98) deleting interface!
18588 20:44:27.416 m_IDirectInputDevice8A::~m_IDirectInputDevice8A (09D96EC0) deleting interface!
18588 20:44:27.416 m_IDirectInput8A::~m_IDirectInput8A (09D96EA8) deleting interface!
18588 20:44:28.419 m_IDirectSound8::~m_IDirectSound8 (09D971D8) deleting interface!
18588 20:44:28.422 Quiting DxWrapper
18588 20:44:28.422 Unloading libraries...
18588 20:44:28.422 Reseting screen resolution
18588 20:44:28.772 Reseting font smoothing
18588 20:44:28.791 DxWrapper terminated!

Can someone point out if I misconfigured something?

elishacloud commented 1 year ago

All .dll from used are from this project or custom game libraries unless d3d8.dll which I sourced it from https://github.com/crosire/d3d8to9

You don't actually need that library as dxwrapper includes that already.

It uses D3D8 according to Ghidra.

Actually it appears that it is using D3D9, based on the logs. I suspect that is because you are using https://github.com/crosire/d3d8to9 to covert it to D3D9. Again, you can do that with dxwrapper instead.

Can someone point out if I misconfigured something?

Well, there are a lot of settings enabled that probably don't need to be. But unfortunately there is no option in dxwrapper to force D3D8 games into 16:9.

weewoo-meow commented 1 year ago

You don't actually need that library as dxwrapper includes that already.

Ok, I changed the file to d3d8.dll from your repo's release and put it in the game folder.

New log:

18388 23:53:14.109 Starting DxWrapper v1.0.6542.21
18388 23:53:14.109 Running from: C:\Program Files (x86)\Virtual Toys\Torrente On-Line\dxwrapper.dll
18388 23:53:14.109 Reading config file: C:\Program Files (x86)\Virtual Toys\Torrente On-Line\dxwrapper.ini
18388 23:53:14.109 MSI MS-7971 1.0 (Desktop)
18388 23:53:14.109 MSI Z170-A PRO (MS-7971) 1.0 (Desktop)
18388 23:53:14.109 NVIDIA GeForce GTX 1060 6GB
18388 23:53:14.109 Windows 10 Enterprise 64-bit (10.0.22000)
18388 23:53:14.109 "torrente.exe" (PID:6072)
18388 23:53:14.109 Environment variable __COMPAT_LAYER = "DWM8And16BitMitigation"
18388 23:53:14.109 Disabling High DPI Scaling...
18388 23:53:14.109 Loaded library: user32.dll
18388 23:53:14.109 Loaded library: shcore.dll
18388 23:53:14.109 Loading 'dsound.dll'...
18388 23:53:14.124 Hooking dsound.dll APIs...
18388 23:53:14.124 Enabling dinput8 wrapper
18388 23:53:14.124 Loading 'dinput8.dll'...
18388 23:53:14.124 Hooking dinput8.dll APIs...
18388 23:53:14.124 Enabling d3d8to9 wrapper
18388 23:53:14.124 Loading 'd3d8.dll'...
18388 23:53:14.124 Hooking d3d8.dll APIs...
18388 23:53:14.124 Enabling d3d9 wrapper
18388 23:53:14.124 Loading 'd3d9.dll'...
18388 23:53:14.124 Hooking d3d9.dll APIs...
18388 23:53:14.124 DxWrapper loaded!
7376 23:53:14.124 Starting fullscreen thread...
18388 23:53:14.150 d8_Direct3DCreate8
18388 23:53:14.150 Starting D3d8to9 v1.11.0.0
18388 23:53:14.150 Redirecting 'Direct3DCreate8' to --> 'Direct3DCreate9' (220)
18388 23:53:14.150 d9_Direct3DCreate9
18388 23:53:14.150 Redirecting 'Direct3DCreate9' ...
18388 23:53:14.184 Creating interface m_IDirect3D9Ex::m_IDirect3D9Ex (006A4BD8)
18388 23:53:14.184 Loading d3dx9_xx.dll
18388 23:53:14.190 Loaded library: d3dx9_43.dll
18388 23:53:14.560 Utils::SetWndProcFilter Setting new WndProc WND(00370752,Render...,{0,0,1024,768})
18388 23:53:15.087 Creating interface m_IDirect3DDevice9Ex::InitDirect3DDevice (00639970)
18388 23:53:15.087 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (039218B0)
18388 23:53:15.087 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (03921880)
18388 23:53:15.087 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (039324B0)
18388 23:53:15.095 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (03932558)
18388 23:53:15.095 Creating interface m_IDirect3DStateBlock9::m_IDirect3DStateBlock9 (03932468)
18388 23:53:15.095 Creating interface m_IDirect3DStateBlock9::m_IDirect3DStateBlock9 (03932438)
18388 23:53:15.096 Creating interface m_IDirect3DSurface9::m_IDirect3DSurface9 (03921B20)
18388 23:53:15.096 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (03932510)
18388 23:53:15.096 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (039325D0)
18388 23:53:15.102 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (00626108)
18388 23:53:15.103 Creating interface m_IDirect3DVertexBuffer9::m_IDirect3DVertexBuffer9 (09D868F8)
18388 23:53:15.103 di8_DirectInput8Create
18388 23:53:15.103 Redirecting 'DirectInput8Create' ...
18388 23:53:15.135 Creating interface m_IDirectInput8A::m_IDirectInput8A (09D86AD8)
18388 23:53:15.158 Creating interface m_IDirectInputDevice8A::m_IDirectInputDevice8A (09D86BB0)
18388 23:53:15.158 Creating interface m_IDirectInputDevice8A::m_IDirectInputDevice8A (09D86C40)
18388 23:53:15.182 ds_DirectSoundCreate8
18388 23:53:15.182 Redirecting 'DirectSoundCreate8' ...
18388 23:53:15.198 Creating interface m_IDirectSound8::m_IDirectSound8 (09D870D8)
18388 23:53:15.198 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (09DB8BB8)
3268 23:53:15.537 Redirecting 'Direct3DCreate9' ...
3268 23:53:15.550 Creating interface m_IDirect3D9Ex::m_IDirect3D9Ex (09DD64E8)
3268 23:53:15.551 m_IDirect3D9Ex::~m_IDirect3D9Ex (09DD64E8) deleting interface!
18388 23:53:15.619 ds_DirectSoundCreate
18388 23:53:15.619 Redirecting 'DirectSoundCreate' ...
18388 23:53:15.623 Creating interface m_IDirectSound8::m_IDirectSound8 (09DD4C40)
18388 23:53:15.623 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (0D38D5B8)
18388 23:53:15.623 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D38D5B8) deleting interface!
18388 23:53:15.627 Creating interface m_IDirectSoundBuffer8::m_IDirectSoundBuffer8 (0D38D018)
18388 23:53:15.628 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D38D018) deleting interface!
18388 23:53:15.628 ds_DllGetClassObject
18388 23:53:15.628 Creating interface m_IKsPropertySet::m_IKsPropertySet (09DD50A8)
18388 23:53:15.628 m_IKsPropertySet::~m_IKsPropertySet (09DD50A8) deleting interface!
18388 23:53:15.628 m_IDirectSound8::~m_IDirectSound8 (09DD4C40) deleting interface!
18388 23:53:15.741 Redirecting 'DirectSoundCreate' ...
18388 23:53:15.744 Creating interface m_IDirectSound8::m_IDirectSound8 (09DD5CD8)
18388 23:53:25.637 m_IDirectSoundBuffer8::~m_IDirectSoundBuffer8 (0D38D600) deleting interface!
18388 23:53:25.637 m_IDirectSound8::~m_IDirectSound8 (09DD5CD8) deleting interface!
18388 23:53:25.814 Creating interface m_IDirect3DIndexBuffer9::m_IDirect3DIndexBuffer9 (0D647CC0)
18388 23:53:27.146 m_IDirect3DDevice9Ex::~m_IDirect3DDevice9Ex (00639970) deleting interface!
18388 23:53:27.146 m_IDirect3DIndexBuffer9::~m_IDirect3DIndexBuffer9 (0D647CC0) deleting interface!
18388 23:53:27.146 m_IDirect3DStateBlock9::~m_IDirect3DStateBlock9 (03932468) deleting interface!
18388 23:53:27.146 m_IDirect3DStateBlock9::~m_IDirect3DStateBlock9 (03932438) deleting interface!
18388 23:53:27.146 m_IDirect3DSurface9::~m_IDirect3DSurface9 (09DD74A8) deleting interface!
18388 23:53:27.146 m_IDirect3DSurface9::~m_IDirect3DSurface9 (039218B0) deleting interface!
18388 23:53:27.146 m_IDirect3DSurface9::~m_IDirect3DSurface9 (09DD7748) deleting interface!
18388 23:53:27.146 m_IDirect3DTexture9::~m_IDirect3DTexture9 (03932918) deleting interface!
18388 23:53:27.146 m_IDirect3DTexture9::~m_IDirect3DTexture9 (03932720) deleting interface!
18388 23:53:27.146 m_IDirect3DTexture9::~m_IDirect3DTexture9 (0D648B90) deleting interface!
18388 23:53:27.146 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (03932558) deleting interface!
18388 23:53:27.146 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (09D868F8) deleting interface!
18388 23:53:27.146 m_IDirect3DVertexBuffer9::~m_IDirect3DVertexBuffer9 (00626108) deleting interface!
18388 23:53:27.148 m_IDirect3D9Ex::~m_IDirect3D9Ex (006A4BD8) deleting interface!
18388 23:53:27.148 m_IDirectInputDevice8A::~m_IDirectInputDevice8A (09D86BB0) deleting interface!
18388 23:53:27.148 m_IDirectInputDevice8A::~m_IDirectInputDevice8A (09D86C40) deleting interface!
18388 23:53:27.148 m_IDirectInput8A::~m_IDirectInput8A (09D86AD8) deleting interface!
18388 23:53:28.169 m_IDirectSound8::~m_IDirectSound8 (09D870D8) deleting interface!
18388 23:53:28.173 Quiting DxWrapper
18388 23:53:28.173 Unloading libraries...
18388 23:53:28.173 Reseting screen resolution
18388 23:53:28.506 Reseting font smoothing
18388 23:53:28.519 DxWrapper terminated!

Is it possible to stretch to 16:9 by using D3D8 to D3D9 properly?

elishacloud commented 1 year ago

Ok, I changed the file to d3d8.dll from your repo's release and put it in the game folder.

Ok, the logs look good.

Is it possible to stretch to 16:9 by using D3D8 to D3D9 properly?

No, not with dxwrapper. Dxwrapper can only stretch older DirectDraw games. However, you may be able to stretch the game using your monitor/TV controls to switch to 16:9. Depending on your monitor settings.

Another option, if you have Nvidia you may be able to do that through the Nvidia Control Panel. I can do this via Nvidia on my desktop.

elishacloud commented 1 year ago

If you have Nvidia, check out this page:

https://www.nvidia.com/content/Control-Panel-Help/vLatest/en-us/mergedProjects/nvdsp/To_scale_my_desktop_-_Windows_Vista_and_later.htm

mirh commented 1 year ago

https://www.pcgamingwiki.com/wiki/Glossary:Scaling#GPU.2FDisplay_scaling When the game uses d3d9, you could also try to force things with specialk

weewoo-meow commented 1 year ago

I will take a look, thank you so much.