The game I want to present is a real massacre. The game is terribly unstable on today's computers, and it freezes constantly when playing videos. Additionally, when you start the game via the launcher, the game starts in Polish, but when you run it via DxWnd, the game is in English. The game is also incompatible with NVIDIA graphics cards, so textures are transparent when you run the game on such a card. Anyone have an idea how to run the game? I have a game from the Giga Pak collection from City Interactive which I put on archive.org - https://archive.org/details/giga-pak, but if someone does not want to download 7 GB of data, the game can be downloaded even from polish-abandonware - https://mirror.polish-abandonware.pl/Gry/RPM%20Tuning%20PL.7z
Here is a test profile that addresses the first two things.
1) The game is started with parameters, you can use main.exe, mainNoSSE.exe, mainSSE2.exe (RPM.exe launcher chooses the one he likes).
The parameters are:
resolution, bitdepth, window, polish, directsound
800 600 32 false 8 1
2) The video freeze was removed with flag Direct3D-Force Vertex Proc.-software system.
Other problems remain, (video is not centered, stability is bad), I do not know if I can do something about it, I'll look on it tomorrow if I have time.
I checked the game on your config and the game is still not very stable in the movies, and when I turned on the fast race then ... look for yourself. Well, it's a tragedy. And I have such broken textures throughout the race, such as if I touch a car. Eh, I knew this game was shit, but I didn't know it was that bad
Logs are puzzling, it looks like the game is using d3d in some unconventional way. Maybe once understood what's going on the game could be fixed, who knows? For sure, it would be better if the game could work stable at least in native mode ...
But, damn'it, movies are movies, what was in the developer's head when they decided to play movies in some weird way?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Luckily the game doesn't crash when observed by the ApiTrace logger, so I can get a full trace of events. This is promising: the movie play seems made by a loop of updates of a IDirect3DTexture9 object, where probably the video frames are drawn between the Lock and Unlock primitives.
The picture shows the "incident": the Present final method was issued before the Unlock took place, therefore putting the program in a locked state! This is a program's bug, hopefully we could try to recover.
And does locking and unlocking frames while playing videos work on one thread or on many? Because if on many it makes sense because in multithreaded d3d9 you can keep "Lock" while calling Present. Then, the movie playback can overwrite the frames, and the main story then renders. Or is EndScene the problem? BeginScene / EndScene define boundaries between frames, and you shouldn't keep resources locked between frames
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't have damaged textures to the same extent as MrPepka. Sometimes the screen flashes with damaged textures, and sometimes it takes a long time depending on on the situation with the car, but it always returned to normal. It probably depends on the graphics card, I have a very old Nvidia.
Now, the car controls have stopped working, the keyboard is dead. It works in the menu.
I don't know what happened, it still worked yesterday.
When you try to load the default keyboard settings, the game crashes.
Update:
Seems, that the protect.dll file is related to StarForce protection. If the game is patched, this may be one of the reasons for the problems.
Update2:
OK, I finally had to rename the file \data\Save\OPTIONS.sav , now the keyboard works again.
Update3:
Now I've turned on the Direct3D-Force Vertex Proc.-mixed flag and it's even better than with "software". I no longer have flashing of damaged textures.
Unfortunately, I think it will only work for me, with my old graphics card .
Bad news about the movies: I've been working for a few (wasted) hours trying to fix a possible game forgotten unlock: I added some logic to track textures lock / unlock operations and force an unlock call when necessary. The result was puzzling: on some runs, it seemed to work perfectly (I could even see the whole intro movie!) while a few seconds later the movie was blocked right away. Looking better the comparison between the regular behavior vs. the "locked" state it seems that the game suddenly ceases to do its work and makes only partial operations (like lock & unlock without any screen change). It seems that for some mysterious bug the game starts to skip some essential part of the logic.
Because of the unpredictable results, I don't feel like publishing this patched dxwnd.dll. So far, the most clever thing that I found to bypass the problem is to press the enter key immediately as soon as the intro starts to bypass it going directly to the main menu. The rest of the game doesn't work too badly for me, after all!
Thanks. I think I already saw the italian version of the game published in some budget version, probably a free edition together with some computer magazine. And I don't recall that the game was so troublesome, but that was in the WinXP ages, and I'm not sure of what I'm saying at all. If I find the original CD I'd be curious to compare the game executables, I wonder if we have another bad crack here...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That's unbelievable. I downloaded the demo version from here https://www.ggmania.com/leech.php?id=demos&f=rpm_demo_1_2.zip
and transferred game from VirtualXP to Win7. And even the demo version has
main.dll (StarForce) and the migrated game refuses to run. This is real paranoia.
Last edit: huh 2021-04-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@ghotik Maybe you have Windows 7? If so, then download DirectX Control Panel and enable the options "Use Debug version of Direct3D 9" and options from the "Debugging" section (Maximum Validation, Enable Shader Debugging, Break on memory leaks and Break on D3D9 error, you can also optionally enable " Enable multi-mon debugging "). Then using some debugger (e.g. a simple DebugView from NirSoft) you can read the output what exactly is going on
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The game I want to present is a real massacre. The game is terribly unstable on today's computers, and it freezes constantly when playing videos. Additionally, when you start the game via the launcher, the game starts in Polish, but when you run it via DxWnd, the game is in English. The game is also incompatible with NVIDIA graphics cards, so textures are transparent when you run the game on such a card. Anyone have an idea how to run the game? I have a game from the Giga Pak collection from City Interactive which I put on archive.org - https://archive.org/details/giga-pak, but if someone does not want to download 7 GB of data, the game can be downloaded even from polish-abandonware - https://mirror.polish-abandonware.pl/Gry/RPM%20Tuning%20PL.7z
Last edit: MrPepka 2021-04-15
Here is a test profile that addresses the first two things.
1) The game is started with parameters, you can use main.exe, mainNoSSE.exe, mainSSE2.exe (RPM.exe launcher chooses the one he likes).
The parameters are:
resolution, bitdepth, window, polish, directsound
800 600 32 false 8 1
2) The video freeze was removed with flag Direct3D-Force Vertex Proc.-software system.
Other problems remain, (video is not centered, stability is bad), I do not know if I can do something about it, I'll look on it tomorrow if I have time.
I checked the game on your config and the game is still not very stable in the movies, and when I turned on the fast race then ... look for yourself. Well, it's a tragedy. And I have such broken textures throughout the race, such as if I touch a car. Eh, I knew this game was shit, but I didn't know it was that bad
Logs are puzzling, it looks like the game is using d3d in some unconventional way. Maybe once understood what's going on the game could be fixed, who knows? For sure, it would be better if the game could work stable at least in native mode ...
But, damn'it, movies are movies, what was in the developer's head when they decided to play movies in some weird way?
Luckily the game doesn't crash when observed by the ApiTrace logger, so I can get a full trace of events. This is promising: the movie play seems made by a loop of updates of a IDirect3DTexture9 object, where probably the video frames are drawn between the Lock and Unlock primitives.
The picture shows the "incident": the Present final method was issued before the Unlock took place, therefore putting the program in a locked state! This is a program's bug, hopefully we could try to recover.
And does locking and unlocking frames while playing videos work on one thread or on many? Because if on many it makes sense because in multithreaded d3d9 you can keep "Lock" while calling Present. Then, the movie playback can overwrite the frames, and the main story then renders. Or is EndScene the problem? BeginScene / EndScene define boundaries between frames, and you shouldn't keep resources locked between frames
I don't have damaged textures to the same extent as MrPepka. Sometimes the screen flashes with damaged textures, and sometimes it takes a long time depending on on the situation with the car, but it always returned to normal. It probably depends on the graphics card, I have a very old Nvidia.
Now, the car controls have stopped working, the keyboard is dead. It works in the menu.
I don't know what happened, it still worked yesterday.
When you try to load the default keyboard settings, the game crashes.
Update:
Seems, that the protect.dll file is related to StarForce protection. If the game is patched, this may be one of the reasons for the problems.
Update2:
OK, I finally had to rename the file \data\Save\OPTIONS.sav , now the keyboard works again.
Update3:
Now I've turned on the Direct3D-Force Vertex Proc.-mixed flag and it's even better than with "software". I no longer have flashing of damaged textures.
Unfortunately, I think it will only work for me, with my old graphics card .
Last edit: huh 2021-04-17
Bad news about the movies: I've been working for a few (wasted) hours trying to fix a possible game forgotten unlock: I added some logic to track textures lock / unlock operations and force an unlock call when necessary. The result was puzzling: on some runs, it seemed to work perfectly (I could even see the whole intro movie!) while a few seconds later the movie was blocked right away. Looking better the comparison between the regular behavior vs. the "locked" state it seems that the game suddenly ceases to do its work and makes only partial operations (like lock & unlock without any screen change). It seems that for some mysterious bug the game starts to skip some essential part of the logic.
Because of the unpredictable results, I don't feel like publishing this patched dxwnd.dll. So far, the most clever thing that I found to bypass the problem is to press the enter key immediately as soon as the intro starts to bypass it going directly to the main menu. The rest of the game doesn't work too badly for me, after all!
You can also run the game in Italian if you want, the parameters are as follows:
800 600 32 false 0 1
800 600 - resolution
32 - bitdepth
false/true - window
0 - language - 1 german, 2 french, 3 english, 4 spanish, 5 portuguese,
6 (?) not working, game freezes, 7 russian, 8 polish, 9 hungarian, 0 italian
0/1 - 0 without sound, 1 directsound
If your keyboard stops working in race after switching languages, delete \data\Save\OPTIONS.sav
Last edit: huh 2021-04-18
Thanks. I think I already saw the italian version of the game published in some budget version, probably a free edition together with some computer magazine. And I don't recall that the game was so troublesome, but that was in the WinXP ages, and I'm not sure of what I'm saying at all. If I find the original CD I'd be curious to compare the game executables, I wonder if we have another bad crack here...
Do you remember the magazine this game was attached to? Maybe this CD will be found?
That's unbelievable. I downloaded the demo version from here
https://www.ggmania.com/leech.php?id=demos&f=rpm_demo_1_2.zip
and transferred game from VirtualXP to Win7. And even the demo version has
main.dll (StarForce) and the migrated game refuses to run. This is real paranoia.
Last edit: huh 2021-04-18
@ghotik Maybe you have Windows 7? If so, then download DirectX Control Panel and enable the options "Use Debug version of Direct3D 9" and options from the "Debugging" section (Maximum Validation, Enable Shader Debugging, Break on memory leaks and Break on D3D9 error, you can also optionally enable " Enable multi-mon debugging "). Then using some debugger (e.g. a simple DebugView from NirSoft) you can read the output what exactly is going on