narzoul / DDrawCompat

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

Spirit Stallion of the Cimarron #187

Closed ghotik closed 1 year ago

ghotik commented 1 year ago

Hi, how are you doing? I don't know if you have time enough to be curious about a new case (I posted something in https://github.com/narzoul/DDrawCompat/issues/185 but I saw no reaction), but this could be interesting too. The game "Spirit Stallion of the Cimarron" has options for 3 video quality levels but the difference between them is quite radical. In quality "better" the game uses DirectDraw3 and behaves well enough, but in quality "best" the rendering is performed with Direct3D8 and has big problems, apparently because part of the graphic is shrinked as if blitting 16 bit surfaces to 32 bit video. So far, no software seems able to patch the game correctly: nor DxWnd, nor dgVoodoo2, neither DDrawCompat. Here below the screenshots in ddraw (better) and d3d8 (best) rendering. spirit_ddraw spirit_d3d8

update: I made some more tests and looking at a texture dump it seems that the game is simply bugged since it fails creating some of the texture resources in X8R8G8B8 format. I fear that at this point no wrapper can fix the problem. spirit_textures

BEENNath58 commented 1 year ago

It got fixed in the meantime: DxWnd had a setting to emulate a 16bpp backbuffer for D3D8. Unless I am missing something, this setting should also exist for DDC, right?

narzoul commented 1 year ago

DDrawCompat doesn't do anything for DX8. Display color depth emulation only works for DX1-7. I feel like this issue is out of scope here, since DX8 is not supported at all by DDrawCompat.

BEENNath58 commented 1 year ago

DDrawCompat doesn't do anything for DX8. Display color depth emulation only works for DX1-7. I feel like this issue is out of scope here, since DX8 is not supported at all by DDrawCompat.

Oh I forgot d3d8 doesn't use ddraw. So this problem can't be fixed in DDC, at least it got fixed somewhere. Anyways thanks

narzoul commented 1 year ago

Closing as DX8 is not supported by DDrawCompat.