#define VCMI_DLL #include "Connection.h" #include "NetPacks.h" #include "VCMI_Lib.h" #include "../hch/CObjectHandler.h" #include "../hch/CHeroHandler.h" #include "../hch/CTownHandler.h" #include "RegisterTypes.h" /* * RegisterTypes.cpp, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */ template<typename Serializer> DLL_EXPORT void registerTypes1(Serializer &s) { s.template registerType<CGHeroInstance>(); s.template registerType<CGTownInstance>(); s.template registerType<CGEvent>(); s.template registerType<CGVisitableOPH>(); s.template registerType<CGVisitableOPW>(); s.template registerType<CGTeleport>(); s.template registerType<CGPickable>(); s.template registerType<CGCreature>(); s.template registerType<CGSignBottle>(); s.template registerType<CGSeerHut>(); s.template registerType<CGWitchHut>(); s.template registerType<CGScholar>(); s.template registerType<CGGarrison>(); s.template registerType<CGArtifact>(); s.template registerType<CGResource>(); s.template registerType<CGMine>(); s.template registerType<CGShrine>(); s.template registerType<CGPandoraBox>(); s.template registerType<CGQuestGuard>(); s.template registerType<CGBonusingObject>(); s.template registerType<CGMagicWell>(); s.template registerType<CGObservatory>(); s.template registerType<CGKeys>(); s.template registerType<CGKeymasterTent>(); s.template registerType<CGBorderGuard>(); s.template registerType<CGBoat>(); s.template registerType<CGMagi>(); s.template registerType<CGSirens>(); s.template registerType<CGOnceVisitable>(); s.template registerType<CBank>(); s.template registerType<CGShipyard>(); s.template registerType<CGObjectInstance>(); } template<typename Serializer> DLL_EXPORT void registerTypes2(Serializer &s) { s.template registerType<PackageApplied>(); s.template registerType<SystemMessage>(); s.template registerType<PlayerBlocked>(); s.template registerType<YourTurn>(); s.template registerType<SetResource>(); s.template registerType<SetResources>(); s.template registerType<SetPrimSkill>(); s.template registerType<SetSecSkill>(); s.template registerType<HeroVisitCastle>(); s.template registerType<ChangeSpells>(); s.template registerType<SetMana>(); s.template registerType<SetMovePoints>(); s.template registerType<FoWChange>(); s.template registerType<SetAvailableHeroes>(); s.template registerType<GiveBonus>(); s.template registerType<ChangeObjPos>(); s.template registerType<RemoveObject>(); s.template registerType<TryMoveHero>(); s.template registerType<SetGarrisons>(); s.template registerType<NewStructures>(); s.template registerType<SetAvailableCreatures>(); s.template registerType<SetHeroesInTown>(); s.template registerType<SetHeroArtifacts>(); s.template registerType<HeroRecruited>(); s.template registerType<GiveHero>(); s.template registerType<NewTurn>(); s.template registerType<InfoWindow>(); s.template registerType<SetObjectProperty>(); s.template registerType<SetHoverName>(); s.template registerType<HeroLevelUp>(); s.template registerType<BlockingDialog>(); s.template registerType<GarrisonDialog>(); s.template registerType<BattleStart>(); s.template registerType<BattleNextRound>(); s.template registerType<BattleSetActiveStack>(); s.template registerType<BattleResult>(); s.template registerType<BattleStackMoved>(); s.template registerType<BattleStackAttacked>(); s.template registerType<BattleAttack>(); s.template registerType<StartAction>(); s.template registerType<EndAction>(); s.template registerType<SpellCast>(); s.template registerType<SetStackEffect>(); s.template registerType<StacksInjured>(); s.template registerType<BattleResultsApplied>(); s.template registerType<StacksHealedOrResurrected>(); s.template registerType<ShowInInfobox>(); s.template registerType<OpenWindow>(); s.template registerType<NewObject>(); s.template registerType<SaveGame>(); s.template registerType<SetSelection>(); s.template registerType<PlayerMessage>(); s.template registerType<TakeYourTime>(); s.template registerType<CenterView>(); } template<typename Serializer> DLL_EXPORT void registerTypes3(Serializer &s) { s.template registerType<CloseServer>(); s.template registerType<EndTurn>(); s.template registerType<DismissHero>(); s.template registerType<MoveHero>(); s.template registerType<ArrangeStacks>(); s.template registerType<DisbandCreature>(); s.template registerType<BuildStructure>(); s.template registerType<RecruitCreatures>(); s.template registerType<UpgradeCreature>(); s.template registerType<GarrisonHeroSwap>(); s.template registerType<ExchangeArtifacts>(); s.template registerType<BuyArtifact>(); s.template registerType<TradeOnMarketplace>(); s.template registerType<SetFormation>(); s.template registerType<HireHero>(); s.template registerType<BuildBoat>(); s.template registerType<QueryReply>(); s.template registerType<MakeAction>(); s.template registerType<MakeCustomAction>(); s.template registerType<SaveGame>(); s.template registerType<SetSelection>(); s.template registerType<PlayerMessage>(); } template<typename Serializer> DLL_EXPORT void registerTypes(Serializer &s) { registerTypes1(s); registerTypes2(s); registerTypes3(s); }