First post, by xttx
I've been reading this forum for, at least, 10 years, but this is my first post, because, I think, I don't know English well enough, so, I apologize in advance... And maybe I also choose the wrong section...
This game is quite obscure port from N64.
It doesn't work on PCem/dosbox, because of using windowed d3d mode, and voodoo can't do this.
And it doesn't work on windows 10 neither with nor without dgVoodoo because it require 16bit color mode and there is no way to switch windows 10 to this mode.
Compatibility option (reduced color mode) doesn't help.
In API monitor we can see, that this compatibility flag doesn't work at all, and the value returned from GetDeviceCaps still 0x20 (32 in decimal).
Anyway, I disabled this check in ollyDbg:
I'm very noob in debugging, and I just hope, that I didn't break something. Because now, I have this:
"The operation requires the application to have exclusive mode, but the application does not have exclusive mode."
If I understood correctly, it's trying to change video mode to 640x480x16, it fails but begin to draw something, and then directx throw this error.
But, shouldn't dgVoodoo handle this somehow? I mean, when it was querying the current bit depth, it was in user32.dll, and dgVoodoo couldn't control this, but now, it's trying to change video mode, and fails. Did I actually break this thing, when trying to remove bit depth check, or am I doing something completely wrong here? 😢