Increment protocol version

This commit is contained in:
Perttu Ahola 2012-06-17 17:49:12 +03:00
parent 22ae83a589
commit 7039dfafd6
2 changed files with 10 additions and 18 deletions

View File

@ -55,10 +55,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
TOCLIENT_PRIVILEGES TOCLIENT_PRIVILEGES
Version raised to force 'fly' and 'fast' privileges into effect. Version raised to force 'fly' and 'fast' privileges into effect.
Node metadata change (came in later; somewhat incompatible) Node metadata change (came in later; somewhat incompatible)
TileDef in ContentFeatures (non-TileDef deserialization is supported) PROTOCOL_VERSION 11:
TileDef in ContentFeatures
Nodebox drawtype
*/ */
#define PROTOCOL_VERSION 10 #define PROTOCOL_VERSION 11
#define PROTOCOL_ID 0x4f457403 #define PROTOCOL_ID 0x4f457403

View File

@ -216,7 +216,7 @@ void ContentFeatures::reset()
void ContentFeatures::serialize(std::ostream &os) void ContentFeatures::serialize(std::ostream &os)
{ {
writeU8(os, 4); // version writeU8(os, 5); // version
os<<serializeString(name); os<<serializeString(name);
writeU16(os, groups.size()); writeU16(os, groups.size());
for(ItemGroupList::const_iterator for(ItemGroupList::const_iterator
@ -267,7 +267,7 @@ void ContentFeatures::serialize(std::ostream &os)
void ContentFeatures::deSerialize(std::istream &is) void ContentFeatures::deSerialize(std::istream &is)
{ {
int version = readU8(is); int version = readU8(is);
if(version != 4 && version != 3) if(version != 5)
throw SerializationError("unsupported ContentFeatures version"); throw SerializationError("unsupported ContentFeatures version");
name = deSerializeString(is); name = deSerializeString(is);
groups.clear(); groups.clear();
@ -281,22 +281,12 @@ void ContentFeatures::deSerialize(std::istream &is)
visual_scale = readF1000(is); visual_scale = readF1000(is);
if(readU8(is) != 6) if(readU8(is) != 6)
throw SerializationError("unsupported tile count"); throw SerializationError("unsupported tile count");
for(u32 i=0; i<6; i++){ for(u32 i=0; i<6; i++)
if(version == 4) tiledef[i].deSerialize(is);
tiledef[i].deSerialize(is);
else if(version == 3) // Allow connecting to older servers
tiledef[i].name = deSerializeString(is);
}
if(readU8(is) != CF_SPECIAL_COUNT) if(readU8(is) != CF_SPECIAL_COUNT)
throw SerializationError("unsupported CF_SPECIAL_COUNT"); throw SerializationError("unsupported CF_SPECIAL_COUNT");
for(u32 i=0; i<CF_SPECIAL_COUNT; i++){ for(u32 i=0; i<CF_SPECIAL_COUNT; i++)
if(version == 4){ tiledef_special[i].deSerialize(is);
tiledef_special[i].deSerialize(is);
} else if(version == 3){ // Allow connecting to older servers
tiledef_special[i].name = deSerializeString(is);
tiledef_special[i].backface_culling = readU8(is);
}
}
alpha = readU8(is); alpha = readU8(is);
post_effect_color.setAlpha(readU8(is)); post_effect_color.setAlpha(readU8(is));
post_effect_color.setRed(readU8(is)); post_effect_color.setRed(readU8(is));