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:
parent
0e7eeabe73
commit
5967457be0
1 changed files with 15 additions and 8 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue