You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw/apps/opencs/model/tools/bodypartcheck.hpp

49 lines
1.1 KiB
C++

#ifndef CSM_TOOLS_BODYPARTCHECK_H
#define CSM_TOOLS_BODYPARTCHECK_H
#include <components/esm3/loadrace.hpp>
#include "../world/idcollection.hpp"
#include "../doc/stage.hpp"
namespace CSMDoc
{
class Messages;
}
namespace CSMWorld
{
class Resources;
}
namespace ESM
{
struct BodyPart;
struct Race;
}
namespace CSMTools
{
/// \brief VerifyStage: make sure that body part records are internally consistent
class BodyPartCheckStage : public CSMDoc::Stage
{
const CSMWorld::IdCollection<ESM::BodyPart>& mBodyParts;
const CSMWorld::Resources& mMeshes;
const CSMWorld::IdCollection<ESM::Race>& mRaces;
bool mIgnoreBaseRecords;
public:
BodyPartCheckStage(const CSMWorld::IdCollection<ESM::BodyPart>& bodyParts, const CSMWorld::Resources& meshes,
const CSMWorld::IdCollection<ESM::Race>& races);
int setup() override;
///< \return number of steps
void perform(int stage, CSMDoc::Messages& messages) override;
///< Messages resulting from this tage will be appended to \a messages.
};
}
#endif