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

Question - Revenant #174

Closed SilentMRG closed 1 month ago

SilentMRG commented 1 year ago

Hello...

Does anyone know of a suitable setup for this game? I know it runs in DirectX 6, but nothing I've done has made it run in DirectX 7 or 9. The only thing I want is to run this game in full screen. The game opens in full screen, however, the screen is tiny. =(

Thanks in advance!

mirh commented 1 year ago

https://sourceforge.net/p/dxwnd/discussion/general/thread/a24f3803/

SilentMRG commented 1 year ago

Yes, I know DxWnd. I marked it with DirectX 1 - 6 and tried up to DX 7. I set it to run in a window at 1366x768 resolution and then tried to run it in a window at 800x600 resolution, and in both cases there was no effect. This game has a very strict resolution, and its launcher doesn't save anything. A good game spoiled by shitty coding.

Thanks for the information! Anyway, back to square one. =/

elishacloud commented 1 year ago

Have you tried using the Fullscreen = 1 option with dxwrapper? This will force any windows to go full screen.

SilentMRG commented 1 year ago

Yep, I did that too and even ticked it to force fullscreen mode. I tried with the ddraw, d3d8, d3d9 and d2d1 dlls, and I didn't get any results.

I even tried the GOG wrapper that came with the Blood Omen game and managed to get the game to start full screen at my Laptop's maximum resolution, however the game crashes with an APPCRASH error on the loading screen after selecting a new game. GOG could make a wrapper for Revenant like they did for Blood Omen.

I remember you made a special configuration for Blood Omen 2. It would be a good idea for you to do the same for Revenant. Just a suggestion. =)

elishacloud commented 1 year ago

What happens if you change the resolution of Windows to match the resolution of the game before starting the game?

In other words, if you are playing the game in 1366x768 then you change Windows to that resolution prior to starting the game.

SilentMRG commented 1 year ago

Ah yes, I know about this alternative, but... It's kind of boring... Having to keep changing the windows resolution every time I start the game is annoying.

Anyway, thanks for the suggestions!

elishacloud commented 1 year ago

So all you need is a wrapper that changes the resolution on startup and resets it afterwards. That is all that a full screen application does.

Can you run the game using this wrapper: dxwrapper.zip

Unzip this into the game's directory and then rename the stub.dll file to the correct wrapper name, usually ddraw.dll or dsound.dll.

Once you run the game with this wrapper please send me the log file it creates.

SilentMRG commented 1 year ago

The first file was named ddraw (without messing with the .ini file):

6116 00:13:39.812 Starting DxWrapper v1.0.6607.21 6116 00:13:39.812 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 6116 00:13:39.859 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 6116 00:13:39.859 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 6116 00:13:39.859 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 6116 00:13:39.859 Intel(R) HD Graphics 6116 00:13:39.906 Windows 7 Ultimate 64-bit (6.1.7601) 6116 00:13:39.906 Revenant.exe (PID:8136) 6116 00:13:39.968 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 6116 00:13:39.968 Disabling High DPI Scaling... 6116 00:13:39.968 Loaded library: user32.dll 6116 00:13:39.968 Loading 'ddraw.dll'... 6116 00:13:39.968 Hooking ddraw.dll APIs... 6116 00:13:39.968 Enabling ddraw wrapper 6116 00:13:39.968 DxWrapper loaded! 6116 00:13:41.154 dd_DirectDrawEnumerateA 6116 00:13:41.185 dd_DirectDrawCreate 6116 00:13:41.185 Redirecting 'DirectDrawCreate' ... 6116 00:13:41.669 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B2800) v1 6116 00:13:41.669 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B2920) v4 6116 00:13:43.213 m_IDirectDrawX::~m_IDirectDrawX (006B2800) deleting interface! 6116 00:13:43.213 m_IDirectDrawX::~m_IDirectDrawX (006B2920) deleting interface! 6116 00:13:43.213 Redirecting 'DirectDrawCreate' ... 6116 00:13:43.260 Creating interface m_IDirectDrawX::m_IDirectDrawX (00740A88) v1 6116 00:13:44.336 Creating interface m_IDirect3DX::m_IDirect3DX (006CCA0C) v3 6116 00:13:44.336 m_IDirect3DX::ResolutionHack Found loaded dll: 'd3dim.dll' 6116 00:13:44.445 m_IDirectDrawX::SetDisplayMode (007403B4) 640x480 16 00x0 6116 00:13:45.912 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (007499A4) v4 6116 00:13:45.959 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074CE80) v4 6116 00:13:45.974 Creating interface m_IDirectDrawClipper::m_IDirectDrawClipper (0074D1BC) 6116 00:13:45.974 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074D410) v4 6116 00:13:46.005 Creating interface m_IDirect3DDeviceX::m_IDirect3DDeviceX (007686FC) v3 6116 00:13:46.021 Creating interface m_IDirectDrawGammaControl::m_IDirectDrawGammaControl (0076881C) 6116 00:13:46.083 Creating interface m_IDirect3DViewportX::m_IDirect3DViewportX (00768EEC) v3 6116 00:13:46.083 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (00769044) v3 6116 00:13:46.099 Creating interface m_IDirect3DLight::m_IDirect3DLight (0076932C) 6116 00:14:06.049 m_IDirect3DLight::~m_IDirect3DLight (0076932C) deleting interface! 6116 00:14:06.049 Creating interface m_IDirect3DLight::m_IDirect3DLight (006CA654) 6116 00:14:09.714 m_IDirect3DLight::~m_IDirect3DLight (006CA654) deleting interface! 6116 00:14:09.714 Creating interface m_IDirect3DLight::m_IDirect3DLight (006CA654) 6116 00:14:09.714 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (07EAFA0C) deleting interface! 6116 00:14:09.844 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (006CE0A0) v2 6116 00:14:09.844 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (00743B50) v2 6116 00:14:09.844 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (07EB1518) v2 6116 00:14:09.954 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (006C6C08) deleting interface! 6116 00:14:09.954 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (0C64FCB0) deleting interface! 6116 00:14:09.959 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (006C6CA0) v3 6116 00:14:09.959 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (0C64FCB0) v3 6116 00:14:10.269 m_IDirect3DLight::~m_IDirect3DLight (006CA654) deleting interface! 6116 00:14:18.004 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0C28B19C) deleting interface! 6116 00:14:18.004 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0AEFD1CC) deleting interface! 6116 00:14:18.004 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0AEFD3D0) deleting interface! 6116 00:14:19.574 m_IDirect3DViewportX::~m_IDirect3DViewportX (00768EEC) deleting interface! 6116 00:14:19.574 m_IDirectDrawGammaControl::~m_IDirectDrawGammaControl (0076881C) deleting interface! 6116 00:14:19.579 m_IDirect3DDeviceX::~m_IDirect3DDeviceX (007686FC) deleting interface! 6116 00:14:21.019 m_IDirectDrawX::~m_IDirectDrawX (00740A88) deleting interface! 6116 00:14:21.160 Quiting DxWrapper 6116 00:14:21.160 Unloading libraries... 6116 00:14:21.160 Reseting screen resolution 6116 00:14:21.300 Reseting font smoothing 6116 00:14:21.363 DxWrapper terminated!

This is the log when I activated fullscreen mode:

5100 00:21:59.402 Starting DxWrapper v1.0.6607.21 5100 00:21:59.402 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 5100 00:21:59.402 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 5100 00:21:59.402 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5100 00:21:59.402 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5100 00:21:59.402 Intel(R) HD Graphics 5100 00:21:59.402 Windows 7 Ultimate 64-bit (6.1.7601) 5100 00:21:59.402 Revenant.exe (PID:4228) 5100 00:21:59.402 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 5100 00:21:59.402 Disabling High DPI Scaling... 5100 00:21:59.402 Loaded library: user32.dll 5100 00:21:59.402 Loading 'ddraw.dll'... 5100 00:21:59.402 Hooking ddraw.dll APIs... 5100 00:21:59.402 Enabling ddraw wrapper 5100 00:21:59.402 DxWrapper loaded! 8064 00:21:59.777 Starting fullscreen thread... 5100 00:21:59.964 dd_DirectDrawEnumerateA 5100 00:21:59.964 dd_DirectDrawCreate 5100 00:21:59.964 Redirecting 'DirectDrawCreate' ... 5100 00:22:00.026 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B346C) v1 5100 00:22:00.026 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B358C) v4 5100 00:22:00.588 m_IDirectDrawX::~m_IDirectDrawX (006B346C) deleting interface! 5100 00:22:00.588 m_IDirectDrawX::~m_IDirectDrawX (006B358C) deleting interface! 5100 00:22:00.603 Redirecting 'DirectDrawCreate' ... 5100 00:22:00.635 Creating interface m_IDirectDrawX::m_IDirectDrawX (07F4FF00) v1 5100 00:22:00.666 Creating interface m_IDirect3DX::m_IDirect3DX (006CD5C4) v3 5100 00:22:00.666 m_IDirect3DX::ResolutionHack Found loaded dll: 'd3dim.dll' 5100 00:22:00.822 m_IDirectDrawX::SetDisplayMode (07F4FF74) 640x480 16 00x0 5100 00:22:02.163 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (006B32A4) v4 5100 00:22:02.163 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074CFA4) v4 5100 00:22:02.163 Creating interface m_IDirectDrawClipper::m_IDirectDrawClipper (0074D200) 5100 00:22:02.163 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074D454) v4 5100 00:22:02.163 Creating interface m_IDirect3DDeviceX::m_IDirect3DDeviceX (00768740) v3 5100 00:22:02.179 Creating interface m_IDirectDrawGammaControl::m_IDirectDrawGammaControl (00768860) 5100 00:22:02.179 Creating interface m_IDirect3DViewportX::m_IDirect3DViewportX (00768F30) v3 5100 00:22:02.179 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (00769088) v3 5100 00:22:02.179 Creating interface m_IDirect3DLight::m_IDirect3DLight (00769370) 5100 00:22:04.142 m_IDirect3DLight::~m_IDirect3DLight (00769370) deleting interface! 5100 00:22:04.142 Creating interface m_IDirect3DLight::m_IDirect3DLight (006BE538) 5100 00:22:05.982 m_IDirect3DLight::~m_IDirect3DLight (006BE538) deleting interface! 5100 00:22:05.982 Creating interface m_IDirect3DLight::m_IDirect3DLight (006BE538) 5100 00:22:05.982 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (07CC7D60) deleting interface! 5100 00:22:06.062 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (07ED1564) v2 5100 00:22:06.062 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (07CC8900) v2 5100 00:22:06.062 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (07ED18E0) v2 5100 00:22:06.087 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (0AEBB7D4) deleting interface! 5100 00:22:06.092 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (0C74FCE0) deleting interface! 5100 00:22:06.092 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (0AEBB86C) v3 5100 00:22:06.092 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (0C74FCE0) v3 5100 00:22:06.142 m_IDirect3DLight::~m_IDirect3DLight (006BE538) deleting interface! 5100 00:22:11.367 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0C38C544) deleting interface! 5100 00:22:11.367 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0AEBE454) deleting interface! 5100 00:22:11.367 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0AEBE658) deleting interface! 5100 00:22:11.797 m_IDirect3DViewportX::~m_IDirect3DViewportX (00768F30) deleting interface! 5100 00:22:11.807 m_IDirectDrawGammaControl::~m_IDirectDrawGammaControl (00768860) deleting interface! 5100 00:22:11.807 m_IDirect3DDeviceX::~m_IDirect3DDeviceX (00768740) deleting interface! 5100 00:22:13.227 m_IDirectDrawX::~m_IDirectDrawX (07F4FF00) deleting interface! 5100 00:22:13.321 Quiting DxWrapper 5100 00:22:13.321 Unloading libraries... 5100 00:22:13.321 Reseting screen resolution 5100 00:22:13.445 Reseting font smoothing 5100 00:22:13.445 DxWrapper terminated!

The second file was named for dsound (without messing with the .ini file):

5988 00:17:11.293 Starting DxWrapper v1.0.6607.21 5988 00:17:11.318 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 5988 00:17:11.318 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 5988 00:17:11.318 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5988 00:17:11.318 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5988 00:17:11.318 Intel(R) HD Graphics 5988 00:17:11.323 Windows 7 Ultimate 64-bit (6.1.7601) 5988 00:17:11.323 Revenant.exe (PID:5488) 5988 00:17:11.328 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 5988 00:17:11.328 Disabling High DPI Scaling... 5988 00:17:11.328 Loaded library: user32.dll 5988 00:17:11.328 Loading 'ddraw.dll'... 5988 00:17:11.328 Loaded library: C:\Windows\system32\ddraw.dll 5988 00:17:11.328 Hooking ddraw.dll APIs... 5988 00:17:11.328 Enabling ddraw wrapper 5988 00:17:11.328 DxWrapper loaded! 5988 00:17:23.023 Quiting DxWrapper 5988 00:17:23.023 Unloading libraries... 5988 00:17:23.023 Reseting screen resolution 5988 00:17:23.143 Reseting font smoothing 5988 00:17:23.143 DxWrapper terminated!

This is the log when I activated fullscreen mode:

7540 00:19:30.458 Starting DxWrapper v1.0.6607.21 7540 00:19:30.458 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 7540 00:19:30.513 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 7540 00:19:30.513 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 7540 00:19:30.513 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 7540 00:19:30.513 Intel(R) HD Graphics 7540 00:19:30.518 Windows 7 Ultimate 64-bit (6.1.7601) 7540 00:19:30.518 Revenant.exe (PID:5828) 7540 00:19:30.528 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 7540 00:19:30.528 Disabling High DPI Scaling... 7540 00:19:30.528 Loaded library: user32.dll 7540 00:19:30.528 Loading 'ddraw.dll'... 7540 00:19:30.528 Loaded library: C:\Windows\system32\ddraw.dll 7540 00:19:30.528 Hooking ddraw.dll APIs... 7540 00:19:30.528 Enabling ddraw wrapper 7540 00:19:30.528 DxWrapper loaded! 6052 00:19:30.548 Starting fullscreen thread... 7540 00:19:43.483 Quiting DxWrapper 7540 00:19:43.483 Unloading libraries... 7540 00:19:43.483 Reseting screen resolution 7540 00:19:43.593 Reseting font smoothing 7540 00:19:43.593 DxWrapper terminated!

The GOG version comes with some shortcut options enabled, for example: compatibility mode with Windows 95 and High DPI and etc... If I disable these options the game simply crashes after the first loading screen.

Ah, yes, and DxWrapper works like a charm with other games I have here. Problem is in the Revenant game.

SilentMRG commented 1 year ago

I want to know why some sentences were crossed out after I posted the log. ¬¬

elishacloud commented 1 year ago

Ok, try this one: dxwrapper.zip

I made some changes to how EnableDdrawWrapper and Fullscreen works together.

SilentMRG commented 1 year ago

Can I leave the dll file named for ddraw or I must put another name? Tomorrow I'll post the results... Now I'm going to sleep. XD

elishacloud commented 1 year ago

You can just extract the dxwrapper.dll and dxwraper.ini and replace the existing files. Then keep the stub.dll whatever name you renamed it to (ddraw.dll).

Edit: if you already have some other wrapper called ddraw.dll than you can rename the stub.dll to be something else, like dsound.dll or winmm.dll.

SilentMRG commented 1 year ago

Man, unfortunately it was not in full screen 16:9. I still have a full screen with a small image in the middle, probably at 640x480 resolution.

In case it helps, here's the Revenant log:

3364 16:11:53.914 Starting DxWrapper v1.0.6607.21 3364 16:11:53.914 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 3364 16:11:53.914 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 3364 16:11:53.914 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 3364 16:11:53.914 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 3364 16:11:53.914 Intel(R) HD Graphics 3364 16:11:53.929 Windows 7 Ultimate 64-bit (6.1.7601) 3364 16:11:53.929 Revenant.exe (PID:4544) 3364 16:11:53.945 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 3364 16:11:53.960 Disabling High DPI Scaling... 3364 16:11:53.960 Loaded library: user32.dll 3364 16:11:53.960 Loading 'ddraw.dll'... 3364 16:11:53.960 Hooking ddraw.dll APIs... 3364 16:11:53.960 Enabling ddraw wrapper 3364 16:11:53.960 DxWrapper loaded! 2004 16:11:57.907 Starting fullscreen thread... 3364 16:11:58.500 dd_DirectDrawEnumerateA 3364 16:11:58.516 dd_DirectDrawCreate 3364 16:11:58.516 Redirecting 'DirectDrawCreate' ... 3364 16:11:58.703 Creating interface m_IDirectDrawX::m_IDirectDrawX (00E0346C) v1 3364 16:11:58.703 Creating interface m_IDirectDrawX::m_IDirectDrawX (00E0358C) v4 3364 16:11:59.873 m_IDirectDrawX::~m_IDirectDrawX (00E0346C) deleting interface! 3364 16:11:59.873 m_IDirectDrawX::~m_IDirectDrawX (00E0358C) deleting interface! 3364 16:11:59.873 Redirecting 'DirectDrawCreate' ... 3364 16:11:59.904 Creating interface m_IDirectDrawX::m_IDirectDrawX (00E9267C) v1 3364 16:12:00.013 Creating interface m_IDirect3DX::m_IDirect3DX (00E96944) v3 3364 16:12:00.013 m_IDirect3DX::ResolutionHack Found loaded dll: 'd3dim.dll' 3364 16:12:02.041 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00E9D6C4) v4 3364 16:12:02.041 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00E9D9A4) v4 3364 16:12:02.041 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00E9DE7C) v4 3364 16:12:02.135 Creating interface m_IDirect3DDeviceX::m_IDirect3DDeviceX (00EC0B84) v3 3364 16:12:02.135 Creating interface m_IDirectDrawGammaControl::m_IDirectDrawGammaControl (00EC0CA4) 3364 16:12:03.149 Creating interface m_IDirect3DViewportX::m_IDirect3DViewportX (00EC1374) v3 3364 16:12:03.149 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (00EC14CC) v3 3364 16:12:03.149 Creating interface m_IDirect3DLight::m_IDirect3DLight (00EC17B4) 3364 16:12:24.708 m_IDirect3DLight::~m_IDirect3DLight (00EC17B4) deleting interface! 3364 16:12:24.708 Creating interface m_IDirect3DLight::m_IDirect3DLight (00E21064) 3364 16:12:27.973 m_IDirect3DLight::~m_IDirect3DLight (00E21064) deleting interface! 3364 16:12:27.973 Creating interface m_IDirect3DLight::m_IDirect3DLight (00E21064) 3364 16:12:27.973 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (07DC0750) deleting interface! 3364 16:12:28.373 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (00E90CAC) v2 3364 16:12:28.373 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (00E948AC) v2 3364 16:12:28.373 Creating interface m_IDirect3DTextureX::m_IDirect3DTextureX (07DC0934) v2 3364 16:12:28.573 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (07F5E8BC) deleting interface! 3364 16:12:28.573 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (07F5E8BC) deleting interface! 3364 16:12:28.573 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (07F5E75C) v3 3364 16:12:28.578 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (07F5E990) v3 3364 16:12:28.903 m_IDirect3DLight::~m_IDirect3DLight (00E21064) deleting interface! 3364 16:12:46.143 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (00E087B0) deleting interface! 3364 16:12:46.143 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0BACD808) deleting interface! 3364 16:12:46.143 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (0BACA0D0) deleting interface! 3364 16:12:46.988 m_IDirect3DViewportX::~m_IDirect3DViewportX (00EC1374) deleting interface! 3364 16:12:46.993 m_IDirectDrawGammaControl::~m_IDirectDrawGammaControl (00EC0CA4) deleting interface! 3364 16:12:46.993 m_IDirect3DDeviceX::~m_IDirect3DDeviceX (00EC0B84) deleting interface! 3364 16:12:48.511 m_IDirectDrawX::~m_IDirectDrawX (00E9267C) deleting interface! 3364 16:12:48.573 Quiting DxWrapper 3364 16:12:48.573 Unloading libraries... 3364 16:12:48.573 Reseting screen resolution 3364 16:12:48.682 Reseting font smoothing 3364 16:12:48.682 DxWrapper terminated!

And here the game's Launcher log:

4580 16:15:16.954 Starting DxWrapper v1.0.6607.21 4580 16:15:16.954 Running from: D:\Cinematix Studios - Revenant\Revenant\dxwrapper.dll 4580 16:15:16.954 Reading config file: D:\Cinematix Studios - Revenant\Revenant\dxwrapper.ini 4580 16:15:16.954 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 4580 16:15:16.954 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 4580 16:15:16.954 Intel(R) HD Graphics 4580 16:15:16.954 Windows 7 Ultimate 64-bit (6.1.7601) Service Pack 1 4580 16:15:16.954 Launcher.exe (PID:3952) 4580 16:15:16.954 Environment variable __COMPAT_LAYER = "ElevateCreateProcess" 4580 16:15:16.954 Disabling High DPI Scaling... 4580 16:15:16.954 Loaded library: user32.dll 4580 16:15:16.954 Loading 'ddraw.dll'... 4580 16:15:16.954 Hooking ddraw.dll APIs... 4580 16:15:16.970 Enabling ddraw wrapper 4580 16:15:16.970 DxWrapper loaded! 376 16:15:17.001 Starting fullscreen thread... 4580 16:15:17.079 dd_DirectDrawEnumerateA 4580 16:15:52.616 Quiting DxWrapper 4580 16:15:52.616 Unloading libraries... 4580 16:15:52.616 Reseting screen resolution 4580 16:15:52.772 Reseting font smoothing 4580 16:15:52.772 DxWrapper terminated!

Thanks again for the help! =)

elishacloud commented 1 year ago

Ok, try this one, and send me the log file: dxwrapper.zip

SilentMRG commented 1 year ago

Same thing bro. However, this time, the game showed a black screen after the first loading screen, and then it gave an error of "DirectX 6 not installed, and that I must have DX6 or higher to play Revenant." Unfortunately, I couldn't print the error, as it disappeared right away.

Here is the log:

5132 17:32:21.489 Starting DxWrapper v1.0.6607.21 5132 17:32:21.489 Running from: D:\CINEMA~1\Revenant\dxwrapper.dll 5132 17:32:21.489 Reading config file: D:\CINEMA~1\Revenant\dxwrapper.ini 5132 17:32:21.505 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5132 17:32:21.505 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 5132 17:32:21.505 Intel(R) HD Graphics 5132 17:32:21.598 Windows 7 Ultimate 64-bit (6.1.7601) 5132 17:32:21.598 Revenant.exe (PID:3156) 5132 17:32:21.645 Environment variable __COMPAT_LAYER = "DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 5132 17:32:21.661 Disabling High DPI Scaling... 5132 17:32:21.661 Loaded library: user32.dll 5132 17:32:21.661 Loading 'ddraw.dll'... 5132 17:32:21.661 Hooking ddraw.dll APIs... 5132 17:32:21.661 Enabling ddraw wrapper 5132 17:32:21.661 DxWrapper loaded! 4648 17:32:30.116 Starting fullscreen thread... 5132 17:32:33.049 dd_DirectDrawEnumerateA 5132 17:32:33.095 dd_DirectDrawCreate 5132 17:32:33.095 Redirecting 'DirectDrawCreate' ... 5132 17:32:33.563 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B346C) v1 5132 17:32:33.563 Creating interface m_IDirectDrawX::m_IDirectDrawX (006B358C) v4 5132 17:32:35.825 m_IDirectDrawX::~m_IDirectDrawX (006B346C) deleting interface! 5132 17:32:35.841 m_IDirectDrawX::~m_IDirectDrawX (006B358C) deleting interface! 5132 17:32:35.841 Redirecting 'DirectDrawCreate' ... 5132 17:32:35.872 Creating interface m_IDirectDrawX::m_IDirectDrawX (006BFAC8) v1 5132 17:32:36.325 Creating interface m_IDirect3DX::m_IDirect3DX (006CD688) v3 5132 17:32:36.325 m_IDirect3DX::ResolutionHack Found loaded dll: 'd3dim.dll' 5132 17:32:39.055 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074D950) v4 5132 17:32:39.055 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074DB80) v4 5132 17:32:39.055 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (0074E058) v4 5132 17:32:39.507 Creating interface m_IDirect3DDeviceX::m_IDirect3DDeviceX (00770D60) v3 5132 17:32:39.507 Creating interface m_IDirectDrawGammaControl::m_IDirectDrawGammaControl (00770E80) 5132 17:32:41.145 Creating interface m_IDirect3DViewportX::m_IDirect3DViewportX (00771550) v3 5132 17:32:41.145 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (007716A8) v3 5132 17:32:41.317 Creating interface m_IDirect3DLight::m_IDirect3DLight (00771990) 4648 17:33:06.666 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:06.691 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:06.691 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:06.691 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:06.691 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:06.691 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:06.696 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:06.701 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:06.701 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:06.701 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:06.701 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768 5132 17:33:13.691 m_IDirect3DLight::~m_IDirect3DLight (00771990) deleting interface! 5132 17:33:13.696 Creating interface m_IDirect3DLight::m_IDirect3DLight (006B7EF0) 5132 17:33:13.756 m_IDirectDrawGammaControl::~m_IDirectDrawGammaControl (00770E80) deleting interface! 5132 17:33:13.756 m_IDirect3DLight::~m_IDirect3DLight (006B7EF0) deleting interface! 5132 17:33:13.756 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (007716A8) deleting interface! 5132 17:33:13.756 m_IDirect3DViewportX::~m_IDirect3DViewportX (00771550) deleting interface! 5132 17:33:13.756 m_IDirect3DDeviceX::~m_IDirect3DDeviceX (00770D60) deleting interface! 5132 17:33:13.756 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (0074D950) deleting interface! 5132 17:33:15.196 m_IDirectDrawX::~m_IDirectDrawX (006BFAC8) deleting interface! 4648 17:33:34.066 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:34.066 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:34.066 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:34.076 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:34.076 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:34.076 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768 4648 17:33:34.076 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:34.076 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 640x480 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 800x600 4648 17:33:34.086 Utils::Fullscreen::GetBestResolution Found screen resolution: 1024x768 4648 17:33:34.096 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x600 4648 17:33:34.096 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x720 4648 17:33:34.096 Utils::Fullscreen::GetBestResolution Found screen resolution: 1280x768

In the log appeared some options of resolutions... I don't know if this helps, the maximum resolution of my Laptop is 1366x768.

elishacloud commented 1 year ago

Ok, I added some more logging to try and figure out what the issue is. Can you try with this one?: dxwrapper.zip

elishacloud commented 1 year ago

Related to issue #107

SilentMRG commented 1 year ago

Hey bro, sorry, I'm out of time to do tests. Unfortunately it's my job's fault. =/ As soon as possible I will do the tests.

elishacloud commented 1 year ago

No problem. Just test it whenever you have time.

SilentMRG commented 12 months ago

Hello...

I decided to reinstall this game again and test with the last hook above. I just unzipped and renamed the dll to "ddraw" (I didn't make any other changes other than that).

Here is the log:

3332 16:46:50.847 Starting DxWrapper v1.0.6607.21 3332 16:46:50.847 Running from: D:\Revenant\dxwrapper.dll 3332 16:46:50.847 Reading config file: D:\Revenant\dxwrapper.ini 3332 16:46:50.847 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 3332 16:46:50.847 CLEVO Co. E512xQ/E4129 Not Applicable (Laptop) 3332 16:46:50.847 Intel(R) HD Graphics 3332 16:46:50.847 Windows 7 Ultimate 64-bit (6.1.7601) 3332 16:46:50.847 Revenant.exe (PID:3724) 3332 16:46:50.847 Environment variable __COMPAT_LAYER = "ElevateCreateProcess DisableThemes DisableCicero DisableDWM Win95 HighDpiAware" 3332 16:46:50.847 Disabling High DPI Scaling... 3332 16:46:50.847 Loaded library: user32.dll 3332 16:46:50.847 Loading 'ddraw.dll'... 3332 16:46:50.847 Hooking ddraw.dll APIs... 3332 16:46:50.847 Enabling ddraw wrapper 3332 16:46:50.847 DxWrapper loaded! 3332 16:46:51.362 dd_DirectDrawEnumerateA 3332 16:46:51.362 dd_DirectDrawCreate 3332 16:46:51.362 Redirecting 'DirectDrawCreate' ... 3332 16:46:51.424 Creating interface m_IDirectDrawX::m_IDirectDrawX (00D62868) v1 3332 16:46:51.424 Creating interface m_IDirectDrawX::m_IDirectDrawX (00D62988) v4 3332 16:46:51.596 Creating interface m_IDirect3DX::m_IDirect3DX (00DF1704) v3 3332 16:46:51.596 m_IDirect3DX::ResolutionHack Found loaded dll: 'd3dim.dll' 3332 16:46:52.922 m_IDirectDrawX::SetDisplayMode Current screen resolution: 640x480 -> 640x480 3332 16:46:52.922 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00DF4DA8) v4 3332 16:46:52.922 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00DF8DA4) v4 3332 16:46:52.922 Creating interface m_IDirectDrawClipper::m_IDirectDrawClipper (00DF9090) 3332 16:46:52.922 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (00DF92E4) v4 3332 16:46:52.922 Creating interface m_IDirect3DDeviceX::m_IDirect3DDeviceX (00E145D0) v3 3332 16:46:52.922 Creating interface m_IDirectDrawGammaControl::m_IDirectDrawGammaControl (00E146F0) 3332 16:46:52.937 Creating interface m_IDirect3DViewportX::m_IDirect3DViewportX (00E14DC0) v3 3332 16:46:52.937 Creating interface m_IDirect3DMaterialX::m_IDirect3DMaterialX (00E14F18) v3 3332 16:46:52.937 Creating interface m_IDirect3DLight::m_IDirect3DLight (00E15200) 3332 16:46:56.125 m_IDirect3DLight::~m_IDirect3DLight (00E15200) deleting interface! 3332 16:46:56.125 Creating interface m_IDirect3DLight::m_IDirect3DLight (072FC0AC) 3332 16:46:59.270 m_IDirect3DLight::~m_IDirect3DLight (072FC0AC) deleting interface! 3332 16:46:59.270 Creating interface m_IDirect3DLight::m_IDirect3DLight (072FC0AC) 3332 16:46:59.270 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (072FC51C) deleting interface! 3332 16:46:59.475 m_IDirect3DLight::~m_IDirect3DLight (072FC0AC) deleting interface! 3332 16:46:59.475 m_IDirect3DMaterialX::~m_IDirect3DMaterialX (00E14F18) deleting interface! 3332 16:46:59.475 m_IDirect3DViewportX::~m_IDirect3DViewportX (00E14DC0) deleting interface! 3332 16:46:59.475 m_IDirectDrawGammaControl::~m_IDirectDrawGammaControl (00E146F0) deleting interface! 3332 16:46:59.475 m_IDirect3DDeviceX::~m_IDirect3DDeviceX (00E145D0) deleting interface! 3332 16:46:59.475 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (00DF8DA4) deleting interface! 3332 16:46:59.475 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (00DF92E4) deleting interface! 3332 16:47:00.764 m_IDirectDrawX::~m_IDirectDrawX (00D62868) deleting interface! 3332 16:47:00.951 Quiting DxWrapper 3332 16:47:00.951 Unloading libraries... 3332 16:47:00.951 Reseting screen resolution 3332 16:47:01.076 Reseting font smoothing 3332 16:47:01.076 DxWrapper terminated!

And the game continues in full screen with a tiny window in the center. =/

Thank you for your help!

SilentMRG commented 12 months ago

I just tested the GOG Directx wrapper that comes with Metal Gear Solid, and it worked without any "APPCRASH" errors, however, the game starts very slow, to the point of being unplayable.

Follows attached... DX.zip

Please, test it there (if you want) or study how the GOG wrapper works. I don't understand any of these things unfortunately. I think studying the workings of the GOG casing is the way to fix the Revenant screen. Because the only problem is the slowness when the game starts, that is, when the characters appear, before that, there is no slowdown.

elishacloud commented 8 months ago

Try using the latest release and try enabling DDrawCompat along with whatever other options you were using.

elishacloud commented 1 month ago

This is a duplicate of #107

SilentMRG commented 1 month ago

Try using the latest release and try enabling DDrawCompat along with whatever other options you were using.

Well, after a lot of testing... No full screen. I also tested several GOG wrappers, and they actually worked, however, when the game starts the lag is very high! Simply unplayable. This game was coded in a strange way. Darkstone is from the same year as this game and starts in full screen with the GOG wrapper, without lag or any other problem. Anyway, that's it, and I'm sorry for the late response.

elishacloud commented 2 weeks ago

I don't have the ability to test this game at the moment. I know this game requires 16-bit color. So you can try the latest build here to see if it works: dxwrapper.zip