narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
925 stars 70 forks source link

Uefa Challenge not working on windows 1903 #50

Closed subelio closed 5 years ago

subelio commented 5 years ago

So.. I tested your ddraw.dll build from 2nd January ,and that was the only version that started game and make it playable at full .(also working in windows 8.1) .That is amazing ! Now in win 10 1903 it can't even start .. Any chance you can edit that code and make the game playable again ?

narzoul commented 5 years ago

I don't have the game and there doesn't seem to be a demo version of it anywhere. Please attach the ddraw.log file using the ReleaseWithDebugLogs build (in ddraw-debug.zip).

subelio commented 5 years ago

Well I have two log files .. One is when game is working on win 8.1 and another is when it crashed on win 10 ddraw.log ddraw1.log

ddraw.zip

narzoul commented 5 years ago

Thanks for the logs! Unfortunately, those are from the Release build so they don't contain much information, although it's enough to see that it crashes while hooking GDI functions.

I have already fixed a compatibility issue with Windows 10 v1903 about a month ago, which may be responsible for this, but you are using an older release from January. Have you tried the latest experimental version? Does it still crash, or are there other problems instead?

If it still crashes, it would be best if you could send me a crash dump that I can analyze. You have to enable the crash dumps via the registry as they are disabled by default. To enable them, create the following key in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps To disable them, remove the key. For simplicity, or if you don't know how to edit the registry, I have attached a pair of .reg files that can do the same thing if you execute them. Just extract them from this archive: EnableLocalDumps.zip

Then you can collect the crash dump as follows:

  1. Run the EnableLocalDumps.reg file. Press Yes when asked for a confirmation. Alternatively, you can manually add the registry key mentioned above using regedit.
  2. Run the game and wait until it crashes. You should now have the crash dump file in the %LOCALAPPDATA%\CrashDumps directory. The full path should be something like C:\Users\<YourUserName>\AppData\Local\CrashDumps (replace the <YourUserName> part with your Windows user account name). Compress the dmp file into a zip file and attach it in a comment.
  3. Run the DisableLocalDumps.reg file to disable the crash dumps for future application crashes, or remove the key manually from the registry.
subelio commented 5 years ago

Yes,I tried experimental version also ... Game started and after intro it crashed. I will do my best to to get that crashdumps as soon as possible . Thank you for making old games alive again :)

narzoul commented 5 years ago

Please do so with the latest experimental release then, I assume the earlier crash was caused by the bug that I already fixed. The crash after the intro should be something else.

subelio commented 5 years ago

Also tried Wine3D wrapper ,and it works but loading is slow comparing to yours work ! I was positively surprised ;)

subelio commented 5 years ago

Here is crashdumps ...
Soccer4.exe.12192.zip

narzoul commented 5 years ago

Thanks! I see that it's crashing on a null pointer access in D3D7Lib.dll. I googled around a bit and it seems this file (and possibly some others) can cause problems with DirectDraw wrappers. The usual advice is to just delete them, but for now, I'd suggest just renaming them or moving them to another directory.

If moving/renaming the above file is not sufficient, you can also try doing the same with these: D3d6Lib.dll sft8lib.dll

subelio commented 5 years ago

But with January version it works with out nothing changed or removed ? I mean it works in 1809 and win 8.1 ,and that was the only version that can start and end game without any problems .. I will try what you suggested .. Game patch updated that d3d7lib ,so maybe it can't be removed ..

Soccer4.exe.408.zip

Just checked with wine3d ,game crash without d3d7lib ..

narzoul commented 5 years ago

I think I found the problem. The latest experimental release (just updated) should fix it. Please let me know if it works for you or not. Also, you can undo the changes to d3d7lib.dll.

subelio commented 5 years ago

Nope.. Still same crash after intro ,it is small black window and than closed . Soccer4.exe.8432.zip

narzoul commented 5 years ago

Actually, it's not the same crash. It crashed in a different place, in Soccer4.exe this time. It looks like you may not have restored d3d7lib.dll properly as it is no longer in the loaded modules list. Based on your earlier crash dumps, it should be here: C:\Program Files (x86)\UEFA Challenge\Stealth\Render\D3d7Lib.dll

Please make sure it's restored to its original name and location and try again.

subelio commented 5 years ago

With latest it works ! I am in game again :D Thank you !!!