Checks for emptyString in preload

Sound asset out for emptyString
This commit is contained in:
marauder2k7 2021-09-28 21:10:48 +01:00
parent 4429de59b0
commit 76addc52eb
6 changed files with 44 additions and 11 deletions

View file

@ -235,6 +235,8 @@ public: \
m##name = NULL;\
}\
\
if(get##name() == StringTable->EmptyString())\
return true;\
if (m##name##Asset.notNull() && m##name##Asset->getStatus() != SoundAsset::Ok)\
{\
Con::errorf("%s(%s)::_set%s() - sound asset failure\"%s\" due to [%s]", macroText(className), getName(), macroText(name), _in, SoundAsset::getAssetErrstrn(m##name##Asset->getStatus()).c_str());\

View file

@ -864,7 +864,15 @@ bool ExplosionData::preload(bool server, String &errorStr)
if( !server )
{
String sfxErrorStr;
if (getSound() != StringTable->EmptyString())
{
_setSound(getSound());
if (!getSoundProfile())
Con::errorf(ConsoleLogEntry::General, "SplashData::preload: Cant get an sfxProfile for splash.");
}
if (!particleEmitter && particleEmitterId != 0)
if (Sim::findObject(particleEmitterId, particleEmitter) == false)
Con::errorf(ConsoleLogEntry::General, "Error, unable to load particle emitter for explosion datablock");

View file

@ -296,7 +296,7 @@ bool LightningData::preload(bool server, String &errorStr)
{
for (S32 i = 0; i < MaxThunders; i++)
{
if (getThunderSound(i))
if (getThunderSound(i) != StringTable->EmptyString())
{
_setThunderSound(getThunderSound(i), i);
Con::printf("Thunder sound: %d %s", i, getThunderSound(i));
@ -308,8 +308,13 @@ bool LightningData::preload(bool server, String &errorStr)
}
if(getStrikeSound() && !getStrikeSoundProfile())
Con::errorf(ConsoleLogEntry::General, "LightningData::preload: can't get sfxProfile from asset");
if (getStrikeSound() != StringTable->EmptyString())
{
_setStrikeSound(getStrikeSound());
if(!getStrikeSoundProfile())
Con::errorf(ConsoleLogEntry::General, "LightningData::preload: can't get sfxProfile from strike sound.");
}
mNumStrikeTextures = 0;
for (U32 k = 0; k < MaxTextures; k++)

View file

@ -188,9 +188,16 @@ bool PrecipitationData::preload( bool server, String &errorStr )
{
if( Parent::preload( server, errorStr) == false)
return false;
if (!server)
{
if (getSound() != StringTable->EmptyString())
{
_setSound(getSound());
if (!server && !getSoundProfile())
return false;
if (!getSoundProfile())
Con::errorf(ConsoleLogEntry::General, "SplashData::preload: Cant get an sfxProfile for splash.");
}
}
return true;
}

View file

@ -276,11 +276,17 @@ bool SplashData::preload(bool server, String &errorStr)
if (Parent::preload(server, errorStr) == false)
return false;
if (!server && !getSoundProfile())
return false;
if (!server)
{
if (getSound() != StringTable->EmptyString())
{
_setSound(getSound());
if(!getSoundProfile())
Con::errorf(ConsoleLogEntry::General, "SplashData::preload: Cant get an sfxProfile for splash.");
}
S32 i;
for( i=0; i<NUM_EMITTERS; i++ )
{

View file

@ -367,8 +367,13 @@ bool ProjectileData::preload(bool server, String &errorStr)
if (Sim::findObject(decalId, decal) == false)
Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid packet, bad datablockId(decal): %d", decalId);
if( !getProjectileSound() )
Con::errorf(ConsoleLogEntry::General, "ProjectileData::preload: Invalid asset");
if (getProjectileSound() != StringTable->EmptyString())
{
_setProjectileSound(getProjectileSound());
if (!getProjectileSoundProfile())
Con::errorf(ConsoleLogEntry::General, "SplashData::preload: Cant get an sfxProfile for splash.");
}
if (!lightDesc && lightDescId != 0)
if (Sim::findObject(lightDescId, lightDesc) == false)