]> git.lizzy.rs Git - mt.git/blobdiff - serialize.fmt
Add WaitGroup to SerializePkt
[mt.git] / serialize.fmt
index c4cf9bdfb58315ddba9d68fca5e341d3458ad348..2076552179ab9fc0d010b245f5389712f6db4c7a 100644 (file)
@@ -2,51 +2,49 @@
                _, err := w.Write([]byte{x})
                chk(err)
        }
-       
+
        func write16(w io.Writer, x uint16) {
                buf := make([]byte, 2)
                be.PutUint16(buf, x)
                _, err := w.Write(buf)
                chk(err)
        }
-       
+
        func write32(w io.Writer, x uint32) {
                buf := make([]byte, 4)
                be.PutUint32(buf, x)
                _, err := w.Write(buf)
                chk(err)
        }
-       
+
        func write64(w io.Writer, x uint64) {
                buf := make([]byte, 8)
                be.PutUint64(buf, x)
                _, err := w.Write(buf)
                chk(err)
        }
-       
+
 byte   write8(w, uint8(x))
 uint8  write8(w, uint8(x))
 uint16 write16(w, uint16(x))
 uint32 write32(w, uint32(x))
 uint64 write64(w, uint64(x))
-       
+
 int8   write8(w, uint8(x))
 int16  write16(w, uint16(x))
 int32  write32(w, uint32(x))
 int64  write64(w, uint64(x))
-       
+
 bool   if x { write8(w, 1) } else { write8(w, 0) }
-       
+
 float32        write32(w, math.Float32bits(x))
 float64        write64(w, math.Float64bits(x))
-       
+
 AOMsg  writeAOMsg(w, x)
-       
+
 image/color.NRGBA      w.Write([]byte{x.A, x.R, x.G, x.B})
-       
+
 map[uint16]*NodeMeta   {
-               w := zlib.NewWriter(w)
-       
                if x == nil {
                        write8(w, 0)
                } else {
@@ -61,9 +59,9 @@ map[uint16]*NodeMeta  {
                                i2pos := func(i int) [3]int16 {
                                        return Blkpos2Pos([3]int16{}, keys[i])
                                }
-       
+
                                p, q := i2pos(i), i2pos(j)
-       
+
                                for i := range p {
                                        switch {
                                        case p[i] < q[i]:
@@ -72,7 +70,7 @@ map[uint16]*NodeMeta  {
                                                return false
                                        }
                                }
-       
+
                                return false
                        })
                        for _, key := range keys {
@@ -80,13 +78,11 @@ map[uint16]*NodeMeta        {
                                chk(serialize(w, x[key]))
                        }
                }
-       
-               chk(w.Close())
        }
-       
+
 map[[3]int16]*NodeMeta {
                w := zlib.NewWriter(w)
-       
+
                if x == nil {
                        write8(w, 0)
                } else {
@@ -101,7 +97,7 @@ map[[3]int16]*NodeMeta       {
                        }
                        sort.Slice(keys, func(i, j int) bool {
                                p, q := keys[i], keys[j]
-       
+
                                for i := range p {
                                        switch {
                                        case p[i] < q[i]:
@@ -110,7 +106,7 @@ map[[3]int16]*NodeMeta      {
                                                return false
                                        }
                                }
-       
+
                                return false
                        })
                        for _, key := range keys {
@@ -120,12 +116,12 @@ map[[3]int16]*NodeMeta    {
                                chk(serialize(w, x[key]))
                        }
                }
-       
+
                chk(w.Close())
        }
-       
+
 PointedThing   chk(writePointedThing(w, x))
-       
+
 []AOMsg        { // For AOInitData.Msgs.
                if len(x) > math.MaxUint8 {
                        chk(ErrTooLong)
@@ -142,7 +138,7 @@ PointedThing        chk(writePointedThing(w, x))
                        chk(err)
                }
        }
-       
+
 []NodeDef      { // For ToCltNodeDefs.Defs.
                if len(x) > math.MaxUint16 {
                        chk(ErrTooLong)
@@ -150,7 +146,7 @@ PointedThing        chk(writePointedThing(w, x))
                write16(w, uint16(len(x)))
                var b bytes.Buffer
                for i := range x {
-                       x[i].serialize(&b)
+                       x[i].Serialize(&b)
                }
                if b.Len() > math.MaxUint32 {
                        chk(ErrTooLong)