]> git.lizzy.rs Git - minetest.git/blobdiff - src/nodedef.cpp
Minimap: Optimise
[minetest.git] / src / nodedef.cpp
index 0bb15026728a8d8560dc2c2a97411fecd2b57b13..c717b62b9fe4462e3ad694052fc303db164b9ba2 100644 (file)
@@ -1611,6 +1611,10 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
                        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)
        {
                writeU8(os, 5); // version
@@ -1622,7 +1626,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
                        writeS16(os, i->second);
                }
                writeU8(os, drawtype);
-               writeF1000(os, visual_scale);
+               writeF1000(os, compatible_visual_scale);
                writeU8(os, 6);
                for (u32 i = 0; i < 6; i++)
                        tiledef[i].serialize(os, protocol_version);
@@ -1670,7 +1674,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
                        writeS16(os, i->second);
                }
                writeU8(os, drawtype);
-               writeF1000(os, visual_scale);
+               writeF1000(os, compatible_visual_scale);
                writeU8(os, 6);
                for (u32 i = 0; i < 6; i++)
                        tiledef[i].serialize(os, protocol_version);
@@ -1724,7 +1728,7 @@ void ContentFeatures::serializeOld(std::ostream &os, u16 protocol_version) const
                        writeS16(os, i->second);
                }
                writeU8(os, drawtype);
-               writeF1000(os, visual_scale);
+               writeF1000(os, compatible_visual_scale);
                writeU8(os, 6);
                for (u32 i = 0; i < 6; i++)
                        tiledef[i].serialize(os, protocol_version);