diff --git a/src/util/serialize.h b/src/util/serialize.h index 63713f7c..3f992528 100644 --- a/src/util/serialize.h +++ b/src/util/serialize.h @@ -166,14 +166,14 @@ inline v2s16 readV2S16(const u8 *data) inline void writeV2S32(u8 *data, v2s32 p) { writeS32(&data[0], p.X); - writeS32(&data[2], p.Y); + writeS32(&data[4], p.Y); } inline v2s32 readV2S32(const u8 *data) { v2s32 p; p.X = readS32(&data[0]); - p.Y = readS32(&data[2]); + p.Y = readS32(&data[4]); return p; } @@ -346,6 +346,19 @@ inline v2s16 readV2S16(std::istream &is) return readV2S16((u8*)buf); } +inline void writeV2S32(std::ostream &os, v2s32 p) +{ + char buf[8] = {0}; + writeV2S32((u8*)buf, p); + os.write(buf, 8); +} +inline v2s32 readV2S32(std::istream &is) +{ + char buf[8] = {0}; + is.read(buf, 8); + return readV2S32((u8*)buf); +} + inline void writeV3S16(std::ostream &os, v3s16 p) { char buf[6] = {0};