#pragma once //templates for registering object types //first set of types - derivatives of CGObjectInstance template DLL_EXPORT void registerTypes1(Serializer &s) { s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); } //second set of types - derivatives of CPack for client (network VCMI packages) template DLL_EXPORT void registerTypes2(Serializer &s) { s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); } template DLL_EXPORT void registerTypes3(Serializer &s) { s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); s.registerType(); } //register all template DLL_EXPORT void registerTypes(Serializer &s) { registerTypes1(s); registerTypes2(s); registerTypes3(s); }