1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-02-21 19:19:26 +02:00

Refactoring of serialization versioning handling

- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum

Save compatibility with 1.4.X saves should be intact
This commit is contained in:
Ivan Savenko 2024-01-20 20:34:51 +02:00
parent 6b760089a4
commit 0c07384293
129 changed files with 498 additions and 473 deletions

View File

@ -14,11 +14,11 @@
#include "../../lib/CStack.h"
#include "../../lib/battle/BattleAction.h"
void CEmptyAI::saveGame(BinarySerializer & h, const int version)
void CEmptyAI::saveGame(BinarySerializer & h)
{
}
void CEmptyAI::loadGame(BinaryDeserializer & h, const int version)
void CEmptyAI::loadGame(BinaryDeserializer & h)
{
}

View File

@ -19,8 +19,8 @@ class CEmptyAI : public CGlobalAI
std::shared_ptr<CCallback> cb;
public:
virtual void saveGame(BinarySerializer & h, const int version) override;
virtual void loadGame(BinaryDeserializer & h, const int version) override;
virtual void saveGame(BinarySerializer & h) override;
virtual void loadGame(BinaryDeserializer & h) override;
void initGameInterface(std::shared_ptr<Environment> ENV, std::shared_ptr<CCallback> CB) override;
void yourTurn(QueryID queryID) override;

View File

@ -747,27 +747,25 @@ void AIGateway::showMapObjectSelectDialog(QueryID askID, const Component & icon,
requestActionASAP([=](){ answerQuery(askID, selectedObject.getNum()); });
}
void AIGateway::saveGame(BinarySerializer & h, const int version)
void AIGateway::saveGame(BinarySerializer & h)
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
NET_EVENT_HANDLER;
nullkiller->memory->removeInvisibleObjects(myCb.get());
CAdventureAI::saveGame(h, version);
serializeInternal(h, version);
CAdventureAI::saveGame(h);
serializeInternal(h);
}
void AIGateway::loadGame(BinaryDeserializer & h, const int version)
void AIGateway::loadGame(BinaryDeserializer & h)
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
//NET_EVENT_HANDLER;
#if 0
//disabled due to issue 2890
registerGoals(h);
#endif // 0
CAdventureAI::loadGame(h, version);
serializeInternal(h, version);
CAdventureAI::loadGame(h);
serializeInternal(h);
}
bool AIGateway::makePossibleUpgrades(const CArmedInstance * obj)

View File

@ -62,7 +62,7 @@ public:
void heroVisit(const CGObjectInstance * obj, bool started);
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & battle;
h & remainingQueries;
@ -119,8 +119,8 @@ public:
void showGarrisonDialog(const CArmedInstance * up, const CGHeroInstance * down, bool removableUnits, QueryID queryID) override; //all stacks operations between these objects become allowed, interface has to call onEnd when done
void showTeleportDialog(const CGHeroInstance * hero, TeleportChannelID channel, TTeleportExitsList exits, bool impassable, QueryID askID) override;
void showMapObjectSelectDialog(QueryID askID, const Component & icon, const MetaString & title, const MetaString & description, const std::vector<ObjectInstanceID> & objects) override;
void saveGame(BinarySerializer & h, const int version) override; //saving
void loadGame(BinaryDeserializer & h, const int version) override; //loading
void saveGame(BinarySerializer & h) override; //saving
void loadGame(BinaryDeserializer & h) override; //loading
void finish() override;
void availableCreaturesChanged(const CGDwelling * town) override;
@ -203,7 +203,7 @@ public:
//special function that can be called ONLY from game events handling thread and will send request ASAP
void requestActionASAP(std::function<void()> whatToDo);
template<typename Handler> void serializeInternal(Handler & h, const int version)
template<typename Handler> void serializeInternal(Handler & h)
{
h & nullkiller->memory->knownTeleportChannels;
h & nullkiller->memory->knownSubterraneanGates;

View File

@ -115,7 +115,7 @@ public:
bool validAndSet() const;
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & this->h;
h & hid;
@ -147,7 +147,7 @@ struct ObjectIdRef
bool operator<(const ObjectIdRef & rhs) const;
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & id;
}

View File

@ -37,7 +37,7 @@ namespace Goals
{
return new T(static_cast<T const &>(*this)); //casting enforces template instantiation
}
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & static_cast<AbstractGoal &>(*this);
//h & goalType & isElementar & isAbstract & priority;

View File

@ -70,7 +70,7 @@ public:
bool validAndSet() const;
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & this->h;
h & hid;
@ -102,7 +102,7 @@ struct ObjectIdRef
bool operator<(const ObjectIdRef & rhs) const;
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & id;
}

View File

@ -176,7 +176,7 @@ namespace Goals
return !(*this == g);
}
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & goalType;
h & isElementar;

View File

@ -69,7 +69,7 @@ namespace Goals
return ptr;
}
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & static_cast<AbstractGoal &>(*this);
//h & goalType & isElementar & isAbstract & priority;

View File

@ -28,7 +28,7 @@ struct DLL_EXPORT ResourceObjective
Goals::TSubgoal goal; //what for (build, gather army etc...)
//TODO: register?
template<typename Handler> void serializeInternal(Handler & h, const int version)
template<typename Handler> void serializeInternal(Handler & h)
{
h & resources;
//h & goal; //FIXME: goal serialization is broken
@ -105,7 +105,7 @@ private:
void dumpToLog() const;
//TODO: register?
template<typename Handler> void serializeInternal(Handler & h, const int version)
template<typename Handler> void serializeInternal(Handler & h)
{
h & saving;
h & queue;

View File

@ -746,9 +746,8 @@ void VCAI::showMapObjectSelectDialog(QueryID askID, const Component & icon, cons
requestActionASAP([=](){ answerQuery(askID, selectedObject.getNum()); });
}
void VCAI::saveGame(BinarySerializer & h, const int version)
void VCAI::saveGame(BinarySerializer & h)
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
NET_EVENT_HANDLER;
validateVisitableObjs();
@ -756,21 +755,20 @@ void VCAI::saveGame(BinarySerializer & h, const int version)
//disabled due to issue 2890
registerGoals(h);
#endif // 0
CAdventureAI::saveGame(h, version);
serializeInternal(h, version);
CAdventureAI::saveGame(h);
serializeInternal(h);
}
void VCAI::loadGame(BinaryDeserializer & h, const int version)
void VCAI::loadGame(BinaryDeserializer & h)
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
//NET_EVENT_HANDLER;
#if 0
//disabled due to issue 2890
registerGoals(h);
#endif // 0
CAdventureAI::loadGame(h, version);
serializeInternal(h, version);
CAdventureAI::loadGame(h);
serializeInternal(h);
}
void makePossibleUpgrades(const CArmedInstance * obj)

View File

@ -68,7 +68,7 @@ public:
void heroVisit(const CGObjectInstance * obj, bool started);
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & battle;
h & remainingQueries;
@ -152,8 +152,8 @@ public:
void showGarrisonDialog(const CArmedInstance * up, const CGHeroInstance * down, bool removableUnits, QueryID queryID) override; //all stacks operations between these objects become allowed, interface has to call onEnd when done
void showTeleportDialog(const CGHeroInstance * hero, TeleportChannelID channel, TTeleportExitsList exits, bool impassable, QueryID askID) override;
void showMapObjectSelectDialog(QueryID askID, const Component & icon, const MetaString & title, const MetaString & description, const std::vector<ObjectInstanceID> & objects) override;
void saveGame(BinarySerializer & h, const int version) override; //saving
void loadGame(BinaryDeserializer & h, const int version) override; //loading
void saveGame(BinarySerializer & h) override; //saving
void loadGame(BinaryDeserializer & h) override; //loading
void finish() override;
void availableCreaturesChanged(const CGDwelling * town) override;
@ -301,7 +301,7 @@ public:
}
#endif
template<typename Handler> void serializeInternal(Handler & h, const int version)
template<typename Handler> void serializeInternal(Handler & h)
{
h & knownTeleportChannels;
h & knownSubterraneanGates;
@ -341,7 +341,7 @@ public:
//we have to explicitly ignore invalid goal class type id
h & typeId;
Goals::AbstractGoal ignored2;
ignored2.serialize(h, version);
ignored2.serialize(h);
}
}
}

View File

@ -1150,16 +1150,16 @@ void CPlayerInterface::heroBonusChanged( const CGHeroInstance *hero, const Bonus
}
}
void CPlayerInterface::saveGame( BinarySerializer & h, const int version )
void CPlayerInterface::saveGame( BinarySerializer & h )
{
EVENT_HANDLER_CALLED_BY_CLIENT;
localState->serialize(h, version);
localState->serialize(h);
}
void CPlayerInterface::loadGame( BinaryDeserializer & h, const int version )
void CPlayerInterface::loadGame( BinaryDeserializer & h )
{
EVENT_HANDLER_CALLED_BY_CLIENT;
localState->serialize(h, version);
localState->serialize(h);
firstCall = -1;
}

View File

@ -145,8 +145,8 @@ protected: // Call-ins from server, should not be called directly, but only via
void gameOver(PlayerColor player, const EVictoryLossCheckResult & victoryLossCheckResult) override;
void playerStartsTurn(PlayerColor player) override; //called before yourTurn on active itnerface
void playerEndsTurn(PlayerColor player) override;
void saveGame(BinarySerializer & h, const int version) override; //saving
void loadGame(BinaryDeserializer & h, const int version) override; //loading
void saveGame(BinarySerializer & h) override; //saving
void loadGame(BinaryDeserializer & h) override; //loading
void showWorldViewEx(const std::vector<ObjectPosInfo> & objectPositions, bool showTerrain) override;
//for battles

View File

@ -225,7 +225,7 @@ void CClient::loadGame(CGameState * initializedGameState)
throw std::runtime_error("Cannot open client part of " + CSH->si->mapname);
std::unique_ptr<CLoadFile> loader (new CLoadFile(clientSaveName));
serialize(loader->serializer, loader->serializer.fileVersion);
serialize(loader->serializer, loader->serializer.version);
logNetwork->info("Client data loaded.");
}
@ -238,7 +238,7 @@ void CClient::loadGame(CGameState * initializedGameState)
initPlayerInterfaces();
}
void CClient::serialize(BinarySerializer & h, const int version)
void CClient::serialize(BinarySerializer & h)
{
assert(h.saving);
ui8 players = static_cast<ui8>(playerint.size());
@ -251,20 +251,17 @@ void CClient::serialize(BinarySerializer & h, const int version)
h & i->first;
h & i->second->dllName;
h & i->second->human;
i->second->saveGame(h, version);
i->second->saveGame(h);
}
#if SCRIPTING_ENABLED
if(version >= 800)
{
JsonNode scriptsState;
clientScripts->serializeState(h.saving, scriptsState);
h & scriptsState;
}
JsonNode scriptsState;
clientScripts->serializeState(h.saving, scriptsState);
h & scriptsState;
#endif
}
void CClient::serialize(BinaryDeserializer & h, const int version)
void CClient::serialize(BinaryDeserializer & h)
{
assert(!h.saving);
ui8 players = 0;
@ -320,7 +317,7 @@ void CClient::serialize(BinaryDeserializer & h, const int version)
// loadGame needs to be called after initGameInterface to load paths correctly
// initGameInterface is called in installNewPlayerInterface
nInt->loadGame(h, version);
nInt->loadGame(h);
if (shouldResetInterface)
{

View File

@ -131,8 +131,8 @@ public:
void newGame(CGameState * gameState);
void loadGame(CGameState * gameState);
void serialize(BinarySerializer & h, const int version);
void serialize(BinaryDeserializer & h, const int version);
void serialize(BinarySerializer & h);
void serialize(BinaryDeserializer & h);
void save(const std::string & fname);
void endGame();

View File

@ -47,7 +47,7 @@ public:
int spellbookLastTabAdvmap = 4;
template<typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & spellbookLastPageBattle;
h & spellbookLastPageAdvmap;
@ -94,7 +94,7 @@ public:
void setSelection(const CArmedInstance *sel);
template<typename Handler>
void serialize(Handler & h, int version)
void serialize(Handler & h)
{
//WARNING: this code is broken and not used. See CClient::loadGame
std::map<const CGHeroInstance *, int3> pathsMap; //hero -> dest

View File

@ -161,7 +161,7 @@ CMapOverviewWidget::CMapOverviewWidget(CMapOverview& parent):
std::unique_ptr<CMap> campaignMap = nullptr;
if(p.tabType != ESelectionScreen::newGame && config["variables"]["mapPreviewForSaves"].Bool())
{
CLoadFile lf(*CResourceHandler::get()->getResourceName(ResourcePath(p.resource.getName(), EResType::SAVEGAME)), MINIMAL_SERIALIZATION_VERSION);
CLoadFile lf(*CResourceHandler::get()->getResourceName(ResourcePath(p.resource.getName(), EResType::SAVEGAME)), ESerializationVersion::MINIMAL);
lf.checkMagicBytes(SAVEGAME_MAGIC);
auto mapHeader = std::make_unique<CMapHeader>();

View File

@ -2,7 +2,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
if(NOT DEFINED MAIN_LIB_DIR)
set(MAIN_LIB_DIR "${CMAKE_SOURCE_DIR}/lib")
endif()
set(lib_SRCS
${MAIN_LIB_DIR}/StdInc.cpp
@ -264,13 +264,13 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
${MAIN_LIB_DIR}/VCMI_Lib.cpp
)
# Version.cpp is a generated file
# Version.cpp is a generated file
if(ENABLE_GITVERSION)
list(APPEND lib_SRCS ${CMAKE_BINARY_DIR}/Version.cpp)
set_source_files_properties(${CMAKE_BINARY_DIR}/Version.cpp
PROPERTIES GENERATED TRUE
)
endif()
endif()
set(lib_HEADERS
${MAIN_LIB_DIR}/../include/vstd/CLoggerBase.h
@ -557,6 +557,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
${MAIN_LIB_DIR}/serializer/JsonSerializer.h
${MAIN_LIB_DIR}/serializer/JsonUpdater.h
${MAIN_LIB_DIR}/serializer/Cast.h
${MAIN_LIB_DIR}/serializer/SerializerVersion.h
${MAIN_LIB_DIR}/spells/AbilityCaster.h
${MAIN_LIB_DIR}/spells/AdventureSpellMechanics.h
@ -618,6 +619,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
${MAIN_LIB_DIR}/CStopWatch.h
${MAIN_LIB_DIR}/CThreadHelper.h
${MAIN_LIB_DIR}/CTownHandler.h
${MAIN_LIB_DIR}/ExtraOptionsInfo.h
${MAIN_LIB_DIR}/FunctionList.h
${MAIN_LIB_DIR}/GameCallbackHolder.h
${MAIN_LIB_DIR}/GameConstants.h
@ -653,7 +655,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
${MAIN_LIB_DIR}/VCMI_Lib.h
)
assign_source_group(${lib_SRCS} ${lib_HEADERS})
assign_source_group(${lib_SRCS} ${lib_HEADERS})
add_library(${TARGET_NAME} ${LIBRARY_TYPE} ${lib_SRCS} ${lib_HEADERS})
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_DEFINITIONS "VCMI_DLL=1")
@ -661,7 +663,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
minizip::minizip ZLIB::ZLIB
${SYSTEM_LIBS} Boost::boost Boost::thread Boost::filesystem Boost::program_options Boost::locale Boost::date_time
)
if(APPLE_IOS)
if(APPLE_IOS)
target_link_libraries(${TARGET_NAME} PUBLIC iOS_utils)
endif()
@ -672,13 +674,13 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
PUBLIC ${MAIN_LIB_DIR}
)
if(WIN32)
if(WIN32)
set_target_properties(${TARGET_NAME}
PROPERTIES
OUTPUT_NAME "VCMI_lib"
OUTPUT_NAME "VCMI_lib"
PROJECT_LABEL "VCMI_lib"
)
endif()
endif()
vcmi_set_output_dir(${TARGET_NAME} "")
@ -692,7 +694,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake_modules/create_link.cmake ${MAIN_LIB_DIR}/../config ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/config
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake_modules/create_link.cmake ${MAIN_LIB_DIR}/../Mods ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/Mods
)
endif()
endif()
# Update version before vcmi compiling
if(TARGET update_version)

View File

@ -179,7 +179,7 @@ struct DLL_LINKAGE ArtSlotInfo
ArtSlotInfo() : locked(false) {}
const CArtifactInstance * getArt() const;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & artifact;
h & locked;
@ -223,7 +223,7 @@ public:
virtual void removeArtifact(ArtifactPosition slot);
virtual ~CArtifactSet();
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & artifactsInBackpack;
h & artifactsWorn;

View File

@ -27,7 +27,7 @@ public:
{
ConstTransitivePtr<CArtifactInstance> art;
ArtifactPosition slot;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & art;
h & slot;
@ -41,7 +41,7 @@ public:
const std::vector<PartInfo> & getPartsInfo() const;
void addPlacementMap(CArtifactSet::ArtPlacementMap & placementMap);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & partsInfo;
}
@ -93,7 +93,7 @@ public:
void move(CArtifactSet & srcSet, const ArtifactPosition srcSlot, CArtifactSet & dstSet, const ArtifactPosition dstSlot);
void deserializationFix();
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<CBonusSystemNode&>(*this);
h & static_cast<CCombinedArtifactInstance&>(*this);

View File

@ -27,7 +27,7 @@ public:
std::string getNameTextID() const;
std::string getDescriptionTextID() const;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & icon;
h & identifier;
@ -53,7 +53,7 @@ public:
std::string bonusToString(const std::shared_ptr<Bonus> & bonus, const IBonusBearer * bearer, bool description) const override;
ImagePath bonusToGraphics(const std::shared_ptr<Bonus> & bonus) const override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
//for now always use up to date configuration
//once modded bonus type will be implemented, serialize only them

View File

@ -46,7 +46,7 @@ public:
friend bool operator== (const CStackBasicDescriptor & l, const CStackBasicDescriptor & r);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
if(h.saving)
{
@ -85,7 +85,7 @@ public:
const CArmedInstance * const & armyObj; //stack must be part of some army, army must be part of some object
TExpType experience;//commander needs same amount of exp as hero
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CBonusSystemNode&>(*this);
h & static_cast<CStackBasicDescriptor&>(*this);
@ -157,7 +157,7 @@ public:
int getLevel() const override;
ArtBearer::ArtBearer bearerType() const override; //from CArtifactSet
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CStackInstance&>(*this);
h & alive;
@ -197,7 +197,7 @@ public:
bool setCreature(SlotID slot, CreatureID cre, TQuantity count) override;
operator bool() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & army;
}
@ -280,7 +280,7 @@ public:
bool contains(const CStackInstance *stack) const;
bool canBeMergedWith(const CCreatureSet &cs, bool allowMergingStacks = true) const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & stacks;
h & formation;

View File

@ -243,9 +243,8 @@ void CAdventureAI::yourTacticPhase(const BattleID & battleID, int distance)
battleAI->yourTacticPhase(battleID, distance);
}
void CAdventureAI::saveGame(BinarySerializer & h, const int version) /*saving */
void CAdventureAI::saveGame(BinarySerializer & h) /*saving */
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
bool hasBattleAI = static_cast<bool>(battleAI);
h & hasBattleAI;
if(hasBattleAI)
@ -254,9 +253,8 @@ void CAdventureAI::saveGame(BinarySerializer & h, const int version) /*saving */
}
}
void CAdventureAI::loadGame(BinaryDeserializer & h, const int version) /*loading */
void CAdventureAI::loadGame(BinaryDeserializer & h) /*loading */
{
LOG_TRACE_PARAMS(logAi, "version '%i'", version);
bool hasBattleAI = false;
h & hasBattleAI;
if(hasBattleAI)

View File

@ -111,8 +111,8 @@ public:
virtual std::optional<BattleAction> makeSurrenderRetreatDecision(const BattleID & battleID, const BattleStateInfoForRetreat & battleState) = 0;
virtual void saveGame(BinarySerializer & h, const int version) = 0;
virtual void loadGame(BinaryDeserializer & h, const int version) = 0;
virtual void saveGame(BinarySerializer & h) = 0;
virtual void loadGame(BinaryDeserializer & h) = 0;
};
class DLL_LINKAGE CDynLibHandler
@ -162,8 +162,8 @@ public:
virtual void battleEnd(const BattleID & battleID, const BattleResult *br, QueryID queryID) override;
virtual void battleUnitsChanged(const BattleID & battleID, const std::vector<UnitChanges> & units) override;
virtual void saveGame(BinarySerializer & h, const int version) override;
virtual void loadGame(BinaryDeserializer & h, const int version) override;
virtual void saveGame(BinarySerializer & h) override;
virtual void loadGame(BinaryDeserializer & h) override;
};
VCMI_LIB_NAMESPACE_END

View File

@ -135,7 +135,7 @@ protected:
std::string modContext;
template <typename Handler>
void serialize(Handler & h, const int Version)
void serialize(Handler & h)
{
h & baseValue;
h & baseLanguage;
@ -193,7 +193,7 @@ public:
void jsonSerialize(JsonNode & dest) const;
template <typename Handler>
void serialize(Handler & h, const int Version)
void serialize(Handler & h)
{
std::string key;
auto sz = stringsLocalizations.size();

View File

@ -40,10 +40,10 @@ struct DLL_LINKAGE PlayerState : public CBonusSystemNode, public Player
return subID < other.subID;
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & id;
subID.serializeIdentifier(h, id, version);
subID.serializeIdentifier(h, id);
}
};
@ -89,7 +89,7 @@ public:
return heroes.empty() && towns.empty();
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & color;
h & human;
@ -123,7 +123,7 @@ public:
TeamState();
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & id;
h & players;

View File

@ -87,7 +87,7 @@ private:
public:
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
if(h.saving)
{

View File

@ -93,7 +93,7 @@ public:
return this->owner;
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
//this assumes that stack objects is newly created
//stackState is not serialized here

View File

@ -50,7 +50,7 @@ public:
{}
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & r;
h & g;

View File

@ -69,7 +69,7 @@ public:
ptr = nullptr;
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & ptr;
}

View File

@ -20,7 +20,7 @@ struct DLL_LINKAGE ExtraOptionsInfo
bool operator == (const ExtraOptionsInfo & other) const;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & cheatsAllowed;
h & unlimitedReplay;

View File

@ -96,7 +96,7 @@ public:
const JsonNode & getValue(EGameSettings option) const override;
template<typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & gameSettings;
}

View File

@ -117,7 +117,7 @@ public:
std::string toJson(bool compact = false) const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & meta;
h & flags;

View File

@ -57,7 +57,7 @@ namespace LogicalExpressionDetail
}
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & expressions;
}
@ -614,7 +614,7 @@ public:
}
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & data;
}

View File

@ -125,7 +125,7 @@ public:
void serializeJson(JsonSerializeFormat & handler);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & exactStrings;
h & localStrings;

View File

@ -122,7 +122,7 @@ public:
}
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & x;
h & y;

View File

@ -163,7 +163,7 @@ public:
DLL_LINKAGE Rect include(const Rect & other) const;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & x;
h & y;

View File

@ -180,7 +180,7 @@ public:
// return true;
// }
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & container;
}

View File

@ -108,7 +108,7 @@ public:
void run(std::shared_ptr<Pool> pool) const override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
JsonNode state;
if(h.saving)

View File

@ -41,7 +41,7 @@ struct DLL_LINKAGE SimturnsInfo
}
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & requiredTurns;
h & optionalTurns;
@ -76,7 +76,7 @@ struct DLL_LINKAGE PlayerSettings
std::set<ui8> connectedPlayerIDs; //Empty - AI, or connectrd player ids
bool compOnly; //true if this player is a computer only player; required for RMG
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & castle;
h & hero;
@ -131,7 +131,7 @@ struct DLL_LINKAGE StartInfo
std::string getCampaignName() const;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & mode;
h & difficulty;
@ -143,7 +143,7 @@ struct DLL_LINKAGE StartInfo
h & fileURI;
h & simturnsInfo;
h & turnTimerInfo;
if(version >= 832)
if(h.version >= Handler::Version::HAS_EXTRA_OPTIONS)
h & extraOptionsInfo;
else
extraOptionsInfo = ExtraOptionsInfo();
@ -164,7 +164,7 @@ struct ClientPlayer
int connection;
std::string name;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & connection;
h & name;
@ -184,7 +184,7 @@ struct DLL_LINKAGE LobbyState
LobbyState() : si(new StartInfo()), hostClientId(-1), campaignMap(CampaignScenarioID::NONE), campaignBonus(-1) {}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & si;
h & mi;

View File

@ -26,7 +26,7 @@ struct DLL_LINKAGE TerrainPaletteAnimation
/// total numbers of colors to cycle
int32_t length;
template <typename Handler> void serialize(Handler& h, const int version)
template <typename Handler> void serialize(Handler& h)
{
h & start;
h & length;

View File

@ -34,7 +34,7 @@ struct DLL_LINKAGE TurnTimerInfo
bool operator == (const TurnTimerInfo & other) const;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & turnTimer;
h & baseTimer;

View File

@ -55,7 +55,7 @@ public:
battle::Target getTarget(const CBattleInfoCallback * cb) const;
void setTarget(const battle::Target & target_);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & side;
h & stackNumber;
@ -70,7 +70,7 @@ private:
int32_t unitValue;
BattleHex hexValue;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & unitValue;
h & hexValue;

View File

@ -105,7 +105,7 @@ struct DLL_LINKAGE BattleHex //TODO: decide if this should be changed to class f
static BattleHex getClosestTile(ui8 side, BattleHex initialPos, std::set<BattleHex> & possibilities); //TODO: vector or set? copying one to another is bad
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & hex;
}

View File

@ -50,7 +50,7 @@ public:
ui8 tacticsSide; //which side is requested to play tactics phase
ui8 tacticDistance; //how many hexes we can go forward (1 = only hexes adjacent to margin line)
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & battleID;
h & sides;
@ -66,10 +66,7 @@ public:
h & tacticsSide;
h & tacticDistance;
h & static_cast<CBonusSystemNode&>(*this);
if (version > 824)
h & replayAllowed;
else
replayAllowed = false;
h & replayAllowed;
}
//////////////////////////////////////////////////////////////////////////

View File

@ -36,7 +36,7 @@ struct DLL_LINKAGE AttackableTiles
{
std::set<BattleHex> hostileCreaturePositions;
std::set<BattleHex> friendlyCreaturePositions; //for Dragon Breath
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & hostileCreaturePositions;
h & friendlyCreaturePositions;

View File

@ -63,7 +63,7 @@ struct DLL_LINKAGE CObstacleInstance
virtual void serializeJson(JsonSerializeFormat & handler);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & ID;
h & pos;
@ -118,7 +118,7 @@ struct DLL_LINKAGE SpellCreatedObstacle : CObstacleInstance
void serializeJson(JsonSerializeFormat & handler) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CObstacleInstance&>(*this);
h & turnsRemaining;

View File

@ -28,7 +28,7 @@ struct DLL_LINKAGE SideInBattle
void init(const CGHeroInstance * Hero, const CArmedInstance * Army);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & color;
h & hero;

View File

@ -23,7 +23,7 @@ struct DLL_LINKAGE SiegeInfo
// return EWallState decreased by value of damage points
static EWallState applyDamage(EWallState state, unsigned int value);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & wallState;
h & gateState;

View File

@ -86,7 +86,7 @@ struct DLL_LINKAGE Bonus : public std::enable_shared_from_this<Bonus>
Bonus(BonusDuration::Type Duration, BonusType Type, BonusSource Src, si32 Val, BonusSourceID sourceID, BonusSubtypeID subtype, BonusValueType ValType);
Bonus() = default;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & duration;
h & type;

View File

@ -91,7 +91,7 @@ public:
void insert(TInternalContainer::iterator position, TInternalContainer::size_type n, const std::shared_ptr<Bonus> & x);
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & static_cast<TInternalContainer&>(bonuses);
}

View File

@ -130,7 +130,7 @@ public:
return PlayerColor::NEUTRAL;
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & nodeType;
h & exportedBonuses;

View File

@ -38,7 +38,7 @@ public:
virtual std::string toString() const;
virtual JsonNode toJsonNode() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
}
};
@ -53,7 +53,7 @@ public:
void add(const TLimiterPtr & limiter);
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<ILimiter&>(*this);
h & limiters;
@ -104,7 +104,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & creature;
@ -132,7 +132,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & type;
@ -156,7 +156,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & terrainType;
@ -175,7 +175,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & minLevel;
@ -193,7 +193,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & faction;
@ -210,7 +210,7 @@ public:
std::string toString() const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & alignment;
@ -225,7 +225,7 @@ public:
EDecision limit(const BonusLimitationContext &context) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & owner;
@ -242,7 +242,7 @@ public:
RankRangeLimiter(ui8 Min, ui8 Max = 255);
EDecision limit(const BonusLimitationContext &context) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & minRank;
@ -259,7 +259,7 @@ public:
EDecision limit(const BonusLimitationContext &context) const override;
JsonNode toJsonNode() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<ILimiter&>(*this);
h & applicableHexes;

View File

@ -23,7 +23,7 @@ public:
virtual bool shouldBeAttached(CBonusSystemNode *dest);
virtual CBonusSystemNode::ENodeTypes getPropagatorType() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{}
};
@ -36,7 +36,7 @@ public:
bool shouldBeAttached(CBonusSystemNode *dest) override;
CBonusSystemNode::ENodeTypes getPropagatorType() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & nodeType;
}

View File

@ -26,7 +26,7 @@ public:
virtual std::string toString() const;
virtual JsonNode toJsonNode() const;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
}
};
@ -40,7 +40,7 @@ public:
GrowsWithLevelUpdater() = default;
GrowsWithLevelUpdater(int valPer20, int stepSize = 1);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<IUpdater &>(*this);
h & valPer20;
@ -55,7 +55,7 @@ public:
class DLL_LINKAGE TimesHeroLevelUpdater : public IUpdater
{
public:
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<IUpdater &>(*this);
}
@ -68,7 +68,7 @@ public:
class DLL_LINKAGE TimesStackLevelUpdater : public IUpdater
{
public:
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<IUpdater &>(*this);
}
@ -87,7 +87,7 @@ public:
si32 max;
ArmyMovementUpdater();
ArmyMovementUpdater(int base, int divider, int multiplier, int max);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & static_cast<IUpdater &>(*this);
h & base;
@ -104,7 +104,7 @@ public:
class DLL_LINKAGE OwnerUpdater : public IUpdater
{
public:
template <typename Handler> void serialize(Handler& h, const int version)
template <typename Handler> void serialize(Handler& h)
{
h & static_cast<IUpdater &>(*this);
}

View File

@ -22,7 +22,7 @@ struct DLL_LINKAGE CampaignScenarioPrologEpilog
AudioPath prologVoice;
MetaString prologText;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & hasPrologEpilog;
h & prologVideo;

View File

@ -40,7 +40,7 @@ class DLL_LINKAGE CampaignRegions
int xpos;
int ypos;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & infix;
h & xpos;
@ -61,7 +61,7 @@ public:
ImagePath getSelectedName(CampaignScenarioID which, int color) const;
ImagePath getConqueredName(CampaignScenarioID which, int color) const;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & campPrefix;
h & colorSuffixLength;
@ -106,7 +106,7 @@ public:
const CampaignRegions & getRegions() const;
TextContainerRegistrable & getTexts();
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & version;
h & campaignRegions;
@ -118,7 +118,7 @@ public:
h & modName;
h & music;
h & encoding;
if (formatVersion >= 832)
if (h.version >= Handler::Version::RELEASE_143)
h & textContainer;
}
};
@ -134,7 +134,7 @@ struct DLL_LINKAGE CampaignBonus
bool isBonusForHero() const;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & type;
h & info1;
@ -153,7 +153,7 @@ struct DLL_LINKAGE CampaignTravel
bool spells = false;
bool artifacts = false;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & experience;
h & primarySkills;
@ -171,7 +171,7 @@ struct DLL_LINKAGE CampaignTravel
CampaignStartOptions startOptions = CampaignStartOptions::NONE; //1 - start bonus, 2 - traveling hero, 3 - hero options
PlayerColor playerColor = PlayerColor::NEUTRAL; //only for startOptions == 1
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & whatHeroKeeps;
h & monstersKeptByHero;
@ -199,7 +199,7 @@ struct DLL_LINKAGE CampaignScenario
void loadPreconditionRegions(ui32 regions);
bool isNotVoid() const;
template <typename Handler> void serialize(Handler &h, const int formatVersion)
template <typename Handler> void serialize(Handler &h)
{
h & mapName;
h & scenarioName;
@ -225,7 +225,7 @@ public:
std::set<CampaignScenarioID> allScenarios() const;
int scenariosCount() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CampaignHeader&>(*this);
h & scenarios;
@ -304,7 +304,7 @@ public:
std::string campaignSet;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<Campaign&>(*this);
h & scenarioHeroPool;

View File

@ -527,7 +527,7 @@ public:
}
template <typename Handler>
void serializeIdentifier(Handler &h, const MapObjectID & primaryID, const int version)
void serializeIdentifier(Handler &h, const MapObjectID & primaryID)
{
std::string secondaryStringID;
@ -959,7 +959,7 @@ public:
using Identifier<BuildingTypeUniqueID>::Identifier;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
FactionID faction = getFaction();
BuildingID building = getBuilding();

View File

@ -186,7 +186,7 @@ public:
using Identifier<FinalClass>::Identifier;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
auto * finalClass = static_cast<FinalClass*>(this);
std::string value;
@ -208,7 +208,7 @@ public:
using IdentifierWithEnum<FinalClass, BaseClass>::IdentifierWithEnum;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
auto * finalClass = static_cast<FinalClass*>(this);
std::string value;
@ -230,7 +230,7 @@ public:
using Identifier<FinalClass>::Identifier;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
auto * finalClass = static_cast<FinalClass*>(this);
h & finalClass->num;
@ -244,7 +244,7 @@ public:
using IdentifierWithEnum<FinalClass, BaseClass>::IdentifierWithEnum;
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
auto * finalClass = static_cast<FinalClass*>(this);
h & finalClass->num;

View File

@ -59,7 +59,7 @@ public:
return IdentifierType();
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & value;
}

View File

@ -102,7 +102,7 @@ public:
void serializeJson(JsonSerializeFormat & handler);
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & type;
h & name;

View File

@ -59,7 +59,7 @@ struct DLL_LINKAGE RumorState
RumorState(){type = TYPE_NONE;};
bool update(int id, int extra);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & type;
h & last;
@ -174,7 +174,7 @@ public:
/// Any server-side code outside of GH must use CRandomGenerator::getDefault
CRandomGenerator & getRandomGenerator();
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & scenarioOps;
h & initialOpts;

View File

@ -58,7 +58,7 @@ public:
bool playerHasStartingHero(PlayerColor player) const;
std::unique_ptr<CMap> getCurrentMap() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & gameState;
}

View File

@ -58,7 +58,7 @@ public:
MetaString messageToSelf;
MetaString messageToOthers;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & intValue;
h & messageToSelf;

View File

@ -44,7 +44,7 @@ struct DLL_LINKAGE QuestInfo //universal interface for human and AI
return (quest == qi.quest && obj == qi.obj);
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & quest;
h & obj;

View File

@ -25,7 +25,7 @@ struct DLL_LINKAGE SThievesGuildInfo
std::map<PlayerColor, EAiTactic> personality; // color to personality // ai tactic
std::map<PlayerColor, CreatureID> bestCreature; // color to ID // id or -1 if not known
// template <typename Handler> void serialize(Handler &h, const int version)
// template <typename Handler> void serialize(Handler &h)
// {
// h & playerColors;
// h & numOfTowns;

View File

@ -30,7 +30,7 @@ class DLL_LINKAGE TavernHeroesPool
TavernSlotRole role;
PlayerColor player;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & hero;
h & slot;
@ -76,7 +76,7 @@ public:
/// Makes hero available in tavern of specified player
void setHeroForPlayer(PlayerColor player, TavernHeroSlot slot, HeroTypeID hero, CSimpleArmy & army, TavernSlotRole role, bool replenishPoints);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & heroesPool;
h & perPlayerAvailability;

View File

@ -170,7 +170,7 @@ public:
}
template <typename Handler>
void serialize(Handler &h, const int version)
void serialize(Handler &h)
{
h & x;
h & y;

View File

@ -27,7 +27,7 @@ struct BankConfig
std::vector<ArtifactID> artifacts; //artifacts given in case of victory
std::vector<SpellID> spells; // granted spell(s), for Pyramid
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & chance;
h & guards;

View File

@ -52,7 +52,7 @@ public:
void serializeJsonOptions(JsonSerializeFormat & handler) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & static_cast<CBonusSystemNode&>(*this);

View File

@ -43,7 +43,7 @@ public:
std::vector<Component> getPopupComponents(PlayerColor player) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & daycounter;

View File

@ -56,7 +56,7 @@ public:
bool containsUpgradedStack() const;
int getNumberOfStacks(const CGHeroInstance *hero) const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & identifier;

View File

@ -61,7 +61,7 @@ private:
void heroAcceptsCreatures(const CGHeroInstance *h) const;
public:
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & creatures;

View File

@ -36,7 +36,7 @@ public:
/// if this is placeholder by type, then hero type of desired hero
std::optional<HeroTypeID> heroType;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & powerRank;
@ -103,7 +103,7 @@ public:
bool patrolling;
int3 initialPos;
ui32 patrolRadius;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & patrolling;
h & initialPos;
@ -121,7 +121,7 @@ public:
void resetMagicSchoolCounter();
void resetWisdomCounter();
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & magicSchoolCounter;
h & wisdomCounter;
@ -321,7 +321,7 @@ public:
void serializeJsonDefinition(JsonSerializeFormat & handler);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & static_cast<CArtifactSet&>(*this);

View File

@ -36,7 +36,7 @@ public:
int availableUnits(EMarketMode mode, int marketItemSerial) const override; //-1 if unlimited
std::vector<TradeItemBuy> availableItemsIds(EMarketMode mode) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & marketModes;
@ -56,7 +56,7 @@ public:
void newTurn(CRandomGenerator & rand) const override; //reset artifacts for black market every month
std::vector<TradeItemBuy> availableItemsIds(EMarketMode mode) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGMarket&>(*this);
h & artifacts;
@ -73,7 +73,7 @@ public:
std::vector<TradeItemBuy> availableItemsIds(EMarketMode mode) const override;
void onHeroVisit(const CGHeroInstance * h) const override; //open window
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGMarket&>(*this);
h & skills;

View File

@ -137,14 +137,14 @@ public:
virtual void afterRemoveFromMap(CMap * map);
///Entry point of binary (de-)serialization
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & instanceName;
h & typeName;
h & subTypeName;
h & pos;
h & ID;
subID.serializeIdentifier(h, ID, version);
subID.serializeIdentifier(h, ID);
h & id;
h & tempOwner;
h & blockVisit;

View File

@ -28,7 +28,7 @@ public:
void battleFinished(const CGHeroInstance *hero, const BattleResult &result) const override;
void blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CRewardableObject&>(*this);
h & message;
@ -50,7 +50,7 @@ public:
bool computerActivate = false; //true if computer player can activate this event
bool humanActivate = false; //true if human player can activate this event
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGPandoraBox &>(*this);
h & removeAfterVisit;

View File

@ -54,7 +54,7 @@ public:
int3 visitablePos() const override;
int3 getPosition() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & bID;
h & indexOnTV;
@ -79,7 +79,7 @@ public:
COPWBonus(const BuildingID & index, BuildingSubID::EBuildingSubID subId, CGTownInstance * TOWN);
COPWBonus(IGameCallback *cb);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGTownBuilding&>(*this);
h & visitors;
@ -98,7 +98,7 @@ public:
CTownBonus(const BuildingID & index, BuildingSubID::EBuildingSubID subId, CGTownInstance * TOWN);
CTownBonus(IGameCallback *cb);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGTownBuilding&>(*this);
h & visitors;
@ -136,7 +136,7 @@ public:
CTownRewardableBuilding(const BuildingID & index, BuildingSubID::EBuildingSubID subId, CGTownInstance * town, CRandomGenerator & rand);
CTownRewardableBuilding(IGameCallback *cb);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGTownBuilding&>(*this);
h & static_cast<Rewardable::Interface&>(*this);

View File

@ -67,7 +67,7 @@ public:
std::pair<si32, si32> bonusValue;//var to store town bonuses (rampart = resources from mystic pond);
//////////////////////////////////////////////////////////////////////////
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGDwelling&>(*this);
h & nameTextId;

View File

@ -69,7 +69,7 @@ public:
return (quest.qid == qid);
}
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & qid;
h & isCompleted;
@ -106,7 +106,7 @@ public:
virtual void getVisitText (MetaString &text, std::vector<Component> &components, bool FirstVisit, const CGHeroInstance * h = nullptr) const = 0;
virtual bool checkQuest (const CGHeroInstance * h) const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & quest;
}
@ -142,7 +142,7 @@ public:
void afterAddToMap(CMap * map) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CRewardableObject&>(*this);
h & static_cast<IQuestObject&>(*this);
@ -164,7 +164,7 @@ public:
void onHeroVisit(const CGHeroInstance * h) const override;
bool passableFor(PlayerColor color) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGSeerHut&>(*this);
}
@ -182,7 +182,7 @@ public:
std::string getObjectName() const override; //depending on color
std::string getHoverText(PlayerColor player) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
}
@ -196,7 +196,7 @@ public:
bool wasVisited (PlayerColor player) const override;
void onHeroVisit(const CGHeroInstance * h) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
}
@ -217,7 +217,7 @@ public:
void afterAddToMap(CMap * map) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<IQuestObject&>(*this);
h & static_cast<CGObjectInstance&>(*this);
@ -233,7 +233,7 @@ public:
bool passableFor(PlayerColor color) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGBorderGuard&>(*this); //need to serialize or object will be empty
}

View File

@ -78,7 +78,7 @@ public:
std::vector<Component> getPopupComponents(PlayerColor player) const override;
std::vector<Component> getPopupComponents(const CGHeroInstance * hero) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & static_cast<Rewardable::Interface&>(*this);

View File

@ -67,7 +67,7 @@ public:
static void preInit(); //called before objs receive their initObj
static void postInit();//called after objs receive their initObj
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
logGlobal->error("IObjectInterface serialized, unexpected, should not happen!");
}

View File

@ -33,7 +33,7 @@ public:
bool wasVisited(const TeamID & team) const;
void setPropertyDer(ObjProperty what, ObjPropertyID identifier) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & players;
@ -50,7 +50,7 @@ public:
void onHeroVisit(const CGHeroInstance * h) const override;
void initObj(CRandomGenerator & rand) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & message;
@ -71,7 +71,7 @@ public:
void onHeroVisit(const CGHeroInstance * h) const override;
void battleFinished(const CGHeroInstance *hero, const BattleResult &result) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & removableUnits;
@ -107,7 +107,7 @@ public:
ArtifactID getArtifact() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & message;
@ -137,7 +137,7 @@ public:
void collectRes(const PlayerColor & player) const;
GameResID resourceID() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & amount;
@ -172,7 +172,7 @@ private:
std::string getHoverText(PlayerColor player) const override;
public:
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CArmedInstance&>(*this);
h & producedResource;
@ -193,7 +193,7 @@ struct DLL_LINKAGE TeleportChannel
std::vector<ObjectInstanceID> exits;
EPassability passability = EPassability::UNKNOWN;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & entrances;
h & exits;
@ -232,7 +232,7 @@ public:
static std::vector<ObjectInstanceID> getPassableExits(CGameState * gs, const CGHeroInstance * h, std::vector<ObjectInstanceID> exits);
static bool isExitPassable(CGameState * gs, const CGHeroInstance * h, const CGObjectInstance * obj);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & type;
h & channel;
@ -252,7 +252,7 @@ protected:
public:
using CGTeleport::CGTeleport;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGTeleport&>(*this);
}
@ -268,7 +268,7 @@ public:
static void postInit(IGameCallback * cb);
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGMonolith&>(*this);
}
@ -283,7 +283,7 @@ class DLL_LINKAGE CGWhirlpool : public CGMonolith
public:
using CGMonolith::CGMonolith;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGMonolith&>(*this);
}
@ -298,7 +298,7 @@ public:
std::string getHoverText(const CGHeroInstance * hero) const override;
void initObj(CRandomGenerator & rand) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
}
@ -323,7 +323,7 @@ public:
CGBoat(IGameCallback * cb);
bool isCoastVisitable() const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & static_cast<CBonusSystemNode&>(*this);
@ -353,7 +353,7 @@ protected:
public:
using CGObjectInstance::CGObjectInstance;
template<typename Handler> void serialize(Handler & h, const int version)
template<typename Handler> void serialize(Handler & h)
{
h & static_cast<CGObjectInstance&>(*this);
h & createdBoat;
@ -371,7 +371,7 @@ public:
void initObj(CRandomGenerator & rand) override;
void onHeroVisit(const CGHeroInstance * h) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
}
@ -393,7 +393,7 @@ public:
void initObj(CRandomGenerator & rand) override;
std::string getHoverText(PlayerColor player) const override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CTeamVisited&>(*this);
}
@ -409,7 +409,7 @@ public:
void onHeroVisit(const CGHeroInstance * h) const override;
void initObj(CRandomGenerator & rand) override;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
}
@ -443,7 +443,7 @@ protected:
public:
using CGObjectInstance::CGObjectInstance;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & static_cast<CGObjectInstance&>(*this);
h & upgradeCostPercentage;

View File

@ -156,7 +156,7 @@ private:
void calculateTopVisibleOffset();
public:
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & usedTiles;
h & allowedTerrains;
@ -164,7 +164,7 @@ public:
h & animationFile;
h & stringID;
h & id;
subid.serializeIdentifier(h, id, version);
subid.serializeIdentifier(h, id);
h & printPriority;
h & visitDir;
h & editorAnimationFile;

View File

@ -44,7 +44,7 @@ struct DLL_LINKAGE Rumor
~Rumor() = default;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & name;
h & text;
@ -64,7 +64,7 @@ struct DLL_LINKAGE DisposedHero
std::set<PlayerColor> players; /// Who can hire this hero (bitfield).
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & heroId;
h & portrait;
@ -173,7 +173,7 @@ private:
public:
template <typename Handler>
void serialize(Handler &h, const int formatVersion)
void serialize(Handler &h)
{
h & static_cast<CMapHeader&>(*this);
h & triggeredEvents; //from CMapHeader

View File

@ -43,7 +43,7 @@ public:
ui32 nextOccurence; /// specifies after how many days the event will occur the next time; 0 if event occurs only one time
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & name;
h & message;
@ -68,7 +68,7 @@ public:
std::vector<si32> creatures;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & static_cast<CMapEvent &>(*this);
h & buildings;
@ -112,7 +112,7 @@ struct DLL_LINKAGE TerrainTile
std::vector<CGObjectInstance *> blockingObjects;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & terType;
h & terView;

View File

@ -32,7 +32,7 @@ struct DLL_LINKAGE SHeroName
std::string heroName;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & heroId;
h & heroName;
@ -76,7 +76,7 @@ struct DLL_LINKAGE PlayerInfo
TeamID team; /// The default value NO_TEAM
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & hasRandomHero;
h & mainCustomHeroId;
@ -128,7 +128,7 @@ struct DLL_LINKAGE EventCondition
EWinLoseType condition;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & objectID;
h & value;
@ -156,7 +156,7 @@ struct DLL_LINKAGE EventEffect
MetaString toOtherMessage;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & type;
h & toOtherMessage;
@ -181,7 +181,7 @@ struct DLL_LINKAGE TriggeredEvent
EventEffect effect;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & identifier;
h & trigger;
@ -245,7 +245,7 @@ public:
void registerMapStrings();
template <typename Handler>
void serialize(Handler & h, const int Version)
void serialize(Handler & h)
{
h & texts;
h & version;

View File

@ -55,7 +55,7 @@ void CMapInfo::mapInit(const std::string & fname)
void CMapInfo::saveInit(const ResourcePath & file)
{
CLoadFile lf(*CResourceHandler::get()->getResourceName(file), MINIMAL_SERIALIZATION_VERSION);
CLoadFile lf(*CResourceHandler::get()->getResourceName(file), ESerializationVersion::MINIMAL);
lf.checkMagicBytes(SAVEGAME_MAGIC);
mapHeader = std::make_unique<CMapHeader>();

View File

@ -58,7 +58,7 @@ public:
int getMapSizeFormatIconId() const;
std::string getMapSizeName() const;
template <typename Handler> void serialize(Handler &h, const int Version)
template <typename Handler> void serialize(Handler &h)
{
h & mapHeader;
h & campaign;

View File

@ -22,7 +22,7 @@ class ActiveModsInSaveList
/// Checks whether provided mod list is compatible with current VLC and throws on failure
void verifyActiveMods(const std::vector<std::pair<TModID, ModVerificationInfo>> & modList);
public:
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
if(h.saving)
{

View File

@ -38,7 +38,7 @@ struct DLL_LINKAGE CModVersion
bool compatible(const CModVersion & other, bool checkMinor = false, bool checkPatch = false) const;
bool isNull() const;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & major;
h & minor;

View File

@ -31,7 +31,7 @@ struct ModVerificationInfo
bool impactsGameplay = true;
template <typename Handler>
void serialize(Handler & h, const int v)
void serialize(Handler & h)
{
h & name;
h & version;

View File

@ -38,7 +38,7 @@ struct ArtifactLocation
{
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & artHolder;
h & slot;

View File

@ -47,7 +47,7 @@ public:
{
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & healthDelta;
@ -69,7 +69,7 @@ public:
{
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & data;

View File

@ -43,7 +43,7 @@ struct Component
ComponentSubType subType;
std::optional<int32_t> value; // + give; - take
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & type;
h & subType;

View File

@ -21,7 +21,7 @@ public:
Metatype metatype = Metatype::UNKNOWN;
int32_t entityIndex = 0;
JsonNode data;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & metatype;
h & entityIndex;

View File

@ -27,7 +27,7 @@ struct DLL_LINKAGE CPack
CPack() = default;
virtual ~CPack() = default;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
logNetwork->error("CPack serialized... this should not happen!");
assert(false && "CPack serialized");
@ -66,7 +66,7 @@ struct DLL_LINKAGE CPackForServer : public CPack
mutable PlayerColor player = PlayerColor::NEUTRAL;
mutable si32 requestID;
template <typename Handler> void serialize(Handler &h, const int version)
template <typename Handler> void serialize(Handler &h)
{
h & player;
h & requestID;

View File

@ -62,7 +62,7 @@ struct DLL_LINKAGE PackageApplied : public CPackForClient
ui32 requestID = 0; //an ID given by client to the request that was applied
PlayerColor player;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & result;
h & packType;
@ -83,7 +83,7 @@ struct DLL_LINKAGE SystemMessage : public CPackForClient
std::string text;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & text;
}
@ -100,7 +100,7 @@ struct DLL_LINKAGE PlayerBlocked : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & reason;
h & startOrEnd;
@ -118,7 +118,7 @@ struct DLL_LINKAGE PlayerCheated : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & losingCheatCode;
@ -133,7 +133,7 @@ struct DLL_LINKAGE TurnTimeUpdate : public CPackForClient
PlayerColor player;
TurnTimerInfo turnTimer;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & turnTimer;
@ -148,7 +148,7 @@ struct DLL_LINKAGE PlayerStartsTurn : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & player;
@ -164,7 +164,7 @@ struct DLL_LINKAGE DaysWithoutTown : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & daysWithoutCastle;
@ -179,7 +179,7 @@ struct DLL_LINKAGE EntitiesChanged : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & changes;
}
@ -195,7 +195,7 @@ struct DLL_LINKAGE SetResources : public CPackForClient
PlayerColor player;
ResourceSet res; //res[resid] => res amount
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & abs;
h & player;
@ -214,7 +214,7 @@ struct DLL_LINKAGE SetPrimSkill : public CPackForClient
PrimarySkill which = PrimarySkill::ATTACK;
si64 val = 0;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & abs;
h & id;
@ -234,7 +234,7 @@ struct DLL_LINKAGE SetSecSkill : public CPackForClient
SecondarySkill which;
ui16 val = 0;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & abs;
h & id;
@ -258,7 +258,7 @@ struct DLL_LINKAGE HeroVisitCastle : public CPackForClient
return flags & 1;
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & flags;
h & tid;
@ -276,7 +276,7 @@ struct DLL_LINKAGE ChangeSpells : public CPackForClient
ObjectInstanceID hid;
std::set<SpellID> spells;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & learn;
h & hid;
@ -294,7 +294,7 @@ struct DLL_LINKAGE SetMana : public CPackForClient
si32 val = 0;
bool absolute = true;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & val;
h & hid;
@ -312,7 +312,7 @@ struct DLL_LINKAGE SetMovePoints : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & val;
h & hid;
@ -331,7 +331,7 @@ struct DLL_LINKAGE FoWChange : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & tiles;
h & player;
@ -357,7 +357,7 @@ struct DLL_LINKAGE SetAvailableHero : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & slotID;
h & roleID;
@ -386,7 +386,7 @@ struct DLL_LINKAGE GiveBonus : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & bonus;
h & id;
@ -409,7 +409,7 @@ struct DLL_LINKAGE ChangeObjPos : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & objid;
h & nPos;
@ -425,7 +425,7 @@ struct DLL_LINKAGE PlayerEndsTurn : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
}
@ -440,7 +440,7 @@ struct DLL_LINKAGE PlayerEndsGame : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & victoryLossCheckResult;
@ -456,7 +456,7 @@ struct DLL_LINKAGE PlayerReinitInterface : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & players;
h & playerConnectionId;
@ -484,7 +484,7 @@ struct DLL_LINKAGE RemoveBonus : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & source;
h & id;
@ -508,7 +508,7 @@ struct DLL_LINKAGE SetCommanderProperty : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & heroid;
h & which;
@ -527,7 +527,7 @@ struct DLL_LINKAGE AddQuest : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & quest;
@ -541,7 +541,7 @@ struct DLL_LINKAGE UpdateArtHandlerLists : public CPackForClient
void applyGs(CGameState * gs) const;
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & allocatedArtifacts;
}
@ -554,7 +554,7 @@ struct DLL_LINKAGE UpdateMapEvents : public CPackForClient
void applyGs(CGameState * gs) const;
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & events;
}
@ -568,7 +568,7 @@ struct DLL_LINKAGE UpdateCastleEvents : public CPackForClient
void applyGs(CGameState * gs) const;
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & town;
h & events;
@ -583,7 +583,7 @@ struct DLL_LINKAGE ChangeFormation : public CPackForClient
void applyGs(CGameState * gs) const;
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & hid;
h & formation;
@ -608,7 +608,7 @@ struct DLL_LINKAGE RemoveObject : public CPackForClient
/// Player that initiated this action, if any
PlayerColor initiator;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & objectID;
h & initiator;
@ -644,7 +644,7 @@ struct DLL_LINKAGE TryMoveHero : public CPackForClient
return result != SUCCESS && result != EMBARK && result != DISEMBARK && result != TELEPORTATION;
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & result;
@ -666,7 +666,7 @@ struct DLL_LINKAGE NewStructures : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & tid;
h & bid;
@ -684,7 +684,7 @@ struct DLL_LINKAGE RazeStructures : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & tid;
h & bid;
@ -701,7 +701,7 @@ struct DLL_LINKAGE SetAvailableCreatures : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & tid;
h & creatures;
@ -718,7 +718,7 @@ struct DLL_LINKAGE SetHeroesInTown : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & tid;
h & visiting;
@ -738,7 +738,7 @@ struct DLL_LINKAGE HeroRecruited : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & hid;
h & tid;
@ -758,7 +758,7 @@ struct DLL_LINKAGE GiveHero : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & boatId;
@ -774,7 +774,7 @@ struct DLL_LINKAGE OpenWindow : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & window;
@ -800,10 +800,10 @@ struct DLL_LINKAGE NewObject : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & ID;
subID.serializeIdentifier(h, ID, version);
subID.serializeIdentifier(h, ID);
h & targetPos;
h & initiator;
}
@ -819,7 +819,7 @@ struct DLL_LINKAGE SetAvailableArtifacts : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & arts;
@ -841,7 +841,7 @@ struct DLL_LINKAGE ChangeStackCount : CGarrisonOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & army;
h & slot;
@ -860,7 +860,7 @@ struct DLL_LINKAGE SetStackType : CGarrisonOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & army;
h & slot;
@ -876,7 +876,7 @@ struct DLL_LINKAGE EraseStack : CGarrisonOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & army;
h & slot;
@ -893,7 +893,7 @@ struct DLL_LINKAGE SwapStacks : CGarrisonOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & srcArmy;
h & dstArmy;
@ -912,7 +912,7 @@ struct DLL_LINKAGE InsertNewStack : CGarrisonOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & army;
h & slot;
@ -934,7 +934,7 @@ struct DLL_LINKAGE RebalanceStacks : CGarrisonOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & srcArmy;
h & dstArmy;
@ -952,7 +952,7 @@ struct DLL_LINKAGE BulkRebalanceStacks : CGarrisonOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & moves;
}
@ -967,7 +967,7 @@ struct DLL_LINKAGE BulkSmartRebalanceStacks : CGarrisonOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler>
void serialize(Handler & h, const int version)
void serialize(Handler & h)
{
h & moves;
h & changes;
@ -993,7 +993,7 @@ struct DLL_LINKAGE PutArtifact : CArtifactOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & al;
h & askAssemble;
@ -1008,7 +1008,7 @@ struct DLL_LINKAGE NewArtifact : public CArtifactOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & art;
}
@ -1021,7 +1021,7 @@ struct DLL_LINKAGE EraseArtifact : CArtifactOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & al;
}
@ -1041,7 +1041,7 @@ struct DLL_LINKAGE MoveArtifact : CArtifactOperationPack
void applyGs(CGameState * gs);
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & src;
h & dst;
@ -1062,7 +1062,7 @@ struct DLL_LINKAGE BulkMoveArtifacts : CArtifactOperationPack
, dstPos(dstPos)
{
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & srcPos;
h & dstPos;
@ -1102,7 +1102,7 @@ struct DLL_LINKAGE BulkMoveArtifacts : CArtifactOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & artsPack0;
h & artsPack1;
@ -1124,7 +1124,7 @@ struct DLL_LINKAGE AssembledArtifact : CArtifactOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & al;
h & builtArt;
@ -1139,7 +1139,7 @@ struct DLL_LINKAGE DisassembledArtifact : CArtifactOperationPack
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & al;
}
@ -1157,7 +1157,7 @@ struct DLL_LINKAGE HeroVisit : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & heroId;
@ -1179,7 +1179,7 @@ struct DLL_LINKAGE NewTurn : public CPackForClient
ObjectInstanceID id; //id is a general serial id
ui32 move;
ui32 mana;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & move;
@ -1197,7 +1197,7 @@ struct DLL_LINKAGE NewTurn : public CPackForClient
NewTurn() = default;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & heroes;
h & cres;
@ -1218,7 +1218,7 @@ struct DLL_LINKAGE InfoWindow : public CPackForClient //103 - displays simple i
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & type;
h & text;
@ -1241,7 +1241,7 @@ struct DLL_LINKAGE SetObjectProperty : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & id;
h & what;
@ -1276,7 +1276,7 @@ struct DLL_LINKAGE ChangeObjectVisitors : public CPackForClient
{
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & object;
h & hero;
@ -1296,7 +1296,7 @@ struct DLL_LINKAGE HeroLevelUp : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & player;
@ -1317,7 +1317,7 @@ struct DLL_LINKAGE CommanderLevelUp : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & player;
@ -1356,7 +1356,7 @@ struct DLL_LINKAGE BlockingDialog : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & text;
@ -1375,7 +1375,7 @@ struct DLL_LINKAGE GarrisonDialog : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & objid;
@ -1393,7 +1393,7 @@ struct DLL_LINKAGE ExchangeDialog : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & player;
@ -1418,7 +1418,7 @@ struct DLL_LINKAGE TeleportDialog : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & hero;
@ -1438,7 +1438,7 @@ struct DLL_LINKAGE MapObjectSelectDialog : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & queryID;
h & player;
@ -1453,7 +1453,7 @@ struct DLL_LINKAGE AdvmapSpellCast : public CPackForClient
{
ObjectInstanceID casterID;
SpellID spellID;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & casterID;
h & spellID;
@ -1470,7 +1470,7 @@ struct DLL_LINKAGE ShowWorldViewEx : public CPackForClient
std::vector<ObjectPosInfo> objectPositions;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & showTerrain;
@ -1494,7 +1494,7 @@ struct DLL_LINKAGE PlayerMessageClient : public CPackForClient
PlayerColor player;
std::string text;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & player;
h & text;
@ -1509,7 +1509,7 @@ struct DLL_LINKAGE CenterView : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & pos;
h & player;

View File

@ -32,7 +32,7 @@ struct DLL_LINKAGE BattleStart : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & info;
@ -48,7 +48,7 @@ struct DLL_LINKAGE BattleNextRound : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
assert(battleID != BattleID::NONE);
@ -65,7 +65,7 @@ struct DLL_LINKAGE BattleSetActiveStack : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stack;
@ -80,7 +80,7 @@ struct DLL_LINKAGE BattleCancelled: public CPackForClient
BattleID battleID = BattleID::NONE;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
assert(battleID != BattleID::NONE);
@ -100,7 +100,7 @@ struct DLL_LINKAGE BattleResultAccepted : public CPackForClient
CArmedInstance * army;
TExpType exp;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & hero;
h & army;
@ -112,7 +112,7 @@ struct DLL_LINKAGE BattleResultAccepted : public CPackForClient
std::array<HeroBattleResults, 2> heroResult;
ui8 winnerSide;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & heroResult;
@ -134,7 +134,7 @@ struct DLL_LINKAGE BattleResult : public Query
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & queryID;
@ -158,7 +158,7 @@ struct DLL_LINKAGE BattleLogMessage : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & lines;
@ -179,7 +179,7 @@ struct DLL_LINKAGE BattleStackMoved : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stack;
@ -200,7 +200,7 @@ struct DLL_LINKAGE BattleUnitsChanged : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & changedStacks;
@ -248,7 +248,7 @@ struct BattleStackAttacked
return flags & FIRE_SHIELD;
}
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stackAttacked;
@ -315,7 +315,7 @@ struct DLL_LINKAGE BattleAttack : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & bsa;
@ -343,7 +343,7 @@ struct DLL_LINKAGE StartAction : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & ba;
@ -357,7 +357,7 @@ struct DLL_LINKAGE EndAction : public CPackForClient
BattleID battleID = BattleID::NONE;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
}
@ -381,7 +381,7 @@ struct DLL_LINKAGE BattleSpellCast : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & side;
@ -408,7 +408,7 @@ struct DLL_LINKAGE StacksInjured : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stacks;
@ -422,7 +422,7 @@ struct DLL_LINKAGE BattleResultsApplied : public CPackForClient
PlayerColor player1, player2;
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & player1;
@ -441,7 +441,7 @@ struct DLL_LINKAGE BattleObstaclesChanged : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & changes;
@ -457,7 +457,7 @@ struct DLL_LINKAGE CatapultAttack : public CPackForClient
EWallPart attackedPart;
ui8 damageDealt;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & destinationTile;
h & attackedPart;
@ -477,7 +477,7 @@ struct DLL_LINKAGE CatapultAttack : public CPackForClient
void visitTyped(ICPackVisitor & visitor) override;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & attackedParts;
@ -498,7 +498,7 @@ struct DLL_LINKAGE BattleSetStackProperty : public CPackForClient
int val = 0;
int absolute = 0;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stackID;
@ -523,7 +523,7 @@ struct DLL_LINKAGE BattleTriggerEffect : public CPackForClient
int val = 0;
int additionalInfo = 0;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & stackID;
@ -543,7 +543,7 @@ struct DLL_LINKAGE BattleUpdateGateState : public CPackForClient
BattleID battleID = BattleID::NONE;
EGateState state = EGateState::NONE;
template <typename Handler> void serialize(Handler & h, const int version)
template <typename Handler> void serialize(Handler & h)
{
h & battleID;
h & state;

Some files were not shown because too many files have changed in this diff Show More