Plantlike visual scale: Send sqrt(visual_scale) to old clients
Keep compatibility with protocol < 30 clients now that visual_scale is no longer applied twice to plantlike drawtype and mods are being updated to a new value.
This commit is contained in:
parent
e761b9f486
commit
cdc538e0a2
|
@ -146,6 +146,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
PROTOCOL VERSION 30:
|
PROTOCOL VERSION 30:
|
||||||
New ContentFeatures serialization version
|
New ContentFeatures serialization version
|
||||||
Add node and tile color and palette
|
Add node and tile color and palette
|
||||||
|
Fix plantlike visual_scale being applied squared and add compatibility
|
||||||
|
with pre-30 clients by sending sqrt(visual_scale)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define LATEST_PROTOCOL_VERSION 30
|
#define LATEST_PROTOCOL_VERSION 30
|
||||||
|
|
|
@ -1611,6 +1611,10 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
|
||||||
compatible_param_type_2 = CPT2_WALLMOUNTED;
|
compatible_param_type_2 = CPT2_WALLMOUNTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float compatible_visual_scale = visual_scale;
|
||||||
|
if (protocol_version < 30 && drawtype == NDT_PLANTLIKE)
|
||||||
|
compatible_visual_scale = sqrt(visual_scale);
|
||||||
|
|
||||||
if (protocol_version == 13)
|
if (protocol_version == 13)
|
||||||
{
|
{
|
||||||
writeU8(os, 5); // version
|
writeU8(os, 5); // version
|
||||||
|
@ -1622,7 +1626,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
|
||||||
writeS16(os, i->second);
|
writeS16(os, i->second);
|
||||||
}
|
}
|
||||||
writeU8(os, drawtype);
|
writeU8(os, drawtype);
|
||||||
writeF1000(os, visual_scale);
|
writeF1000(os, compatible_visual_scale);
|
||||||
writeU8(os, 6);
|
writeU8(os, 6);
|
||||||
for (u32 i = 0; i < 6; i++)
|
for (u32 i = 0; i < 6; i++)
|
||||||
tiledef[i].serialize(os, protocol_version);
|
tiledef[i].serialize(os, protocol_version);
|
||||||
|
@ -1670,7 +1674,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
|
||||||
writeS16(os, i->second);
|
writeS16(os, i->second);
|
||||||
}
|
}
|
||||||
writeU8(os, drawtype);
|
writeU8(os, drawtype);
|
||||||
writeF1000(os, visual_scale);
|
writeF1000(os, compatible_visual_scale);
|
||||||
writeU8(os, 6);
|
writeU8(os, 6);
|
||||||
for (u32 i = 0; i < 6; i++)
|
for (u32 i = 0; i < 6; i++)
|
||||||
tiledef[i].serialize(os, protocol_version);
|
tiledef[i].serialize(os, protocol_version);
|
||||||
|
@ -1724,7 +1728,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
|
||||||
writeS16(os, i->second);
|
writeS16(os, i->second);
|
||||||
}
|
}
|
||||||
writeU8(os, drawtype);
|
writeU8(os, drawtype);
|
||||||
writeF1000(os, visual_scale);
|
writeF1000(os, compatible_visual_scale);
|
||||||
writeU8(os, 6);
|
writeU8(os, 6);
|
||||||
for (u32 i = 0; i < 6; i++)
|
for (u32 i = 0; i < 6; i++)
|
||||||
tiledef[i].serialize(os, protocol_version);
|
tiledef[i].serialize(os, protocol_version);
|
||||||
|
|
Loading…
Reference in New Issue