First post, by Bakhtosh
I've posted about this game some time ago. The problems couldn't be solved back then. But with the new debug layer feature I thought a give it another try.
Old posts from the dgVoodoo 2 for DirectX 11 thread:
The Vista patch is for the SE (special edition) only. And there's no patch to update the original version to the special edition […]wrote:wrote:
Tried the game The Mystery of the Druids. There's an old version that also has a demo. And the special edition. […]
Tried the game The Mystery of the Druids. There's an old version that also has a demo. And the special edition.
The old version doesn't start with 2.51 and WIP23 but gives you the error message:
Error in module sprites
-> Direct3D init failed. Code: (80040154)
The special edition with the Vista patch applied (like the Steam version) is playable, but every time you click at the floor or a door to let the character move you get the error message:
Error in module depthbuffer
-> GetPixelDepth failed. Code: (80070057)
After confirming the message you can continue to play though.
I tried to change the options dgVoodoo has, but the behaviour didn't change.
This fail is not a D3D one, in spite of the error message. The game tries to instantiate a DirectShow .x file and this service is not available in Vista and up for some reason. I tried the Vista patch on the original game but it didn't work.
The Vista patch is for the SE (special edition) only. And there's no patch to update the original version to the special edition. The special edition was released with improved sound quality (new sound resource files and engine update) and back in those days developers avoided patches of several 100MB.
So I guess it's not possible to make the original version work, right?
But it should be possible (that doesn't mean that it has to be one of your goals 😉 ) to make the special edition (updated with the Vista patch) work. The special edition (updated with the Vista patch) already kind of works with Windows 10 64 Bit. You can start and play it and everything looks alright, but the save/load screens don't appear if you click at the respective icons. If you play a while the game crashes at certain animations if you don't skip them with ESC. With dgVoodoo the save/load screens do appear. I and hope the animation crashes won't happen with dgVoodoo (haven't tried it yet because it would be quite some work clicking all the "GetPixelDepth failed" messages away.
But it should be possible (that doesn't mean that it has to be one of your goals ) to make the special edition (updated with the Vista patch) work. The special edition (updated with the Vista patch) already kind of works with Windows 10 64 Bit.
The patched special edition should have compared with the unpatched one to see what the difference is. If it's only a little hack then the same could be applied to the original version. But, if the patch contains rewritten and recompiled complete parts of the executable then it's impossible.
Something I can do without having decompiling/deassembling skills? I can only imagine a checksum- or Bit-comparison of the unpatched/patched exe. But that won't really tell how far the differences are. Only thing I know is that the game uses an engine named cougar engine and that it was updated from the original version to the special edition to be able to play the new voice over sound files. But I don't know if the engine update also included some changes in the graphics part. And I have no idea what was updated with the Vista patch for the special edition.
Since then I've always hoped that with the next dgvoodoo version the game might work. Without dgvoodoo Win 10 the game kind of work but the save/load dialogue does not appear (I guess it's opened in the background). With dgvoodoo the save/load dialogue works (as does forcing a higher resolution). Up to WIP37 you always get a single "GetPixelDepth failed" error if you click at the floor. Afterwards the character walks to the lower end of the screen (like the mouse position doesn't get recognized correctly). With WIP38 yout also get a single "GetPixelDepth failed" error if you click at the floor. But afterwards you get an endless series of "Init depth buffer failed" errors.
So I tried the new debug layer. The game also has its own log.
The attached logs are for a case when I finally ended the "Init depth buffer failed" error series by clicking on "Cancel" instead of "OK" (that killed the game task).