First of all, thank you very much for TS-DDRAW, it is very interesting and no other DDRAW wrapper fixes those games so well. ๐
Alas, I seem to have a problem :
Tested with :
- v1.1.4.8
- v1.1.4.7
- v 1.1.4.10
- debug version of v1.1.4.10
- GDI and OpenGL (OpenGL works, GDI doesn't).
Symptoms :
- The base game works, although with some seemingly random lags when launching missions or a menu/video tries to appear
- Same with Yuri's Revenge, except once a mission is launched, the sound works, the game seems to run, but I only see the loading screen and a bit of what's behind the game, and nothing of the game itself.
System :
ASUS ROG laptop
Windows 10 1809 x64
Intel Core i7-4700HQ @ 2.40 GHz
nVidia GeForce 765M GPU
Attached :
- Used executables EXEs.zip (v1.006 and v1.001 respectively, safedisc removed, CD check removed, VRAM surface allocation patch applied. But it was happenning before I applied that last patch.)
- Screenshot :
![Screenshot](https://user-images.githubusercontent.com/1087524/49798248-1f52f780-fd42-11e8-83fa-dbf8bf0e4284.jpg)
- I would have attached a log, but the debug version does not seem to produce one. Is there something I'm missing on how to use it ?
Settings (other combinations were tried of course) :
`
; ts-ddraw - https://github.com/CnCNet/ts-ddraw
; use the following settings to enable the experimental stretching support
; works only fullscreen right now + menus are not centered
[ddraw]
; stretch to custom resolution, 0 = defaults to the size game requests
;StretchToWidth=2560
;StretchToHeight=1440
; override StretchToWidth/StretchToHeight and always stretch to fullscreen
;StretchToFullscreen=No
; use windowboxing to make a best fit
Windowboxing=Yes
; maintain aspect ratio - this setting is ignored when Windowboxing is enabled
MaintainAspectRatio=No
; Enable vertical sync
VSync=No
; Select the renderer, opengl, gdi, auto. Default = auto = if OpenGL fails automatically use GDI
Renderer=auto
; Draw the FPS overlay 0 = no, 1 = yes
DrawFPS=0
; Use 2 textures, in rotation, for the Primary Surface, default = yes
PrimarySurface2Tex=Yes
; Use Pixel Buffer Objects, in rotation, for the primary Surface. default = 0
PrimarySurfacePBO=0
; Use single processor affinity to prevent thread crashes
SingleProcAffinity=Yes
; Set the Renderer FPS value, Default = 60, unless VSync
;TargetFPS=60
; Call glFinish in the render loop
GlFinish=Yes
`
The key setting to make the regular Red Alert 2 and Yuri's Revenge launch successfully on my system is Windowboxing=Yes.
But it seems not to be enough for Yuri's Revenge.
I have other issues as well (lags in menus, for example), but this is the main one.
Right now I use Aqrit's DDRAW with the following settings :
`
RealDDrawPath = AUTO
BltMirror = 0
BltNoTearing = 0
ColorFix = 0
DisableHighDpiScaling = 0
FakeVsync = 1
FakeVsyncInterval = 0
ForceBltNoTearing = 0
ForceDirectDrawEmulation = 0
NoVideoMemory = 1
SingleProcAffinity = 1
ShowFPS = 0
`
Game video settings :
`
VideoBackBuffer=No
ScreenWidth=1024
ScreenHeight=768
StretchMovies=no
`
Without VideoBackBuffer=No the game displays a black screen with Aqrit's DDRAW.
But it seems to have no effect with the issue at hand with TS-DDRAW (ie. yes or no = same result).
But I'd rather use TS-DDRAW instead, as it is it's actively maintained, and it fixes Alt-Tab.
Compatibility settings :
Lastly, I do not use compatibility settings, except 16BITCOLOR. Same results if I do not use it.
I tried to add on top the Windows 98 compatibility mode, but it makes things worse.
Edit : formatting