OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
referenceablecheck.hpp
Go to the documentation of this file.
1 #ifndef REFERENCEABLECHECKSTAGE_H
2 #define REFERENCEABLECHECKSTAGE_H
3 
4 #include "../world/universalid.hpp"
5 #include "../doc/stage.hpp"
6 #include "../world/data.hpp"
7 #include "../world/refiddata.hpp"
8 #include "../world/resources.hpp"
9 
10 namespace CSMTools
11 {
13  {
14  public:
15 
16  ReferenceableCheckStage (const CSMWorld::RefIdData& referenceable,
21  const CSMWorld::Resources& models,
22  const CSMWorld::Resources& icons,
23  const CSMWorld::IdCollection<ESM::BodyPart>& bodyparts);
24 
25  virtual void perform(int stage, CSMDoc::Messages& messages);
26  virtual int setup();
27 
28  private:
29  //CONCRETE CHECKS
30  void bookCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Book >& records, CSMDoc::Messages& messages);
31  void activatorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Activator >& records, CSMDoc::Messages& messages);
32  void potionCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Potion>& records, CSMDoc::Messages& messages);
33  void apparatusCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Apparatus>& records, CSMDoc::Messages& messages);
34  void armorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Armor>& records, CSMDoc::Messages& messages);
35  void clothingCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Clothing>& records, CSMDoc::Messages& messages);
36  void containerCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Container>& records, CSMDoc::Messages& messages);
37  void creatureCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Creature>& records, CSMDoc::Messages& messages);
38  void doorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Door>& records, CSMDoc::Messages& messages);
39  void ingredientCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Ingredient>& records, CSMDoc::Messages& messages);
42  void lightCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Light>& records, CSMDoc::Messages& messages);
43  void lockpickCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Lockpick>& records, CSMDoc::Messages& messages);
44  void miscCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Miscellaneous>& records, CSMDoc::Messages& messages);
45  void npcCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::NPC>& records, CSMDoc::Messages& messages);
46  void weaponCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Weapon>& records, CSMDoc::Messages& messages);
47  void probeCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Probe>& records, CSMDoc::Messages& messages);
48  void repairCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Repair>& records, CSMDoc::Messages& messages);
49  void staticCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Static>& records, CSMDoc::Messages& messages);
50 
51  //FINAL CHECK
52  void finalCheck (CSMDoc::Messages& messages);
53 
54  //Convenience functions
55  void inventoryListCheck(const std::vector<ESM::ContItem>& itemList, CSMDoc::Messages& messages, const std::string& id);
56 
57  template<typename ITEM> void inventoryItemCheck(const ITEM& someItem,
58  CSMDoc::Messages& messages,
59  const std::string& someID,
60  bool enchantable); //for all enchantable items.
61 
62  template<typename ITEM> void inventoryItemCheck(const ITEM& someItem,
63  CSMDoc::Messages& messages,
64  const std::string& someID); //for non-enchantable items.
65 
66  template<typename TOOL> void toolCheck(const TOOL& someTool,
67  CSMDoc::Messages& messages,
68  const std::string& someID,
69  bool canbebroken); //for tools with uses.
70 
71  template<typename TOOL> void toolCheck(const TOOL& someTool,
72  CSMDoc::Messages& messages,
73  const std::string& someID); //for tools without uses.
74 
75  template<typename LIST> void listCheck(const LIST& someList,
76  CSMDoc::Messages& messages,
77  const std::string& someID);
78 
79  template<typename TOOL> void scriptCheck(const TOOL& someTool,
80  CSMDoc::Messages& messages,
81  const std::string& someID);
82 
93  };
94 }
95 #endif // REFERENCEABLECHECKSTAGE_H
const CSMWorld::IdCollection< ESM::Class > & mClasses
Definition: referenceablecheck.hpp:85
bool mIgnoreBaseRecords
Definition: referenceablecheck.hpp:92
const CSMWorld::IdCollection< ESM::Script > & mScripts
Definition: referenceablecheck.hpp:87
const CSMWorld::IdCollection< ESM::BodyPart > & mBodyParts
Definition: referenceablecheck.hpp:90
void inventoryListCheck(const std::vector< ESM::ContItem > &itemList, CSMDoc::Messages &messages, const std::string &id)
Definition: referenceablecheck.cpp:892
const CSMWorld::IdCollection< ESM::Race > & mRaces
Definition: referenceablecheck.hpp:84
void listCheck(const LIST &someList, CSMDoc::Messages &messages, const std::string &someID)
bool mPlayerPresent
Definition: referenceablecheck.hpp:91
void weaponCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Weapon > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:747
void apparatusCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Apparatus > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:310
Definition: refiddata.hpp:219
void staticCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Static > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:865
const CSMWorld::Resources & mIcons
Definition: referenceablecheck.hpp:89
void bookCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Book > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:245
void npcCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::NPC > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:649
Definition: messages.hpp:38
ReferenceableCheckStage(const CSMWorld::RefIdData &referenceable, const CSMWorld::IdCollection< ESM::Race > &races, const CSMWorld::IdCollection< ESM::Class > &classes, const CSMWorld::IdCollection< ESM::Faction > &factions, const CSMWorld::IdCollection< ESM::Script > &scripts, const CSMWorld::Resources &models, const CSMWorld::Resources &icons, const CSMWorld::IdCollection< ESM::BodyPart > &bodyparts)
Definition: referenceablecheck.cpp:11
virtual void perform(int stage, CSMDoc::Messages &messages)
Messages resulting from this stage will be appended to messages.
Definition: referenceablecheck.cpp:32
Definition: referenceablecheck.hpp:12
void armorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Armor > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:332
void doorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Door > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:504
void miscCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Miscellaneous > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:629
const CSMWorld::Resources & mModels
Definition: referenceablecheck.hpp:88
void creatureCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Creature > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:414
void inventoryItemCheck(const ITEM &someItem, CSMDoc::Messages &messages, const std::string &someID, bool enchantable)
virtual int setup()
Definition: referenceablecheck.cpp:237
Definition: resources.hpp:17
void toolCheck(const TOOL &someTool, CSMDoc::Messages &messages, const std::string &someID, bool canbebroken)
Definition: stage.hpp:15
void finalCheck(CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:886
void creaturesLevListCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::CreatureLevList > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:550
void containerCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Container > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:379
void potionCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Potion > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:288
void lightCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Light > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:584
void scriptCheck(const TOOL &someTool, CSMDoc::Messages &messages, const std::string &someID)
const CSMWorld::IdCollection< ESM::Faction > & mFactions
Definition: referenceablecheck.hpp:86
void activatorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Activator > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:265
void ingredientCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Ingredient > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:530
void itemLevelledListCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::ItemLevList > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:567
void probeCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Probe > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:824
void repairCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Repair > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:845
void clothingCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Clothing > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:360
void lockpickCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Lockpick > &records, CSMDoc::Messages &messages)
Definition: referenceablecheck.cpp:607
const CSMWorld::RefIdData & mReferencables
Definition: referenceablecheck.hpp:83