sound system crash

Expanding and utilizing the engine via C++.
7 posts Page 1 of 1
stevel
Posts: 18
Joined: Thu Mar 19, 2015 12:15 am
by stevel » Sat Jan 26, 2019 2:00 am
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.
Azaezel
Posts: 445
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Sat Jan 26, 2019 8:02 pm
potentially... which SFX backend?
stevel
Posts: 18
Joined: Thu Mar 19, 2015 12:15 am
by stevel » Mon Jan 28, 2019 8:40 pm
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.
Azaezel
Posts: 445
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Wed Jan 30, 2019 4:40 pm
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?
stevel
Posts: 18
Joined: Thu Mar 19, 2015 12:15 am
by stevel » Sat Feb 02, 2019 12:09 am
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.
Azaezel
Posts: 445
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Sat Feb 02, 2019 2:02 am
stevel
Posts: 18
Joined: Thu Mar 19, 2015 12:15 am
by stevel » Tue Feb 05, 2019 8:29 pm
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.
7 posts Page 1 of 1

Who is online

Users browsing this forum: No registered users and 2 guests