Skip to content
Snippets Groups Projects
Commit 7039dfaf authored by Perttu Ahola's avatar Perttu Ahola
Browse files

Increment protocol version

parent 22ae83a5
No related branches found
No related tags found
No related merge requests found
......@@ -55,10 +55,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
TOCLIENT_PRIVILEGES
Version raised to force 'fly' and 'fast' privileges into effect.
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
......
......@@ -216,7 +216,7 @@ void ContentFeatures::reset()
void ContentFeatures::serialize(std::ostream &os)
{
writeU8(os, 4); // version
writeU8(os, 5); // version
os<<serializeString(name);
writeU16(os, groups.size());
for(ItemGroupList::const_iterator
......@@ -267,7 +267,7 @@ void ContentFeatures::serialize(std::ostream &os)
void ContentFeatures::deSerialize(std::istream &is)
{
int version = readU8(is);
if(version != 4 && version != 3)
if(version != 5)
throw SerializationError("unsupported ContentFeatures version");
name = deSerializeString(is);
groups.clear();
......@@ -281,22 +281,12 @@ void ContentFeatures::deSerialize(std::istream &is)
visual_scale = readF1000(is);
if(readU8(is) != 6)
throw SerializationError("unsupported tile count");
for(u32 i=0; i<6; i++){
if(version == 4)
tiledef[i].deSerialize(is);
else if(version == 3) // Allow connecting to older servers
tiledef[i].name = deSerializeString(is);
}
for(u32 i=0; i<6; i++)
tiledef[i].deSerialize(is);
if(readU8(is) != CF_SPECIAL_COUNT)
throw SerializationError("unsupported CF_SPECIAL_COUNT");
for(u32 i=0; i<CF_SPECIAL_COUNT; i++){
if(version == 4){
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);
}
}
for(u32 i=0; i<CF_SPECIAL_COUNT; i++)
tiledef_special[i].deSerialize(is);
alpha = readU8(is);
post_effect_color.setAlpha(readU8(is));
post_effect_color.setRed(readU8(is));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment