From d4c0c6fd3d879f5f3ba808079131c37ca795b393 Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Mon, 6 Apr 2026 09:56:03 +0100 Subject: [PATCH] add backwards compatibility Adds the backwards compatibility functions isValid getProfile --- Engine/source/T3D/assets/SoundAsset.cpp | 12 +++++++++++- Engine/source/T3D/assets/SoundAsset.h | 20 ++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Engine/source/T3D/assets/SoundAsset.cpp b/Engine/source/T3D/assets/SoundAsset.cpp index c82e7fb07..282135914 100644 --- a/Engine/source/T3D/assets/SoundAsset.cpp +++ b/Engine/source/T3D/assets/SoundAsset.cpp @@ -582,8 +582,18 @@ void SoundAsset::populateSFXTrack(void) { U32 count = 0; for (U32 i = 0; i < SFXPlayList::SFXPlaylistSettings::NUM_SLOTS; ++i) - if (mSoundFile[i] != StringTable->EmptyString() && Torque::FS::IsFile(mSoundFile[i])) + { + if (mSoundFile[i] != StringTable->EmptyString()) + { + if (!Torque::FS::IsFile(mSoundFile[i])) + { + mLoadedState = AssetErrCode::BadFileReference; + return; + } + ++count; + } + } mIsPlaylist = (count > 1); diff --git a/Engine/source/T3D/assets/SoundAsset.h b/Engine/source/T3D/assets/SoundAsset.h index 4ecd94d29..4888e313b 100644 --- a/Engine/source/T3D/assets/SoundAsset.h +++ b/Engine/source/T3D/assets/SoundAsset.h @@ -259,13 +259,15 @@ public: AssetPtr get##name##Asset(void) { return m##name##Asset; } \ static bool _set##name##Data(void* obj, const char* index, const char* data) { static_cast(obj)->_set##name(_getStringTable()->insert(data)); return false;} \ StringTableEntry get##name##File(){ return m##name##Asset.notNull() ? m##name##Asset->getSoundFile() : ""; } \ - SFXDescription* get##name##Description()\ - {\ - if (m##name##Asset.notNull())\ - return m##name##Asset->getSfxDescription();\ - return NULL;\ - }\ - SimObjectPtr get##name##SFXTrack(){ return m##name##Asset.notNull() ? m##name##Asset->getSFXTrack() : NULL; } + bool is##name##Valid() { return (get##name##File() != StringTable->EmptyString() && m##name##Asset && m##name##Asset->getStatus() == AssetBase::Ok); } \ + SFXDescription* get##name##Description() \ + { \ + if (m##name##Asset.notNull()) \ + return m##name##Asset->getSfxDescription(); \ + return NULL; \ + } \ + SimObjectPtr get##name##SFXTrack(){ return m##name##Asset.notNull() ? m##name##Asset->getSFXTrack() : NULL; } \ + SimObjectPtr get##name##Profile(){ return get##name##SFXTrack(); } #define INITPERSISTFIELD_SOUNDASSET(name, consoleClass, docs) \ addProtectedField(#name, TypeSoundFilename, Offset(m##name##File, consoleClass), _set##name##Data, &defaultProtectedGetFn, assetDoc(name, file docs.), AbstractClassRep::FIELD_HideInInspectors); \ @@ -384,13 +386,15 @@ void _set##name(StringTableEntry _in, const U32& index){ AssetPtr get##name##Asset(const U32& index) { return m##name##Asset[index]; } \ static bool _set##name##Data(void* obj, const char* index, const char* data) { static_cast(obj)->_set##name(_getStringTable()->insert(data), dAtoi(index)); return false; } \ StringTableEntry get##name##File(const U32& index) { return m##name##Asset[index].notNull() ? m##name##Asset[index]->getSoundFile() : ""; } \ + bool is##name##Valid(const U32& id) {return (get##name##File(id) != StringTable->EmptyString() && m##name##Asset[id] && m##name##Asset[id]->getStatus() == AssetBase::Ok); } \ SFXDescription* get##name##Description(const U32& index) \ { \ if (m##name##Asset[index].notNull()) \ return m##name##Asset[index]->getSfxDescription(); \ return NULL; \ } \ - SimObjectPtr get##name##SFXTrack(const U32& index) { return m##name##Asset[index].notNull() ? m##name##Asset[index]->getSFXTrack() : NULL; } + SimObjectPtr get##name##SFXTrack(const U32& index) { return m##name##Asset[index].notNull() ? m##name##Asset[index]->getSFXTrack() : NULL; } \ + SimObjectPtr get##name##Profile(const U32& index){ return get##name##SFXTrack(index); } #define INITPERSISTFIELD_SOUNDASSET_ARRAY(name, arraySize, consoleClass, docs) \