narzoul / DDrawCompat

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

Legacy: Dark Shadows #335

Closed ghotik closed 3 months ago

ghotik commented 3 months ago

I was involved in this interesting hunt: https://sourceforge.net/p/dxwnd/discussion/general/thread/e81945c90c/#97fd but you can find similar pleas on Vogons, and of course no solutions. The peculiar thing of this game is that apparently there's nothing wrong, it works natively, with DxWnd, dgVoodoo2 and DDrawCompat in the same way, but it is almost unplayable because part of the texture resources are loaded with incorrect sizes, which leads you to click on the wrong spots. My guess is that the origin of the textures make the difference: not all graphic has the problem, it seems that it mostly (exclusively?) depends on disguised .tga files (they are named with .rzr extension but are recognized as .tga by GIMP) that are loaded through the legacy and deprecated IDirectXFile interfaces, though I haven't still found how these classes can determine the texture placements. I alredy tried to patch the vertex buffers (at the application interface, it's D3D8!) and this works, but scales everything, the goods and the bads, so it doesn't seem the right path. I don't know if this can intrigue you ...

narzoul commented 3 months ago

Well, if it uses D3D8 and runs even natively, then of course it'll work the same with DDrawCompat, since it doesn't even touch D3D8. Unfortunately, I don't have any time to branch out to unsupported cases, as I have my hands more than full with ddraw issues. I'm also not familiar with the IDirectXFile API.