-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relics: The 2nd Birth works only with ancient DSOUND.DLL #96
Comments
MMDevApi is WASAPI, which in turn just about everything in Vista uses. Nothing strange at all there.
It's not exactly clear if this is actually something "qualitatively wrong" with dsound, or just the game having been written with the most fragile code ever and breaking even for (say) the slightest change in default values or something. |
I was suspecting the fact it was loading as a loop so that was suspicious...
DON'T worry about this! This is a DxWnd feature which was breaking sound volume, and it happened because the feature is used rarely. (A small view as to what it does: As I wrote "Initialise volume", the setting would multiply any volume in the Windows mixer by the volume put in DxWnd, by default, 0. So even without using DxWnd, it was running at 0 volume regardless of what volume is put in Windows mixer. I don't know how it does affect a condition outside DxWnd, but it happens on multiple computers so it should be something DxWnd exclusive) This Volume is NOT the issue at all. As in my original post and the SF post: the issue is the game hangs with modern dsound.dll. Old dsound.dll fixes it, DSOAL doesn't. IndirectSound somehow manages to get into a DPlay error instead (not that I know how to contact jonpol to fix this).
Username oleg on SF mentioned this, not me. Compatibility mode does nothing useful as he said. Ddrawcompat gives the 16bit color mode the game wants, which I instead get with the 16bit color compatibility mode in Properties panel. |
Can you check if catchsegv gives some workable stack trace? |
Sorry but can you tell how to specifically use the catchsegv.exe I used drmingw.exe -i to install the JIT, but I don't know how to use catchsegv.exe, or how to hook it to the game |
|
Got this from CMD debugoutput
I also defined a minidump using -Z "C:\dumps" but it is not generated. I also know it is not the DxWnd forums, but that probably had a better logging of operations: I did a comparision of what happens on XP and 11, scroll to the middle to start seeing the sound part: |
Anything since? |
The game doesn't use EAX or any proprietary sound effects. The problem is in the normal DSOUND.DLL part.
The problem was mentioned in DxWnd forums https://sourceforge.net/p/dxwnd/discussion/general/thread/11e0a66a3c/
and despite my assumptions to be a problematic MME (the game was loading MMDevApi.dll too much, something that didn't happen with an old dsound.dll on Win11), the final issue was found in DSOUND.DLL. I could live with an old dsound.dll but it often stutters in the intro video parts (not to mention an old file is potentially unsafe).
Could DSOAL do anything for it?
The game is present in old-games ru.
I don't think logs can tell where the problem is since the game just hangs, but still I got LVL3 logs from OpenALSoft as well as DSOAL:
logs.zip
The text was updated successfully, but these errors were encountered: