From 8a1d3f2021cab0a8e3db7f68a7e534a981ae8c1b Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Tue, 28 Sep 2021 13:56:35 +0100 Subject: [PATCH] Working thunder. These changes may need to be applied to other sound arrays or image arrays. --- Engine/source/T3D/assets/SoundAsset.cpp | 10 +++++----- Engine/source/T3D/fx/lightning.cpp | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Engine/source/T3D/assets/SoundAsset.cpp b/Engine/source/T3D/assets/SoundAsset.cpp index 72a3a2526..45f78bc48 100644 --- a/Engine/source/T3D/assets/SoundAsset.cpp +++ b/Engine/source/T3D/assets/SoundAsset.cpp @@ -279,18 +279,18 @@ StringTableEntry SoundAsset::getAssetIdByFileName(StringTableEntry fileName) return materialAssetId; } -U32 SoundAsset::getAssetById(StringTableEntry assetId, AssetPtr* materialAsset) +U32 SoundAsset::getAssetById(StringTableEntry assetId, AssetPtr* soundAsset) { - (*materialAsset) = assetId; + (*soundAsset) = assetId; - if (materialAsset->notNull()) + if (soundAsset->notNull()) { - return (*materialAsset)->mLoadedState; + return (*soundAsset)->mLoadedState; } else { //Well that's bad, loading the fallback failed. - Con::warnf("MaterialAsset::getAssetById - Finding of asset with id %s failed with no fallback asset", assetId); + Con::warnf("SoundAsset::getAssetById - Finding of asset with id %s failed with no fallback asset", assetId); return AssetErrCode::Failed; } } diff --git a/Engine/source/T3D/fx/lightning.cpp b/Engine/source/T3D/fx/lightning.cpp index 8f1ba8bf6..e032284e7 100644 --- a/Engine/source/T3D/fx/lightning.cpp +++ b/Engine/source/T3D/fx/lightning.cpp @@ -265,7 +265,9 @@ void LightningData::initPersistFields() INITPERSISTFIELD_SOUNDASSET(StrikeSound, LightningData, "Sound to play when lightning STRIKES!"); + addArray("Thunders", MaxThunders); INITPERSISTFIELD_SOUNDASSET_ARRAY(ThunderSound, MaxThunders, LightningData, "Sounds for thunder."); + endArray("Thunders"); addField( "strikeTextures", TypeString, Offset(strikeTextureNames, LightningData), MaxTextures, "List of textures to use to render lightning strikes." ); @@ -299,9 +301,13 @@ bool LightningData::preload(bool server, String &errorStr) if (getThunderSound(i)) { _setThunderSound(getThunderSound(i), i); + Con::printf("Thunder sound: %d %s", i, getThunderSound(i)); + if (!getThunderSoundProfile(i)) Con::errorf(ConsoleLogEntry::General, "LightningData::preload: Cant get an sfxProfile for thunder."); + } + } if(getStrikeSound() && !getStrikeSoundProfile())