forked from mirror/openmw-tes3mp
abstracted message collection into a class
This commit is contained in:
parent
109fbab546
commit
3a847732b4
34 changed files with 174 additions and 105 deletions
|
@ -11,7 +11,7 @@ opencs_units (model/doc
|
|||
)
|
||||
|
||||
opencs_units_noqt (model/doc
|
||||
stage savingstate savingstages blacklist
|
||||
stage savingstate savingstages blacklist messages
|
||||
)
|
||||
|
||||
opencs_hdrs_noqt (model/doc
|
||||
|
|
|
@ -52,7 +52,7 @@ void CSMDoc::Loader::load()
|
|||
{
|
||||
if (iter->second.mRecordsLeft)
|
||||
{
|
||||
CSMDoc::Stage::Messages messages;
|
||||
CSMDoc::Messages messages;
|
||||
for (int i=0; i<batchingSize; ++i) // do not flood the system with update signals
|
||||
if (document->getData().continueLoading (messages))
|
||||
{
|
||||
|
@ -65,11 +65,11 @@ void CSMDoc::Loader::load()
|
|||
CSMWorld::UniversalId log (CSMWorld::UniversalId::Type_LoadErrorLog, 0);
|
||||
|
||||
{ // silence a g++ warning
|
||||
for (CSMDoc::Stage::Messages::const_iterator iter (messages.begin());
|
||||
for (CSMDoc::Messages::Iterator iter (messages.begin());
|
||||
iter!=messages.end(); ++iter)
|
||||
{
|
||||
document->getReport (log)->add (iter->first, iter->second);
|
||||
emit loadMessage (document, iter->second);
|
||||
document->getReport (log)->add (iter->mId, iter->mMessage);
|
||||
emit loadMessage (document, iter->mMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
28
apps/opencs/model/doc/messages.cpp
Normal file
28
apps/opencs/model/doc/messages.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
|
||||
#include "messages.hpp"
|
||||
|
||||
void CSMDoc::Messages::add (const CSMWorld::UniversalId& id, const std::string& message,
|
||||
const std::string& hint)
|
||||
{
|
||||
Message data;
|
||||
data.mId = id;
|
||||
data.mMessage = message;
|
||||
data.mHint = hint;
|
||||
|
||||
mMessages.push_back (data);
|
||||
}
|
||||
|
||||
void CSMDoc::Messages::push_back (const std::pair<CSMWorld::UniversalId, std::string>& data)
|
||||
{
|
||||
add (data.first, data.second);
|
||||
}
|
||||
|
||||
CSMDoc::Messages::Iterator CSMDoc::Messages::begin() const
|
||||
{
|
||||
return mMessages.begin();
|
||||
}
|
||||
|
||||
CSMDoc::Messages::Iterator CSMDoc::Messages::end() const
|
||||
{
|
||||
return mMessages.end();
|
||||
}
|
44
apps/opencs/model/doc/messages.hpp
Normal file
44
apps/opencs/model/doc/messages.hpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef CSM_DOC_MESSAGES_H
|
||||
#define CSM_DOC_MESSAGES_H
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "../world/universalid.hpp"
|
||||
|
||||
namespace CSMDoc
|
||||
{
|
||||
class Messages
|
||||
{
|
||||
public:
|
||||
|
||||
struct Message
|
||||
{
|
||||
CSMWorld::UniversalId mId;
|
||||
std::string mMessage;
|
||||
std::string mHint;
|
||||
};
|
||||
|
||||
typedef std::vector<Message> Collection;
|
||||
|
||||
typedef Collection::const_iterator Iterator;
|
||||
|
||||
private:
|
||||
|
||||
Collection mMessages;
|
||||
|
||||
public:
|
||||
|
||||
void add (const CSMWorld::UniversalId& id, const std::string& message,
|
||||
const std::string& hint = "");
|
||||
|
||||
/// \deprecated Use add instead.
|
||||
void push_back (const std::pair<CSMWorld::UniversalId, std::string>& data);
|
||||
|
||||
Iterator begin() const;
|
||||
|
||||
Iterator end() const;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
|
@ -84,7 +84,7 @@ void CSMDoc::Operation::abort()
|
|||
|
||||
void CSMDoc::Operation::executeStage()
|
||||
{
|
||||
Stage::Messages messages;
|
||||
Messages messages;
|
||||
|
||||
while (mCurrentStage!=mStages.end())
|
||||
{
|
||||
|
@ -112,8 +112,8 @@ void CSMDoc::Operation::executeStage()
|
|||
|
||||
emit progress (mCurrentStepTotal, mTotalSteps ? mTotalSteps : 1, mType);
|
||||
|
||||
for (Stage::Messages::const_iterator iter (messages.begin()); iter!=messages.end(); ++iter)
|
||||
emit reportMessage (iter->first, iter->second, mType);
|
||||
for (Messages::Iterator iter (messages.begin()); iter!=messages.end(); ++iter)
|
||||
emit reportMessage (iter->mId, iter->mMessage, mType);
|
||||
|
||||
if (mCurrentStage==mStages.end())
|
||||
exit();
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
#include "../world/universalid.hpp"
|
||||
|
||||
#include "messages.hpp"
|
||||
|
||||
namespace CSMDoc
|
||||
{
|
||||
class Stage
|
||||
{
|
||||
public:
|
||||
|
||||
typedef std::vector<std::pair<CSMWorld::UniversalId, std::string> > Messages;
|
||||
|
||||
virtual ~Stage();
|
||||
|
||||
virtual int setup() = 0;
|
||||
|
|
|
@ -17,7 +17,7 @@ int CSMTools::BirthsignCheckStage::setup()
|
|||
return mBirthsigns.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::BirthsignCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::BirthsignCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::BirthSign>& record = mBirthsigns.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ int CSMTools::BodyPartCheckStage::setup()
|
|||
return mBodyParts.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::BodyPartCheckStage::perform ( int stage, Messages &messages )
|
||||
void CSMTools::BodyPartCheckStage::perform (int stage, CSMDoc::Messages &messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::BodyPart> &record = mBodyParts.getRecord(stage);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform( int stage, Messages &messages );
|
||||
virtual void perform( int stage, CSMDoc::Messages &messages );
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ int CSMTools::ClassCheckStage::setup()
|
|||
return mClasses.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::ClassCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::ClassCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Class>& record = mClasses.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ int CSMTools::FactionCheckStage::setup()
|
|||
return mFactions.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::FactionCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::FactionCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Faction>& record = mFactions.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -15,10 +15,9 @@ int CSMTools::MandatoryIdStage::setup()
|
|||
return mIds.size();
|
||||
}
|
||||
|
||||
void CSMTools::MandatoryIdStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::MandatoryIdStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
if (mIdCollection.searchId (mIds.at (stage))==-1 ||
|
||||
mIdCollection.getRecord (mIds.at (stage)).isDeleted())
|
||||
messages.push_back (std::make_pair (mCollectionId,
|
||||
"Missing mandatory record: " + mIds.at (stage)));
|
||||
messages.add (mCollectionId, "Missing mandatory record: " + mIds.at (stage));
|
||||
}
|
|
@ -30,7 +30,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "../world/universalid.hpp"
|
||||
|
||||
void CSMTools::RaceCheckStage::performPerRecord (int stage, Messages& messages)
|
||||
void CSMTools::RaceCheckStage::performPerRecord (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Race>& record = mRaces.getRecord (stage);
|
||||
|
||||
|
@ -46,7 +46,7 @@ void CSMTools::RaceCheckStage::performPerRecord (int stage, Messages& messages)
|
|||
/// \todo check data members that can't be edited in the table view
|
||||
}
|
||||
|
||||
void CSMTools::RaceCheckStage::performFinal (Messages& messages)
|
||||
void CSMTools::RaceCheckStage::performFinal (CSMDoc::Messages& messages)
|
||||
{
|
||||
CSMWorld::UniversalId id (CSMWorld::UniversalId::Type_Races);
|
||||
|
||||
|
@ -64,7 +64,7 @@ int CSMTools::RaceCheckStage::setup()
|
|||
return mRaces.getSize()+1;
|
||||
}
|
||||
|
||||
void CSMTools::RaceCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::RaceCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
if (stage==mRaces.getSize())
|
||||
performFinal (messages);
|
||||
|
|
|
@ -15,9 +15,9 @@ namespace CSMTools
|
|||
const CSMWorld::IdCollection<ESM::Race>& mRaces;
|
||||
bool mPlayable;
|
||||
|
||||
void performPerRecord (int stage, Messages& messages);
|
||||
void performPerRecord (int stage, CSMDoc::Messages& messages);
|
||||
|
||||
void performFinal (Messages& messages);
|
||||
void performFinal (CSMDoc::Messages& messages);
|
||||
|
||||
public:
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ CSMTools::ReferenceableCheckStage::ReferenceableCheckStage(
|
|||
{
|
||||
}
|
||||
|
||||
void CSMTools::ReferenceableCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::ReferenceableCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
//Checks for books, than, when stage is above mBooksSize goes to other checks, with (stage - PrevSum) as stage.
|
||||
const int bookSize(mReferencables.getBooks().getSize());
|
||||
|
@ -232,7 +232,7 @@ int CSMTools::ReferenceableCheckStage::setup()
|
|||
void CSMTools::ReferenceableCheckStage::bookCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Book >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -250,7 +250,7 @@ void CSMTools::ReferenceableCheckStage::bookCheck(
|
|||
void CSMTools::ReferenceableCheckStage::activatorCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Activator >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -270,7 +270,7 @@ void CSMTools::ReferenceableCheckStage::activatorCheck(
|
|||
void CSMTools::ReferenceableCheckStage::potionCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Potion >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -290,7 +290,7 @@ void CSMTools::ReferenceableCheckStage::potionCheck(
|
|||
void CSMTools::ReferenceableCheckStage::apparatusCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Apparatus >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -310,7 +310,7 @@ void CSMTools::ReferenceableCheckStage::apparatusCheck(
|
|||
void CSMTools::ReferenceableCheckStage::armorCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Armor >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -336,7 +336,7 @@ void CSMTools::ReferenceableCheckStage::armorCheck(
|
|||
void CSMTools::ReferenceableCheckStage::clothingCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Clothing >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -353,7 +353,7 @@ void CSMTools::ReferenceableCheckStage::clothingCheck(
|
|||
void CSMTools::ReferenceableCheckStage::containerCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Container >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -381,7 +381,7 @@ void CSMTools::ReferenceableCheckStage::containerCheck(
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::creatureCheck (
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Creature >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -448,7 +448,7 @@ void CSMTools::ReferenceableCheckStage::creatureCheck (
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::doorCheck(
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Door >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -469,7 +469,7 @@ void CSMTools::ReferenceableCheckStage::doorCheck(
|
|||
void CSMTools::ReferenceableCheckStage::ingredientCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Ingredient >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -487,7 +487,7 @@ void CSMTools::ReferenceableCheckStage::ingredientCheck(
|
|||
void CSMTools::ReferenceableCheckStage::creaturesLevListCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::CreatureLevList >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -505,7 +505,7 @@ void CSMTools::ReferenceableCheckStage::creaturesLevListCheck(
|
|||
void CSMTools::ReferenceableCheckStage::itemLevelledListCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::ItemLevList >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -522,7 +522,7 @@ void CSMTools::ReferenceableCheckStage::itemLevelledListCheck(
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::lightCheck(
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Light >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -547,7 +547,7 @@ void CSMTools::ReferenceableCheckStage::lightCheck(
|
|||
void CSMTools::ReferenceableCheckStage::lockpickCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Lockpick >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -567,7 +567,7 @@ void CSMTools::ReferenceableCheckStage::lockpickCheck(
|
|||
void CSMTools::ReferenceableCheckStage::miscCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Miscellaneous >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -584,7 +584,7 @@ void CSMTools::ReferenceableCheckStage::miscCheck(
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::npcCheck (
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::NPC >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -701,7 +701,7 @@ void CSMTools::ReferenceableCheckStage::npcCheck (
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::weaponCheck(
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Weapon >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord (stage);
|
||||
|
||||
|
@ -778,7 +778,7 @@ void CSMTools::ReferenceableCheckStage::weaponCheck(
|
|||
void CSMTools::ReferenceableCheckStage::probeCheck(
|
||||
int stage,
|
||||
const CSMWorld::RefIdDataContainer< ESM::Probe >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord(stage);
|
||||
|
||||
|
@ -796,7 +796,7 @@ void CSMTools::ReferenceableCheckStage::probeCheck(
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::repairCheck (
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Repair >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord (stage);
|
||||
|
||||
|
@ -812,7 +812,7 @@ void CSMTools::ReferenceableCheckStage::repairCheck (
|
|||
|
||||
void CSMTools::ReferenceableCheckStage::staticCheck (
|
||||
int stage, const CSMWorld::RefIdDataContainer< ESM::Static >& records,
|
||||
Messages& messages)
|
||||
CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::RecordBase& baseRecord = records.getRecord (stage);
|
||||
|
||||
|
@ -828,7 +828,7 @@ void CSMTools::ReferenceableCheckStage::staticCheck (
|
|||
|
||||
//final check
|
||||
|
||||
void CSMTools::ReferenceableCheckStage::finalCheck (Messages& messages)
|
||||
void CSMTools::ReferenceableCheckStage::finalCheck (CSMDoc::Messages& messages)
|
||||
{
|
||||
if (!mPlayerPresent)
|
||||
messages.push_back (std::make_pair (CSMWorld::UniversalId::Type_Referenceables,
|
||||
|
@ -839,7 +839,7 @@ void CSMTools::ReferenceableCheckStage::finalCheck (Messages& messages)
|
|||
//Templates begins here
|
||||
|
||||
template<typename Item> void CSMTools::ReferenceableCheckStage::inventoryItemCheck (
|
||||
const Item& someItem, Messages& messages, const std::string& someID, bool enchantable)
|
||||
const Item& someItem, CSMDoc::Messages& messages, const std::string& someID, bool enchantable)
|
||||
{
|
||||
if (someItem.mName.empty())
|
||||
messages.push_back (std::make_pair (someID, someItem.mId + " has an empty name"));
|
||||
|
@ -865,7 +865,7 @@ template<typename Item> void CSMTools::ReferenceableCheckStage::inventoryItemChe
|
|||
}
|
||||
|
||||
template<typename Item> void CSMTools::ReferenceableCheckStage::inventoryItemCheck (
|
||||
const Item& someItem, Messages& messages, const std::string& someID)
|
||||
const Item& someItem, CSMDoc::Messages& messages, const std::string& someID)
|
||||
{
|
||||
if (someItem.mName.empty())
|
||||
messages.push_back (std::make_pair (someID, someItem.mId + " has an empty name"));
|
||||
|
@ -888,7 +888,7 @@ template<typename Item> void CSMTools::ReferenceableCheckStage::inventoryItemChe
|
|||
}
|
||||
|
||||
template<typename Tool> void CSMTools::ReferenceableCheckStage::toolCheck (
|
||||
const Tool& someTool, Messages& messages, const std::string& someID, bool canBeBroken)
|
||||
const Tool& someTool, CSMDoc::Messages& messages, const std::string& someID, bool canBeBroken)
|
||||
{
|
||||
if (someTool.mData.mQuality <= 0)
|
||||
messages.push_back (std::make_pair (someID, someTool.mId + " has non-positive quality"));
|
||||
|
@ -899,14 +899,14 @@ template<typename Tool> void CSMTools::ReferenceableCheckStage::toolCheck (
|
|||
}
|
||||
|
||||
template<typename Tool> void CSMTools::ReferenceableCheckStage::toolCheck (
|
||||
const Tool& someTool, Messages& messages, const std::string& someID)
|
||||
const Tool& someTool, CSMDoc::Messages& messages, const std::string& someID)
|
||||
{
|
||||
if (someTool.mData.mQuality <= 0)
|
||||
messages.push_back (std::make_pair (someID, someTool.mId + " has non-positive quality"));
|
||||
}
|
||||
|
||||
template<typename List> void CSMTools::ReferenceableCheckStage::listCheck (
|
||||
const List& someList, Messages& messages, const std::string& someID)
|
||||
const List& someList, CSMDoc::Messages& messages, const std::string& someID)
|
||||
{
|
||||
for (unsigned i = 0; i < someList.mList.size(); ++i)
|
||||
{
|
||||
|
|
|
@ -17,56 +17,56 @@ namespace CSMTools
|
|||
const CSMWorld::IdCollection<ESM::Class>& classes,
|
||||
const CSMWorld::IdCollection<ESM::Faction>& factions);
|
||||
|
||||
virtual void perform(int stage, Messages& messages);
|
||||
virtual void perform(int stage, CSMDoc::Messages& messages);
|
||||
virtual int setup();
|
||||
|
||||
private:
|
||||
//CONCRETE CHECKS
|
||||
void bookCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Book >& records, Messages& messages);
|
||||
void activatorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Activator >& records, Messages& messages);
|
||||
void potionCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Potion>& records, Messages& messages);
|
||||
void apparatusCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Apparatus>& records, Messages& messages);
|
||||
void armorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Armor>& records, Messages& messages);
|
||||
void clothingCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Clothing>& records, Messages& messages);
|
||||
void containerCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Container>& records, Messages& messages);
|
||||
void creatureCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Creature>& records, Messages& messages);
|
||||
void doorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Door>& records, Messages& messages);
|
||||
void ingredientCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Ingredient>& records, Messages& messages);
|
||||
void creaturesLevListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::CreatureLevList>& records, Messages& messages);
|
||||
void itemLevelledListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::ItemLevList>& records, Messages& messages);
|
||||
void lightCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Light>& records, Messages& messages);
|
||||
void lockpickCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Lockpick>& records, Messages& messages);
|
||||
void miscCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Miscellaneous>& records, Messages& messages);
|
||||
void npcCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::NPC>& records, Messages& messages);
|
||||
void weaponCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Weapon>& records, Messages& messages);
|
||||
void probeCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Probe>& records, Messages& messages);
|
||||
void repairCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Repair>& records, Messages& messages);
|
||||
void staticCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Static>& records, Messages& messages);
|
||||
void bookCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Book >& records, CSMDoc::Messages& messages);
|
||||
void activatorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Activator >& records, CSMDoc::Messages& messages);
|
||||
void potionCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Potion>& records, CSMDoc::Messages& messages);
|
||||
void apparatusCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Apparatus>& records, CSMDoc::Messages& messages);
|
||||
void armorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Armor>& records, CSMDoc::Messages& messages);
|
||||
void clothingCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Clothing>& records, CSMDoc::Messages& messages);
|
||||
void containerCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Container>& records, CSMDoc::Messages& messages);
|
||||
void creatureCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Creature>& records, CSMDoc::Messages& messages);
|
||||
void doorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Door>& records, CSMDoc::Messages& messages);
|
||||
void ingredientCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Ingredient>& records, CSMDoc::Messages& messages);
|
||||
void creaturesLevListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::CreatureLevList>& records, CSMDoc::Messages& messages);
|
||||
void itemLevelledListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::ItemLevList>& records, CSMDoc::Messages& messages);
|
||||
void lightCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Light>& records, CSMDoc::Messages& messages);
|
||||
void lockpickCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Lockpick>& records, CSMDoc::Messages& messages);
|
||||
void miscCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Miscellaneous>& records, CSMDoc::Messages& messages);
|
||||
void npcCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::NPC>& records, CSMDoc::Messages& messages);
|
||||
void weaponCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Weapon>& records, CSMDoc::Messages& messages);
|
||||
void probeCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Probe>& records, CSMDoc::Messages& messages);
|
||||
void repairCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Repair>& records, CSMDoc::Messages& messages);
|
||||
void staticCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Static>& records, CSMDoc::Messages& messages);
|
||||
|
||||
//FINAL CHECK
|
||||
void finalCheck (Messages& messages);
|
||||
void finalCheck (CSMDoc::Messages& messages);
|
||||
|
||||
//TEMPLATE CHECKS
|
||||
template<typename ITEM> void inventoryItemCheck(const ITEM& someItem,
|
||||
Messages& messages,
|
||||
CSMDoc::Messages& messages,
|
||||
const std::string& someID,
|
||||
bool enchantable); //for all enchantable items.
|
||||
|
||||
template<typename ITEM> void inventoryItemCheck(const ITEM& someItem,
|
||||
Messages& messages,
|
||||
CSMDoc::Messages& messages,
|
||||
const std::string& someID); //for non-enchantable items.
|
||||
|
||||
template<typename TOOL> void toolCheck(const TOOL& someTool,
|
||||
Messages& messages,
|
||||
CSMDoc::Messages& messages,
|
||||
const std::string& someID,
|
||||
bool canbebroken); //for tools with uses.
|
||||
|
||||
template<typename TOOL> void toolCheck(const TOOL& someTool,
|
||||
Messages& messages,
|
||||
CSMDoc::Messages& messages,
|
||||
const std::string& someID); //for tools without uses.
|
||||
|
||||
template<typename LIST> void listCheck(const LIST& someList,
|
||||
Messages& messages,
|
||||
CSMDoc::Messages& messages,
|
||||
const std::string& someID);
|
||||
|
||||
const CSMWorld::RefIdData& mReferencables;
|
||||
|
|
|
@ -17,7 +17,7 @@ int CSMTools::RegionCheckStage::setup()
|
|||
return mRegions.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::RegionCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::RegionCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Region>& record = mRegions.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ int CSMTools::ScriptCheckStage::setup()
|
|||
return mDocument.getData().getScripts().getSize();
|
||||
}
|
||||
|
||||
void CSMTools::ScriptCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::ScriptCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
mId = mDocument.getData().getScripts().getId (stage);
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace CSMTools
|
|||
CSMWorld::ScriptContext mContext;
|
||||
std::string mId;
|
||||
std::string mFile;
|
||||
Messages *mMessages;
|
||||
CSMDoc::Messages *mMessages;
|
||||
|
||||
virtual void report (const std::string& message, const Compiler::TokenLoc& loc, Type type);
|
||||
///< Report error to the user.
|
||||
|
@ -38,7 +38,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ int CSMTools::SkillCheckStage::setup()
|
|||
return mSkills.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::SkillCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::SkillCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Skill>& record = mSkills.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ int CSMTools::SoundCheckStage::setup()
|
|||
return mSounds.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::SoundCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::SoundCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Sound>& record = mSounds.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ int CSMTools::SpellCheckStage::setup()
|
|||
return mSpells.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::SpellCheckStage::perform (int stage, Messages& messages)
|
||||
void CSMTools::SpellCheckStage::perform (int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::Spell>& record = mSpells.getRecord (stage);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace CSMTools
|
|||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
||||
virtual void perform (int stage, Messages& messages);
|
||||
virtual void perform (int stage, CSMDoc::Messages& messages);
|
||||
///< Messages resulting from this tage will be appended to \a messages.
|
||||
};
|
||||
}
|
||||
|
|
|
@ -671,7 +671,7 @@ int CSMWorld::Data::startLoading (const boost::filesystem::path& path, bool base
|
|||
return mReader->getRecordCount();
|
||||
}
|
||||
|
||||
bool CSMWorld::Data::continueLoading (CSMDoc::Stage::Messages& messages)
|
||||
bool CSMWorld::Data::continueLoading (CSMDoc::Messages& messages)
|
||||
{
|
||||
if (!mReader)
|
||||
throw std::logic_error ("can't continue loading, because no load has been started");
|
||||
|
@ -794,8 +794,8 @@ bool CSMWorld::Data::continueLoading (CSMDoc::Stage::Messages& messages)
|
|||
}
|
||||
else
|
||||
{
|
||||
messages.push_back (std::make_pair (UniversalId::Type_None,
|
||||
"Trying to delete dialogue record " + id + " which does not exist"));
|
||||
messages.add (UniversalId::Type_None,
|
||||
"Trying to delete dialogue record " + id + " which does not exist");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -811,8 +811,8 @@ bool CSMWorld::Data::continueLoading (CSMDoc::Stage::Messages& messages)
|
|||
{
|
||||
if (!mDialogue)
|
||||
{
|
||||
messages.push_back (std::make_pair (UniversalId::Type_None,
|
||||
"Found info record not following a dialogue record"));
|
||||
messages.add (UniversalId::Type_None,
|
||||
"Found info record not following a dialogue record");
|
||||
|
||||
mReader->skipRecord();
|
||||
break;
|
||||
|
@ -855,8 +855,7 @@ bool CSMWorld::Data::continueLoading (CSMDoc::Stage::Messages& messages)
|
|||
|
||||
if (unhandledRecord)
|
||||
{
|
||||
messages.push_back (std::make_pair (UniversalId::Type_None,
|
||||
"Unsupported record type: " + n.toString()));
|
||||
messages.add (UniversalId::Type_None, "Unsupported record type: " + n.toString());
|
||||
|
||||
mReader->skipRecord();
|
||||
}
|
||||
|
|
|
@ -244,7 +244,7 @@ namespace CSMWorld
|
|||
///
|
||||
///< \return estimated number of records
|
||||
|
||||
bool continueLoading (CSMDoc::Stage::Messages& messages);
|
||||
bool continueLoading (CSMDoc::Messages& messages);
|
||||
///< \return Finished?
|
||||
|
||||
bool hasId (const std::string& id) const;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "record.hpp"
|
||||
|
||||
void CSMWorld::RefCollection::load (ESM::ESMReader& reader, int cellIndex, bool base,
|
||||
std::map<ESM::RefNum, std::string>& cache, CSMDoc::Stage::Messages& messages)
|
||||
std::map<ESM::RefNum, std::string>& cache, CSMDoc::Messages& messages)
|
||||
{
|
||||
Record<Cell> cell = mCells.getRecord (cellIndex);
|
||||
|
||||
|
@ -36,8 +36,7 @@ void CSMWorld::RefCollection::load (ESM::ESMReader& reader, int cellIndex, bool
|
|||
CSMWorld::UniversalId id (CSMWorld::UniversalId::Type_Cell,
|
||||
mCells.getId (cellIndex));
|
||||
|
||||
messages.push_back (std::make_pair (id,
|
||||
"Attempt to delete a non-existing reference"));
|
||||
messages.add (id, "Attempt to delete a non-existing reference");
|
||||
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace CSMWorld
|
|||
|
||||
void load (ESM::ESMReader& reader, int cellIndex, bool base,
|
||||
std::map<ESM::RefNum, std::string>& cache,
|
||||
CSMDoc::Stage::Messages& messages);
|
||||
CSMDoc::Messages& messages);
|
||||
///< Load a sequence of references.
|
||||
|
||||
std::string getNewId();
|
||||
|
|
Loading…
Reference in a new issue