2015-06-13 16:08:31 +00:00
|
|
|
#ifndef CSM_TOOLS_SOUNDGENCHECK_HPP
|
|
|
|
#define CSM_TOOLS_SOUNDGENCHECK_HPP
|
|
|
|
|
2022-08-19 17:19:42 +00:00
|
|
|
#include "../world/idcollection.hpp"
|
2015-06-13 16:08:31 +00:00
|
|
|
|
|
|
|
#include "../doc/stage.hpp"
|
|
|
|
|
2022-10-19 17:02:00 +00:00
|
|
|
namespace CSMDoc
|
|
|
|
{
|
|
|
|
class Messages;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace CSMWorld
|
|
|
|
{
|
|
|
|
class RefIdCollection;
|
|
|
|
}
|
|
|
|
|
2022-08-19 17:19:42 +00:00
|
|
|
namespace ESM
|
|
|
|
{
|
|
|
|
struct SoundGenerator;
|
|
|
|
struct Sound;
|
|
|
|
}
|
|
|
|
|
2015-06-13 16:08:31 +00:00
|
|
|
namespace CSMTools
|
|
|
|
{
|
|
|
|
/// \brief VerifyStage: make sure that sound gen records are internally consistent
|
|
|
|
class SoundGenCheckStage : public CSMDoc::Stage
|
|
|
|
{
|
|
|
|
const CSMWorld::IdCollection<ESM::SoundGenerator>& mSoundGens;
|
|
|
|
const CSMWorld::IdCollection<ESM::Sound>& mSounds;
|
2018-08-24 17:20:27 +00:00
|
|
|
const CSMWorld::RefIdCollection& mObjects;
|
2018-06-19 22:20:03 +00:00
|
|
|
bool mIgnoreBaseRecords;
|
2015-06-13 16:08:31 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
SoundGenCheckStage(const CSMWorld::IdCollection<ESM::SoundGenerator>& soundGens,
|
|
|
|
const CSMWorld::IdCollection<ESM::Sound>& sounds, const CSMWorld::RefIdCollection& objects);
|
|
|
|
|
2020-10-16 18:18:54 +00:00
|
|
|
int setup() override;
|
2015-06-13 16:08:31 +00:00
|
|
|
///< \return number of steps
|
|
|
|
|
2020-10-16 18:18:54 +00:00
|
|
|
void perform(int stage, CSMDoc::Messages& messages) override;
|
2015-06-13 16:08:31 +00:00
|
|
|
///< Messages resulting from this stage will be appended to \a messages.
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|