* GroundWork
-Reverted SFXPlaylist since it is going to be made from an asset now instead.
-Added extra options to soundAssets description.
-SFXPlaylist may need an onAdd function
* Update sfxController.cpp
* SFXPlaylist data
-Added sfxPlaylist init persist fields for the slots to sound asset
-Added logic to fil sfxPlaylist if more than 1 slot is filled
* Update SoundAsset.cpp
to stop git ci complaining, assetImporter........
* Update SoundAsset.h
* sfxPlaylist
-Fix: incomplete type error
-Added onAdd and onRemove to playlist
-SoundAsset getProfile define now returns playlist if the asset is a playlist.
* Update SoundAsset.h
-updated asset array to return playlist or profile depending on what the asset is
* SFXPlaylist working
-SFXPlaylist works
AudioChannelDefault gets its volume set to 0 for some reason and was throwing off making sfxPlaylist inaudible.
Still an exception when closing if using a playlist trips on line 355 of sfxSound
* Update sfxSound.h
* setSoundFile index null fix
* Update SoundAsset.h
* Update SoundAsset.h
* netstream safety in case of a null asset assignment
* Update sfxController.cpp
added safeties around a null playlist trying to play.
* Update with Az's asset err code changes
---------
Co-authored-by: AzaezelX <quillus@hotmail.com>
Adds logic to SoundAsset's load sound to 'nudge' the SFX system to load the required data for first use
Shifts SimSoundAssetEvent constructor to utilize assetId instead of raw asset so we can safely fail if for whatever reason we end up default constructor'ing blanks
Standardizes the shapeImage playList lookup a bit into a common function and ensures that on packet receive we force an update of the state's sound
- Con::executef now uses a template
- All public execution functions now restore the console stack upon return
- Fixed bad parameters on some callbacks
- Reverts get*Arg behavior