narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
893 stars 67 forks source link

Carmen Sandiego Word Detective graphical issues #156

Closed EricOakford closed 8 months ago

EricOakford commented 1 year ago

So I started up Carmen Sandiego Word Detective using DDrawCompat in Windows 11. It fixes fading in and out (which wouldn't work otherwise), but prevents the opening movie (which uses QuickTIme 2.1) from playing past the first frame (the audio plays fine, however). Also, after a while, the cursor is replaced with a black box, fouling up the animations.

Here is the log file:

11:56:28.185 Process path: C:\HarperCollins\Carmen Sandiego\Word Detective\CWD32.exe
11:56:28.185 Loading DDrawCompat dynamically from C:\HarperCollins\Carmen Sandiego\Word Detective\DDRAW.DLL
11:56:28.185 Environment variable __COMPAT_LAYER = "DWM8And16BitMitigation HighDpiAware"
11:56:28.185 Loading global config file: C:\ProgramData\DDrawCompat\DDrawCompat.ini
11:56:28.185   File not found, skipping
11:56:28.185 Loading user config file: C:\Users\eoakf\AppData\Local\DDrawCompat\DDrawCompat.ini
11:56:28.185   File not found, skipping
11:56:28.185 Loading directory config file: C:\HarperCollins\Carmen Sandiego\Word Detective\DDrawCompat.ini
11:56:28.185   File not found, skipping
11:56:28.185 Loading process config file: C:\HarperCollins\Carmen Sandiego\Word Detective\DDrawCompat-CWD32.ini
11:56:28.185   File not found, skipping
11:56:28.185 Loading overlay config file: C:\HarperCollins\Carmen Sandiego\Word Detective\DDrawCompatOverlay-CWD32.ini
11:56:28.185   File not found, skipping
11:56:28.185 Final configuration:
11:56:28.185   [default] AlignSysMemSurfaces   = on
11:56:28.185   [default] AltTabFix             = off
11:56:28.185   [default] AlternatePixelCenter  = off
11:56:28.185   [default] Antialiasing          = off
11:56:28.185   [default] BltFilter             = point
11:56:28.185   [default] ConfigHotKey          = shift+f11
11:56:28.185   [default] CpuAffinity           = 1
11:56:28.185   [default] DesktopColorDepth     = initial
11:56:28.185   [default] DisplayFilter         = bilinear(0)
11:56:28.185   [default] DisplayRefreshRate    = app
11:56:28.185   [default] DisplayResolution     = desktop
11:56:28.185   [default] DpiAwareness          = permonitor
11:56:28.185   [default] FontAntialiasing      = app
11:56:28.185   [default] ForceD3D9On12         = off
11:56:28.185   [default] FpsLimiter            = off
11:56:28.185   [default] FullscreenMode        = borderless
11:56:28.185   [default] LogLevel              = info
11:56:28.185   [default] PalettizedTextures    = on
11:56:28.185   [default] RemoveBorders         = off
11:56:28.185   [default] RenderColorDepth      = app
11:56:28.185   [default] ResolutionScale       = app(1)
11:56:28.185   [default] ResolutionScaleFilter = point
11:56:28.185   [default] SoftwareDevice        = rgb
11:56:28.185   [default] SpriteDetection       = off
11:56:28.185   [default] SpriteFilter          = app
11:56:28.185   [default] SpriteTexCoord        = app
11:56:28.185   [default] SupportedResolutions  = native, 640x480, 800x600, 1024x768
11:56:28.185   [default] TextureFilter         = app
11:56:28.185   [default] ThreadPriorityBoost   = off
11:56:28.185   [default] VSync                 = app
11:56:28.185   [default] WinVersionLie         = off
11:56:28.215 Failed to change process DPI awareness to "permonitor" via SetProcessDpiAwarenessContext
11:56:28.217 DDrawCompat loaded successfully
11:56:28.217 Installing display mode hooks
11:56:28.227 Installing registry hooks
11:56:28.227 Installing Direct3D driver hooks
11:56:28.232 Hooking user mode display driver: C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_389da2bfec2045ef\igdumdim32.dll+0xbad0
11:56:28.257 Dynamic vertex buffers are not available
11:56:28.257 Dynamic index buffers are not available
11:56:28.342 Supported z-buffer bit depths: 16, 24
11:56:28.342 Supported MSAA modes: msaa(0), msaa2x(0), msaa4x(0), msaa8x(0)
11:56:28.342 Supported resource formats:
11:56:28.342   {D3DDDIFMT_UNKNOWN,0x0,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_A8R8G8B8,0x408600f,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_X8R8G8B8,0x4086c0f,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_R5G6B5,0x86c0f,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_A1R5G5B5,0x8600f,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_A4R4G4B4,0x400f,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_A8,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_P8,0x4000,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_L8,0xf,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_A8L8,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_A4L4,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_V8U8,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_L6V5U5,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_Q8W8V8U8,0x7,0x0,0x0,0}
11:56:28.342   {D3DDDIFMT_S8D24,0xc1,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_X8D24,0xc1,0x8b,0x8b,0}
11:56:28.342   {D3DDDIFMT_D16,0xc1,0x8b,0x8b,0}
11:56:28.342   {FOURCC(P010),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(Y210),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(Y410),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(I420),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(NV11),0x7000,0x0,0x0,0}
11:56:28.342   {FOURCC(IMC1),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(DXT1),0x7,0x0,0x0,0}
11:56:28.342   {FOURCC(NV12),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(YV12),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(IMC2),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(DXT2),0x7,0x0,0x0,0}
11:56:28.342   {FOURCC(YUY2),0x4006001,0x0,0x0,0}
11:56:28.342   {FOURCC(IMC3),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(DXT3),0x7,0x0,0x0,0}
11:56:28.342   {FOURCC(IA44),0x4000,0x0,0x0,0}
11:56:28.342   {FOURCC(AI44),0x4000,0x0,0x0,0}
11:56:28.342   {FOURCC(IMC4),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(DXT4),0x7,0x0,0x0,0}
11:56:28.342   {FOURCC(DXT5),0x7,0x0,0x0,0}
11:56:28.342   {FOURCC(P016),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(Y216),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(Y416),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(P208),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(YVU9),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(YVYU),0x4006000,0x0,0x0,0}
11:56:28.342   {FOURCC(AYUV),0x4009,0x0,0x0,32}
11:56:28.342   {FOURCC(IYUV),0x6000,0x0,0x0,0}
11:56:28.342   {FOURCC(VYUY),0x4006000,0x0,0x0,0}
11:56:28.342   {FOURCC(UYVY),0x4006009,0x0,0x0,16}
11:56:28.344 Installing DirectDraw hooks
11:56:28.344 Installing Direct3D hooks
11:56:28.347 Installing GDI hooks
11:56:28.357 Finished installing hooks
11:59:05.663 DDrawCompat detached successfully.
narzoul commented 1 year ago

I can't get this game to work on Windows 11, with or without DDrawCompat. It's stuck on a black screen at startup, seemingly in an infinite loop, before the intro video would start playing. It doesn't respond to any input, so I have to kill it from Task Manager. It works fine in an XP VM, but I can't use DDrawCompat there.

I used Carmen Sandiego's Great Chase Through Time for debugging instead, and fixed the videos there: ddraw.zip (diff.txt compared to v0.4.0)

I assume it should work for Word Detective also. I didn't notice any cursor issues, but most likely it's related to display scaling, so the DisplayResolution=app setting might be a workaround for that. If you know of a way to get Word Detective working, or to reproduce the same issues in some other title, let me know.

EricOakford commented 1 year ago

The opening video works correctly now! I'll play through and check for any more bugs.

narzoul commented 8 months ago

Fixed in v0.5.0.