FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows ME, 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.3k stars 148 forks source link

Infinity Engine Games - Game crashes when cnc-ddraw is paired with DSOAL #161

Closed scraweck closed 2 years ago

scraweck commented 2 years ago

When trying to use DSOAL (enable EAX emulation, taken from pcgamingwiki ) with CNC-DDRAW, Infinity Engine games will crash instantly. I haven't tested with other games, hence specifically mentioned IE.

Games I've checked: Baldur's Gate 1 & 2, Icewind Dale 2.

The games do no crash when cnc-ddraw isn't present. Other ddraw wrappers work (checked with dgvoodo2)

Uploads: cnc-ddraw.log cnc-ddraw_dmp.zip

Mitradis commented 2 years ago

you try renderer=opengl?

scraweck commented 2 years ago

I am running in opengl because I also use shaders.

FunkyFr3sh commented 2 years ago

Just for testing, does it work with "hook=0" set in ddraw.ini?

scraweck commented 2 years ago

Just tried that, did not work. I went ahead and also tried options 1-4, but this did not change the behaviour either.

FunkyFr3sh commented 2 years ago

My game doesn't start anymore at all with the files you linked (even without cnc-ddraw). IWD2

I found a random download here: https://www.moddb.com/addons/true-3d-sound-for-headphones-hrtf-mod-v131a

This one seems to work

scraweck commented 2 years ago

I think that's the version I started with. Unfortunately it doesn't work either.

Also without cnc-ddraw starting the game with this dsound wrapper works without issues.

FunkyFr3sh commented 2 years ago

Did you check it without any other wrappers or did you check it with dgvoodoo or some other wrappers?

Some wrappers catch exceptions and let the game continue to run (I don't really want to do that with cnc-ddraw, too many issues with such hacks)

scraweck commented 2 years ago

Good point. I was sure I had tested it with dgvoodoo, but I wasn't sure if I tried without any ddraw wrappers. So I got rid of ddraw.dll and left dsound.dll, dsoal-aldrv.dll, andalsoft.ini. Once that was done, the game launched issues, so it's not any exceptions handling by other wrappers.

FunkyFr3sh commented 2 years ago

Cool, thanks for testing! I wIll try to set up some virtual machines, maybe I'm lucky and it's possible to reproduce it in one of them

FunkyFr3sh commented 2 years ago

No luck... same issue on my 2 Virtual machines. I tried with cnc-ddraw, without and also with dgvoodoo2, it's crashing on all setups. Also tried it on BG2 as well this time.

There's definitely something wrong with that dsound wrapper.

Closing this issue as I'm sure this is not a cnc-ddraw related bug.