From: Elias Fleckenstein Date: Sat, 16 Jul 2022 19:06:08 +0000 (+0200) Subject: Fix node id mapping length X-Git-Tag: v0.1.1 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=f09d195b7fddd0b348b436beafca2995bbe232f9;p=mtmap.git Fix node id mapping length --- diff --git a/deserialize.go b/deserialize.go index 3810047..c59837c 100644 --- a/deserialize.go +++ b/deserialize.go @@ -226,7 +226,7 @@ func Deserialize(r io.Reader, idNameMap map[string]mt.Content) *MapBlk { nameIdMap := make(map[mt.Content]string) for i := uint16(0); i < nameIdMapCount; i++ { - var id uint16 + var id mt.Content if err := binary.Read(r, binary.BigEndian, &id); err != nil { panic(err) } @@ -241,7 +241,7 @@ func Deserialize(r io.Reader, idNameMap map[string]mt.Content) *MapBlk { panic(err) } - nameIdMap[mt.Content(id)] = string(name) + nameIdMap[id] = string(name) } for i := 0; i < 4096; i++ { diff --git a/serialize.go b/serialize.go index 5f0c461..4ec2b94 100644 --- a/serialize.go +++ b/serialize.go @@ -151,16 +151,16 @@ func Serialize(blk *MapBlk, w io.Writer, idNameMap map[string]mt.Content) { panic(err) } - var nameIdMapCount = uint16(len(idNameMap)) - if err := binary.Write(w, binary.BigEndian, &nameIdMapCount); err != nil { - panic(err) - } - var exists = make(map[mt.Content]struct{}) for i := 0; i < 4096; i++ { exists[blk.Param0[i]] = struct{}{} } + var nameIdMapCount = uint16(len(exists)) + if err := binary.Write(w, binary.BigEndian, &nameIdMapCount); err != nil { + panic(err) + } + for name, id := range idNameMap { if _, ok := exists[id]; !ok { continue