Open OpenRift412 opened 1 year ago
This is being tested with WON version 1.0.1.6, by the way.
Same issue when using Direct3D or Glide mode in Interstate '76: DDraw menu, Hardware-accelerated in-game.
Using DDrawCompat with dgvoodoo's Glide or Direct3D wrapper
This is not supported as per the README:
For various reasons, the below cases are not supported:
- (...)
- Running DDrawCompat in combination with other wrappers/hooks (...)
Using it with native OpenGL
I don't really know how OpenGL presentation works, but I'm surprised it works at all. This is not really supported either, although I haven't explicitly put this in the README (yet). You can only use DDrawCompat with DirectX 1-7 renderers, everything else is out of scope, and this is not likely to change in the near future.
Therefore, I can only support the cases where both the menu and the chosen renderer are based on DX 1-7. I will check these later.
Half-Life does have a Direct3D mode, which probably runs in one of the DX versions 1-7. Unless D3D doesn't count?
Direct3D rendering was removed by a patch a long time ago. Anyway, I tested an old enough version that still has it. The slowness when switching to the main menu is caused by a display refresh rate change. Try using DisplayRefreshRate=desktop or some other fixed refresh rate setting in DDrawCompat.ini.
I also have an issue with the main menu changing to windowed mode when returning to it from the game. This is probably some issue with fullscreen detection when using scaled display modes in DDrawCompat. I'll look into it when I have some time.
The main menu should no longer change to windowed mode in v0.5.2. Are there any issues on your end still?
The main menu should no longer change to windowed mode in v0.5.2. Are there any issues on your end still?
Yeah, it's still the same issue as before.
So from all my tedious research I've realized that DDrawCompat is the ONLY DirectDraw wrapper that can render the menu of Half-Life WON correctly with scaling, as the menu will always run in DirectDraw regardless of what in-game renderer you've selected. Because of this, this creates an issue where there is a bit of jankiness when pausing/unpausing the game. Using DDrawCompat with dgvoodoo's Glide or Direct3D wrapper causes the game to freeze at the "Loading..." dialogue. Using it with native OpenGL, the game loads up fine when unpausing, but pausing causes the frame to freeze and requires me to alt-tab to get the menu to show.