diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/craftdef.cpp | 147 | ||||
-rw-r--r-- | src/craftdef.h | 32 |
2 files changed, 2 insertions, 177 deletions
diff --git a/src/craftdef.cpp b/src/craftdef.cpp index d3ac8a458..6fc0ae934 100644 --- a/src/craftdef.cpp +++ b/src/craftdef.cpp @@ -322,63 +322,6 @@ std::string CraftReplacements::dump() const return os.str(); } -void CraftReplacements::serialize(std::ostream &os) const -{ - writeU16(os, pairs.size()); - for (u32 i=0; i<pairs.size(); i++) { - os << serializeString(pairs[i].first); - os << serializeString(pairs[i].second); - } -} - -void CraftReplacements::deSerialize(std::istream &is) -{ - pairs.clear(); - u32 count = readU16(is); - for (u32 i=0; i<count; i++) { - std::string first = deSerializeString(is); - std::string second = deSerializeString(is); - pairs.push_back(std::make_pair(first, second)); - } -} - -/* - CraftDefinition -*/ - -void CraftDefinition::serialize(std::ostream &os) const -{ - writeU8(os, 1); // version - os << serializeString(getName()); - serializeBody(os); -} - -CraftDefinition* CraftDefinition::deSerialize(std::istream &is) -{ - int version = readU8(is); - if (version != 1) throw SerializationError( - "unsupported CraftDefinition version"); - std::string name = deSerializeString(is); - CraftDefinition *def = NULL; - if (name == "shaped") { - def = new CraftDefinitionShaped; - } else if (name == "shapeless") { - def = new CraftDefinitionShapeless; - } else if (name == "toolrepair") { - def = new CraftDefinitionToolRepair; - } else if (name == "cooking") { - def = new CraftDefinitionCooking; - } else if (name == "fuel") { - def = new CraftDefinitionFuel; - } else { - infostream << "Unknown CraftDefinition name=\"" - << name << '"' << std::endl; - throw SerializationError("Unknown CraftDefinition name"); - } - def->deSerializeBody(is, version); - return def; -} - /* CraftDefinitionShaped */ @@ -513,29 +456,6 @@ std::string CraftDefinitionShaped::dump() const return os.str(); } -void CraftDefinitionShaped::serializeBody(std::ostream &os) const -{ - os << serializeString(output); - writeU16(os, width); - writeU16(os, recipe.size()); - for (u32 i=0; i<recipe.size(); i++) - os << serializeString(recipe[i]); - replacements.serialize(os); -} - -void CraftDefinitionShaped::deSerializeBody(std::istream &is, int version) -{ - if (version != 1) throw SerializationError( - "unsupported CraftDefinitionShaped version"); - output = deSerializeString(is); - width = readU16(is); - recipe.clear(); - u32 count = readU16(is); - for (u32 i=0; i<count; i++) - recipe.push_back(deSerializeString(is)); - replacements.deSerialize(is); -} - /* CraftDefinitionShapeless */ @@ -655,27 +575,6 @@ std::string CraftDefinitionShapeless::dump() const return os.str(); } -void CraftDefinitionShapeless::serializeBody(std::ostream &os) const -{ - os << serializeString(output); - writeU16(os, recipe.size()); - for (u32 i=0; i<recipe.size(); i++) - os << serializeString(recipe[i]); - replacements.serialize(os); -} - -void CraftDefinitionShapeless::deSerializeBody(std::istream &is, int version) -{ - if (version != 1) throw SerializationError( - "unsupported CraftDefinitionShapeless version"); - output = deSerializeString(is); - recipe.clear(); - u32 count = readU16(is); - for (u32 i=0; i<count; i++) - recipe.push_back(deSerializeString(is)); - replacements.deSerialize(is); -} - /* CraftDefinitionToolRepair */ @@ -773,18 +672,6 @@ std::string CraftDefinitionToolRepair::dump() const return os.str(); } -void CraftDefinitionToolRepair::serializeBody(std::ostream &os) const -{ - writeF1000(os, additional_wear); -} - -void CraftDefinitionToolRepair::deSerializeBody(std::istream &is, int version) -{ - if (version != 1) throw SerializationError( - "unsupported CraftDefinitionToolRepair version"); - additional_wear = readF1000(is); -} - /* CraftDefinitionCooking */ @@ -876,24 +763,6 @@ std::string CraftDefinitionCooking::dump() const return os.str(); } -void CraftDefinitionCooking::serializeBody(std::ostream &os) const -{ - os << serializeString(output); - os << serializeString(recipe); - writeF1000(os, cooktime); - replacements.serialize(os); -} - -void CraftDefinitionCooking::deSerializeBody(std::istream &is, int version) -{ - if (version != 1) throw SerializationError( - "unsupported CraftDefinitionCooking version"); - output = deSerializeString(is); - recipe = deSerializeString(is); - cooktime = readF1000(is); - replacements.deSerialize(is); -} - /* CraftDefinitionFuel */ @@ -983,22 +852,6 @@ std::string CraftDefinitionFuel::dump() const return os.str(); } -void CraftDefinitionFuel::serializeBody(std::ostream &os) const -{ - os << serializeString(recipe); - writeF1000(os, burntime); - replacements.serialize(os); -} - -void CraftDefinitionFuel::deSerializeBody(std::istream &is, int version) -{ - if (version != 1) throw SerializationError( - "unsupported CraftDefinitionFuel version"); - recipe = deSerializeString(is); - burntime = readF1000(is); - replacements.deSerialize(is); -} - /* Craft definition manager */ diff --git a/src/craftdef.h b/src/craftdef.h index cc7a0619c..f62ad3313 100644 --- a/src/craftdef.h +++ b/src/craftdef.h @@ -128,8 +128,6 @@ struct CraftReplacements pairs(pairs_) {} std::string dump() const; - void serialize(std::ostream &os) const; - void deSerialize(std::istream &is); }; /* @@ -141,9 +139,6 @@ public: CraftDefinition(){} virtual ~CraftDefinition(){} - void serialize(std::ostream &os) const; - static CraftDefinition* deSerialize(std::istream &is); - // Returns type of crafting definition virtual std::string getName() const=0; @@ -164,9 +159,6 @@ public: virtual void initHash(IGameDef *gamedef) = 0; virtual std::string dump() const=0; -protected: - virtual void serializeBody(std::ostream &os) const=0; - virtual void deSerializeBody(std::istream &is, int version)=0; }; /* @@ -204,10 +196,6 @@ public: virtual std::string dump() const; -protected: - virtual void serializeBody(std::ostream &os) const; - virtual void deSerializeBody(std::istream &is, int version); - private: // Output itemstring std::string output; @@ -256,10 +244,6 @@ public: virtual std::string dump() const; -protected: - virtual void serializeBody(std::ostream &os) const; - virtual void deSerializeBody(std::istream &is, int version); - private: // Output itemstring std::string output; @@ -303,10 +287,6 @@ public: virtual std::string dump() const; -protected: - virtual void serializeBody(std::ostream &os) const; - virtual void deSerializeBody(std::istream &is, int version); - private: // This is a constant that is added to the wear of the result. // May be positive or negative, allowed range [-1,1]. @@ -349,10 +329,6 @@ public: virtual std::string dump() const; -protected: - virtual void serializeBody(std::ostream &os) const; - virtual void deSerializeBody(std::istream &is, int version); - private: // Output itemstring std::string output; @@ -398,10 +374,6 @@ public: virtual std::string dump() const; -protected: - virtual void serializeBody(std::ostream &os) const; - virtual void deSerializeBody(std::istream &is, int version); - private: // Recipe itemstring std::string recipe; @@ -429,7 +401,7 @@ public: bool decrementInput, IGameDef *gamedef) const=0; virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output, IGameDef *gamedef, unsigned limit=0) const=0; - + // Print crafting recipes for debugging virtual std::string dump() const=0; }; @@ -443,7 +415,7 @@ public: // The main crafting function virtual bool getCraftResult(CraftInput &input, CraftOutput &output, bool decrementInput, IGameDef *gamedef) const=0; - virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output, + virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output, IGameDef *gamedef, unsigned limit=0) const=0; // Print crafting recipes for debugging |