diff --git a/lib/CSpellHandler.cpp b/lib/CSpellHandler.cpp index 3710b42ea..a1768d2a6 100644 --- a/lib/CSpellHandler.cpp +++ b/lib/CSpellHandler.cpp @@ -542,7 +542,7 @@ std::vector CSpellHandler::loadLegacyData(size_t dataSize) return legacyData; } -const std::string CSpellHandler::getTypeName() +const std::string CSpellHandler::getTypeName() const { return "spell"; } diff --git a/lib/CSpellHandler.h b/lib/CSpellHandler.h index 46b15ebca..9fe8c3533 100644 --- a/lib/CSpellHandler.h +++ b/lib/CSpellHandler.h @@ -257,7 +257,7 @@ public: */ std::vector getDefaultAllowed() const override; - const std::string getTypeName() override; + const std::string getTypeName() const override; template void serialize(Handler &h, const int version) { diff --git a/lib/IHandlerBase.h b/lib/IHandlerBase.h index 50b922ee6..8c570e8ac 100644 --- a/lib/IHandlerBase.h +++ b/lib/IHandlerBase.h @@ -49,53 +49,53 @@ public: template class CHandlerBase: public IHandlerBase { public: - virtual ~CHandlerBase() - { - for(auto & o : objects) - { - o.dellNull(); - } + virtual ~CHandlerBase() + { + for(auto & o : objects) + { + o.dellNull(); + } - } + } void loadObject(std::string scope, std::string name, const JsonNode & data) override { - auto type_name = getTypeName(); - auto object = loadFromJson(data); - object->id = _ObjectID(objects.size()); + auto type_name = getTypeName(); + auto object = loadFromJson(data); + object->id = _ObjectID(objects.size()); - objects.push_back(object); + objects.push_back(object); - VLC->modh->identifiers.registerObject(scope, type_name, name, object->id); + VLC->modh->identifiers.registerObject(scope, type_name, name, object->id); } void loadObject(std::string scope, std::string name, const JsonNode & data, size_t index) override { - auto type_name = getTypeName(); - auto object = loadFromJson(data); - object->id = _ObjectID(index); + auto type_name = getTypeName(); + auto object = loadFromJson(data); + object->id = _ObjectID(index); - assert(objects[index] == nullptr); // ensure that this id was not loaded before - objects[index] = object; + assert(objects[index] == nullptr); // ensure that this id was not loaded before + objects[index] = object; - VLC->modh->identifiers.registerObject(scope,type_name, name, object->id); + VLC->modh->identifiers.registerObject(scope,type_name, name, object->id); } ConstTransitivePtr<_Object> operator[] (const _ObjectID id) const - { - const auto raw_id = id.toEnum(); - - if (raw_id < 0 || raw_id >= objects.size()) - { - logGlobal->errorStream() << getTypeName() << " id " << static_cast(raw_id) << "is invalid"; - throw std::runtime_error ("internal error"); - } + { + const auto raw_id = id.toEnum(); - return objects[raw_id]; + if (raw_id < 0 || raw_id >= objects.size()) + { + logGlobal->errorStream() << getTypeName() << " id " << static_cast(raw_id) << "is invalid"; + throw std::runtime_error ("internal error"); + } + + return objects[raw_id]; } protected: - virtual _Object * loadFromJson(const JsonNode & json) = 0; - virtual const std::string getTypeName() = 0; + virtual _Object * loadFromJson(const JsonNode & json) = 0; + virtual const std::string getTypeName() const = 0; public: //todo: make private - std::vector> objects; + std::vector> objects; }; diff --git a/lib/registerTypes/TypesMapObjects1.cpp b/lib/registerTypes/TypesMapObjects1.cpp index bf54fc28b..726ce6092 100644 --- a/lib/registerTypes/TypesMapObjects1.cpp +++ b/lib/registerTypes/TypesMapObjects1.cpp @@ -1,22 +1,22 @@ #include "StdInc.h" #include "RegisterTypes.h" -#include "mapping/CMapInfo.h" -#include "StartInfo.h" -#include "BattleState.h" -#include "CGameState.h" -#include "mapping/CMap.h" -#include "CModHandler.h" -#include "CObjectHandler.h" -#include "CCreatureHandler.h" -#include "VCMI_Lib.h" -#include "CArtHandler.h" -#include "CHeroHandler.h" -#include "CSpellHandler.h" -#include "CTownHandler.h" -#include "mapping/CCampaignHandler.h" -#include "NetPacks.h" -#include "CDefObjInfoHandler.h" +#include "../mapping/CMapInfo.h" +#include "../StartInfo.h" +#include "../BattleState.h" +#include "../CGameState.h" +#include "../mapping/CMap.h" +#include "../CModHandler.h" +#include "../CObjectHandler.h" +#include "../CCreatureHandler.h" +#include "../VCMI_Lib.h" +#include "../CArtHandler.h" +#include "../CHeroHandler.h" +#include "../CSpellHandler.h" +#include "../CTownHandler.h" +#include "../mapping/CCampaignHandler.h" +#include "../NetPacks.h" +#include "../CDefObjInfoHandler.h" template void registerTypesMapObjects1>(CISer& s); diff --git a/lib/registerTypes/TypesMapObjects2.cpp b/lib/registerTypes/TypesMapObjects2.cpp index d22d6a57c..d77ed5822 100644 --- a/lib/registerTypes/TypesMapObjects2.cpp +++ b/lib/registerTypes/TypesMapObjects2.cpp @@ -1,22 +1,22 @@ #include "StdInc.h" #include "RegisterTypes.h" -#include "mapping/CMapInfo.h" -#include "StartInfo.h" -#include "BattleState.h" -#include "CGameState.h" -#include "mapping/CMap.h" -#include "CModHandler.h" -#include "CObjectHandler.h" -#include "CCreatureHandler.h" -#include "VCMI_Lib.h" -#include "CArtHandler.h" -#include "CHeroHandler.h" -#include "CSpellHandler.h" -#include "CTownHandler.h" -#include "mapping/CCampaignHandler.h" -#include "NetPacks.h" -#include "CDefObjInfoHandler.h" +#include "../mapping/CMapInfo.h" +#include "../StartInfo.h" +#include "../BattleState.h" +#include "../CGameState.h" +#include "../mapping/CMap.h" +#include "../CModHandler.h" +#include "../CObjectHandler.h" +#include "../CCreatureHandler.h" +#include "../VCMI_Lib.h" +#include "../CArtHandler.h" +#include "../CHeroHandler.h" +#include "../CSpellHandler.h" +#include "../CTownHandler.h" +#include "../mapping/CCampaignHandler.h" +#include "../NetPacks.h" +#include "../CDefObjInfoHandler.h" template void registerTypesMapObjects2>(CISer& s);