Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Remove craftdef serialisation
It isn't needed anymore, sending ICraftDefManager over the network has been obsoleted
by protocol version 7.
  • Loading branch information
est31 committed Apr 26, 2015
1 parent 4f851fa commit 27e3a35
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 177 deletions.
147 changes: 0 additions & 147 deletions src/craftdef.cpp
Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down
32 changes: 2 additions & 30 deletions src/craftdef.h
Expand Up @@ -128,8 +128,6 @@ struct CraftReplacements
pairs(pairs_)
{}
std::string dump() const;
void serialize(std::ostream &os) const;
void deSerialize(std::istream &is);
};

/*
Expand All @@ -141,9 +139,6 @@ class CraftDefinition
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;

Expand All @@ -164,9 +159,6 @@ class CraftDefinition
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;
};

/*
Expand Down Expand Up @@ -204,10 +196,6 @@ class CraftDefinitionShaped: public CraftDefinition

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;
Expand Down Expand Up @@ -256,10 +244,6 @@ class CraftDefinitionShapeless: public CraftDefinition

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;
Expand Down Expand Up @@ -303,10 +287,6 @@ class CraftDefinitionToolRepair: public CraftDefinition

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].
Expand Down Expand Up @@ -349,10 +329,6 @@ class CraftDefinitionCooking: public CraftDefinition

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;
Expand Down Expand Up @@ -398,10 +374,6 @@ class CraftDefinitionFuel: public CraftDefinition

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;
Expand Down Expand Up @@ -429,7 +401,7 @@ class ICraftDefManager
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;
};
Expand All @@ -443,7 +415,7 @@ class IWritableCraftDefManager : public ICraftDefManager
// 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
Expand Down

1 comment on commit 27e3a35

@nerzhul
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this cleanup

Please sign in to comment.