Apparently, it is not such a wonderful game this "The Creed" from 1998, but when it comes that there is some lesson to learn, things become quite more interesting.
First of all, this game uses a D3D2 interface that was not adopted by so many games, soon replaced by the new D3D versions. But with latest DxWnd release the game simply crashes because the D3DCreateDevice fails (and the game doesn't check for the return code, so it goes forward crashing at the first reference to the missing device).
The reason seems a bad capability assigned to the ZBUFFER surface. Was DxWnd wrong? Not really, DxWnd emulates surface capabilities according to the registered ZBUFFER surface, but the game appears to use two of them, one meant to be in system memory and one meant to be in video memory! So I had to fix DxWnd taking inproper account this fact.
Did this fix the problems? Not at all!
The game uses 8 bit textures on a 16 bit desktop (then it needs the "set texture pixel format" flag set) and in this way the textures are dumped ok and are rendered ok just for the initial frames, then immediately the textures are dirtied and filled with apparently random colors. Why?
In addition the game crashes very often, though the "Handle exceptions" flag seems to fix most of the problems.
Last but not least, very often the character and pointer textures (both 3D polygonal elements) disappear from the scene, to reappear (fully or just in part) some frames after, making the game not easily playable.
It has to be noted that some of the problems are present also running the game without DxWnd.
Anyone is willing to share expertise and propose some solution? The DxWnd logs should help to understand what's going on. To replicate the experiment, I'm posting here the patched DxWnd release and exported file. To get the game, dress with a heavy coat 'cause you can get the old game in russia.
Be careful and cautious. I found a lot of interesting things there, also gracefully sorted by year (1998 to 2000 very interesting years) and platform (no DOS stuff for DxWnd!!). Attached here are the easy cases (plus some best fit for the nasty cases, like Minigolf Master Miniverse), but I also have a list of troublesome games that I'm going to analyze and post if I can't get an easy solution. "The Creed" was simply the first one in the list. Definitely I'm not running short of work in the near future!
P.s. I was amused by the fact that at least two of the games I (hem) saw there have a RIP archive including a copy of DxWnd as a patcher to make the game running!
oh yes those were the days...There has been a time I downloading a lot of Electronic Arts games just to wait to see how it perform with Dxwnd, haha. Man, i'm such a crazy maniac.
Last edit: suckmysock 2016-08-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Interesting. Replacing the textures with the "Texture highlight" DxWnd setting the colors are not scrambled up, but the polygons keeps disappearing when moving in certain areas.
Wow! I just wanted to get some more funny screenshots and tried to set the "disable texture" flag. Instead of getting the usual whitened polygons, I got instead a perfectly coloured picture! So, I still don't know why and whether it will be possible to do better than this, but this appears to be a good enough fix for the problem.
Still presnts, though, the texture disapparition and some texture leftovers (see the remains of the cursor in the left area of the screen).
Hey! Noone willing too get his hands on those gorgeous textures? She beats old miss Croft for at least a couple of bra sizes.
I give this game a shot, I getting a blue screen crash.. The minidumps say the cause is igxpmp32.sys - which is my Intel display driver. Look like the game wants me to downgrade my driver, i will do that..... Not!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wise decision. But the problem could be fixed also with an upgrade, if available. Anyhow, the game seems quite stressing and peculiar, but not so fundamental to play.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mmmh, the demo version is way more comfortable. Got both software and 3d rendering from Cnet and the game running fine.... in fullscreen mode.
Software Only: dxwnd and d3dwindower works, textures error, slow performance.
Direct3D HAL: dxwnd crashes on startup. D3dwindower make the game run until the character shows up, no texture errors, then it all crashes down... It seems to handle better than dxwnd for sure.
MMX emulation: dxwnd and d3dwindower crashes on startup.
Update
How stupid i am, the patch above works better here but im getting extreme slowdown occasionally. And Software mode freeze at startup.
Last edit: suckmysock 2016-08-29
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
How stupid I am too: to fix the problems, it just takes its patch!
Applied the patch here in attach (or grabbed in russia again) and everything works fine on D3D. I still have to test 3Dfx.
But look at the pattch: it seems to inject a hook fixing the ZBUFFER behaviour. Maybe I could disassemble and include the patch in DxWnd, for the benefit of other games with similar problems, maybe ....
shit, i'm out of luck. I keep getting the BSOD after applying a patch. But the demo still works fine here and should behave same with the CD version.
The Direct3D HAL runs with slowdown that somehow remind of DethKarz, also there was no fix for the demo so bypass.
The Software mode DOES works before replace with "DxWnd.TheCreed.rar" patch, so gho, your patch one side fix for d3d mode but another side ruined the software mode. Some culprit out there, or did i missed some options?
It is possible. Since he patch comes from the russian archives, it is unclear whether it is an official patch or just a homemade fix, and I suspect it is the second case (after all, the developers don't need to hack a patch, they could simply modify the source code and recompile!).
So, I assume the fix is just a homemade patch bilt for the D3D engine only, and it is not surprising that it could ruin the HEL mode.
I need a D3D tracer dll to compare the operations with and without the patch.....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No, the "blt.dll" patch has nothing to do with the demo version. I mean the problem come from your DxWnd.TheCreed.rar patch posted above. The Software Only mode stopped working on it. I know because build 81 still works with Software mode.
Last edit: suckmysock 2016-08-30
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Weird situation ....
I tried to verify, but the sw demo version I got doesn't install, it complains about some missing language file. I didn't surrend and I got the missing file from the hw demo installer, so I got the sw demo, but .... either with the official DxWnd and the patched one the game starts, but the rendering is very bad (the background is invisible and the textures are not cleared!). see screenshot.
I also tried to compare the apitrace logs of the patched and unpatched game versions. The only relevant difference I found )but the search is very long and boring, I could have missed something!) is shown in the screenshots: the unpatched game performs a series of BltFast operations in sequence and involving the same source and target surface, which is not very good! On the contrary, the patched version only performs 2 BltFast operations and using different surfaces. If this is the game patch, I'm afraid it is a very peculiar operation and I won't bring it to DxWnd.
yes, this is required.... didn't I put a valid export file in my uploads? If not, my mistake, sorry.
Anyway, I was thinking to publish the current eta as v2.03.82: do you see any regression prolem in this possile release?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the regression is in my XP, software mode freeze in startup while it works on your win7 and possible win10. May you test the game on your XP computer, use DxWnd.TheCreed.rar
patch, and confirm?
Last edit: suckmysock 2016-08-31
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Holidays are over, and the XP was buried again in the cellar. I promise that in my next pc I will install a XP VM, but right now I have no testbed again. Do the logs tell anything significant? Or maybe OllyDBG is pointing to some dxwnd.dll internal code? Uhm, wait, maybe I should send you a pre-release beta, the one in DxWnd.TheCreed.rar could be changed in the meanwhile.
Last edit: gho 2016-08-31
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The changes are relevant for "The Creed", "Die Hard Trilogy" and possibly all injected games using the suspended process mode. My hope is that, despite the minimal testing, there will be no regressions problems in other games....
Software mode still not working. I already posted a log file above, search for "log.rar".
Btw, can you make the suspended process mode take effect immediately instead of having to restart Dxwnd?
Last edit: suckmysock 2016-09-01
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Software mode seems not working because DxWnd pretends that the ZBUFFER is on video memory while D3D2 wants a system memory surface. This is exactly the fix that makes the HW acceletated version working, so I need to find a better way to fix the ZBUFFER capabilities according to what D3D is expecting. It is strange that this seems not to happen on Win7. Mumble, mumble ....
Suspended process mode is supposed to take effect immediately without having to restart Dxwnd, and does this on Win7. I need some testing on a real XP. BTW I am about to get my Win10 pc repaired and upgraded, so I do hope now it will be possible to install there a XP emulated environment to make testing without having to grab further hardware.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@dnsbench:
we got an interesting point here, where this game seems to reference two ZBUFFER surfaces, that need capability fixing (otherwise the D3D session returns in error) and the operation seems different in WinXP vs. Win7.
For this reason I'd like you to help me running an experimental version of the latest beta that only adds a few debug messages, but that should help me to code a final and reliable mechanism for fixing the ZBUFFER capabilities once and for all games and platforms.
Here in attach the dxwnd.dll to be replaced. You should run it with the two "The Creed" demos, HW and SW version, and return me the log files.
P.s. I'm interested only to my debug messages, so you may save space by setting the logs with ONLY the "Overwrite" flag checked.
Apparently, it is not such a wonderful game this "The Creed" from 1998, but when it comes that there is some lesson to learn, things become quite more interesting.
First of all, this game uses a D3D2 interface that was not adopted by so many games, soon replaced by the new D3D versions. But with latest DxWnd release the game simply crashes because the D3DCreateDevice fails (and the game doesn't check for the return code, so it goes forward crashing at the first reference to the missing device).
The reason seems a bad capability assigned to the ZBUFFER surface. Was DxWnd wrong? Not really, DxWnd emulates surface capabilities according to the registered ZBUFFER surface, but the game appears to use two of them, one meant to be in system memory and one meant to be in video memory! So I had to fix DxWnd taking inproper account this fact.
Did this fix the problems? Not at all!
The game uses 8 bit textures on a 16 bit desktop (then it needs the "set texture pixel format" flag set) and in this way the textures are dumped ok and are rendered ok just for the initial frames, then immediately the textures are dirtied and filled with apparently random colors. Why?
In addition the game crashes very often, though the "Handle exceptions" flag seems to fix most of the problems.
Last but not least, very often the character and pointer textures (both 3D polygonal elements) disappear from the scene, to reappear (fully or just in part) some frames after, making the game not easily playable.
It has to be noted that some of the problems are present also running the game without DxWnd.
Anyone is willing to share expertise and propose some solution? The DxWnd logs should help to understand what's going on. To replicate the experiment, I'm posting here the patched DxWnd release and exported file. To get the game, dress with a heavy coat 'cause you can get the old game in russia.
Last edit: gho 2016-08-28
aaargh, busted!
Be careful and cautious. I found a lot of interesting things there, also gracefully sorted by year (1998 to 2000 very interesting years) and platform (no DOS stuff for DxWnd!!). Attached here are the easy cases (plus some best fit for the nasty cases, like Minigolf Master Miniverse), but I also have a list of troublesome games that I'm going to analyze and post if I can't get an easy solution. "The Creed" was simply the first one in the list. Definitely I'm not running short of work in the near future!
P.s. I was amused by the fact that at least two of the games I (hem) saw there have a RIP archive including a copy of DxWnd as a patcher to make the game running!
Last edit: gho 2016-08-28
oh yes those were the days...There has been a time I downloading a lot of Electronic Arts games just to wait to see how it perform with Dxwnd, haha. Man, i'm such a crazy maniac.
Last edit: suckmysock 2016-08-28
Interesting. Replacing the textures with the "Texture highlight" DxWnd setting the colors are not scrambled up, but the polygons keeps disappearing when moving in certain areas.
Wow! I just wanted to get some more funny screenshots and tried to set the "disable texture" flag. Instead of getting the usual whitened polygons, I got instead a perfectly coloured picture! So, I still don't know why and whether it will be possible to do better than this, but this appears to be a good enough fix for the problem.
Still presnts, though, the texture disapparition and some texture leftovers (see the remains of the cursor in the left area of the screen).
Hey! Noone willing too get his hands on those gorgeous textures? She beats old miss Croft for at least a couple of bra sizes.
I give this game a shot, I getting a blue screen crash.. The minidumps say the cause is igxpmp32.sys - which is my Intel display driver. Look like the game wants me to downgrade my driver, i will do that..... Not!
Wise decision. But the problem could be fixed also with an upgrade, if available. Anyhow, the game seems quite stressing and peculiar, but not so fundamental to play.
mmmh, the demo version is way more comfortable. Got both software and 3d rendering from Cnet and the game running fine.... in fullscreen mode.
Update
How stupid i am, the patch above works better here but im getting extreme slowdown occasionally. And Software mode freeze at startup.
Last edit: suckmysock 2016-08-29
How stupid I am too: to fix the problems, it just takes its patch!
Applied the patch here in attach (or grabbed in russia again) and everything works fine on D3D. I still have to test 3Dfx.
But look at the pattch: it seems to inject a hook fixing the ZBUFFER behaviour. Maybe I could disassemble and include the patch in DxWnd, for the benefit of other games with similar problems, maybe ....
Last edit: gho 2016-08-29
shit, i'm out of luck. I keep getting the BSOD after applying a patch. But the demo still works fine here and should behave same with the CD version.
The Direct3D HAL runs with slowdown that somehow remind of DethKarz, also there was no fix for the demo so bypass.
The Software mode DOES works before replace with "DxWnd.TheCreed.rar" patch, so gho, your patch one side fix for d3d mode but another side ruined the software mode. Some culprit out there, or did i missed some options?
Last edit: suckmysock 2016-08-29
It is possible. Since he patch comes from the russian archives, it is unclear whether it is an official patch or just a homemade fix, and I suspect it is the second case (after all, the developers don't need to hack a patch, they could simply modify the source code and recompile!).
So, I assume the fix is just a homemade patch bilt for the D3D engine only, and it is not surprising that it could ruin the HEL mode.
I need a D3D tracer dll to compare the operations with and without the patch.....
No, the "blt.dll" patch has nothing to do with the demo version. I mean the problem come from your DxWnd.TheCreed.rar patch posted above. The Software Only mode stopped working on it. I know because build 81 still works with Software mode.
Last edit: suckmysock 2016-08-30
Weird situation ....
I tried to verify, but the sw demo version I got doesn't install, it complains about some missing language file. I didn't surrend and I got the missing file from the hw demo installer, so I got the sw demo, but .... either with the official DxWnd and the patched one the game starts, but the rendering is very bad (the background is invisible and the textures are not cleared!). see screenshot.
I also tried to compare the apitrace logs of the patched and unpatched game versions. The only relevant difference I found )but the search is very long and boring, I could have missed something!) is shown in the screenshots: the unpatched game performs a series of BltFast operations in sequence and involving the same source and target surface, which is not very good! On the contrary, the patched version only performs 2 BltFast operations and using different surfaces. If this is the game patch, I'm afraid it is a very peculiar operation and I won't bring it to DxWnd.
enable "set texture pixel format" fixed for me.
yes, this is required.... didn't I put a valid export file in my uploads? If not, my mistake, sorry.
Anyway, I was thinking to publish the current eta as v2.03.82: do you see any regression prolem in this possile release?
the regression is in my XP, software mode freeze in startup while it works on your win7 and possible win10. May you test the game on your XP computer, use DxWnd.TheCreed.rar
patch, and confirm?
Last edit: suckmysock 2016-08-31
Holidays are over, and the XP was buried again in the cellar. I promise that in my next pc I will install a XP VM, but right now I have no testbed again. Do the logs tell anything significant? Or maybe OllyDBG is pointing to some dxwnd.dll internal code? Uhm, wait, maybe I should send you a pre-release beta, the one in DxWnd.TheCreed.rar could be changed in the meanwhile.
Last edit: gho 2016-08-31
Here is the release candidate for v2.03.82.
From the release notes:
The changes are relevant for "The Creed", "Die Hard Trilogy" and possibly all injected games using the suspended process mode. My hope is that, despite the minimal testing, there will be no regressions problems in other games....
Last edit: gho 2016-08-31
Software mode still not working. I already posted a log file above, search for "log.rar".
Btw, can you make the suspended process mode take effect immediately instead of having to restart Dxwnd?
Last edit: suckmysock 2016-09-01
Thank you.
Software mode seems not working because DxWnd pretends that the ZBUFFER is on video memory while D3D2 wants a system memory surface. This is exactly the fix that makes the HW acceletated version working, so I need to find a better way to fix the ZBUFFER capabilities according to what D3D is expecting. It is strange that this seems not to happen on Win7. Mumble, mumble ....
Suspended process mode is supposed to take effect immediately without having to restart Dxwnd, and does this on Win7. I need some testing on a real XP. BTW I am about to get my Win10 pc repaired and upgraded, so I do hope now it will be possible to install there a XP emulated environment to make testing without having to grab further hardware.
@dnsbench:
we got an interesting point here, where this game seems to reference two ZBUFFER surfaces, that need capability fixing (otherwise the D3D session returns in error) and the operation seems different in WinXP vs. Win7.
For this reason I'd like you to help me running an experimental version of the latest beta that only adds a few debug messages, but that should help me to code a final and reliable mechanism for fixing the ZBUFFER capabilities once and for all games and platforms.
Here in attach the dxwnd.dll to be replaced. You should run it with the two "The Creed" demos, HW and SW version, and return me the log files.
P.s. I'm interested only to my debug messages, so you may save space by setting the logs with ONLY the "Overwrite" flag checked.
Here:
Thank you, it seems there are interesting and unexpected informations there.
I'm afraid that v2.03.82 will have to stay on hold a little while .....
I except that, we should release the most stable version as possible.