Seeing peace in this forum, I thought it was time to move onto a new game, one that I found on VOGONS.
The game is Motorhead, made by Gremlin Interactive.
You can easily find it in old-games ru. Please download the CD version there for the fact that the RIP uses a modded 3.1 version which fixed the HUD and menu, also it skips the video.
Also I recommend avoiding the 3.0 patch you find on the site; that patch bring some strong copy protection which looks for CD even when it is mounted, and the no-CD file removes video support.
So the only thing you need is the CCD/IMG/SUB download, and we are good to go for:
Video problems: In the start, under DxWnd windowed mode, the video renders with major lag. On fullscreen mode, it doesn't even show but music plays. This is something that needs fixing.
HUD and pause menu problems: The game supports multiple renderers, please use the "Primary Display Driver" from graphics options. Using that, the HUD doesn't render. When you press Escape to pause, you won't see the menu options either.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the problem 1 occurs during the play of an intro video, so I suppose it could be caused by a bad codec. The game uses SMACKW32.DLL, but I'm not sure it uses it in this case. The rendering of the video improves a lot setting the D3D9 renderer, but then the game crashes ... it is to be investigated, and probably Huh could share his expertise in codecs and video rendering.
The problem 2 doesn't happen here, though I selected the "Primary Display Driver" and all other stronger options. The default DxWnd configuration is fine for the game.
But also on the way, I found out DDrawCompat and WineD3D already have it figured out.
The only useful information is with older SMACKW32.DLLs, the game doesn't run because of the missing ordinal "_ SMACKBUFFERBLIT@32", and this looks related to the video blitting, maybe a place where you could tweak/target with the default SMACKW32.
Secondly, the working SMACKW32.DLL flickers in DxWnd windowed mode only.
Last edit: BEEN_Nath_58 2022-11-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am curious because usually a missing DLL entry implies a load crash, unless the program tries to load it dynamically, but this is uncommon when the game distribution includes the dll like in this case. In addition, in the log that you sent me there is no reference to any attempt to load that entry dynamically. Could you post here the link to the vogons page where the problem was discussed? Possibly, also the links to WineD3D and DDRawCompat pages about the same problem. The google search didn't help me much with this topic ...
Last edit: gho 2022-11-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In addition, in the log that you sent me there is no reference to any attempt to load that entry dynamically. Could you post here the link to the vogons page where the problem was discussed? Possibly, also the links to WineD3D and DDRawCompat pages about the same problem. The google search didn't help me much with this topic ...
Probably you got confused by what I said.
The log that I attached, it just wanted to show the game HUD and menu problem, not the video problem.
Then I said, to fix the video with DxWnd, an old SMACKW32.DLL is usable (but that has problems in DxWnd windowed mode).
To counter the problem in windowed mode, I decided to put DDC or dgVoodoo2 (I wrote WineD3D by mistake) in the game folder, and both fixes the "Video Problem" I mentioned in the first post.
The missing ordinal problem happens only when I use an even older SMACKW32.DLL than what I recommended to use from the github link, and thus I termed it to be an hint to where the problem could lie.
The VOGONS page didn't discuss the problem with this game, but discussed that some SMACKW32.DLL versions have issues and replacements are available (and this game benefits from the replacement in some way).
Here we are talking about Geforce Hud fix. Maybe you could try it.
I did. The problem, as I discussed in the first post, v3.0 brings extra DRM, and this patch is based on that version too. So the game doesn't run for an unsupported DRM.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@gho
Well, I had a little time, I found out earlier. The game uses Smacker Video (SMK2) 640x240 25fps, palettetized RGB with palette element R:G:B,sound 44100Hz 16bit, so I assume no external codec will help and the videos are played directly via SMACKW32.DLL. So it is possible to get better results with some other/fixed SMACKW32.DLL with the same functions (as tried by @BEEN_Nath_58).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I confirm that here on Win7 with DxWnd I have a problem with video rendering (video redraws very slowly). Without DxWnd the problem does not occur. I have this problem both with the original SMACKW32.DLL (3.1s) and with other versions 3.1f, 3.1g, 3.1h, 3.1k, 3.1L, 3.1n, 3.1p, 3.1r, 3.1s, 3.2b, 3.2e , 3.2f, 3.2g, 3.2h, 3.2m, 4.0b I could not try the others due to time constraints. The only difference is 3.1f, the video stops and the effect is even worse here.
Update:
Ok, I took some more time and tried some versions yet. The video runs fine with version 3.0r in Win7 with DxWnd.
The video runs fine with version 3.0r in Win7 with DxWnd.
I think all the 2.2 versions and 3.0 versions work fine. Regardless of this change, they don't work properly in the DxWnd windowed mode.
video redraws very slowly
I can confirm the problem is in DxWnd. When I changed DxWnd version hook to None and used the default smackw32.dll, the game, although running in fullscreen, rendered the video at correct speed.
When DirectX version Hook is automatic or any other setting other than None, the game, if run in fullscreen, will have malfunctioned volume dials in the game settings, the fix is to run the game with Vsync, a thing that makes the game stuttery instead.
Alternatively, you can limit the game 800FPS in Limit tab, but more than that and the game dials will malfunction again; but there's another problem with Limit tab FPS settings, the cars in race start shaking.
Last edit: BEEN_Nath_58 2022-11-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think all the 2.2 versions and 3.0 versions work fine. Regardless of this change, they don't work properly in the DxWnd windowed mode.
I don't have this problem in Win7 with Dxwnd and version 3.0f.
Unfortunately, the differences between the versions
3.0r and 3.1b (the first version with rendering problems, I don't have 3.1a ) are too many to identify the culprit:
I don't have this problem in Win7 with Dxwnd and version 3.0f.
On Windows 11, the 2.1x versions run in windowed mode with 1/4th of the screen with fast flickering.
With the 3.0x version, the windowed mode runs in correct screen size but with the last video frame flickering over the present one, something like that.
After all, this isn't a Windows issue, hopefully gho fixes the bug; he has been busy with the DDI thing (maybe the next best thing after CDaudio emulation?)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Continuation..
The pause menu works fine for me with the ddraw:ForcesHEL flag, but unfortunately, the game then uses DI's Software Driver. With DDC 4 (W7 fix) it works with pause menu (Primary device driver) and also with dgVoodoo (dgVoodoo DirectX Wrapper driver). CNC-Draw switches to DI's Software Driver.
last video frame flickering over the present one, something like that.
Do you have a picture?
Last edit: huh 2022-11-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
With DDC 4 (W7 fix) it works with pause menu (Primary device driver) and also with dgVoodoo (dgVoodoo DirectX Wrapper driver).
This is some of their fixes, some mainstream fix as such problems are common.
Do you have a picture?
I was just about to test that, when I realised, the problem happens with the exact last 2.2x version and not 3.0 versions. The "1/4th screen problem" happens in supported 2.1x versions,
Okay we have a working file now, both of us! I just hope the original file usage can be fixed too.
Edit: btw @huh2, do you have those "headphone jack based headphones", ones that used to come with phones? It seems DxWnd fails in volume control (Emulate cd mixer) with those headphones in this game.
Last edit: BEEN_Nath_58 2022-11-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
problem happens with the exact last 2.2x version and not 3.0 versions.
A library delivered with Motorhead was smack32.dll version 3.1s, so I don't think you should use version 2.x with this game. The problem was caused by adding some function in version 3.1b or 3.1a as I wrote here https://sourceforge.net/p/dxwnd/discussion/general/thread/33fb0147b7/#6fd4/da36/852d
Unfortunately, there were many changes.
btw @huh2, do you have those "headphone jack based headphones"
I'm using speakers with a standard 3.5" jack three pin connector (left, right, ground). The headphone jack for the phone used to be a 3.5" or 2.5" jack four pin (left, right, ground, microphone). I didn't try to emulate the volume because the volume setting works right in the game for me.
Update:
I wonder what the problem with the missing pause menu with Nvidia actually is. I only found a patch everywhere, but what the fix does was not specifically described.
Update2:
The pause menu does not work with DDC 0.3.1, so the problem must have been fixed relatively recently in version 0.4.0. So I guess it's not a "totally common" fix. Apart from DDC 0.4 and dgVoodoo it didn't work with any wrapper I tried.
Last edit: huh 2022-11-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The pause menu does not work with DDC 0.3.1, so the problem must have been fixed relatively recently in version 0.4.0.
Hmm you are correct. As I said in my first post, the RIP game, maybe modded or not, already has working HUD and menu so I assumed that it's a common fix. I didn't test DDC 0.3.1 in Win11 since it has hooking problem, but DDC 0.3.2 also has the issue, so the fix is something relatably new at least for most wrappers.
I didn't try to emulate the volume because the volume setting works right in the game for me.
The cd volume, as I and VOGONS members verified, should decrease overall volume in the game. Emulate CD mixer fixes it. Since you don't have the hardware, when you use a headphone-jack-based-headphone, none of the volume sliders work at all.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@ghotik finally you are back. can you look into the two problems I mentioned? We have verified that thr video problem is some DxWnd interference that is easily fixed by disabling DxWnd DX, but we don't want to do it because the HUD isn't displayed. I have attached the required logs in my previous post.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
And if you don't want to compile, here's the two builds, the "useddraw.dll" is the one with the working 8b393ea... commit and the "notuseddraw.dll" is the one with the just previous non-working 075287b... commit.
Since this is a debug build, there is a chance you may get C++ errors while starting the game or slowdowns. Paste the files as ddraw.dll.
Shaders are code that is uploaded and run directly by the GPU. I don't think Dxwnd implements shaders in any form. Maybe the issue could be fixed without the use of GPU shader code but then again one would need more knowledge about what exactly is happening.
It also seems that this issue is not happening on all hardware. The Patches Scrolls website seems to have a fix called "Motorhead GeForce HUD" which seems to be original and date from 2000 and includes instructions to patch the game to 3.0 version first. So this is probably a game bug/ oversight that is best fixed in the game code itself.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
to have a fix called "Motorhead GeForce HUD" which seems to be original and date from 2000
Yes I have seen this patch but the problem is, you get a stronger DRM with it too, and the game becomes unlaunchable now because of lack of SecuROM? There are cracks out there but you lose videos. I thought DxWnd can have the feature available, if it is possible to have it. (This wasn't the most important thing out there to run the game, so I was silent on it :) )
Maybe the issue could be fixed without the use of GPU shader code
The software renderer renders the HUD fine, but D3D doesn't on Geforce. I wonder if AMD cards do render it correctly, to verify it's a historical problem for GeForce.
Last edit: BEEN_Nath_58 2022-11-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Looking at the executable it doesn't seem to have a particularly difficult copy protection. Using OllyDbg with the US version for the HUD fix I can see a simple jump condition which can be bypassed. What version of the game are you using? There are at least three different releases: US, EU(Europe) and OEM.
EDIT:
Regardless of what region release you have it looks like the following part can be Hex edited to bypass the cd check:
At offset 63943 change 74 to EB
That is assuming you patched the game to 3.0 first and used one of the GeForce HUD fix executables from Patches scrolls (EU, US or OEM depending on your release).
Last edit: dippy dipper 2022-11-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In effect it doesn't seem that the 3.0 patch adds much protection. The patched release works with fake CD emulation (see export) and, sadly, in my computer it doesn't have any Need for the HUD fix, if the HUD is what you see in the second screenshot. The only requirement is to copy in the fake CD folder the movie pack fromCD:\mhead\Movies\movies.pak, it is 114 MB but still far less than the 700+ MB of the CD image.
It is surprising neither worked for me. I must be doing something wrong in one case:
At offset 63943 change 74 to EB
It bypasses the initial CD check, but also removes the video. But the bigger problem is later, the game asks for the CD when you are about to race.
The only requirement is to copy in the fake CD folder
I created a folder called cd in the Motorhead dir and pasted mhead\movies\movies.pak in cd folder. I then edited the profile to redirect Fake CD to I:. The game can't find the cd yet, I also tried hiding the empty cd rom drivers (which don't exist). I also changed the "?\cd" to "?\cd\" (yes I am aware of the double slashes in that the game will receive) and it didn't help too. The cd label is same as yours.
Last edit: BEEN_Nath_58 2022-11-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Seeing peace in this forum, I thought it was time to move onto a new game, one that I found on VOGONS.
The game is Motorhead, made by Gremlin Interactive.
You can easily find it in old-games ru. Please download the CD version there for the fact that the RIP uses a modded 3.1 version which fixed the HUD and menu, also it skips the video.
Also I recommend avoiding the 3.0 patch you find on the site; that patch bring some strong copy protection which looks for CD even when it is mounted, and the no-CD file removes video support.
So the only thing you need is the CCD/IMG/SUB download, and we are good to go for:
Testbed ready.
the problem 1 occurs during the play of an intro video, so I suppose it could be caused by a bad codec. The game uses SMACKW32.DLL, but I'm not sure it uses it in this case. The rendering of the video improves a lot setting the D3D9 renderer, but then the game crashes ... it is to be investigated, and probably Huh could share his expertise in codecs and video rendering.
The problem 2 doesn't happen here, though I selected the "Primary Display Driver" and all other stronger options. The default DxWnd configuration is fine for the game.
Until then, I will try the SMACKW32.DLL replacements VOGONS started publihing for the same reason.
Here's the log then:
...followup.
Okay I managed to fix the video problem, I needed to use this file, which was the latest that worked fine.
But also on the way, I found out DDrawCompat and WineD3D already have it figured out.
The only useful information is with older SMACKW32.DLLs, the game doesn't run because of the missing ordinal "_ SMACKBUFFERBLIT@32", and this looks related to the video blitting, maybe a place where you could tweak/target with the default SMACKW32.
Secondly, the working SMACKW32.DLL flickers in DxWnd windowed mode only.
Last edit: BEEN_Nath_58 2022-11-10
I am curious because usually a missing DLL entry implies a load crash, unless the program tries to load it dynamically, but this is uncommon when the game distribution includes the dll like in this case. In addition, in the log that you sent me there is no reference to any attempt to load that entry dynamically. Could you post here the link to the vogons page where the problem was discussed? Possibly, also the links to WineD3D and DDRawCompat pages about the same problem. The google search didn't help me much with this topic ...
Last edit: gho 2022-11-10
@BEEN_Nath_58
Here we are talking about Geforce Hud fix. Maybe you could try it.
https://www.vogons.org/viewtopic.php?t=26814&start=40
Did you use patch 3.0? Although I think he doesn't fix video.
@ghotik
Probably you got confused by what I said.
I did. The problem, as I discussed in the first post, v3.0 brings extra DRM, and this patch is based on that version too. So the game doesn't run for an unsupported DRM.
@gho
I'm not at home now, I'll check the codecs for this game tonight.
@gho
Well, I had a little time, I found out earlier. The game uses Smacker Video (SMK2) 640x240 25fps, palettetized RGB with palette element R:G:B,sound 44100Hz 16bit, so I assume no external codec will help and the videos are played directly via SMACKW32.DLL. So it is possible to get better results with some other/fixed SMACKW32.DLL with the same functions (as tried by @BEEN_Nath_58).
DDC and dgV runs the video fine. Or was it already fine and it's some DxWnd interaction doing such lags?
I confirm that here on Win7 with DxWnd I have a problem with video rendering (video redraws very slowly). Without DxWnd the problem does not occur. I have this problem both with the original SMACKW32.DLL (3.1s) and with other versions 3.1f, 3.1g, 3.1h, 3.1k, 3.1L, 3.1n, 3.1p, 3.1r, 3.1s, 3.2b, 3.2e , 3.2f, 3.2g, 3.2h, 3.2m, 4.0b I could not try the others due to time constraints. The only difference is 3.1f, the video stops and the effect is even worse here.
Update:
Ok, I took some more time and tried some versions yet. The video runs fine with version 3.0r in Win7 with DxWnd.
I think all the 2.2 versions and 3.0 versions work fine. Regardless of this change, they don't work properly in the DxWnd windowed mode.
I can confirm the problem is in DxWnd. When I changed DxWnd version hook to None and used the default smackw32.dll, the game, although running in fullscreen, rendered the video at correct speed.
When DirectX version Hook is automatic or any other setting other than None, the game, if run in fullscreen, will have malfunctioned volume dials in the game settings, the fix is to run the game with Vsync, a thing that makes the game stuttery instead.
Alternatively, you can limit the game 800FPS in Limit tab, but more than that and the game dials will malfunction again; but there's another problem with Limit tab FPS settings, the cars in race start shaking.
Last edit: BEEN_Nath_58 2022-11-11
I don't have this problem in Win7 with Dxwnd and version 3.0f.
Unfortunately, the differences between the versions
3.0r and 3.1b (the first version with rendering problems, I don't have 3.1a ) are too many to identify the culprit:
3.0s-3.0t fixes for MAC
Last edit: huh 2022-11-11
On Windows 11, the 2.1x versions run in windowed mode with 1/4th of the screen with fast flickering.
With the 3.0x version, the windowed mode runs in correct screen size but with the last video frame flickering over the present one, something like that.
After all, this isn't a Windows issue, hopefully gho fixes the bug; he has been busy with the DDI thing (maybe the next best thing after CDaudio emulation?)
Continuation..
The pause menu works fine for me with the ddraw:ForcesHEL flag, but unfortunately, the game then uses DI's Software Driver. With DDC 4 (W7 fix) it works with pause menu (Primary device driver) and also with dgVoodoo (dgVoodoo DirectX Wrapper driver). CNC-Draw switches to DI's Software Driver.
Do you have a picture?
Last edit: huh 2022-11-11
This is some of their fixes, some mainstream fix as such problems are common.
I was just about to test that, when I realised, the problem happens with the exact last 2.2x version and not 3.0 versions. The "1/4th screen problem" happens in supported 2.1x versions,
Okay we have a working file now, both of us! I just hope the original file usage can be fixed too.
Edit: btw @huh2, do you have those "headphone jack based headphones", ones that used to come with phones? It seems DxWnd fails in volume control (Emulate cd mixer) with those headphones in this game.
Last edit: BEEN_Nath_58 2022-11-11
A library delivered with Motorhead was smack32.dll version 3.1s, so I don't think you should use version 2.x with this game. The problem was caused by adding some function in version 3.1b or 3.1a as I wrote here
https://sourceforge.net/p/dxwnd/discussion/general/thread/33fb0147b7/#6fd4/da36/852d
Unfortunately, there were many changes.
I'm using speakers with a standard 3.5" jack three pin connector (left, right, ground). The headphone jack for the phone used to be a 3.5" or 2.5" jack four pin (left, right, ground, microphone). I didn't try to emulate the volume because the volume setting works right in the game for me.
Update:
I wonder what the problem with the missing pause menu with Nvidia actually is. I only found a patch everywhere, but what the fix does was not specifically described.
Update2:
The pause menu does not work with DDC 0.3.1, so the problem must have been fixed relatively recently in version 0.4.0. So I guess it's not a "totally common" fix. Apart from DDC 0.4 and dgVoodoo it didn't work with any wrapper I tried.
Last edit: huh 2022-11-11
Hmm you are correct. As I said in my first post, the RIP game, maybe modded or not, already has working HUD and menu so I assumed that it's a common fix. I didn't test DDC 0.3.1 in Win11 since it has hooking problem, but DDC 0.3.2 also has the issue, so the fix is something relatably new at least for most wrappers.
The cd volume, as I and VOGONS members verified, should decrease overall volume in the game. Emulate CD mixer fixes it. Since you don't have the hardware, when you use a headphone-jack-based-headphone, none of the volume sliders work at all.
@ghotik finally you are back. can you look into the two problems I mentioned? We have verified that thr video problem is some DxWnd interference that is easily fixed by disabling DxWnd DX, but we don't want to do it because the HUD isn't displayed. I have attached the required logs in my previous post.
@ghotik @huh2
I managed to find the commit where Motorhead HUD was fixed. This is the one:
https://github.com/narzoul/DDrawCompat/commit/8b393ea49876f8f7ee85182304bc265583b816c4
And if you don't want to compile, here's the two builds, the "useddraw.dll" is the one with the working 8b393ea... commit and the "notuseddraw.dll" is the one with the just previous non-working 075287b... commit.
Since this is a debug build, there is a chance you may get C++ errors while starting the game or slowdowns. Paste the files as ddraw.dll.
Last edit: BEEN_Nath_58 2022-11-25
Shaders are code that is uploaded and run directly by the GPU. I don't think Dxwnd implements shaders in any form. Maybe the issue could be fixed without the use of GPU shader code but then again one would need more knowledge about what exactly is happening.
It also seems that this issue is not happening on all hardware. The Patches Scrolls website seems to have a fix called "Motorhead GeForce HUD" which seems to be original and date from 2000 and includes instructions to patch the game to 3.0 version first. So this is probably a game bug/ oversight that is best fixed in the game code itself.
Yes I have seen this patch but the problem is, you get a stronger DRM with it too, and the game becomes unlaunchable now because of lack of SecuROM? There are cracks out there but you lose videos. I thought DxWnd can have the feature available, if it is possible to have it. (This wasn't the most important thing out there to run the game, so I was silent on it :) )
The software renderer renders the HUD fine, but D3D doesn't on Geforce. I wonder if AMD cards do render it correctly, to verify it's a historical problem for GeForce.
Last edit: BEEN_Nath_58 2022-11-25
Looking at the executable it doesn't seem to have a particularly difficult copy protection. Using OllyDbg with the US version for the HUD fix I can see a simple jump condition which can be bypassed. What version of the game are you using? There are at least three different releases: US, EU(Europe) and OEM.
EDIT:
Regardless of what region release you have it looks like the following part can be Hex edited to bypass the cd check:
At offset 63943 change 74 to EB
That is assuming you patched the game to 3.0 first and used one of the GeForce HUD fix executables from Patches scrolls (EU, US or OEM depending on your release).
Last edit: dippy dipper 2022-11-25
In effect it doesn't seem that the 3.0 patch adds much protection. The patched release works with fake CD emulation (see export) and, sadly, in my computer it doesn't have any Need for the HUD fix, if the HUD is what you see in the second screenshot. The only requirement is to copy in the fake CD folder the movie pack from
CD:\mhead\Movies\movies.pak
, it is 114 MB but still far less than the 700+ MB of the CD image.Last edit: gho 2022-11-25
It is surprising neither worked for me. I must be doing something wrong in one case:
It bypasses the initial CD check, but also removes the video. But the bigger problem is later, the game asks for the CD when you are about to race.
I created a folder called cd in the Motorhead dir and pasted mhead\movies\movies.pak in cd folder. I then edited the profile to redirect Fake CD to I:. The game can't find the cd yet, I also tried hiding the empty cd rom drivers (which don't exist). I also changed the "?\cd" to "?\cd\" (yes I am aware of the double slashes in that the game will receive) and it didn't help too. The cd label is same as yours.
Last edit: BEEN_Nath_58 2022-11-25