Repository navigation
Conversation
…n-steamaudio Merge any changes from utopia-rise
|
okay seems like this has a small issue, the pull request automatically included the changes from the steam audio implementation for this. |
|
Are we sure we want to commit 12k+ lines that are vs studio related? Is this 100% needed? |
|
Most of the line additions are in files that contain local information like all the files in /build/.cmake, .vscode/, and the 'vcxproj' files. With those filtered out the changes are far more conscise. |
|
Yes there is a bunch of unrelated files and also several changes that would be better split into smaller PRs to keep each focused. I can do the split at a later date |
Fixes taken from the open pull requests of utopia-rise/fmod-gdextension: * utopia-rise#443: keep the UTF-8 converted plugin path alive while FMOD loads it * utopia-rise#442: return the final parameter value from get_parameter_by_* and fix the error messages of the global parameter getters * utopia-rise#441: do not restart autoplay events when the editor sets the event * utopia-rise#429: do not dereference a null event description and do not build a garbage path when getPath returns FMOD_ERR_EVENT_NOTFOUND * utopia-rise#417: look the plugins settings up with ResourceLoader so exported projects find them * utopia-rise#434: link with a weak load_all_fmod_plugins on iOS so a project without static plugins still links (the rest of utopia-rise#434 is an iOS simulator build overhaul and is out of scope here) * utopia-rise#395: validate the event description before reading parameters Bugs found while auditing the code base: * FmodServer::_set_listener_attributes returned instead of continuing on a listener outside the tree, so the remaining listeners were skipped * FmodServer::shutdown released the FMOD system before the event instances and deleted the cache while banks could still be referenced, leaving dangling handles and crashing on late Ref releases; FmodBank::~FmodBank now also checks the server singleton * load_bank, unload_bank and banks_still_loading dereferenced the cache without a null check, and unload_bank refused to unload banks that are packed in the PCK because of a FileAccess::file_exists check * get_global_parameter_desc_list truncated its result to 256 entries and the performance counters overflowed after 2 GiB of reads * The asynchronous file reader waited on a condition variable without a predicate and could miss a notification, which blocked the read thread forever; the thread now drains pending requests when it stops * godotFileOpen dereferenced the Ref returned by FileAccess::open even when the open failed, and godotFileClose dereferenced a null handle * The event callbacks dereferenced the server singleton, the event user data and the programmer sound without null checks * FmodEventDescription::get_instance_list built a Ref from an uninitialized pointer, and the parameter label getters returned an uninitialized buffer when the FMOD call failed * string_to_fmod_guid left the GUID uninitialized when the string did not parse, and FMODCLASSWITHPATH read the path of a failed getPath * FmodEvent::set_node_attributes dereferenced a null node and FmodSound::is_valid tested an uninitialized bool on a null handle * The logging settings enum hint was off by one, so DEBUG_INHERIT was missing from the inspector and DEBUG_VERBOSE could not be selected * D_METHOD argument name typos in FmodEventEmitter and FmodEventDescription Release workflow: replace the archived node12 release actions (actions/create-release@v1 and actions/upload-release-asset@v1) with softprops/action-gh-release@v2, use checkout@v4 and grant contents: write so the tag build can publish its assets.
No description provided.