narzoul / DDrawCompat

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

Descent II (Win95 version) Crashes on level load 50% of the time #199

Open OpenRift412 opened 1 year ago

OpenRift412 commented 1 year ago

As the title suggests. It works fine in the intro and menus, but once it tries to load the level, it's like a 50/50 chance that it hits me with an error like this: image

Any idea what might be causing this?

BEENNath58 commented 1 year ago

This is an infamous heap error. Install the EmulateHeap shim using Microsoft Application Compatibility Toolkit

OpenRift412 commented 1 year ago

This is an infamous heap error. Install the EmulateHeap shim using Microsoft Application Compatibility Toolkit

Is there any way to make this fix portable?

EDIT: did some research, apparently Windows 11 22H2 broke the EmulateHeap shim for whatever reason.

narzoul commented 1 year ago

Well, it's working better for you than for me then. I get a crash 100% of the time when starting a new game. EmulateHeap doesn't help, but I'm also on Windows 11 22H2.

I tried the 1.2 patch, which just adds another issue (the game doesn't unlock a surface properly and then complains about it and exits), but after bypassing that issue, it just crashes anyway.

As far as I can tell, none of the crashes are related to DirectDraw, so there's not much I can do about it.

BEENNath58 commented 1 year ago

I thought I should declare: On Win11 22H2, EmulateHeap removes the sound primarily. Also, I faced noticeable pauses in menus, probably the game was on the verge to crash. So yes, that's a no-go for EmulateHeap.