diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-07-16 22:43:36 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-07-16 22:43:36 +0200 |
commit | e63a04085cf4a7a89eca1968bb5c1631f6202815 (patch) | |
tree | 79a3a5b4802f6ded9de44306a260dd2370b27da3 /deserialize.go | |
parent | 164261fab87997d7363c79aa9ad71a48866c6c2b (diff) | |
download | mtmap-e63a04085cf4a7a89eca1968bb5c1631f6202815.tar.xz |
Skip special idsv0.2.3
Diffstat (limited to 'deserialize.go')
-rw-r--r-- | deserialize.go | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/deserialize.go b/deserialize.go index 90af77c..7980ca6 100644 --- a/deserialize.go +++ b/deserialize.go @@ -4,7 +4,6 @@ import ( "compress/zlib" "encoding/binary" "errors" - "fmt" "github.com/anon55555/mt" "io" ) @@ -18,22 +17,6 @@ var ( ErrInvalidStaticObjVer = errors.New("invalid static object version") ) -type ErrInvalidNodeName struct { - Name string -} - -func (e ErrInvalidNodeName) Error() string { - return fmt.Sprintf("invalid node \"%v\"", e.Name) -} - -type ErrInvalidNodeId struct { - Id mt.Content -} - -func (e ErrInvalidNodeId) Error() string { - return fmt.Sprintf("invalid node %v", e.Id) -} - func Deserialize(r io.Reader, idNameMap map[string]mt.Content) *MapBlk { var blk = &MapBlk{} @@ -261,17 +244,20 @@ func Deserialize(r io.Reader, idNameMap map[string]mt.Content) *MapBlk { } for i := 0; i < 4096; i++ { - name, ok := nameIdMap[blk.Param0[i]] + id := blk.Param0[i] + if isSpecial(id) { + continue + } + + name, ok := nameIdMap[id] if !ok { - panic(ErrInvalidNodeId{blk.Param0[i]}) + panic(ErrInvalidNodeId{id}) } - id, ok := idNameMap[name] + blk.Param0[i], ok = idNameMap[name] if !ok { panic(ErrInvalidNodeName{name}) } - - blk.Param0[i] = id } return blk |