Jump to content

sound system crash


Recommended Posts

I'm going to ask this question at a very high level first, and then if needed dive into the details. Maybe someone will have an idea what is going wrong from the high level description.

I'm including the T3D engine in my project as a part of our larger app. The App is a 64 bit application that has a button that opens a 3D window, which is based on the t3D engine.

At the moment, everything seems to be working pretty well in that I can launch our app, and click on the button, and it initializes and opens the window, which is based on the engine, but if I plug in my headphones, and do the same thing, the engine crashes while loading the SFX module.

It looks like the crash is associated with trying to load up the 'dllopen' routine from within the sound DLL. It seems to be failing to find that routine within the DLL.

What it feels like to me, is that the engine is trying to load the sound DLLs, which are still 32bit dlls, and it's failing because we're building a 64 bit app.

If anyone has any thoughts on this question, I would appreciate hearing them. I will be glad to post some more information if that would help on Monday.

Link to comment
Share on other sites

Thanks for the reply. Just looking at the crash as I write this to try to answer your question. As I think I mentioned, the engine module manager is calling initialize system, which is executing module->initialize() for the fourth module (I == 3). Which is the SFXSystem.

Looking a bit deeper in the call chain, SFXProvider is calling initialize all providers, and it's on the third provider (i == 2). Which is SFXDS.

That third provider is calling init, and it seems to be SFXDSProvider, and that's where the crash occurs, so I think the answer to your question is DS, or direct sound. Let me know if I misunderstood either the question, or the call chain.

Link to comment
Share on other sites

Pretty sure the DS backend is so flakey future versions of the engine did away with it entirely in favor of just using openal soft... does the same occur when using the current largely stable (at time of writing) development fork in a similar manner exhibit similar behavior?

Link to comment
Share on other sites

I know this is a pretty ignorant question, but what controls which backends get loaded?

I just loaded up the app I built from a cMake project from the 3.10.1 install, and DirectSound, OpenAl, and XAudio all show up in the options dialog, and all seem to work. So my plan would probably be to spend hours looking over my code, and trying to minimize differences between it and the cmake project I just built, but anything that could be done to educate me to reduce that time would be appreciated.

Link to comment
Share on other sites

Just for anyone who might have the same issue, I found the difference that was causing this crash. I had 'treat WChar_t as build in type' set to true in my project, and the t3d engine seems to be be unhappy with this setting.

Once I set this option to false in my project, this crash seems to be resolved.

(I also had some incorrect casts that were hiding what would have been a valid compiler complaint.)

Thanks for your help, Azaezel.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...