[Added] C++ Implementation of dynamic audio sound types which maintains backward compatibility
[Added] Angelscript Bindings
[Fixed] SetSoundTypeAttr and GetSoundTypeAttr
Added editor sound type editor window, the user added ones can be dragged onto line edits which sets that line editor with the internal StringHash of the Sound Type.
Added AM_READ for backwards compatibility to read old enum based sound types but not serialize them.
Added Lua Bindings
Fix for new serialization system and StringHashes
Added dynamic cursor definitions while keeping the original enum definitions for backwards compatibility, ui subsystems and sdl. Revised the serialization system for cursors as well which is a breaking change and requires wrapping each old style cursor definition in a <variant type="VariantVector></variant>.
[Added] Documentation
[Added] Sound Type saving in editor
[Changed] Refactored inline with discussion
Build and Lua bindings fixes. Return 1.0 for unknown master volumes. Change Audio::IsMasterGain() to Audio::HasMasterGain(). Change Audio::GetSoundSourceMasterGain() to use StringHash to avoid per-frame string compares. Guard against out of bounds array access when deserializing cursor's shape attributes.
Fix UI element drags with DragDropContent defined showing a "not accepted" icon, yet succeeding when the drag is released.