|
|
@@ -11,6 +11,7 @@
|
|
|
|
|
|
#include "int3.h"
|
|
|
#include "../constants/EntityIdentifiers.h"
|
|
|
+#include "../mapObjects/CGObjectInstance.h"
|
|
|
|
|
|
VCMI_LIB_NAMESPACE_BEGIN
|
|
|
|
|
|
@@ -38,7 +39,23 @@ struct DLL_LINKAGE QuestInfo //universal interface for human and AI
|
|
|
|
|
|
template <typename Handler> void serialize(Handler &h)
|
|
|
{
|
|
|
- h & obj;
|
|
|
+
|
|
|
+ if (h.hasFeature(Handler::Version::NO_RAW_POINTERS_IN_SERIALIZER))
|
|
|
+ {
|
|
|
+ h & obj;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ std::shared_ptr<CQuest> questUnused;
|
|
|
+ std::shared_ptr<CGObjectInstance> objectPtr;
|
|
|
+ int3 tileUnused;
|
|
|
+ h & questUnused;
|
|
|
+ h & objectPtr;
|
|
|
+ h & tileUnused;
|
|
|
+
|
|
|
+ if (objectPtr)
|
|
|
+ obj = objectPtr->id;
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|