mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:23:51 +00:00
Add sound file checks to sound record verifier
This commit is contained in:
parent
1f717def35
commit
38ea7928f5
3 changed files with 23 additions and 5 deletions
|
@ -6,10 +6,14 @@
|
||||||
|
|
||||||
#include "../prefs/state.hpp"
|
#include "../prefs/state.hpp"
|
||||||
|
|
||||||
|
#include "../world/data.hpp"
|
||||||
|
#include "../world/resources.hpp"
|
||||||
#include "../world/universalid.hpp"
|
#include "../world/universalid.hpp"
|
||||||
|
|
||||||
CSMTools::SoundCheckStage::SoundCheckStage (const CSMWorld::IdCollection<ESM::Sound>& sounds)
|
CSMTools::SoundCheckStage::SoundCheckStage (const CSMWorld::IdCollection<ESM::Sound> &sounds,
|
||||||
: mSounds (sounds)
|
const CSMWorld::Resources &soundfiles)
|
||||||
|
: mSounds (sounds),
|
||||||
|
mSoundFiles (soundfiles)
|
||||||
{
|
{
|
||||||
mIgnoreBaseRecords = false;
|
mIgnoreBaseRecords = false;
|
||||||
}
|
}
|
||||||
|
@ -36,5 +40,12 @@ void CSMTools::SoundCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||||
if (sound.mData.mMinRange>sound.mData.mMaxRange)
|
if (sound.mData.mMinRange>sound.mData.mMaxRange)
|
||||||
messages.push_back (std::make_pair (id, "Minimum range larger than maximum range"));
|
messages.push_back (std::make_pair (id, "Minimum range larger than maximum range"));
|
||||||
|
|
||||||
/// \todo check, if the sound file exists ADD CHECK HERE
|
if (sound.mSound.empty())
|
||||||
|
{
|
||||||
|
messages.push_back(std::make_pair(id, "Sound file is missing"));
|
||||||
|
}
|
||||||
|
else if (mSoundFiles.searchId(sound.mSound) == -1)
|
||||||
|
{
|
||||||
|
messages.push_back(std::make_pair(id, "Sound file '" + sound.mSound + "' does not exist"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,17 +7,24 @@
|
||||||
|
|
||||||
#include "../doc/stage.hpp"
|
#include "../doc/stage.hpp"
|
||||||
|
|
||||||
|
namespace CSMWorld
|
||||||
|
{
|
||||||
|
class Resources;
|
||||||
|
}
|
||||||
|
|
||||||
namespace CSMTools
|
namespace CSMTools
|
||||||
{
|
{
|
||||||
/// \brief VerifyStage: make sure that sound records are internally consistent
|
/// \brief VerifyStage: make sure that sound records are internally consistent
|
||||||
class SoundCheckStage : public CSMDoc::Stage
|
class SoundCheckStage : public CSMDoc::Stage
|
||||||
{
|
{
|
||||||
const CSMWorld::IdCollection<ESM::Sound>& mSounds;
|
const CSMWorld::IdCollection<ESM::Sound>& mSounds;
|
||||||
|
const CSMWorld::Resources &mSoundFiles;
|
||||||
bool mIgnoreBaseRecords;
|
bool mIgnoreBaseRecords;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SoundCheckStage (const CSMWorld::IdCollection<ESM::Sound>& sounds);
|
SoundCheckStage (const CSMWorld::IdCollection<ESM::Sound>& sounds,
|
||||||
|
const CSMWorld::Resources &soundfiles);
|
||||||
|
|
||||||
virtual int setup();
|
virtual int setup();
|
||||||
///< \return number of steps
|
///< \return number of steps
|
||||||
|
|
|
@ -74,7 +74,7 @@ CSMDoc::OperationHolder *CSMTools::Tools::getVerifier()
|
||||||
|
|
||||||
mVerifierOperation->appendStage (new RaceCheckStage (mData.getRaces()));
|
mVerifierOperation->appendStage (new RaceCheckStage (mData.getRaces()));
|
||||||
|
|
||||||
mVerifierOperation->appendStage (new SoundCheckStage (mData.getSounds()));
|
mVerifierOperation->appendStage (new SoundCheckStage (mData.getSounds(), mData.getResources (CSMWorld::UniversalId::Type_SoundsRes)));
|
||||||
|
|
||||||
mVerifierOperation->appendStage (new RegionCheckStage (mData.getRegions()));
|
mVerifierOperation->appendStage (new RegionCheckStage (mData.getRegions()));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue