mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Fix serialization of rewardable objects
This commit is contained in:
@@ -46,6 +46,11 @@ public:
|
|||||||
void configureObject(CRewardableObject * object, CRandomGenerator & rng) const;
|
void configureObject(CRewardableObject * object, CRandomGenerator & rng) const;
|
||||||
|
|
||||||
void init(const JsonNode & objectConfig);
|
void init(const JsonNode & objectConfig);
|
||||||
|
|
||||||
|
template <typename Handler> void serialize(Handler &h, const int version)
|
||||||
|
{
|
||||||
|
h & parameters;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class DLL_LINKAGE CRewardableConstructor : public AObjectTypeHandler
|
class DLL_LINKAGE CRewardableConstructor : public AObjectTypeHandler
|
||||||
@@ -60,6 +65,14 @@ public:
|
|||||||
void configureObject(CGObjectInstance * object, CRandomGenerator & rng) const override;
|
void configureObject(CGObjectInstance * object, CRandomGenerator & rng) const override;
|
||||||
|
|
||||||
std::unique_ptr<IObjectInfo> getObjectInfo(std::shared_ptr<const ObjectTemplate> tmpl) const override;
|
std::unique_ptr<IObjectInfo> getObjectInfo(std::shared_ptr<const ObjectTemplate> tmpl) const override;
|
||||||
|
|
||||||
|
template <typename Handler> void serialize(Handler &h, const int version)
|
||||||
|
{
|
||||||
|
AObjectTypeHandler::serialize(h, version);
|
||||||
|
|
||||||
|
if (version >= 816)
|
||||||
|
h & objectInfo;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
|||||||
@@ -544,6 +544,7 @@ void CRewardableObject::newTurn(CRandomGenerator & rand) const
|
|||||||
void CRewardableObject::initObj(CRandomGenerator & rand)
|
void CRewardableObject::initObj(CRandomGenerator & rand)
|
||||||
{
|
{
|
||||||
VLC->objtypeh->getHandlerFor(ID, subID)->configureObject(this, rand);
|
VLC->objtypeh->getHandlerFor(ID, subID)->configureObject(this, rand);
|
||||||
|
assert(!info.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
CRewardableObject::CRewardableObject():
|
CRewardableObject::CRewardableObject():
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
VCMI_LIB_NAMESPACE_BEGIN
|
||||||
|
|
||||||
const ui32 SERIALIZATION_VERSION = 815;
|
const ui32 SERIALIZATION_VERSION = 816;
|
||||||
const ui32 MINIMAL_SERIALIZATION_VERSION = 813;
|
const ui32 MINIMAL_SERIALIZATION_VERSION = 813;
|
||||||
const std::string SAVEGAME_MAGIC = "VCMISVG";
|
const std::string SAVEGAME_MAGIC = "VCMISVG";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user