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

hoist is_mono_block out of serialization loop

This commit is contained in:
Lars 2025-06-05 16:31:43 -07:00
parent 0e7eeabe73
commit 5967457be0

View file

@ -601,14 +601,21 @@ Buffer<u8> MapNode::serializeBulk(int version,
// Writing to the buffer linearly is faster
u8 *p = &databuf[0];
for (u32 i = 0; i < nodecount; i++, p += 2)
writeU16(p, nodes[is_mono_block ? 0 : i].param0);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[is_mono_block ? 0 : i].param1);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[is_mono_block ? 0 : i].param2);
if (is_mono_block) {
for (u32 i = 0; i < nodecount; i++, p += 2)
writeU16(p, nodes[0].param0);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[0].param1);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[0].param2);
} else {
for (u32 i = 0; i < nodecount; i++, p += 2)
writeU16(p, nodes[i].param0);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[i].param1);
for (u32 i = 0; i < nodecount; i++, p++)
writeU8(p, nodes[i].param2);
}
return databuf;
}