1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Weather backward compatibility

This commit is contained in:
proller 2013-08-02 00:51:36 +04:00
parent 0e89bca173
commit 06cdce1e12
11 changed files with 63 additions and 32 deletions

View file

@ -636,11 +636,21 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
// Node timers
m_node_timers.serialize(os, version);
}
} else {
if(version >= 26){
writeF1000(os, heat);
writeF1000(os, humidity);
}
}
}
void MapBlock::serializeNetworkSpecific(std::ostream &os, u16 net_proto_version)
{
if(data == NULL)
{
throw SerializationError("ERROR: Not writing dummy block.");
}
if(net_proto_version >= 21){
int version = 1;
writeU8(os, version);
writeF1000(os, heat);
writeF1000(os, humidity);
}
}
@ -743,17 +753,30 @@ void MapBlock::deSerialize(std::istream &is, u8 version, bool disk)
<<": Node timers (ver>=25)"<<std::endl);
m_node_timers.deSerialize(is, version);
}
} else {
if(version >= 26){
heat = readF1000(is);
humidity = readF1000(is);
}
}
TRACESTREAM(<<"MapBlock::deSerialize "<<PP(getPos())
<<": Done."<<std::endl);
}
void MapBlock::deSerializeNetworkSpecific(std::istream &is)
{
try {
int version = readU8(is);
//if(version != 1)
// throw SerializationError("unsupported MapBlock version");
if(version >= 1) {
heat = readF1000(is);
humidity = readF1000(is);
}
}
catch(SerializationError &e)
{
errorstream<<"WARNING: MapBlock::deSerializeNetworkSpecific(): Ignoring an error"
<<": "<<e.what()<<std::endl;
}
}
/*
Legacy serialization
*/