Closed Barsonax closed 4 years ago
Seems that this library is windows only though? @ilexp do you have to use something different on linux?
OpenALSoft is a fallback for Windows systems that do not have any OpenAL drivers installed, and they remain inactive if OpenAL comes with the used audio drivers anyway. On Linux / MacOS, Duality does not bring along a fallback, but in the same way it's possible that these systems do have OpenAL drivers present in some form themselves. It's not a strict requirement for OpenAL audio support, but it increases compatibility on Windows.
I was asking because I now put the dll's in the any folder. This works but if they are only intended for windows then thats not exactly correct. Would be cleaner to put them in win-x64 and win-x84 folders I think. I believe you can put in multiple RuntimeIdentifier
but have to check how that will exactly behave.
I guess in that case we're in a Windows only context anyway, since package installs are only relevant to the developer environment setup, not deployed games. So the package would currently only be installed in a Windows setup, or one that doesn't care about those files. It might not be clean, but shouldn't cause issues.
However: When the editor one day runs on non-Windows platforms, it might actually be correct to include the files there, since you could theoretically develop a game on Linux or Mac, which you plan to deploy on Windows, so the files would need to be there at least for deployment / build purposes. (Although in that case, one might argue whether they should be categorized as runtime lib?)
That's way ahead into the future though. Point is, it might not be all that wrong, depends on how you look at it. I think either way would be fine for now, reconsider as needed.
Hmm Ill keep it this way for now. Not really relevant atm.
Moved the openalsoft libraries to the runtimes\any\native folder in the nuget package
In the template I had to add
<RuntimeIdentifier>any</RuntimeIdentifier>
to the csproj so that it knows to pick up the any folder.This solves the warning you otherwise get because it was trying to load the native dll's as a non native dll.
Solves #787