I am asking for suggestions on how to fix a problem I'm having with Tetris Worlds (THQ), as soon as I run the program the game starts it crashes?
Is it the game or can I fix it changing some settings in DxWnd?
first thing to try is to set DirectX emulation to "none"....
Done, but did not fixed it.
I'm trying to get the game. Unfortunately, it's not so commonly available.
If you're in a hurry, you may try to activate the logging (just the first four logging flags usually suffice - it is quite verbose!) and post here the compressed dxwnd.log file that gets written in the game folder.
I'm now able to make some testing.
Unfortunately, it's not a trivial matter of DxWnd configuration: the game crashes for some unknown reason, I'll have to find it out ....
Stay tuned for news.
The reason is rather obscure: it seems that the program is referencing a ddraw surface method after the surface has been released and the COM pointers cleared.
And unfortunately it's definitely DxWnd fault, since with no hooking the game works perfectly.
It seems not an easy one...
It is funny that you never stop learning strange things ....
Apparently, if you handle a 3D game, you'd better never completely release the BackBuffer surface, or you get this Tetris Worlds troubles.
I made a small and dirty patch to fix the problem (hoping it doesn't interfere with dozens of other contexts...) and now Tetris Worlds seems to work very well.
I even spent a few minutes in a tetris game!
Just replace the dll here in the dxwnd folder and enjoy this amusing game!
It seems that D3D7 CreateDevice releases the backbuffer surface internally. This should provide a more stable implementation for the next release.
In the meanwhile, let me say that this game is quite addictive, and if you play it with time stretching 4 times slower, it is not difficult at all to become a champion.
What about my very forst score? ;)