ValveSoftware / source-sdk-2013

The 2013 edition of the Source SDK
https://developer.valvesoftware.com/wiki/SDK2013_GettingStarted
Other
3.7k stars 1.99k forks source link

Fix Linux soundscapes #448

Open TotallyMehis opened 6 years ago

TotallyMehis commented 6 years ago

The soundscape keyvalues loaded using IFileSystem::LoadKeyValues returns incorrect data and fails to setup soundscapes correctly. This means soundscapes don't work at all, in any map.

This has been reported to other mods, surprisingly nobody has brought it up here. Don't know if this has any effect on SP. Haven't investigated if it's because of IFileSystem::TYPE_SOUNDSCAPE.

TotallyMehis commented 6 years ago

Did you mean KeyValues::SetUseGrowableStringTable? At no point do we use it in the game code.

Adrianilloo commented 6 years ago

Hi back. Yes, I corrected it. I'm sorry for assumming such situation. I want to inform you that after dealing with my KV's conflicting issue, I don't get the soundscapes error output in console neither in my Linux server, if useful.

News: here is the solution, caused by another problem. The Linux tier0 and vstdlib libraries, that are linked when the 2013 server/client are launched, are out of sync with SDK. This also causes problems with command line functions and debug messages, as you could go and see I reported in Tier0 problems on Ubuntu 64 bit. But in the same bin directory, the updated libraries are in. So you can manually fix it by linking against these instead, doing so (cd to the bin dir within main srcds or hl2 executable folder, first):

mv libtier0.so libtier0.so.bak
ln -s libtier0_srv.so libtier0.so
mv libvstdlib.so libvstdlib.so.bak
ln -s libvstdlib_srv.so libvstdlib.so

From the above commands you can observe the library names ending in _srv are the ones to go for. Naturally I had done these steps some months ago, so I was not getting these soundscapes manifest load errors until I have earlier enabled the original libtier0.so and libvstdlib.so for checking. If you now launch SRCDS (or client) the soundscapes bug shall not happen. Let me know if you achieve same results.