narzoul / DDrawCompat

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

Another Mig Alley Issue / Request #176

Closed WesCov closed 1 year ago

WesCov commented 1 year ago

Hi,

I have a Dell laptop running Windows 11 with a generic display adaptor (Intel UHD 620).

I can run Rowan's Mig Alley with the 1.23 patch applied in Windows 8 compatibility mode with your DDrawCompat v0.4.0. (Thank you!) The attached file "DDrawCompat-Mig #1.log" logs the successful run.

After I apply the BDG patch (bdg_migalley_0.85f), the program starts with a white screen (with some misplaced navigator menus) and simply goes back to the file navigator. The attached file "DDrawCompat-Mig #2.log" logs the failed run. I think the only difference between the logs are that these last two lines are only in the successful run:

11:23:28.914 Using Direct3D device type: IID_IDirect3DHALDevice 11:23:53.203 DDrawCompat detached successfully

The mig alley community recommends adding a trio of files, always packaged together: ddraw.dll, libwine.dll, and wined3d.dll. I am pretty sure that the ddraw.dll is not yours but I can't find the files' source. When I add them to the directory, mig alley starts up with all the game menus but the 3d environment will not display -- the sound is in the background but the splash screen doesn't go away. I do not see a log file from this run. This situation is the same as described in Issue #129 but I don't have an NVIDIA graphics card so the G-Sync solution doesn't work, and the ddraw is not yours anyway.

My hope is that you can suggest how to get your dll to work with the last patch, or your dll can be modified, so that the trio of files are not needed. The reason that I would like the additional patch applied is that it allows for joysticks to be used whereas the unpatched version only accepts keyboard input.

Please let me know if there is more information I can supply. I wish I could help more more but your skills are way past my capabilities.

Thanks much.

DDrawCompat-Mig #1.log DDrawCompat-Mig #2.log

witchiewoman commented 1 year ago

It doesnt work for me eithr, white screen then CTD

witchiewoman commented 1 year ago

try deleting dbghelp in your folder, sometimes that works.

WesCov commented 1 year ago

Thanks for the suggestion but it did not work. Another tip is to turn off the intro video in the bdg.txt file and this did not work either. It still flashes a white screen then disappears.

witchiewoman commented 1 year ago

Heres my logs, maybe an intel driver problem which is weird because I do not use it. I use my nvidia GTX 2070 but something is pointing to intel and buffer issues when starting many of these ddraw games.

This is on 4.0 ddraw

DDrawCompat-Mig.log

narzoul commented 1 year ago

I remember this game has a buffer overflow issue if there are too many display modes supported by the monitor. You need to narrow down the list with the SupportedResolutions setting. Try putting this in DDrawCompat.ini: SupportedResolutions=640x480,800x600,1024x768

@witchiewoman Based on your debug logs, this definitely seems to be the issue for you.

@WesCov If this doesn't work for you, please upload debug logs next time! You can enable debug logging in the Release build too by putting LogLevel=debug in DDrawCompat.ini.

witchiewoman commented 1 year ago

Ok that helped, I can even get into the preferences menus now but when I hit fly I CTD with this log on 4.0

DDrawCompat-Mig.log

narzoul commented 1 year ago

Could you try it a few more times, does it always crash? I also had a random crash there when I tried it earlier today, but it worked fine on second try. When I looked at the crash dump and the logs I didn't see anything DirectX related, so I assumed it was another random unrelated crash (most probably memory corruption). I don't see anything strange at the end of your logs either.

WesCov commented 1 year ago

Supplying the SupportedResolutions ini line fixed all the issues for me. No crashes and with the bdg patch applied I can use a flight stick. Thank you so much! And thank you @witchiewoman for your input! I hope your issues can be resolved as easily. Do try to turn off the intro video in bdg.txt because I think that does cause some problems.

witchiewoman commented 1 year ago

Continues to crash to desktop when I hit frag. Videos were disabled already.

witchiewoman commented 1 year ago

DDrawCompat-Mig.zip

witchiewoman commented 1 year ago

crash log

crashlog.txt

narzoul commented 1 year ago

Please collect a crash dump too as described here: https://github.com/narzoul/DDrawCompat/issues/50#issuecomment-520162844 Attach it together with the debug logs from the same run. Thanks!

narzoul commented 1 year ago

After comparing our logs, I just realized we have different in-game settings. I forgot to max out the graphics. Now I can reproduce the crash. I think it's caused by the "trilinear" or "all" filtering. Try using bilinear only and it should work.

witchiewoman commented 1 year ago

Works! Thanks!

narzoul commented 1 year ago

Ok, I found the reason for the crash, or at least in my case. When palettized textures are supported, the "trilinear" and "all" filters try to create mipmapped palettized textures, which is not currently implemented in DDrawCompat's palettized texture emulation (it doesn't yet support mipmaps).

Setting PalettizedTextures=off in DDrawCompat.ini allows me to use the "trilinear" and "all" filters too without a crash. Although I'm not completely sure if it'll help in your case also, because your log's a bit different. But it's worth a try.

WesCov commented 1 year ago

Thanks!