]> git.lizzy.rs Git - mt.git/blobdiff - serialize.go
Add WaitGroup to SerializePkt
[mt.git] / serialize.go
index 6f27a984ab002c63b66cbb3e03f996705c9a2777..a670b2c4b138fef15767ea2885663f9cddf9090e 100644 (file)
@@ -5,7 +5,6 @@ package mt
 import (
        "bytes"
        "compress/zlib"
-       "crypto/sha1"
        "errors"
        "fmt"
        "image/color"
@@ -13,27 +12,26 @@ import (
        "math"
        "sort"
        "unicode/utf16"
+
+       "github.com/klauspost/compress/zstd"
 )
 
 func write8(w io.Writer, x uint8) {
        _, 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)
@@ -46,19 +44,18 @@ func readBuf(r io.Reader, n int) []byte {
        chk(err)
        return buf
 }
-
 func read8(r io.Reader) uint8   { return readBuf(r, 1)[0] }
 func read16(r io.Reader) uint16 { return be.Uint16(readBuf(r, 2)) }
 func read32(r io.Reader) uint32 { return be.Uint32(readBuf(r, 4)) }
 func read64(r io.Reader) uint64 { return be.Uint64(readBuf(r, 8)) }
 
-func (obj *ToSrvNil) serialize(w io.Writer) {
+func (obj *ToSrvNil) Serialize(w io.Writer) {
 }
 
-func (obj *ToSrvNil) deserialize(r io.Reader) {
+func (obj *ToSrvNil) Deserialize(r io.Reader) {
 }
 
-func (obj *ToSrvInit) serialize(w io.Writer) {
+func (obj *ToSrvInit) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        SerializeVer             uint8
@@ -80,12 +77,12 @@ func (obj *ToSrvInit) serialize(w io.Writer) {
 
                        //mt:opt
                        SendFullItemMeta bool
-               }))(obj)).SupportedCompression).serialize(w)
+               }))(obj)).SupportedCompression).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CompressionModes", err))
        }
        {
                x := (*(*(struct {
@@ -168,7 +165,7 @@ func (obj *ToSrvInit) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvInit) deserialize(r io.Reader) {
+func (obj *ToSrvInit) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        SerializeVer             uint8
@@ -190,12 +187,12 @@ func (obj *ToSrvInit) deserialize(r io.Reader) {
 
                        //mt:opt
                        SendFullItemMeta bool
-               }))(obj)).SupportedCompression).deserialize(r)
+               }))(obj)).SupportedCompression).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CompressionModes", err))
        }
        {
                p := &(*(*(struct {
@@ -266,7 +263,7 @@ func (obj *ToSrvInit) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvInit2) serialize(w io.Writer) {
+func (obj *ToSrvInit2) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Lang string
        }))(obj)).Lang))) > math.MaxUint16 {
@@ -286,7 +283,7 @@ func (obj *ToSrvInit2) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvInit2) deserialize(r io.Reader) {
+func (obj *ToSrvInit2) Deserialize(r io.Reader) {
        var local3 []uint8
        var local4 uint16
        {
@@ -303,7 +300,7 @@ func (obj *ToSrvInit2) deserialize(r io.Reader) {
        }))(obj)).Lang) = string(local3)
 }
 
-func (obj *ToSrvModChanJoin) serialize(w io.Writer) {
+func (obj *ToSrvJoinModChan) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Channel string
        }))(obj)).Channel))) > math.MaxUint16 {
@@ -323,7 +320,7 @@ func (obj *ToSrvModChanJoin) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvModChanJoin) deserialize(r io.Reader) {
+func (obj *ToSrvJoinModChan) Deserialize(r io.Reader) {
        var local5 []uint8
        var local6 uint16
        {
@@ -340,7 +337,7 @@ func (obj *ToSrvModChanJoin) deserialize(r io.Reader) {
        }))(obj)).Channel) = string(local5)
 }
 
-func (obj *ToSrvModChanLeave) serialize(w io.Writer) {
+func (obj *ToSrvLeaveModChan) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Channel string
        }))(obj)).Channel))) > math.MaxUint16 {
@@ -360,7 +357,7 @@ func (obj *ToSrvModChanLeave) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvModChanLeave) deserialize(r io.Reader) {
+func (obj *ToSrvLeaveModChan) Deserialize(r io.Reader) {
        var local7 []uint8
        var local8 uint16
        {
@@ -377,7 +374,7 @@ func (obj *ToSrvModChanLeave) deserialize(r io.Reader) {
        }))(obj)).Channel) = string(local7)
 }
 
-func (obj *ToSrvModChanMsg) serialize(w io.Writer) {
+func (obj *ToSrvMsgModChan) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Channel string
                Msg     string
@@ -420,7 +417,7 @@ func (obj *ToSrvModChanMsg) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvModChanMsg) deserialize(r io.Reader) {
+func (obj *ToSrvMsgModChan) Deserialize(r io.Reader) {
        var local9 []uint8
        var local10 uint16
        {
@@ -453,33 +450,33 @@ func (obj *ToSrvModChanMsg) deserialize(r io.Reader) {
        }))(obj)).Msg) = string(local11)
 }
 
-func (obj *ToSrvPlayerPos) serialize(w io.Writer) {
+func (obj *ToSrvPlayerPos) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos PlayerPos
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerPos", err))
        }
 }
 
-func (obj *ToSrvPlayerPos) deserialize(r io.Reader) {
+func (obj *ToSrvPlayerPos) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos PlayerPos
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerPos", err))
        }
 }
 
-func (obj *ToSrvGotBlks) serialize(w io.Writer) {
+func (obj *ToSrvGotBlks) Serialize(w io.Writer) {
        if len(((*(*(struct {
                //mt:len8
                Blks [][3]int16
@@ -512,7 +509,7 @@ func (obj *ToSrvGotBlks) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvGotBlks) deserialize(r io.Reader) {
+func (obj *ToSrvGotBlks) Deserialize(r io.Reader) {
        var local15 uint8
        {
                p := &local15
@@ -541,7 +538,7 @@ func (obj *ToSrvGotBlks) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvDeletedBlks) serialize(w io.Writer) {
+func (obj *ToSrvDeletedBlks) Serialize(w io.Writer) {
        if len(((*(*(struct {
                //mt:len8
                Blks [][3]int16
@@ -574,7 +571,7 @@ func (obj *ToSrvDeletedBlks) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvDeletedBlks) deserialize(r io.Reader) {
+func (obj *ToSrvDeletedBlks) Deserialize(r io.Reader) {
        var local20 uint8
        {
                p := &local20
@@ -603,7 +600,7 @@ func (obj *ToSrvDeletedBlks) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvInvAction) serialize(w io.Writer) {
+func (obj *ToSrvInvAction) Serialize(w io.Writer) {
        {
                _, err := w.Write(([]byte((*(*(struct {
                        //mt:raw
@@ -613,20 +610,11 @@ func (obj *ToSrvInvAction) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvInvAction) deserialize(r io.Reader) {
+func (obj *ToSrvInvAction) Deserialize(r io.Reader) {
        var local23 []uint8
-       for {
-               var local24 uint8
-               err := pcall(func() {
-                       {
-                               p := &local24
-                               *p = read8(r)
-                       }
-               })
-               if err == io.EOF {
-                       break
-               }
-               (local23) = append((local23), local24)
+       {
+               var err error
+               (local23), err = io.ReadAll(r)
                chk(err)
        }
        ((*(*(struct {
@@ -635,35 +623,27 @@ func (obj *ToSrvInvAction) deserialize(r io.Reader) {
        }))(obj)).Action) = string(local23)
 }
 
-func (obj *ToSrvChatMsg) serialize(w io.Writer) {
-       if len((utf16.Encode([]rune((*(*(struct {
+func (obj *ToSrvChatMsg) Serialize(w io.Writer) {
+       local24 := utf16.Encode([]rune((*(*(struct {
                //mt:utf16
                Msg string
-       }))(obj)).Msg)))) > math.MaxUint16 {
+       }))(obj)).Msg))
+       if len((local24)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
-               x := uint16(len((utf16.Encode([]rune((*(*(struct {
-                       //mt:utf16
-                       Msg string
-               }))(obj)).Msg)))))
+               x := uint16(len((local24)))
                write16(w, uint16(x))
        }
-       for local25 := range utf16.Encode([]rune((*(*(struct {
-               //mt:utf16
-               Msg string
-       }))(obj)).Msg)) {
+       for local25 := range local24 {
                {
-                       x := (utf16.Encode([]rune((*(*(struct {
-                               //mt:utf16
-                               Msg string
-                       }))(obj)).Msg)))[local25]
+                       x := (local24)[local25]
                        write16(w, uint16(x))
                }
        }
 }
 
-func (obj *ToSrvChatMsg) deserialize(r io.Reader) {
+func (obj *ToSrvChatMsg) Deserialize(r io.Reader) {
        var local26 []uint16
        var local27 uint16
        {
@@ -683,7 +663,7 @@ func (obj *ToSrvChatMsg) deserialize(r io.Reader) {
        }))(obj)).Msg = string(utf16.Decode(local26))
 }
 
-func (obj *ToSrvFallDmg) serialize(w io.Writer) {
+func (obj *ToSrvFallDmg) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Amount uint16
@@ -692,7 +672,7 @@ func (obj *ToSrvFallDmg) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvFallDmg) deserialize(r io.Reader) {
+func (obj *ToSrvFallDmg) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Amount uint16
@@ -701,7 +681,7 @@ func (obj *ToSrvFallDmg) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvSelectItem) serialize(w io.Writer) {
+func (obj *ToSrvSelectItem) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Slot uint16
@@ -710,7 +690,7 @@ func (obj *ToSrvSelectItem) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvSelectItem) deserialize(r io.Reader) {
+func (obj *ToSrvSelectItem) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Slot uint16
@@ -719,13 +699,13 @@ func (obj *ToSrvSelectItem) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvRespawn) serialize(w io.Writer) {
+func (obj *ToSrvRespawn) Serialize(w io.Writer) {
 }
 
-func (obj *ToSrvRespawn) deserialize(r io.Reader) {
+func (obj *ToSrvRespawn) Deserialize(r io.Reader) {
 }
 
-func (obj *ToSrvInteract) serialize(w io.Writer) {
+func (obj *ToSrvInteract) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Action   Interaction
@@ -734,12 +714,12 @@ func (obj *ToSrvInteract) serialize(w io.Writer) {
                        Pointed PointedThing
                        //mt:end
                        Pos PlayerPos
-               }))(obj)).Action).serialize(w)
+               }))(obj)).Action).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Interaction", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Interaction", err))
        }
        {
                x := (*(*(struct {
@@ -790,16 +770,16 @@ func (obj *ToSrvInteract) serialize(w io.Writer) {
                        Pointed PointedThing
                        //mt:end
                        Pos PlayerPos
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerPos", err))
        }
 }
 
-func (obj *ToSrvInteract) deserialize(r io.Reader) {
+func (obj *ToSrvInteract) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Action   Interaction
@@ -808,12 +788,12 @@ func (obj *ToSrvInteract) deserialize(r io.Reader) {
                        Pointed PointedThing
                        //mt:end
                        Pos PlayerPos
-               }))(obj)).Action).deserialize(r)
+               }))(obj)).Action).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Interaction", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Interaction", err))
        }
        {
                p := &(*(*(struct {
@@ -832,7 +812,7 @@ func (obj *ToSrvInteract) deserialize(r io.Reader) {
                        p := &n
                        *p = read32(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
                        p := &(*(*(struct {
                                Action   Interaction
@@ -860,16 +840,16 @@ func (obj *ToSrvInteract) deserialize(r io.Reader) {
                        Pointed PointedThing
                        //mt:end
                        Pos PlayerPos
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerPos", err))
        }
 }
 
-func (obj *ToSrvRemovedSounds) serialize(w io.Writer) {
+func (obj *ToSrvRemovedSounds) Serialize(w io.Writer) {
        if len(((*(*(struct {
                IDs []SoundID
        }))(obj)).IDs)) > math.MaxUint16 {
@@ -887,17 +867,17 @@ func (obj *ToSrvRemovedSounds) serialize(w io.Writer) {
                if err := pcall(func() {
                        (((*(*(struct {
                                IDs []SoundID
-                       }))(obj)).IDs)[local29]).serialize(w)
+                       }))(obj)).IDs)[local29]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
                }
        }
 }
 
-func (obj *ToSrvRemovedSounds) deserialize(r io.Reader) {
+func (obj *ToSrvRemovedSounds) Deserialize(r io.Reader) {
        var local30 uint16
        {
                p := &local30
@@ -912,17 +892,17 @@ func (obj *ToSrvRemovedSounds) deserialize(r io.Reader) {
                if err := pcall(func() {
                        (((*(*(struct {
                                IDs []SoundID
-                       }))(obj)).IDs)[local31]).deserialize(r)
+                       }))(obj)).IDs)[local31]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
                }
        }
 }
 
-func (obj *ToSrvNodeMetaFields) serialize(w io.Writer) {
+func (obj *ToSrvNodeMetaFields) Serialize(w io.Writer) {
        for local32 := range (*(*(struct {
                Pos      [3]int16
                Formname string
@@ -985,17 +965,17 @@ func (obj *ToSrvNodeMetaFields) serialize(w io.Writer) {
                                Pos      [3]int16
                                Formname string
                                Fields   []Field
-                       }))(obj)).Fields)[local33]).serialize(w)
+                       }))(obj)).Fields)[local33]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
                }
        }
 }
 
-func (obj *ToSrvNodeMetaFields) deserialize(r io.Reader) {
+func (obj *ToSrvNodeMetaFields) Deserialize(r io.Reader) {
        for local34 := range (*(*(struct {
                Pos      [3]int16
                Formname string
@@ -1046,17 +1026,17 @@ func (obj *ToSrvNodeMetaFields) deserialize(r io.Reader) {
                                Pos      [3]int16
                                Formname string
                                Fields   []Field
-                       }))(obj)).Fields)[local38]).deserialize(r)
+                       }))(obj)).Fields)[local38]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
                }
        }
 }
 
-func (obj *ToSrvInvFields) serialize(w io.Writer) {
+func (obj *ToSrvInvFields) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Formname string
                Fields   []Field
@@ -1098,17 +1078,17 @@ func (obj *ToSrvInvFields) serialize(w io.Writer) {
                        (((*(*(struct {
                                Formname string
                                Fields   []Field
-                       }))(obj)).Fields)[local39]).serialize(w)
+                       }))(obj)).Fields)[local39]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
                }
        }
 }
 
-func (obj *ToSrvInvFields) deserialize(r io.Reader) {
+func (obj *ToSrvInvFields) Deserialize(r io.Reader) {
        var local40 []uint8
        var local41 uint16
        {
@@ -1141,17 +1121,17 @@ func (obj *ToSrvInvFields) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Formname string
                                Fields   []Field
-                       }))(obj)).Fields)[local43]).deserialize(r)
+                       }))(obj)).Fields)[local43]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
                }
        }
 }
 
-func (obj *ToSrvReqMedia) serialize(w io.Writer) {
+func (obj *ToSrvReqMedia) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Filenames []string
        }))(obj)).Filenames)) > math.MaxUint16 {
@@ -1186,7 +1166,7 @@ func (obj *ToSrvReqMedia) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvReqMedia) deserialize(r io.Reader) {
+func (obj *ToSrvReqMedia) Deserialize(r io.Reader) {
        var local45 uint16
        {
                p := &local45
@@ -1215,7 +1195,7 @@ func (obj *ToSrvReqMedia) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvCltReady) serialize(w io.Writer) {
+func (obj *ToSrvCltReady) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        // Version information.
@@ -1297,7 +1277,7 @@ func (obj *ToSrvCltReady) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvCltReady) deserialize(r io.Reader) {
+func (obj *ToSrvCltReady) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        // Version information.
@@ -1368,7 +1348,7 @@ func (obj *ToSrvCltReady) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvFirstSRP) serialize(w io.Writer) {
+func (obj *ToSrvFirstSRP) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Salt        []byte
                Verifier    []byte
@@ -1429,7 +1409,7 @@ func (obj *ToSrvFirstSRP) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvFirstSRP) deserialize(r io.Reader) {
+func (obj *ToSrvFirstSRP) Deserialize(r io.Reader) {
        var local51 uint16
        {
                p := &local51
@@ -1483,7 +1463,7 @@ func (obj *ToSrvFirstSRP) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvSRPBytesA) serialize(w io.Writer) {
+func (obj *ToSrvSRPBytesA) Serialize(w io.Writer) {
        if len(((*(*(struct {
                A      []byte
                NoSHA1 bool
@@ -1517,7 +1497,7 @@ func (obj *ToSrvSRPBytesA) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvSRPBytesA) deserialize(r io.Reader) {
+func (obj *ToSrvSRPBytesA) Deserialize(r io.Reader) {
        var local53 uint16
        {
                p := &local53
@@ -1550,7 +1530,7 @@ func (obj *ToSrvSRPBytesA) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToSrvSRPBytesM) serialize(w io.Writer) {
+func (obj *ToSrvSRPBytesM) Serialize(w io.Writer) {
        if len(((*(*(struct {
                M []byte
        }))(obj)).M)) > math.MaxUint16 {
@@ -1570,7 +1550,7 @@ func (obj *ToSrvSRPBytesM) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToSrvSRPBytesM) deserialize(r io.Reader) {
+func (obj *ToSrvSRPBytesM) Deserialize(r io.Reader) {
        var local54 uint16
        {
                p := &local54
@@ -1587,7 +1567,7 @@ func (obj *ToSrvSRPBytesM) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltHello) serialize(w io.Writer) {
+func (obj *ToCltHello) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        SerializeVer uint8
@@ -1605,12 +1585,12 @@ func (obj *ToCltHello) serialize(w io.Writer) {
                        ProtoVer     uint16
                        AuthMethods
                        Username string
-               }))(obj)).Compression).serialize(w)
+               }))(obj)).Compression).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CompressionModes", err))
        }
        {
                x := (*(*(struct {
@@ -1629,12 +1609,12 @@ func (obj *ToCltHello) serialize(w io.Writer) {
                        ProtoVer     uint16
                        AuthMethods
                        Username string
-               }))(obj)).AuthMethods).serialize(w)
+               }))(obj)).AuthMethods).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
        }
        if len(([]byte((*(*(struct {
                SerializeVer uint8
@@ -1667,7 +1647,7 @@ func (obj *ToCltHello) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltHello) deserialize(r io.Reader) {
+func (obj *ToCltHello) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        SerializeVer uint8
@@ -1685,12 +1665,12 @@ func (obj *ToCltHello) deserialize(r io.Reader) {
                        ProtoVer     uint16
                        AuthMethods
                        Username string
-               }))(obj)).Compression).deserialize(r)
+               }))(obj)).Compression).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CompressionModes", err))
        }
        {
                p := &(*(*(struct {
@@ -1709,12 +1689,12 @@ func (obj *ToCltHello) deserialize(r io.Reader) {
                        ProtoVer     uint16
                        AuthMethods
                        Username string
-               }))(obj)).AuthMethods).deserialize(r)
+               }))(obj)).AuthMethods).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
        }
        var local55 []uint8
        var local56 uint16
@@ -1736,7 +1716,7 @@ func (obj *ToCltHello) deserialize(r io.Reader) {
        }))(obj)).Username) = string(local55)
 }
 
-func (obj *ToCltAcceptAuth) serialize(w io.Writer) {
+func (obj *ToCltAcceptAuth) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        // The client does the equivalent of
@@ -1747,12 +1727,12 @@ func (obj *ToCltAcceptAuth) serialize(w io.Writer) {
                        MapSeed         uint64
                        SendInterval    float32
                        SudoAuthMethods AuthMethods
-               }))(obj)).PlayerPos).serialize(w)
+               }))(obj)).PlayerPos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        {
                x := (*(*(struct {
@@ -1790,16 +1770,16 @@ func (obj *ToCltAcceptAuth) serialize(w io.Writer) {
                        MapSeed         uint64
                        SendInterval    float32
                        SudoAuthMethods AuthMethods
-               }))(obj)).SudoAuthMethods).serialize(w)
+               }))(obj)).SudoAuthMethods).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
        }
 }
 
-func (obj *ToCltAcceptAuth) deserialize(r io.Reader) {
+func (obj *ToCltAcceptAuth) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        // The client does the equivalent of
@@ -1810,12 +1790,12 @@ func (obj *ToCltAcceptAuth) deserialize(r io.Reader) {
                        MapSeed         uint64
                        SendInterval    float32
                        SudoAuthMethods AuthMethods
-               }))(obj)).PlayerPos).deserialize(r)
+               }))(obj)).PlayerPos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        {
                p := &(*(*(struct {
@@ -1853,57 +1833,95 @@ func (obj *ToCltAcceptAuth) deserialize(r io.Reader) {
                        MapSeed         uint64
                        SendInterval    float32
                        SudoAuthMethods AuthMethods
-               }))(obj)).SudoAuthMethods).deserialize(r)
+               }))(obj)).SudoAuthMethods).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
        }
 }
 
-func (obj *ToCltAcceptSudoMode) serialize(w io.Writer) {
+func (obj *ToCltAcceptSudoMode) Serialize(w io.Writer) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       SudoAuthMethods AuthMethods
+               }))(obj)).SudoAuthMethods).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
+       }
+       {
+               local57 := [15]byte{}
+               {
+                       _, err := w.Write((local57)[:])
+                       chk(err)
+               }
+       }
 }
 
-func (obj *ToCltAcceptSudoMode) deserialize(r io.Reader) {
+func (obj *ToCltAcceptSudoMode) Deserialize(r io.Reader) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       SudoAuthMethods AuthMethods
+               }))(obj)).SudoAuthMethods).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AuthMethods", err))
+       }
+       {
+               var local58 [15]byte
+               local59 := [15]byte{}
+               {
+                       _, err := io.ReadFull(r, (local58)[:])
+                       chk(err)
+               }
+               if local58 != local59 {
+                       chk(fmt.Errorf("const %v: %v", "[15]byte{}", local58))
+               }
+       }
 }
 
-func (obj *ToCltDenySudoMode) serialize(w io.Writer) {
+func (obj *ToCltDenySudoMode) Serialize(w io.Writer) {
 }
 
-func (obj *ToCltDenySudoMode) deserialize(r io.Reader) {
+func (obj *ToCltDenySudoMode) Deserialize(r io.Reader) {
 }
 
-func (obj *ToCltDisco) serialize(w io.Writer) {
+func (obj *ToCltKick) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
-                       Reason DiscoReason
+                       Reason KickReason
 
                        //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                        Custom string
 
                        //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                        Reconnect bool
-               }))(obj)).Reason).serialize(w)
+               }))(obj)).Reason).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DiscoReason", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.KickReason", err))
        }
        if !((*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
 
                //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                Reconnect bool
-       }))(obj)).Reason < maxDiscoReason) {
-               chk(errors.New("assertion failed: %s.Reason < maxDiscoReason"))
+       }))(obj)).Reason < maxKickReason) {
+               chk(errors.New("assertion failed: %s.Reason < maxKickReason"))
        }
        if dr := (*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
@@ -1912,7 +1930,7 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
                Reconnect bool
        }))(obj)).Reason; dr == Custom || dr == Shutdown || dr == Crash {
                if len(([]byte((*(*(struct {
-                       Reason DiscoReason
+                       Reason KickReason
 
                        //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                        Custom string
@@ -1924,7 +1942,7 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
                }
                {
                        x := uint16(len(([]byte((*(*(struct {
-                               Reason DiscoReason
+                               Reason KickReason
 
                                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                                Custom string
@@ -1936,7 +1954,7 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
                }
                {
                        _, err := w.Write(([]byte((*(*(struct {
-                               Reason DiscoReason
+                               Reason KickReason
 
                                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                                Custom string
@@ -1948,7 +1966,7 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
                }
        }
        if dr := (*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
@@ -1958,7 +1976,7 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
        }))(obj)).Reason; dr == Shutdown || dr == Crash {
                {
                        x := (*(*(struct {
-                               Reason DiscoReason
+                               Reason KickReason
 
                                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                                Custom string
@@ -1975,36 +1993,36 @@ func (obj *ToCltDisco) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltDisco) deserialize(r io.Reader) {
+func (obj *ToCltKick) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
-                       Reason DiscoReason
+                       Reason KickReason
 
                        //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                        Custom string
 
                        //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                        Reconnect bool
-               }))(obj)).Reason).deserialize(r)
+               }))(obj)).Reason).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DiscoReason", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.KickReason", err))
        }
        if !((*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
 
                //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                Reconnect bool
-       }))(obj)).Reason < maxDiscoReason) {
-               chk(errors.New("assertion failed: %s.Reason < maxDiscoReason"))
+       }))(obj)).Reason < maxKickReason) {
+               chk(errors.New("assertion failed: %s.Reason < maxKickReason"))
        }
        if dr := (*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
@@ -2012,29 +2030,29 @@ func (obj *ToCltDisco) deserialize(r io.Reader) {
                //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                Reconnect bool
        }))(obj)).Reason; dr == Custom || dr == Shutdown || dr == Crash {
-               var local57 []uint8
-               var local58 uint16
+               var local60 []uint8
+               var local61 uint16
                {
-                       p := &local58
+                       p := &local61
                        *p = read16(r)
                }
-               (local57) = make([]uint8, local58)
+               (local60) = make([]uint8, local61)
                {
-                       _, err := io.ReadFull(r, (local57)[:])
+                       _, err := io.ReadFull(r, (local60)[:])
                        chk(err)
                }
                ((*(*(struct {
-                       Reason DiscoReason
+                       Reason KickReason
 
                        //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                        Custom string
 
                        //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash
                        Reconnect bool
-               }))(obj)).Custom) = string(local57)
+               }))(obj)).Custom) = string(local60)
        }
        if dr := (*(*(struct {
-               Reason DiscoReason
+               Reason KickReason
 
                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                Custom string
@@ -2044,7 +2062,7 @@ func (obj *ToCltDisco) deserialize(r io.Reader) {
        }))(obj)).Reason; dr == Shutdown || dr == Crash {
                {
                        p := &(*(*(struct {
-                               Reason DiscoReason
+                               Reason KickReason
 
                                //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash
                                Custom string
@@ -2064,60 +2082,76 @@ func (obj *ToCltDisco) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltBlkData) serialize(w io.Writer) {
-       for local59 := range (*(*(struct {
+func (obj *ToCltBlkData) Serialize(w io.Writer) {
+       for local62 := range (*(*(struct {
                Blkpos [3]int16
-               Blk    MapBlk
+               //mt:zstd
+               Blk MapBlk
        }))(obj)).Blkpos {
                {
                        x := ((*(*(struct {
                                Blkpos [3]int16
-                               Blk    MapBlk
-                       }))(obj)).Blkpos)[local59]
+                               //mt:zstd
+                               Blk MapBlk
+                       }))(obj)).Blkpos)[local62]
                        write16(w, uint16(x))
                }
        }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       Blkpos [3]int16
-                       Blk    MapBlk
-               }))(obj)).Blk).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
+       {
+               w, err := zstd.NewWriter(w)
+               chk(err)
+               if err := pcall(func() {
+                       ((*(*(struct {
+                               Blkpos [3]int16
+                               //mt:zstd
+                               Blk MapBlk
+                       }))(obj)).Blk).Serialize(w)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MapBlk", err))
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err))
+               chk(w.Close())
        }
 }
 
-func (obj *ToCltBlkData) deserialize(r io.Reader) {
-       for local60 := range (*(*(struct {
+func (obj *ToCltBlkData) Deserialize(r io.Reader) {
+       for local63 := range (*(*(struct {
                Blkpos [3]int16
-               Blk    MapBlk
+               //mt:zstd
+               Blk MapBlk
        }))(obj)).Blkpos {
                {
                        p := &((*(*(struct {
                                Blkpos [3]int16
-                               Blk    MapBlk
-                       }))(obj)).Blkpos)[local60]
+                               //mt:zstd
+                               Blk MapBlk
+                       }))(obj)).Blkpos)[local63]
                        *p = int16(read16(r))
                }
        }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       Blkpos [3]int16
-                       Blk    MapBlk
-               }))(obj)).Blk).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
+       {
+               r, err := zstd.NewReader(byteReader{r})
+               chk(err)
+               if err := pcall(func() {
+                       ((*(*(struct {
+                               Blkpos [3]int16
+                               //mt:zstd
+                               Blk MapBlk
+                       }))(obj)).Blk).Deserialize(r)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MapBlk", err))
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err))
+               r.Close()
        }
 }
 
-func (obj *ToCltAddNode) serialize(w io.Writer) {
-       for local61 := range (*(*(struct {
+func (obj *ToCltAddNode) Serialize(w io.Writer) {
+       for local64 := range (*(*(struct {
                Pos [3]int16
                Node
                KeepMeta bool
@@ -2127,7 +2161,7 @@ func (obj *ToCltAddNode) serialize(w io.Writer) {
                                Pos [3]int16
                                Node
                                KeepMeta bool
-                       }))(obj)).Pos)[local61]
+                       }))(obj)).Pos)[local64]
                        write16(w, uint16(x))
                }
        }
@@ -2136,12 +2170,12 @@ func (obj *ToCltAddNode) serialize(w io.Writer) {
                        Pos [3]int16
                        Node
                        KeepMeta bool
-               }))(obj)).Node).serialize(w)
+               }))(obj)).Node).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Node", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Node", err))
        }
        {
                x := (*(*(struct {
@@ -2157,8 +2191,8 @@ func (obj *ToCltAddNode) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltAddNode) deserialize(r io.Reader) {
-       for local62 := range (*(*(struct {
+func (obj *ToCltAddNode) Deserialize(r io.Reader) {
+       for local65 := range (*(*(struct {
                Pos [3]int16
                Node
                KeepMeta bool
@@ -2168,7 +2202,7 @@ func (obj *ToCltAddNode) deserialize(r io.Reader) {
                                Pos [3]int16
                                Node
                                KeepMeta bool
-                       }))(obj)).Pos)[local62]
+                       }))(obj)).Pos)[local65]
                        *p = int16(read16(r))
                }
        }
@@ -2177,12 +2211,12 @@ func (obj *ToCltAddNode) deserialize(r io.Reader) {
                        Pos [3]int16
                        Node
                        KeepMeta bool
-               }))(obj)).Node).deserialize(r)
+               }))(obj)).Node).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Node", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Node", err))
        }
        {
                p := &(*(*(struct {
@@ -2201,33 +2235,33 @@ func (obj *ToCltAddNode) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltRemoveNode) serialize(w io.Writer) {
-       for local63 := range (*(*(struct {
+func (obj *ToCltRemoveNode) Serialize(w io.Writer) {
+       for local66 := range (*(*(struct {
                Pos [3]int16
        }))(obj)).Pos {
                {
                        x := ((*(*(struct {
                                Pos [3]int16
-                       }))(obj)).Pos)[local63]
+                       }))(obj)).Pos)[local66]
                        write16(w, uint16(x))
                }
        }
 }
 
-func (obj *ToCltRemoveNode) deserialize(r io.Reader) {
-       for local64 := range (*(*(struct {
+func (obj *ToCltRemoveNode) Deserialize(r io.Reader) {
+       for local67 := range (*(*(struct {
                Pos [3]int16
        }))(obj)).Pos {
                {
                        p := &((*(*(struct {
                                Pos [3]int16
-                       }))(obj)).Pos)[local64]
+                       }))(obj)).Pos)[local67]
                        *p = int16(read16(r))
                }
        }
 }
 
-func (obj *ToCltInv) serialize(w io.Writer) {
+func (obj *ToCltInv) Serialize(w io.Writer) {
        {
                _, err := w.Write(([]byte((*(*(struct {
                        //mt:raw
@@ -2237,29 +2271,20 @@ func (obj *ToCltInv) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltInv) deserialize(r io.Reader) {
-       var local65 []uint8
-       for {
-               var local66 uint8
-               err := pcall(func() {
-                       {
-                               p := &local66
-                               *p = read8(r)
-                       }
-               })
-               if err == io.EOF {
-                       break
-               }
-               (local65) = append((local65), local66)
+func (obj *ToCltInv) Deserialize(r io.Reader) {
+       var local68 []uint8
+       {
+               var err error
+               (local68), err = io.ReadAll(r)
                chk(err)
        }
        ((*(*(struct {
                //mt:raw
                Inv string
-       }))(obj)).Inv) = string(local65)
+       }))(obj)).Inv) = string(local68)
 }
 
-func (obj *ToCltTimeOfDay) serialize(w io.Writer) {
+func (obj *ToCltTimeOfDay) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Time  uint16  // %24000
@@ -2276,7 +2301,7 @@ func (obj *ToCltTimeOfDay) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltTimeOfDay) deserialize(r io.Reader) {
+func (obj *ToCltTimeOfDay) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Time  uint16  // %24000
@@ -2293,7 +2318,7 @@ func (obj *ToCltTimeOfDay) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltCSMRestrictionFlags) serialize(w io.Writer) {
+func (obj *ToCltCSMRestrictionFlags) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Flags CSMRestrictionFlags
@@ -2301,12 +2326,12 @@ func (obj *ToCltCSMRestrictionFlags) serialize(w io.Writer) {
                        // MapRange is the maximum distance from the player CSMs can read the map
                        // if Flags&LimitMapRange != 0.
                        MapRange uint32
-               }))(obj)).Flags).serialize(w)
+               }))(obj)).Flags).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CSMRestrictionFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CSMRestrictionFlags", err))
        }
        {
                x := (*(*(struct {
@@ -2320,7 +2345,7 @@ func (obj *ToCltCSMRestrictionFlags) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltCSMRestrictionFlags) deserialize(r io.Reader) {
+func (obj *ToCltCSMRestrictionFlags) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Flags CSMRestrictionFlags
@@ -2328,12 +2353,12 @@ func (obj *ToCltCSMRestrictionFlags) deserialize(r io.Reader) {
                        // MapRange is the maximum distance from the player CSMs can read the map
                        // if Flags&LimitMapRange != 0.
                        MapRange uint32
-               }))(obj)).Flags).deserialize(r)
+               }))(obj)).Flags).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CSMRestrictionFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.CSMRestrictionFlags", err))
        }
        {
                p := &(*(*(struct {
@@ -2347,96 +2372,100 @@ func (obj *ToCltCSMRestrictionFlags) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltAddPlayerVel) serialize(w io.Writer) {
+func (obj *ToCltAddPlayerVel) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Vel Vec
-               }))(obj)).Vel).serialize(w)
+               }))(obj)).Vel).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *ToCltAddPlayerVel) deserialize(r io.Reader) {
+func (obj *ToCltAddPlayerVel) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Vel Vec
-               }))(obj)).Vel).deserialize(r)
+               }))(obj)).Vel).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *ToCltMediaPush) serialize(w io.Writer) {
+func (obj *ToCltMediaPush) Serialize(w io.Writer) {
+       if len(([]byte((*(*(struct {
+               RawHash       string
+               Filename      string
+               CallbackToken uint32
+               ShouldCache   bool
+       }))(obj)).RawHash))) > math.MaxUint16 {
+               chk(ErrTooLong)
+       }
        {
-               local67 := uint16(sha1.Size)
-               {
-                       x := local67
-                       write16(w, uint16(x))
-               }
+               x := uint16(len(([]byte((*(*(struct {
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
+               }))(obj)).RawHash))))
+               write16(w, uint16(x))
        }
        {
-               _, err := w.Write(((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
-               }))(obj)).SHA1)[:])
+               _, err := w.Write(([]byte((*(*(struct {
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
+               }))(obj)).RawHash))[:])
                chk(err)
        }
        if len(([]byte((*(*(struct {
-               //mt:const uint16(sha1.Size)
-               SHA1        [sha1.Size]byte
-               Filename    string
-               ShouldCache bool
-
-               //mt:len32
-               Data []byte
+               RawHash       string
+               Filename      string
+               CallbackToken uint32
+               ShouldCache   bool
        }))(obj)).Filename))) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
                x := uint16(len(([]byte((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
                }))(obj)).Filename))))
                write16(w, uint16(x))
        }
        {
                _, err := w.Write(([]byte((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
                }))(obj)).Filename))[:])
                chk(err)
        }
        {
                x := (*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
+               }))(obj)).CallbackToken
+               write32(w, uint32(x))
+       }
+       {
+               x := (*(*(struct {
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
                }))(obj)).ShouldCache
                if x {
                        write8(w, 1)
@@ -2444,66 +2473,9 @@ func (obj *ToCltMediaPush) serialize(w io.Writer) {
                        write8(w, 0)
                }
        }
-       if len(((*(*(struct {
-               //mt:const uint16(sha1.Size)
-               SHA1        [sha1.Size]byte
-               Filename    string
-               ShouldCache bool
-
-               //mt:len32
-               Data []byte
-       }))(obj)).Data)) > math.MaxUint32 {
-               chk(ErrTooLong)
-       }
-       {
-               x := uint32(len(((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
-               }))(obj)).Data)))
-               write32(w, uint32(x))
-       }
-       {
-               _, err := w.Write(((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
-               }))(obj)).Data)[:])
-               chk(err)
-       }
 }
 
-func (obj *ToCltMediaPush) deserialize(r io.Reader) {
-       {
-               var local68 uint16
-               {
-                       p := &local68
-                       *p = read16(r)
-               }
-               if local68 != (20) {
-                       chk(fmt.Errorf("const %v: %v", 20, local68))
-               }
-       }
-       {
-               _, err := io.ReadFull(r, ((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
-               }))(obj)).SHA1)[:])
-               chk(err)
-       }
+func (obj *ToCltMediaPush) Deserialize(r io.Reader) {
        var local69 []uint8
        var local70 uint16
        {
@@ -2516,23 +2488,43 @@ func (obj *ToCltMediaPush) deserialize(r io.Reader) {
                chk(err)
        }
        ((*(*(struct {
-               //mt:const uint16(sha1.Size)
-               SHA1        [sha1.Size]byte
-               Filename    string
-               ShouldCache bool
-
-               //mt:len32
-               Data []byte
-       }))(obj)).Filename) = string(local69)
+               RawHash       string
+               Filename      string
+               CallbackToken uint32
+               ShouldCache   bool
+       }))(obj)).RawHash) = string(local69)
+       var local71 []uint8
+       var local72 uint16
+       {
+               p := &local72
+               *p = read16(r)
+       }
+       (local71) = make([]uint8, local72)
+       {
+               _, err := io.ReadFull(r, (local71)[:])
+               chk(err)
+       }
+       ((*(*(struct {
+               RawHash       string
+               Filename      string
+               CallbackToken uint32
+               ShouldCache   bool
+       }))(obj)).Filename) = string(local71)
        {
                p := &(*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
+               }))(obj)).CallbackToken
+               *p = read32(r)
+       }
+       {
+               p := &(*(*(struct {
+                       RawHash       string
+                       Filename      string
+                       CallbackToken uint32
+                       ShouldCache   bool
                }))(obj)).ShouldCache
                switch n := read8(r); n {
                case 0:
@@ -2543,39 +2535,13 @@ func (obj *ToCltMediaPush) deserialize(r io.Reader) {
                        chk(fmt.Errorf("invalid bool: %d", n))
                }
        }
-       var local71 uint32
-       {
-               p := &local71
-               *p = read32(r)
-       }
-       ((*(*(struct {
-               //mt:const uint16(sha1.Size)
-               SHA1        [sha1.Size]byte
-               Filename    string
-               ShouldCache bool
-
-               //mt:len32
-               Data []byte
-       }))(obj)).Data) = make([]byte, local71)
-       {
-               _, err := io.ReadFull(r, ((*(*(struct {
-                       //mt:const uint16(sha1.Size)
-                       SHA1        [sha1.Size]byte
-                       Filename    string
-                       ShouldCache bool
-
-                       //mt:len32
-                       Data []byte
-               }))(obj)).Data)[:])
-               chk(err)
-       }
 }
 
-func (obj *ToCltChatMsg) serialize(w io.Writer) {
+func (obj *ToCltChatMsg) Serialize(w io.Writer) {
        {
-               local72 := uint8(1)
+               local73 := uint8(1)
                {
-                       x := local72
+                       x := local73
                        write8(w, uint8(x))
                }
        }
@@ -2587,92 +2553,52 @@ func (obj *ToCltChatMsg) serialize(w io.Writer) {
                        Sender, Text string
 
                        Timestamp int64 // Unix time.
-               }))(obj)).Type).serialize(w)
+               }))(obj)).Type).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ChatMsgType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ChatMsgType", err))
        }
-       if len((utf16.Encode([]rune((*(*(struct {
+       local74 := utf16.Encode([]rune((*(*(struct {
                Type ChatMsgType
 
                //mt:utf16
                Sender, Text string
 
                Timestamp int64 // Unix time.
-       }))(obj)).Sender)))) > math.MaxUint16 {
+       }))(obj)).Sender))
+       if len((local74)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
-               x := uint16(len((utf16.Encode([]rune((*(*(struct {
-                       Type ChatMsgType
-
-                       //mt:utf16
-                       Sender, Text string
-
-                       Timestamp int64 // Unix time.
-               }))(obj)).Sender)))))
+               x := uint16(len((local74)))
                write16(w, uint16(x))
        }
-       for local73 := range utf16.Encode([]rune((*(*(struct {
-               Type ChatMsgType
-
-               //mt:utf16
-               Sender, Text string
-
-               Timestamp int64 // Unix time.
-       }))(obj)).Sender)) {
+       for local75 := range local74 {
                {
-                       x := (utf16.Encode([]rune((*(*(struct {
-                               Type ChatMsgType
-
-                               //mt:utf16
-                               Sender, Text string
-
-                               Timestamp int64 // Unix time.
-                       }))(obj)).Sender)))[local73]
+                       x := (local74)[local75]
                        write16(w, uint16(x))
                }
        }
-       if len((utf16.Encode([]rune((*(*(struct {
+       local76 := utf16.Encode([]rune((*(*(struct {
                Type ChatMsgType
 
                //mt:utf16
                Sender, Text string
 
                Timestamp int64 // Unix time.
-       }))(obj)).Text)))) > math.MaxUint16 {
+       }))(obj)).Text))
+       if len((local76)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
-               x := uint16(len((utf16.Encode([]rune((*(*(struct {
-                       Type ChatMsgType
-
-                       //mt:utf16
-                       Sender, Text string
-
-                       Timestamp int64 // Unix time.
-               }))(obj)).Text)))))
+               x := uint16(len((local76)))
                write16(w, uint16(x))
        }
-       for local74 := range utf16.Encode([]rune((*(*(struct {
-               Type ChatMsgType
-
-               //mt:utf16
-               Sender, Text string
-
-               Timestamp int64 // Unix time.
-       }))(obj)).Text)) {
+       for local77 := range local76 {
                {
-                       x := (utf16.Encode([]rune((*(*(struct {
-                               Type ChatMsgType
-
-                               //mt:utf16
-                               Sender, Text string
-
-                               Timestamp int64 // Unix time.
-                       }))(obj)).Text)))[local74]
+                       x := (local76)[local77]
                        write16(w, uint16(x))
                }
        }
@@ -2689,15 +2615,16 @@ func (obj *ToCltChatMsg) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltChatMsg) deserialize(r io.Reader) {
+func (obj *ToCltChatMsg) Deserialize(r io.Reader) {
        {
-               var local75 uint8
+               var local78 uint8
+               local79 := uint8(1)
                {
-                       p := &local75
+                       p := &local78
                        *p = read8(r)
                }
-               if local75 != (1) {
-                       chk(fmt.Errorf("const %v: %v", 1, local75))
+               if local78 != local79 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(1)", local78))
                }
        }
        if err := pcall(func() {
@@ -2708,23 +2635,23 @@ func (obj *ToCltChatMsg) deserialize(r io.Reader) {
                        Sender, Text string
 
                        Timestamp int64 // Unix time.
-               }))(obj)).Type).deserialize(r)
+               }))(obj)).Type).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ChatMsgType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ChatMsgType", err))
        }
-       var local76 []uint16
-       var local77 uint16
+       var local80 []uint16
+       var local81 uint16
        {
-               p := &local77
+               p := &local81
                *p = read16(r)
        }
-       (local76) = make([]uint16, local77)
-       for local78 := range local76 {
+       (local80) = make([]uint16, local81)
+       for local82 := range local80 {
                {
-                       p := &(local76)[local78]
+                       p := &(local80)[local82]
                        *p = read16(r)
                }
        }
@@ -2735,17 +2662,17 @@ func (obj *ToCltChatMsg) deserialize(r io.Reader) {
                Sender, Text string
 
                Timestamp int64 // Unix time.
-       }))(obj)).Sender = string(utf16.Decode(local76))
-       var local79 []uint16
-       var local80 uint16
+       }))(obj)).Sender = string(utf16.Decode(local80))
+       var local83 []uint16
+       var local84 uint16
        {
-               p := &local80
+               p := &local84
                *p = read16(r)
        }
-       (local79) = make([]uint16, local80)
-       for local81 := range local79 {
+       (local83) = make([]uint16, local84)
+       for local85 := range local83 {
                {
-                       p := &(local79)[local81]
+                       p := &(local83)[local85]
                        *p = read16(r)
                }
        }
@@ -2756,7 +2683,7 @@ func (obj *ToCltChatMsg) deserialize(r io.Reader) {
                Sender, Text string
 
                Timestamp int64 // Unix time.
-       }))(obj)).Text = string(utf16.Decode(local79))
+       }))(obj)).Text = string(utf16.Decode(local83))
        {
                p := &(*(*(struct {
                        Type ChatMsgType
@@ -2770,282 +2697,122 @@ func (obj *ToCltChatMsg) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltAORmAdd) serialize(w io.Writer) {
+func (obj *ToCltAORmAdd) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Remove)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
                x := uint16(len(((*(*(struct {
                        Remove []AOID
-                       Add    []struct {
-                               ID AOID
-                               //mt:const genericCAO
-                               //mt:lenhdr 32
-                               InitData AOInitData
-                       }
+                       Add    []AOAdd
                }))(obj)).Remove)))
                write16(w, uint16(x))
        }
-       for local82 := range (*(*(struct {
+       for local86 := range (*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Remove {
                if err := pcall(func() {
                        (((*(*(struct {
                                Remove []AOID
-                               Add    []struct {
-                                       ID AOID
-                                       //mt:const genericCAO
-                                       //mt:lenhdr 32
-                                       InitData AOInitData
-                               }
-                       }))(obj)).Remove)[local82]).serialize(w)
+                               Add    []AOAdd
+                       }))(obj)).Remove)[local86]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
                }
        }
        if len(((*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Add)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
                x := uint16(len(((*(*(struct {
                        Remove []AOID
-                       Add    []struct {
-                               ID AOID
-                               //mt:const genericCAO
-                               //mt:lenhdr 32
-                               InitData AOInitData
-                       }
+                       Add    []AOAdd
                }))(obj)).Add)))
                write16(w, uint16(x))
        }
-       for local83 := range (*(*(struct {
+       for local87 := range (*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Add {
                if err := pcall(func() {
-                       ((((*(*(struct {
+                       (((*(*(struct {
                                Remove []AOID
-                               Add    []struct {
-                                       ID AOID
-                                       //mt:const genericCAO
-                                       //mt:lenhdr 32
-                                       InitData AOInitData
-                               }
-                       }))(obj)).Add)[local83]).ID).serialize(w)
+                               Add    []AOAdd
+                       }))(obj)).Add)[local87]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
-               }
-               {
-                       local84 := genericCAO
-                       if err := pcall(func() {
-                               (local84).serialize(w)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err))
-                       }
-               }
-               {
-                       ow := w
-                       w := new(bytes.Buffer)
-                       if err := pcall(func() {
-                               ((((*(*(struct {
-                                       Remove []AOID
-                                       Add    []struct {
-                                               ID AOID
-                                               //mt:const genericCAO
-                                               //mt:lenhdr 32
-                                               InitData AOInitData
-                                       }
-                               }))(obj)).Add)[local83]).InitData).serialize(w)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOInitData", err))
-                       }
-                       {
-                               buf := w
-                               w := ow
-                               if len((buf.Bytes())) > math.MaxUint32 {
-                                       chk(ErrTooLong)
-                               }
-                               {
-                                       x := uint32(len((buf.Bytes())))
-                                       write32(w, uint32(x))
-                               }
-                               {
-                                       _, err := w.Write((buf.Bytes())[:])
-                                       chk(err)
-                               }
-                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAdd", err))
                }
        }
 }
 
-func (obj *ToCltAORmAdd) deserialize(r io.Reader) {
-       var local85 uint16
+func (obj *ToCltAORmAdd) Deserialize(r io.Reader) {
+       var local88 uint16
        {
-               p := &local85
+               p := &local88
                *p = read16(r)
        }
        ((*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
-       }))(obj)).Remove) = make([]AOID, local85)
-       for local86 := range (*(*(struct {
+               Add    []AOAdd
+       }))(obj)).Remove) = make([]AOID, local88)
+       for local89 := range (*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Remove {
                if err := pcall(func() {
                        (((*(*(struct {
                                Remove []AOID
-                               Add    []struct {
-                                       ID AOID
-                                       //mt:const genericCAO
-                                       //mt:lenhdr 32
-                                       InitData AOInitData
-                               }
-                       }))(obj)).Remove)[local86]).deserialize(r)
+                               Add    []AOAdd
+                       }))(obj)).Remove)[local89]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
                }
        }
-       var local87 uint16
+       var local90 uint16
        {
-               p := &local87
+               p := &local90
                *p = read16(r)
        }
        ((*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
-       }))(obj)).Add) = make([]struct {
-               ID       AOID
-               InitData AOInitData
-       }, local87)
-       for local88 := range (*(*(struct {
+               Add    []AOAdd
+       }))(obj)).Add) = make([]AOAdd, local90)
+       for local91 := range (*(*(struct {
                Remove []AOID
-               Add    []struct {
-                       ID AOID
-                       //mt:const genericCAO
-                       //mt:lenhdr 32
-                       InitData AOInitData
-               }
+               Add    []AOAdd
        }))(obj)).Add {
                if err := pcall(func() {
-                       ((((*(*(struct {
+                       (((*(*(struct {
                                Remove []AOID
-                               Add    []struct {
-                                       ID AOID
-                                       //mt:const genericCAO
-                                       //mt:lenhdr 32
-                                       InitData AOInitData
-                               }
-                       }))(obj)).Add)[local88]).ID).deserialize(r)
+                               Add    []AOAdd
+                       }))(obj)).Add)[local91]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
-               }
-               {
-                       var local89 aoType
-                       if err := pcall(func() {
-                               (local89).deserialize(r)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err))
-                       }
-                       if local89 != (101) {
-                               chk(fmt.Errorf("const %v: %v", 101, local89))
-                       }
-               }
-               {
-                       var n uint32
-                       {
-                               p := &n
-                               *p = read32(r)
-                       }
-                       r := &io.LimitedReader{r, int64(n)}
-                       if err := pcall(func() {
-                               ((((*(*(struct {
-                                       Remove []AOID
-                                       Add    []struct {
-                                               ID AOID
-                                               //mt:const genericCAO
-                                               //mt:lenhdr 32
-                                               InitData AOInitData
-                                       }
-                               }))(obj)).Add)[local88]).InitData).deserialize(r)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOInitData", err))
-                       }
-                       if r.N > 0 {
-                               chk(fmt.Errorf("%d bytes of trailing data", r.N))
-                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAdd", err))
                }
        }
 }
 
-func (obj *ToCltAOMsgs) serialize(w io.Writer) {
-       for local90 := range (*(*(struct {
+func (obj *ToCltAOMsgs) Serialize(w io.Writer) {
+       for local92 := range (*(*(struct {
                //mt:raw
                Msgs []IDAOMsg
        }))(obj)).Msgs {
@@ -3053,27 +2820,27 @@ func (obj *ToCltAOMsgs) serialize(w io.Writer) {
                        (((*(*(struct {
                                //mt:raw
                                Msgs []IDAOMsg
-                       }))(obj)).Msgs)[local90]).serialize(w)
+                       }))(obj)).Msgs)[local92]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.IDAOMsg", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.IDAOMsg", err))
                }
        }
 }
 
-func (obj *ToCltAOMsgs) deserialize(r io.Reader) {
+func (obj *ToCltAOMsgs) Deserialize(r io.Reader) {
        for {
-               var local91 IDAOMsg
+               var local93 IDAOMsg
                err := pcall(func() {
                        if err := pcall(func() {
-                               (local91).deserialize(r)
+                               (local93).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.IDAOMsg", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.IDAOMsg", err))
                        }
                })
                if err == io.EOF {
@@ -3085,40 +2852,79 @@ func (obj *ToCltAOMsgs) deserialize(r io.Reader) {
                }))(obj)).Msgs) = append(((*(*(struct {
                        //mt:raw
                        Msgs []IDAOMsg
-               }))(obj)).Msgs), local91)
+               }))(obj)).Msgs), local93)
                chk(err)
        }
 }
 
-func (obj *ToCltHP) serialize(w io.Writer) {
+func (obj *ToCltHP) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        HP uint16
+                       //mt:opt
+                       DamageEffect bool
                }))(obj)).HP
                write16(w, uint16(x))
        }
+       if err := pcall(func() {
+               {
+                       x := (*(*(struct {
+                               HP uint16
+                               //mt:opt
+                               DamageEffect bool
+                       }))(obj)).DamageEffect
+                       if x {
+                               write8(w, 1)
+                       } else {
+                               write8(w, 0)
+                       }
+               }
+       }); err != nil && err != io.EOF {
+               chk(err)
+       }
 }
 
-func (obj *ToCltHP) deserialize(r io.Reader) {
+func (obj *ToCltHP) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        HP uint16
+                       //mt:opt
+                       DamageEffect bool
                }))(obj)).HP
                *p = read16(r)
        }
+       if err := pcall(func() {
+               {
+                       p := &(*(*(struct {
+                               HP uint16
+                               //mt:opt
+                               DamageEffect bool
+                       }))(obj)).DamageEffect
+                       switch n := read8(r); n {
+                       case 0:
+                               *p = false
+                       case 1:
+                               *p = true
+                       default:
+                               chk(fmt.Errorf("invalid bool: %d", n))
+                       }
+               }
+       }); err != nil && err != io.EOF {
+               chk(err)
+       }
 }
 
-func (obj *ToCltMovePlayer) serialize(w io.Writer) {
+func (obj *ToCltMovePlayer) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos
                        Pitch, Yaw float32
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        {
                x := (*(*(struct {
@@ -3136,17 +2942,17 @@ func (obj *ToCltMovePlayer) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltMovePlayer) deserialize(r io.Reader) {
+func (obj *ToCltMovePlayer) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos
                        Pitch, Yaw float32
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        {
                p := &(*(*(struct {
@@ -3164,55 +2970,47 @@ func (obj *ToCltMovePlayer) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltDiscoLegacy) serialize(w io.Writer) {
-       if len((utf16.Encode([]rune((*(*(struct {
+func (obj *ToCltLegacyKick) Serialize(w io.Writer) {
+       local94 := utf16.Encode([]rune((*(*(struct {
                //mt:utf16
                Reason string
-       }))(obj)).Reason)))) > math.MaxUint16 {
+       }))(obj)).Reason))
+       if len((local94)) > math.MaxUint16 {
                chk(ErrTooLong)
        }
        {
-               x := uint16(len((utf16.Encode([]rune((*(*(struct {
-                       //mt:utf16
-                       Reason string
-               }))(obj)).Reason)))))
+               x := uint16(len((local94)))
                write16(w, uint16(x))
        }
-       for local92 := range utf16.Encode([]rune((*(*(struct {
-               //mt:utf16
-               Reason string
-       }))(obj)).Reason)) {
+       for local95 := range local94 {
                {
-                       x := (utf16.Encode([]rune((*(*(struct {
-                               //mt:utf16
-                               Reason string
-                       }))(obj)).Reason)))[local92]
+                       x := (local94)[local95]
                        write16(w, uint16(x))
                }
        }
 }
 
-func (obj *ToCltDiscoLegacy) deserialize(r io.Reader) {
-       var local93 []uint16
-       var local94 uint16
+func (obj *ToCltLegacyKick) Deserialize(r io.Reader) {
+       var local96 []uint16
+       var local97 uint16
        {
-               p := &local94
+               p := &local97
                *p = read16(r)
        }
-       (local93) = make([]uint16, local94)
-       for local95 := range local93 {
+       (local96) = make([]uint16, local97)
+       for local98 := range local96 {
                {
-                       p := &(local93)[local95]
+                       p := &(local96)[local98]
                        *p = read16(r)
                }
        }
        (*(*(struct {
                //mt:utf16
                Reason string
-       }))(obj)).Reason = string(utf16.Decode(local93))
+       }))(obj)).Reason = string(utf16.Decode(local96))
 }
 
-func (obj *ToCltFOV) serialize(w io.Writer) {
+func (obj *ToCltFOV) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        FOV            float32
@@ -3243,7 +3041,7 @@ func (obj *ToCltFOV) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltFOV) deserialize(r io.Reader) {
+func (obj *ToCltFOV) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        FOV            float32
@@ -3277,7 +3075,7 @@ func (obj *ToCltFOV) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltDeathScreen) serialize(w io.Writer) {
+func (obj *ToCltDeathScreen) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        PointCam bool
@@ -3293,16 +3091,16 @@ func (obj *ToCltDeathScreen) serialize(w io.Writer) {
                ((*(*(struct {
                        PointCam bool
                        PointAt  Pos
-               }))(obj)).PointAt).serialize(w)
+               }))(obj)).PointAt).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
 }
 
-func (obj *ToCltDeathScreen) deserialize(r io.Reader) {
+func (obj *ToCltDeathScreen) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        PointCam bool
@@ -3321,16 +3119,16 @@ func (obj *ToCltDeathScreen) deserialize(r io.Reader) {
                ((*(*(struct {
                        PointCam bool
                        PointAt  Pos
-               }))(obj)).PointAt).deserialize(r)
+               }))(obj)).PointAt).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
 }
 
-func (obj *ToCltMedia) serialize(w io.Writer) {
+func (obj *ToCltMedia) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        // N is the total number of ToCltMedia packets.
@@ -3394,7 +3192,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                }))(obj)).Files)))
                write32(w, uint32(x))
        }
-       for local96 := range (*(*(struct {
+       for local99 := range (*(*(struct {
                // N is the total number of ToCltMedia packets.
                // I is the index of this packet.
                N, I uint16
@@ -3419,7 +3217,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                //mt:len32
                                Data []byte
                        }
-               }))(obj)).Files)[local96]).Name))) > math.MaxUint16 {
+               }))(obj)).Files)[local99]).Name))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
                {
@@ -3435,7 +3233,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                        //mt:len32
                                        Data []byte
                                }
-                       }))(obj)).Files)[local96]).Name))))
+                       }))(obj)).Files)[local99]).Name))))
                        write16(w, uint16(x))
                }
                {
@@ -3451,7 +3249,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                        //mt:len32
                                        Data []byte
                                }
-                       }))(obj)).Files)[local96]).Name))[:])
+                       }))(obj)).Files)[local99]).Name))[:])
                        chk(err)
                }
                if len(((((*(*(struct {
@@ -3466,7 +3264,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                //mt:len32
                                Data []byte
                        }
-               }))(obj)).Files)[local96]).Data)) > math.MaxUint32 {
+               }))(obj)).Files)[local99]).Data)) > math.MaxUint32 {
                        chk(ErrTooLong)
                }
                {
@@ -3482,7 +3280,7 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                        //mt:len32
                                        Data []byte
                                }
-                       }))(obj)).Files)[local96]).Data)))
+                       }))(obj)).Files)[local99]).Data)))
                        write32(w, uint32(x))
                }
                {
@@ -3498,13 +3296,13 @@ func (obj *ToCltMedia) serialize(w io.Writer) {
                                        //mt:len32
                                        Data []byte
                                }
-                       }))(obj)).Files)[local96]).Data)[:])
+                       }))(obj)).Files)[local99]).Data)[:])
                        chk(err)
                }
        }
 }
 
-func (obj *ToCltMedia) deserialize(r io.Reader) {
+func (obj *ToCltMedia) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        // N is the total number of ToCltMedia packets.
@@ -3537,9 +3335,9 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
                }))(obj)).I
                *p = read16(r)
        }
-       var local97 uint32
+       var local100 uint32
        {
-               p := &local97
+               p := &local100
                *p = read32(r)
        }
        ((*(*(struct {
@@ -3557,8 +3355,8 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
        }))(obj)).Files) = make([]struct {
                Name string
                Data []byte
-       }, local97)
-       for local98 := range (*(*(struct {
+       }, local100)
+       for local101 := range (*(*(struct {
                // N is the total number of ToCltMedia packets.
                // I is the index of this packet.
                N, I uint16
@@ -3571,15 +3369,15 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
                        Data []byte
                }
        }))(obj)).Files {
-               var local99 []uint8
-               var local100 uint16
+               var local102 []uint8
+               var local103 uint16
                {
-                       p := &local100
+                       p := &local103
                        *p = read16(r)
                }
-               (local99) = make([]uint8, local100)
+               (local102) = make([]uint8, local103)
                {
-                       _, err := io.ReadFull(r, (local99)[:])
+                       _, err := io.ReadFull(r, (local102)[:])
                        chk(err)
                }
                ((((*(*(struct {
@@ -3594,10 +3392,10 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
                                //mt:len32
                                Data []byte
                        }
-               }))(obj)).Files)[local98]).Name) = string(local99)
-               var local101 uint32
+               }))(obj)).Files)[local101]).Name) = string(local102)
+               var local104 uint32
                {
-                       p := &local101
+                       p := &local104
                        *p = read32(r)
                }
                ((((*(*(struct {
@@ -3612,7 +3410,7 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
                                //mt:len32
                                Data []byte
                        }
-               }))(obj)).Files)[local98]).Data) = make([]byte, local101)
+               }))(obj)).Files)[local101]).Data) = make([]byte, local104)
                {
                        _, err := io.ReadFull(r, ((((*(*(struct {
                                // N is the total number of ToCltMedia packets.
@@ -3626,22 +3424,22 @@ func (obj *ToCltMedia) deserialize(r io.Reader) {
                                        //mt:len32
                                        Data []byte
                                }
-                       }))(obj)).Files)[local98]).Data)[:])
+                       }))(obj)).Files)[local101]).Data)[:])
                        chk(err)
                }
        }
 }
 
-func (obj *ToCltNodeDefs) serialize(w io.Writer) {
+func (obj *ToCltNodeDefs) Serialize(w io.Writer) {
        {
                ow := w
                w := new(bytes.Buffer)
                {
                        w := zlib.NewWriter(w)
                        {
-                               local102 := uint8(1)
+                               local105 := uint8(1)
                                {
-                                       x := local102
+                                       x := local105
                                        write8(w, uint8(x))
                                }
                        }
@@ -3658,7 +3456,7 @@ func (obj *ToCltNodeDefs) serialize(w io.Writer) {
                                        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)
@@ -3688,25 +3486,26 @@ func (obj *ToCltNodeDefs) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltNodeDefs) deserialize(r io.Reader) {
+func (obj *ToCltNodeDefs) Deserialize(r io.Reader) {
        {
                var n uint32
                {
                        p := &n
                        *p = read32(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
                        r, err := zlib.NewReader(byteReader{r})
                        chk(err)
                        {
-                               var local103 uint8
+                               var local106 uint8
+                               local107 := uint8(1)
                                {
-                                       p := &local103
+                                       p := &local106
                                        *p = read8(r)
                                }
-                               if local103 != (1) {
-                                       chk(fmt.Errorf("const %v: %v", 1, local103))
+                               if local106 != local107 {
+                                       chk(fmt.Errorf("const %v: %v", "uint8(1)", local106))
                                }
                        }
                        {
@@ -3717,9 +3516,9 @@ func (obj *ToCltNodeDefs) deserialize(r io.Reader) {
                                }))(obj)).Defs
                                { // For ToCltNodeDefs.Defs.
                                        *p = make([]NodeDef, read16(r))
-                                       r := &io.LimitedReader{r, int64(read32(r))}
+                                       r := &io.LimitedReader{R: r, N: int64(read32(r))}
                                        for i := range *p {
-                                               (*p)[i].deserialize(r)
+                                               (*p)[i].Deserialize(r)
                                        }
                                        if r.N > 0 {
                                                chk(fmt.Errorf("%d bytes of trailing data", r.N))
@@ -3734,7 +3533,7 @@ func (obj *ToCltNodeDefs) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
+func (obj *ToCltAnnounceMedia) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Files []struct {
                        Name       string
@@ -3754,7 +3553,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                }))(obj)).Files)))
                write16(w, uint16(x))
        }
-       for local104 := range (*(*(struct {
+       for local108 := range (*(*(struct {
                Files []struct {
                        Name       string
                        Base64SHA1 string
@@ -3767,7 +3566,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                Base64SHA1 string
                        }
                        URL string
-               }))(obj)).Files)[local104]).Name))) > math.MaxUint16 {
+               }))(obj)).Files)[local108]).Name))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
                {
@@ -3777,7 +3576,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                        Base64SHA1 string
                                }
                                URL string
-                       }))(obj)).Files)[local104]).Name))))
+                       }))(obj)).Files)[local108]).Name))))
                        write16(w, uint16(x))
                }
                {
@@ -3787,7 +3586,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                        Base64SHA1 string
                                }
                                URL string
-                       }))(obj)).Files)[local104]).Name))[:])
+                       }))(obj)).Files)[local108]).Name))[:])
                        chk(err)
                }
                if len(([]byte((((*(*(struct {
@@ -3796,7 +3595,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                Base64SHA1 string
                        }
                        URL string
-               }))(obj)).Files)[local104]).Base64SHA1))) > math.MaxUint16 {
+               }))(obj)).Files)[local108]).Base64SHA1))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
                {
@@ -3806,7 +3605,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                        Base64SHA1 string
                                }
                                URL string
-                       }))(obj)).Files)[local104]).Base64SHA1))))
+                       }))(obj)).Files)[local108]).Base64SHA1))))
                        write16(w, uint16(x))
                }
                {
@@ -3816,7 +3615,7 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
                                        Base64SHA1 string
                                }
                                URL string
-                       }))(obj)).Files)[local104]).Base64SHA1))[:])
+                       }))(obj)).Files)[local108]).Base64SHA1))[:])
                        chk(err)
                }
        }
@@ -3851,10 +3650,10 @@ func (obj *ToCltAnnounceMedia) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) {
-       var local105 uint16
+func (obj *ToCltAnnounceMedia) Deserialize(r io.Reader) {
+       var local109 uint16
        {
-               p := &local105
+               p := &local109
                *p = read16(r)
        }
        ((*(*(struct {
@@ -3866,23 +3665,23 @@ func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) {
        }))(obj)).Files) = make([]struct {
                Name       string
                Base64SHA1 string
-       }, local105)
-       for local106 := range (*(*(struct {
+       }, local109)
+       for local110 := range (*(*(struct {
                Files []struct {
                        Name       string
                        Base64SHA1 string
                }
                URL string
        }))(obj)).Files {
-               var local107 []uint8
-               var local108 uint16
+               var local111 []uint8
+               var local112 uint16
                {
-                       p := &local108
+                       p := &local112
                        *p = read16(r)
                }
-               (local107) = make([]uint8, local108)
+               (local111) = make([]uint8, local112)
                {
-                       _, err := io.ReadFull(r, (local107)[:])
+                       _, err := io.ReadFull(r, (local111)[:])
                        chk(err)
                }
                ((((*(*(struct {
@@ -3891,16 +3690,16 @@ func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) {
                                Base64SHA1 string
                        }
                        URL string
-               }))(obj)).Files)[local106]).Name) = string(local107)
-               var local109 []uint8
-               var local110 uint16
+               }))(obj)).Files)[local110]).Name) = string(local111)
+               var local113 []uint8
+               var local114 uint16
                {
-                       p := &local110
+                       p := &local114
                        *p = read16(r)
                }
-               (local109) = make([]uint8, local110)
+               (local113) = make([]uint8, local114)
                {
-                       _, err := io.ReadFull(r, (local109)[:])
+                       _, err := io.ReadFull(r, (local113)[:])
                        chk(err)
                }
                ((((*(*(struct {
@@ -3909,17 +3708,17 @@ func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) {
                                Base64SHA1 string
                        }
                        URL string
-               }))(obj)).Files)[local106]).Base64SHA1) = string(local109)
+               }))(obj)).Files)[local110]).Base64SHA1) = string(local113)
        }
-       var local111 []uint8
-       var local112 uint16
+       var local115 []uint8
+       var local116 uint16
        {
-               p := &local112
+               p := &local116
                *p = read16(r)
        }
-       (local111) = make([]uint8, local112)
+       (local115) = make([]uint8, local116)
        {
-               _, err := io.ReadFull(r, (local111)[:])
+               _, err := io.ReadFull(r, (local115)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -3928,19 +3727,19 @@ func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) {
                        Base64SHA1 string
                }
                URL string
-       }))(obj)).URL) = string(local111)
+       }))(obj)).URL) = string(local115)
 }
 
-func (obj *ToCltItemDefs) serialize(w io.Writer) {
+func (obj *ToCltItemDefs) Serialize(w io.Writer) {
        {
                ow := w
                w := new(bytes.Buffer)
                {
                        w := zlib.NewWriter(w)
                        {
-                               local113 := uint8(0)
+                               local117 := uint8(0)
                                {
-                                       x := local113
+                                       x := local117
                                        write8(w, uint8(x))
                                }
                        }
@@ -3957,7 +3756,7 @@ func (obj *ToCltItemDefs) serialize(w io.Writer) {
                                }))(obj)).Defs)))
                                write16(w, uint16(x))
                        }
-                       for local114 := range (*(*(struct {
+                       for local118 := range (*(*(struct {
                                Defs    []ItemDef
                                Aliases []struct{ Alias, Orig string }
                        }))(obj)).Defs {
@@ -3965,12 +3764,12 @@ func (obj *ToCltItemDefs) serialize(w io.Writer) {
                                        (((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Defs)[local114]).serialize(w)
+                                       }))(obj)).Defs)[local118]).Serialize(w)
                                }); err != nil {
                                        if err == io.EOF {
                                                chk(io.EOF)
                                        }
-                                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemDef", err))
+                                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ItemDef", err))
                                }
                        }
                        if len(((*(*(struct {
@@ -3986,48 +3785,48 @@ func (obj *ToCltItemDefs) serialize(w io.Writer) {
                                }))(obj)).Aliases)))
                                write16(w, uint16(x))
                        }
-                       for local115 := range (*(*(struct {
+                       for local119 := range (*(*(struct {
                                Defs    []ItemDef
                                Aliases []struct{ Alias, Orig string }
                        }))(obj)).Aliases {
                                if len(([]byte((((*(*(struct {
                                        Defs    []ItemDef
                                        Aliases []struct{ Alias, Orig string }
-                               }))(obj)).Aliases)[local115]).Alias))) > math.MaxUint16 {
+                               }))(obj)).Aliases)[local119]).Alias))) > math.MaxUint16 {
                                        chk(ErrTooLong)
                                }
                                {
                                        x := uint16(len(([]byte((((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Aliases)[local115]).Alias))))
+                                       }))(obj)).Aliases)[local119]).Alias))))
                                        write16(w, uint16(x))
                                }
                                {
                                        _, err := w.Write(([]byte((((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Aliases)[local115]).Alias))[:])
+                                       }))(obj)).Aliases)[local119]).Alias))[:])
                                        chk(err)
                                }
                                if len(([]byte((((*(*(struct {
                                        Defs    []ItemDef
                                        Aliases []struct{ Alias, Orig string }
-                               }))(obj)).Aliases)[local115]).Orig))) > math.MaxUint16 {
+                               }))(obj)).Aliases)[local119]).Orig))) > math.MaxUint16 {
                                        chk(ErrTooLong)
                                }
                                {
                                        x := uint16(len(([]byte((((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Aliases)[local115]).Orig))))
+                                       }))(obj)).Aliases)[local119]).Orig))))
                                        write16(w, uint16(x))
                                }
                                {
                                        _, err := w.Write(([]byte((((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Aliases)[local115]).Orig))[:])
+                                       }))(obj)).Aliases)[local119]).Orig))[:])
                                        chk(err)
                                }
                        }
@@ -4051,37 +3850,38 @@ func (obj *ToCltItemDefs) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltItemDefs) deserialize(r io.Reader) {
+func (obj *ToCltItemDefs) Deserialize(r io.Reader) {
        {
                var n uint32
                {
                        p := &n
                        *p = read32(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
                        r, err := zlib.NewReader(byteReader{r})
                        chk(err)
                        {
-                               var local116 uint8
+                               var local120 uint8
+                               local121 := uint8(0)
                                {
-                                       p := &local116
+                                       p := &local120
                                        *p = read8(r)
                                }
-                               if local116 != (0) {
-                                       chk(fmt.Errorf("const %v: %v", 0, local116))
+                               if local120 != local121 {
+                                       chk(fmt.Errorf("const %v: %v", "uint8(0)", local120))
                                }
                        }
-                       var local117 uint16
+                       var local122 uint16
                        {
-                               p := &local117
+                               p := &local122
                                *p = read16(r)
                        }
                        ((*(*(struct {
                                Defs    []ItemDef
                                Aliases []struct{ Alias, Orig string }
-                       }))(obj)).Defs) = make([]ItemDef, local117)
-                       for local118 := range (*(*(struct {
+                       }))(obj)).Defs) = make([]ItemDef, local122)
+                       for local123 := range (*(*(struct {
                                Defs    []ItemDef
                                Aliases []struct{ Alias, Orig string }
                        }))(obj)).Defs {
@@ -4089,17 +3889,17 @@ func (obj *ToCltItemDefs) deserialize(r io.Reader) {
                                        (((*(*(struct {
                                                Defs    []ItemDef
                                                Aliases []struct{ Alias, Orig string }
-                                       }))(obj)).Defs)[local118]).deserialize(r)
+                                       }))(obj)).Defs)[local123]).Deserialize(r)
                                }); err != nil {
                                        if err == io.EOF {
                                                chk(io.EOF)
                                        }
-                                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemDef", err))
+                                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ItemDef", err))
                                }
                        }
-                       var local119 uint16
+                       var local124 uint16
                        {
-                               p := &local119
+                               p := &local124
                                *p = read16(r)
                        }
                        ((*(*(struct {
@@ -4108,41 +3908,41 @@ func (obj *ToCltItemDefs) deserialize(r io.Reader) {
                        }))(obj)).Aliases) = make([]struct {
                                Alias string
                                Orig  string
-                       }, local119)
-                       for local120 := range (*(*(struct {
+                       }, local124)
+                       for local125 := range (*(*(struct {
                                Defs    []ItemDef
                                Aliases []struct{ Alias, Orig string }
                        }))(obj)).Aliases {
-                               var local121 []uint8
-                               var local122 uint16
+                               var local126 []uint8
+                               var local127 uint16
                                {
-                                       p := &local122
+                                       p := &local127
                                        *p = read16(r)
                                }
-                               (local121) = make([]uint8, local122)
+                               (local126) = make([]uint8, local127)
                                {
-                                       _, err := io.ReadFull(r, (local121)[:])
+                                       _, err := io.ReadFull(r, (local126)[:])
                                        chk(err)
                                }
                                ((((*(*(struct {
                                        Defs    []ItemDef
                                        Aliases []struct{ Alias, Orig string }
-                               }))(obj)).Aliases)[local120]).Alias) = string(local121)
-                               var local123 []uint8
-                               var local124 uint16
+                               }))(obj)).Aliases)[local125]).Alias) = string(local126)
+                               var local128 []uint8
+                               var local129 uint16
                                {
-                                       p := &local124
+                                       p := &local129
                                        *p = read16(r)
                                }
-                               (local123) = make([]uint8, local124)
+                               (local128) = make([]uint8, local129)
                                {
-                                       _, err := io.ReadFull(r, (local123)[:])
+                                       _, err := io.ReadFull(r, (local128)[:])
                                        chk(err)
                                }
                                ((((*(*(struct {
                                        Defs    []ItemDef
                                        Aliases []struct{ Alias, Orig string }
-                               }))(obj)).Aliases)[local120]).Orig) = string(local123)
+                               }))(obj)).Aliases)[local125]).Orig) = string(local128)
                        }
                        chk(r.Close())
                }
@@ -4152,7 +3952,7 @@ func (obj *ToCltItemDefs) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltPlaySound) serialize(w io.Writer) {
+func (obj *ToCltPlaySound) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID      SoundID
@@ -4165,12 +3965,12 @@ func (obj *ToCltPlaySound) serialize(w io.Writer) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
        if len(([]byte((*(*(struct {
                ID      SoundID
@@ -4243,12 +4043,12 @@ func (obj *ToCltPlaySound) serialize(w io.Writer) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).SrcType).serialize(w)
+               }))(obj)).SrcType).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundSrcType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundSrcType", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -4262,12 +4062,12 @@ func (obj *ToCltPlaySound) serialize(w io.Writer) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -4281,12 +4081,12 @@ func (obj *ToCltPlaySound) serialize(w io.Writer) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).SrcAOID).serialize(w)
+               }))(obj)).SrcAOID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
                x := (*(*(struct {
@@ -4358,7 +4158,7 @@ func (obj *ToCltPlaySound) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltPlaySound) deserialize(r io.Reader) {
+func (obj *ToCltPlaySound) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID      SoundID
@@ -4371,22 +4171,22 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
-       var local125 []uint8
-       var local126 uint16
+       var local130 []uint8
+       var local131 uint16
        {
-               p := &local126
+               p := &local131
                *p = read16(r)
        }
-       (local125) = make([]uint8, local126)
+       (local130) = make([]uint8, local131)
        {
-               _, err := io.ReadFull(r, (local125)[:])
+               _, err := io.ReadFull(r, (local130)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -4400,7 +4200,7 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
                Fade      float32
                Pitch     float32
                Ephemeral bool
-       }))(obj)).Name) = string(local125)
+       }))(obj)).Name) = string(local130)
        {
                p := &(*(*(struct {
                        ID      SoundID
@@ -4428,12 +4228,12 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).SrcType).deserialize(r)
+               }))(obj)).SrcType).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundSrcType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundSrcType", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -4447,12 +4247,12 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -4466,12 +4266,12 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
                        Fade      float32
                        Pitch     float32
                        Ephemeral bool
-               }))(obj)).SrcAOID).deserialize(r)
+               }))(obj)).SrcAOID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
                p := &(*(*(struct {
@@ -4549,33 +4349,33 @@ func (obj *ToCltPlaySound) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltStopSound) serialize(w io.Writer) {
+func (obj *ToCltStopSound) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID SoundID
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
 }
 
-func (obj *ToCltStopSound) deserialize(r io.Reader) {
+func (obj *ToCltStopSound) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID SoundID
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
 }
 
-func (obj *ToCltPrivs) serialize(w io.Writer) {
+func (obj *ToCltPrivs) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Privs []string
        }))(obj)).Privs)) > math.MaxUint16 {
@@ -4587,59 +4387,59 @@ func (obj *ToCltPrivs) serialize(w io.Writer) {
                }))(obj)).Privs)))
                write16(w, uint16(x))
        }
-       for local127 := range (*(*(struct {
+       for local132 := range (*(*(struct {
                Privs []string
        }))(obj)).Privs {
                if len(([]byte(((*(*(struct {
                        Privs []string
-               }))(obj)).Privs)[local127]))) > math.MaxUint16 {
+               }))(obj)).Privs)[local132]))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
                {
                        x := uint16(len(([]byte(((*(*(struct {
                                Privs []string
-                       }))(obj)).Privs)[local127]))))
+                       }))(obj)).Privs)[local132]))))
                        write16(w, uint16(x))
                }
                {
                        _, err := w.Write(([]byte(((*(*(struct {
                                Privs []string
-                       }))(obj)).Privs)[local127]))[:])
+                       }))(obj)).Privs)[local132]))[:])
                        chk(err)
                }
        }
 }
 
-func (obj *ToCltPrivs) deserialize(r io.Reader) {
-       var local128 uint16
+func (obj *ToCltPrivs) Deserialize(r io.Reader) {
+       var local133 uint16
        {
-               p := &local128
+               p := &local133
                *p = read16(r)
        }
        ((*(*(struct {
                Privs []string
-       }))(obj)).Privs) = make([]string, local128)
-       for local129 := range (*(*(struct {
+       }))(obj)).Privs) = make([]string, local133)
+       for local134 := range (*(*(struct {
                Privs []string
        }))(obj)).Privs {
-               var local130 []uint8
-               var local131 uint16
+               var local135 []uint8
+               var local136 uint16
                {
-                       p := &local131
+                       p := &local136
                        *p = read16(r)
                }
-               (local130) = make([]uint8, local131)
+               (local135) = make([]uint8, local136)
                {
-                       _, err := io.ReadFull(r, (local130)[:])
+                       _, err := io.ReadFull(r, (local135)[:])
                        chk(err)
                }
                (((*(*(struct {
                        Privs []string
-               }))(obj)).Privs)[local129]) = string(local130)
+               }))(obj)).Privs)[local134]) = string(local135)
        }
 }
 
-func (obj *ToCltInvFormspec) serialize(w io.Writer) {
+func (obj *ToCltInvFormspec) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                //mt:len32
                Formspec string
@@ -4662,25 +4462,25 @@ func (obj *ToCltInvFormspec) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltInvFormspec) deserialize(r io.Reader) {
-       var local132 []uint8
-       var local133 uint32
+func (obj *ToCltInvFormspec) Deserialize(r io.Reader) {
+       var local137 []uint8
+       var local138 uint32
        {
-               p := &local133
+               p := &local138
                *p = read32(r)
        }
-       (local132) = make([]uint8, local133)
+       (local137) = make([]uint8, local138)
        {
-               _, err := io.ReadFull(r, (local132)[:])
+               _, err := io.ReadFull(r, (local137)[:])
                chk(err)
        }
        ((*(*(struct {
                //mt:len32
                Formspec string
-       }))(obj)).Formspec) = string(local132)
+       }))(obj)).Formspec) = string(local137)
 }
 
-func (obj *ToCltDetachedInv) serialize(w io.Writer) {
+func (obj *ToCltDetachedInv) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Name string
                Keep bool
@@ -4752,16 +4552,16 @@ func (obj *ToCltDetachedInv) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltDetachedInv) deserialize(r io.Reader) {
-       var local134 []uint8
-       var local135 uint16
+func (obj *ToCltDetachedInv) Deserialize(r io.Reader) {
+       var local139 []uint8
+       var local140 uint16
        {
-               p := &local135
+               p := &local140
                *p = read16(r)
        }
-       (local134) = make([]uint8, local135)
+       (local139) = make([]uint8, local140)
        {
-               _, err := io.ReadFull(r, (local134)[:])
+               _, err := io.ReadFull(r, (local139)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -4771,7 +4571,7 @@ func (obj *ToCltDetachedInv) deserialize(r io.Reader) {
 
                //mt:raw
                Inv string
-       }))(obj)).Name) = string(local134)
+       }))(obj)).Name) = string(local139)
        {
                p := &(*(*(struct {
                        Name string
@@ -4801,19 +4601,10 @@ func (obj *ToCltDetachedInv) deserialize(r io.Reader) {
                }))(obj)).Len
                *p = read16(r)
        }
-       var local136 []uint8
-       for {
-               var local137 uint8
-               err := pcall(func() {
-                       {
-                               p := &local137
-                               *p = read8(r)
-                       }
-               })
-               if err == io.EOF {
-                       break
-               }
-               (local136) = append((local136), local137)
+       var local141 []uint8
+       {
+               var err error
+               (local141), err = io.ReadAll(r)
                chk(err)
        }
        ((*(*(struct {
@@ -4823,10 +4614,10 @@ func (obj *ToCltDetachedInv) deserialize(r io.Reader) {
 
                //mt:raw
                Inv string
-       }))(obj)).Inv) = string(local136)
+       }))(obj)).Inv) = string(local141)
 }
 
-func (obj *ToCltShowFormspec) serialize(w io.Writer) {
+func (obj *ToCltShowFormspec) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                //mt:len32
                Formspec string
@@ -4881,16 +4672,16 @@ func (obj *ToCltShowFormspec) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltShowFormspec) deserialize(r io.Reader) {
-       var local138 []uint8
-       var local139 uint32
+func (obj *ToCltShowFormspec) Deserialize(r io.Reader) {
+       var local142 []uint8
+       var local143 uint32
        {
-               p := &local139
+               p := &local143
                *p = read32(r)
        }
-       (local138) = make([]uint8, local139)
+       (local142) = make([]uint8, local143)
        {
-               _, err := io.ReadFull(r, (local138)[:])
+               _, err := io.ReadFull(r, (local142)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -4898,16 +4689,16 @@ func (obj *ToCltShowFormspec) deserialize(r io.Reader) {
                Formspec string
 
                Formname string
-       }))(obj)).Formspec) = string(local138)
-       var local140 []uint8
-       var local141 uint16
+       }))(obj)).Formspec) = string(local142)
+       var local144 []uint8
+       var local145 uint16
        {
-               p := &local141
+               p := &local145
                *p = read16(r)
        }
-       (local140) = make([]uint8, local141)
+       (local144) = make([]uint8, local145)
        {
-               _, err := io.ReadFull(r, (local140)[:])
+               _, err := io.ReadFull(r, (local144)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -4915,10 +4706,10 @@ func (obj *ToCltShowFormspec) deserialize(r io.Reader) {
                Formspec string
 
                Formname string
-       }))(obj)).Formname) = string(local140)
+       }))(obj)).Formname) = string(local144)
 }
 
-func (obj *ToCltMovement) serialize(w io.Writer) {
+func (obj *ToCltMovement) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        DefaultAccel, AirAccel, FastAccel,
@@ -5029,7 +4820,7 @@ func (obj *ToCltMovement) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltMovement) deserialize(r io.Reader) {
+func (obj *ToCltMovement) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        DefaultAccel, AirAccel, FastAccel,
@@ -5140,8 +4931,8 @@ func (obj *ToCltMovement) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
-       for local142 := range (*(*(struct {
+func (obj *ToCltSpawnParticle) Serialize(w io.Writer) {
+       for local146 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5177,11 +4968,11 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Pos)[local142]
+                       }))(obj)).Pos)[local146]
                        write32(w, math.Float32bits(x))
                }
        }
-       for local143 := range (*(*(struct {
+       for local147 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5217,11 +5008,11 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Vel)[local143]
+                       }))(obj)).Vel)[local147]
                        write32(w, math.Float32bits(x))
                }
        }
-       for local144 := range (*(*(struct {
+       for local148 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5257,7 +5048,7 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Acc)[local144]
+                       }))(obj)).Acc)[local148]
                        write32(w, math.Float32bits(x))
                }
        }
@@ -5458,12 +5249,12 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
                        NodeParam0  Content
                        NodeParam2  uint8
                        NodeTile    uint8
-               }))(obj)).AnimParams).serialize(w)
+               }))(obj)).AnimParams).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        {
                x := (*(*(struct {
@@ -5529,12 +5320,12 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
                        NodeParam0  Content
                        NodeParam2  uint8
                        NodeTile    uint8
-               }))(obj)).NodeParam0).serialize(w)
+               }))(obj)).NodeParam0).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                x := (*(*(struct {
@@ -5580,8 +5371,8 @@ func (obj *ToCltSpawnParticle) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
-       for local145 := range (*(*(struct {
+func (obj *ToCltSpawnParticle) Deserialize(r io.Reader) {
+       for local149 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5617,11 +5408,11 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Pos)[local145]
+                       }))(obj)).Pos)[local149]
                        *p = math.Float32frombits(read32(r))
                }
        }
-       for local146 := range (*(*(struct {
+       for local150 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5657,11 +5448,11 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Vel)[local146]
+                       }))(obj)).Vel)[local150]
                        *p = math.Float32frombits(read32(r))
                }
        }
-       for local147 := range (*(*(struct {
+       for local151 := range (*(*(struct {
                Pos, Vel, Acc  [3]float32
                ExpirationTime float32 // in seconds.
                Size           float32
@@ -5697,7 +5488,7 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                                NodeParam0  Content
                                NodeParam2  uint8
                                NodeTile    uint8
-                       }))(obj)).Acc)[local147]
+                       }))(obj)).Acc)[local151]
                        *p = math.Float32frombits(read32(r))
                }
        }
@@ -5771,15 +5562,15 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                        chk(fmt.Errorf("invalid bool: %d", n))
                }
        }
-       var local148 []uint8
-       var local149 uint32
+       var local152 []uint8
+       var local153 uint32
        {
-               p := &local149
+               p := &local153
                *p = read32(r)
        }
-       (local148) = make([]uint8, local149)
+       (local152) = make([]uint8, local153)
        {
-               _, err := io.ReadFull(r, (local148)[:])
+               _, err := io.ReadFull(r, (local152)[:])
                chk(err)
        }
        (*(*string)(&((*(*(struct {
@@ -5799,7 +5590,7 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                NodeParam0  Content
                NodeParam2  uint8
                NodeTile    uint8
-       }))(obj)).Texture))) = string(local148)
+       }))(obj)).Texture))) = string(local152)
        {
                p := &(*(*(struct {
                        Pos, Vel, Acc  [3]float32
@@ -5874,12 +5665,12 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                        NodeParam0  Content
                        NodeParam2  uint8
                        NodeTile    uint8
-               }))(obj)).AnimParams).deserialize(r)
+               }))(obj)).AnimParams).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        {
                p := &(*(*(struct {
@@ -5948,12 +5739,12 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
                        NodeParam0  Content
                        NodeParam2  uint8
                        NodeTile    uint8
-               }))(obj)).NodeParam0).deserialize(r)
+               }))(obj)).NodeParam0).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                p := &(*(*(struct {
@@ -5999,7 +5790,7 @@ func (obj *ToCltSpawnParticle) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
+func (obj *ToCltAddParticleSpawner) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Amount         uint16
@@ -6050,148 +5841,6 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                }))(obj)).Duration
                write32(w, math.Float32bits(x))
        }
-       for local150 := range (*(*(struct {
-               Amount         uint16
-               Duration       float32
-               Pos, Vel, Acc  [2][3]float32
-               ExpirationTime [2]float32 // in seconds.
-               Size           [2]float32
-               Collide        bool
-
-               //mt:len32
-               Texture
-
-               ID           ParticleSpawnerID
-               Vertical     bool
-               CollisionRm  bool
-               AttachedAOID AOID
-               AnimParams   TileAnim
-               Glow         uint8
-               AOCollision  bool
-               NodeParam0   Content
-               NodeParam2   uint8
-               NodeTile     uint8
-       }))(obj)).Pos {
-               for local151 := range ((*(*(struct {
-                       Amount         uint16
-                       Duration       float32
-                       Pos, Vel, Acc  [2][3]float32
-                       ExpirationTime [2]float32 // in seconds.
-                       Size           [2]float32
-                       Collide        bool
-
-                       //mt:len32
-                       Texture
-
-                       ID           ParticleSpawnerID
-                       Vertical     bool
-                       CollisionRm  bool
-                       AttachedAOID AOID
-                       AnimParams   TileAnim
-                       Glow         uint8
-                       AOCollision  bool
-                       NodeParam0   Content
-                       NodeParam2   uint8
-                       NodeTile     uint8
-               }))(obj)).Pos)[local150] {
-                       {
-                               x := (((*(*(struct {
-                                       Amount         uint16
-                                       Duration       float32
-                                       Pos, Vel, Acc  [2][3]float32
-                                       ExpirationTime [2]float32 // in seconds.
-                                       Size           [2]float32
-                                       Collide        bool
-
-                                       //mt:len32
-                                       Texture
-
-                                       ID           ParticleSpawnerID
-                                       Vertical     bool
-                                       CollisionRm  bool
-                                       AttachedAOID AOID
-                                       AnimParams   TileAnim
-                                       Glow         uint8
-                                       AOCollision  bool
-                                       NodeParam0   Content
-                                       NodeParam2   uint8
-                                       NodeTile     uint8
-                               }))(obj)).Pos)[local150])[local151]
-                               write32(w, math.Float32bits(x))
-                       }
-               }
-       }
-       for local152 := range (*(*(struct {
-               Amount         uint16
-               Duration       float32
-               Pos, Vel, Acc  [2][3]float32
-               ExpirationTime [2]float32 // in seconds.
-               Size           [2]float32
-               Collide        bool
-
-               //mt:len32
-               Texture
-
-               ID           ParticleSpawnerID
-               Vertical     bool
-               CollisionRm  bool
-               AttachedAOID AOID
-               AnimParams   TileAnim
-               Glow         uint8
-               AOCollision  bool
-               NodeParam0   Content
-               NodeParam2   uint8
-               NodeTile     uint8
-       }))(obj)).Vel {
-               for local153 := range ((*(*(struct {
-                       Amount         uint16
-                       Duration       float32
-                       Pos, Vel, Acc  [2][3]float32
-                       ExpirationTime [2]float32 // in seconds.
-                       Size           [2]float32
-                       Collide        bool
-
-                       //mt:len32
-                       Texture
-
-                       ID           ParticleSpawnerID
-                       Vertical     bool
-                       CollisionRm  bool
-                       AttachedAOID AOID
-                       AnimParams   TileAnim
-                       Glow         uint8
-                       AOCollision  bool
-                       NodeParam0   Content
-                       NodeParam2   uint8
-                       NodeTile     uint8
-               }))(obj)).Vel)[local152] {
-                       {
-                               x := (((*(*(struct {
-                                       Amount         uint16
-                                       Duration       float32
-                                       Pos, Vel, Acc  [2][3]float32
-                                       ExpirationTime [2]float32 // in seconds.
-                                       Size           [2]float32
-                                       Collide        bool
-
-                                       //mt:len32
-                                       Texture
-
-                                       ID           ParticleSpawnerID
-                                       Vertical     bool
-                                       CollisionRm  bool
-                                       AttachedAOID AOID
-                                       AnimParams   TileAnim
-                                       Glow         uint8
-                                       AOCollision  bool
-                                       NodeParam0   Content
-                                       NodeParam2   uint8
-                                       NodeTile     uint8
-                               }))(obj)).Vel)[local152])[local153]
-                               write32(w, math.Float32bits(x))
-                       }
-               }
-       }
        for local154 := range (*(*(struct {
                Amount         uint16
                Duration       float32
@@ -6213,7 +5862,7 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                NodeParam0   Content
                NodeParam2   uint8
                NodeTile     uint8
-       }))(obj)).Acc {
+       }))(obj)).Pos {
                for local155 := range ((*(*(struct {
                        Amount         uint16
                        Duration       float32
@@ -6235,7 +5884,7 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).Acc)[local154] {
+               }))(obj)).Pos)[local154] {
                        {
                                x := (((*(*(struct {
                                        Amount         uint16
@@ -6258,7 +5907,7 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                                        NodeParam0   Content
                                        NodeParam2   uint8
                                        NodeTile     uint8
-                               }))(obj)).Acc)[local154])[local155]
+                               }))(obj)).Pos)[local154])[local155]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -6284,83 +5933,225 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                NodeParam0   Content
                NodeParam2   uint8
                NodeTile     uint8
-       }))(obj)).ExpirationTime {
-               {
-                       x := ((*(*(struct {
-                               Amount         uint16
-                               Duration       float32
-                               Pos, Vel, Acc  [2][3]float32
-                               ExpirationTime [2]float32 // in seconds.
-                               Size           [2]float32
-                               Collide        bool
-
-                               //mt:len32
-                               Texture
-
-                               ID           ParticleSpawnerID
-                               Vertical     bool
-                               CollisionRm  bool
-                               AttachedAOID AOID
-                               AnimParams   TileAnim
-                               Glow         uint8
-                               AOCollision  bool
-                               NodeParam0   Content
-                               NodeParam2   uint8
-                               NodeTile     uint8
-                       }))(obj)).ExpirationTime)[local156]
-                       write32(w, math.Float32bits(x))
-               }
-       }
-       for local157 := range (*(*(struct {
-               Amount         uint16
-               Duration       float32
-               Pos, Vel, Acc  [2][3]float32
-               ExpirationTime [2]float32 // in seconds.
-               Size           [2]float32
-               Collide        bool
-
-               //mt:len32
-               Texture
-
-               ID           ParticleSpawnerID
-               Vertical     bool
-               CollisionRm  bool
-               AttachedAOID AOID
-               AnimParams   TileAnim
-               Glow         uint8
-               AOCollision  bool
-               NodeParam0   Content
-               NodeParam2   uint8
-               NodeTile     uint8
-       }))(obj)).Size {
-               {
-                       x := ((*(*(struct {
-                               Amount         uint16
-                               Duration       float32
-                               Pos, Vel, Acc  [2][3]float32
-                               ExpirationTime [2]float32 // in seconds.
-                               Size           [2]float32
-                               Collide        bool
-
-                               //mt:len32
-                               Texture
-
-                               ID           ParticleSpawnerID
-                               Vertical     bool
-                               CollisionRm  bool
-                               AttachedAOID AOID
-                               AnimParams   TileAnim
-                               Glow         uint8
-                               AOCollision  bool
-                               NodeParam0   Content
-                               NodeParam2   uint8
-                               NodeTile     uint8
-                       }))(obj)).Size)[local157]
-                       write32(w, math.Float32bits(x))
-               }
-       }
-       {
-               x := (*(*(struct {
+       }))(obj)).Vel {
+               for local157 := range ((*(*(struct {
+                       Amount         uint16
+                       Duration       float32
+                       Pos, Vel, Acc  [2][3]float32
+                       ExpirationTime [2]float32 // in seconds.
+                       Size           [2]float32
+                       Collide        bool
+
+                       //mt:len32
+                       Texture
+
+                       ID           ParticleSpawnerID
+                       Vertical     bool
+                       CollisionRm  bool
+                       AttachedAOID AOID
+                       AnimParams   TileAnim
+                       Glow         uint8
+                       AOCollision  bool
+                       NodeParam0   Content
+                       NodeParam2   uint8
+                       NodeTile     uint8
+               }))(obj)).Vel)[local156] {
+                       {
+                               x := (((*(*(struct {
+                                       Amount         uint16
+                                       Duration       float32
+                                       Pos, Vel, Acc  [2][3]float32
+                                       ExpirationTime [2]float32 // in seconds.
+                                       Size           [2]float32
+                                       Collide        bool
+
+                                       //mt:len32
+                                       Texture
+
+                                       ID           ParticleSpawnerID
+                                       Vertical     bool
+                                       CollisionRm  bool
+                                       AttachedAOID AOID
+                                       AnimParams   TileAnim
+                                       Glow         uint8
+                                       AOCollision  bool
+                                       NodeParam0   Content
+                                       NodeParam2   uint8
+                                       NodeTile     uint8
+                               }))(obj)).Vel)[local156])[local157]
+                               write32(w, math.Float32bits(x))
+                       }
+               }
+       }
+       for local158 := range (*(*(struct {
+               Amount         uint16
+               Duration       float32
+               Pos, Vel, Acc  [2][3]float32
+               ExpirationTime [2]float32 // in seconds.
+               Size           [2]float32
+               Collide        bool
+
+               //mt:len32
+               Texture
+
+               ID           ParticleSpawnerID
+               Vertical     bool
+               CollisionRm  bool
+               AttachedAOID AOID
+               AnimParams   TileAnim
+               Glow         uint8
+               AOCollision  bool
+               NodeParam0   Content
+               NodeParam2   uint8
+               NodeTile     uint8
+       }))(obj)).Acc {
+               for local159 := range ((*(*(struct {
+                       Amount         uint16
+                       Duration       float32
+                       Pos, Vel, Acc  [2][3]float32
+                       ExpirationTime [2]float32 // in seconds.
+                       Size           [2]float32
+                       Collide        bool
+
+                       //mt:len32
+                       Texture
+
+                       ID           ParticleSpawnerID
+                       Vertical     bool
+                       CollisionRm  bool
+                       AttachedAOID AOID
+                       AnimParams   TileAnim
+                       Glow         uint8
+                       AOCollision  bool
+                       NodeParam0   Content
+                       NodeParam2   uint8
+                       NodeTile     uint8
+               }))(obj)).Acc)[local158] {
+                       {
+                               x := (((*(*(struct {
+                                       Amount         uint16
+                                       Duration       float32
+                                       Pos, Vel, Acc  [2][3]float32
+                                       ExpirationTime [2]float32 // in seconds.
+                                       Size           [2]float32
+                                       Collide        bool
+
+                                       //mt:len32
+                                       Texture
+
+                                       ID           ParticleSpawnerID
+                                       Vertical     bool
+                                       CollisionRm  bool
+                                       AttachedAOID AOID
+                                       AnimParams   TileAnim
+                                       Glow         uint8
+                                       AOCollision  bool
+                                       NodeParam0   Content
+                                       NodeParam2   uint8
+                                       NodeTile     uint8
+                               }))(obj)).Acc)[local158])[local159]
+                               write32(w, math.Float32bits(x))
+                       }
+               }
+       }
+       for local160 := range (*(*(struct {
+               Amount         uint16
+               Duration       float32
+               Pos, Vel, Acc  [2][3]float32
+               ExpirationTime [2]float32 // in seconds.
+               Size           [2]float32
+               Collide        bool
+
+               //mt:len32
+               Texture
+
+               ID           ParticleSpawnerID
+               Vertical     bool
+               CollisionRm  bool
+               AttachedAOID AOID
+               AnimParams   TileAnim
+               Glow         uint8
+               AOCollision  bool
+               NodeParam0   Content
+               NodeParam2   uint8
+               NodeTile     uint8
+       }))(obj)).ExpirationTime {
+               {
+                       x := ((*(*(struct {
+                               Amount         uint16
+                               Duration       float32
+                               Pos, Vel, Acc  [2][3]float32
+                               ExpirationTime [2]float32 // in seconds.
+                               Size           [2]float32
+                               Collide        bool
+
+                               //mt:len32
+                               Texture
+
+                               ID           ParticleSpawnerID
+                               Vertical     bool
+                               CollisionRm  bool
+                               AttachedAOID AOID
+                               AnimParams   TileAnim
+                               Glow         uint8
+                               AOCollision  bool
+                               NodeParam0   Content
+                               NodeParam2   uint8
+                               NodeTile     uint8
+                       }))(obj)).ExpirationTime)[local160]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       for local161 := range (*(*(struct {
+               Amount         uint16
+               Duration       float32
+               Pos, Vel, Acc  [2][3]float32
+               ExpirationTime [2]float32 // in seconds.
+               Size           [2]float32
+               Collide        bool
+
+               //mt:len32
+               Texture
+
+               ID           ParticleSpawnerID
+               Vertical     bool
+               CollisionRm  bool
+               AttachedAOID AOID
+               AnimParams   TileAnim
+               Glow         uint8
+               AOCollision  bool
+               NodeParam0   Content
+               NodeParam2   uint8
+               NodeTile     uint8
+       }))(obj)).Size {
+               {
+                       x := ((*(*(struct {
+                               Amount         uint16
+                               Duration       float32
+                               Pos, Vel, Acc  [2][3]float32
+                               ExpirationTime [2]float32 // in seconds.
+                               Size           [2]float32
+                               Collide        bool
+
+                               //mt:len32
+                               Texture
+
+                               ID           ParticleSpawnerID
+                               Vertical     bool
+                               CollisionRm  bool
+                               AttachedAOID AOID
+                               AnimParams   TileAnim
+                               Glow         uint8
+                               AOCollision  bool
+                               NodeParam0   Content
+                               NodeParam2   uint8
+                               NodeTile     uint8
+                       }))(obj)).Size)[local161]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       {
+               x := (*(*(struct {
                        Amount         uint16
                        Duration       float32
                        Pos, Vel, Acc  [2][3]float32
@@ -6484,12 +6275,12 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ParticleSpawnerID", err))
        }
        {
                x := (*(*(struct {
@@ -6571,12 +6362,12 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).AttachedAOID).serialize(w)
+               }))(obj)).AttachedAOID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -6600,12 +6391,12 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).AnimParams).serialize(w)
+               }))(obj)).AnimParams).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        {
                x := (*(*(struct {
@@ -6683,12 +6474,12 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).NodeParam0).serialize(w)
+               }))(obj)).NodeParam0).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                x := (*(*(struct {
@@ -6742,7 +6533,7 @@ func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
+func (obj *ToCltAddParticleSpawner) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Amount         uint16
@@ -6793,7 +6584,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                }))(obj)).Duration
                *p = math.Float32frombits(read32(r))
        }
-       for local158 := range (*(*(struct {
+       for local162 := range (*(*(struct {
                Amount         uint16
                Duration       float32
                Pos, Vel, Acc  [2][3]float32
@@ -6815,7 +6606,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                NodeParam2   uint8
                NodeTile     uint8
        }))(obj)).Pos {
-               for local159 := range ((*(*(struct {
+               for local163 := range ((*(*(struct {
                        Amount         uint16
                        Duration       float32
                        Pos, Vel, Acc  [2][3]float32
@@ -6836,7 +6627,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).Pos)[local158] {
+               }))(obj)).Pos)[local162] {
                        {
                                p := &(((*(*(struct {
                                        Amount         uint16
@@ -6859,12 +6650,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                                        NodeParam0   Content
                                        NodeParam2   uint8
                                        NodeTile     uint8
-                               }))(obj)).Pos)[local158])[local159]
+                               }))(obj)).Pos)[local162])[local163]
                                *p = math.Float32frombits(read32(r))
                        }
                }
        }
-       for local160 := range (*(*(struct {
+       for local164 := range (*(*(struct {
                Amount         uint16
                Duration       float32
                Pos, Vel, Acc  [2][3]float32
@@ -6886,7 +6677,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                NodeParam2   uint8
                NodeTile     uint8
        }))(obj)).Vel {
-               for local161 := range ((*(*(struct {
+               for local165 := range ((*(*(struct {
                        Amount         uint16
                        Duration       float32
                        Pos, Vel, Acc  [2][3]float32
@@ -6907,7 +6698,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).Vel)[local160] {
+               }))(obj)).Vel)[local164] {
                        {
                                p := &(((*(*(struct {
                                        Amount         uint16
@@ -6930,12 +6721,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                                        NodeParam0   Content
                                        NodeParam2   uint8
                                        NodeTile     uint8
-                               }))(obj)).Vel)[local160])[local161]
+                               }))(obj)).Vel)[local164])[local165]
                                *p = math.Float32frombits(read32(r))
                        }
                }
        }
-       for local162 := range (*(*(struct {
+       for local166 := range (*(*(struct {
                Amount         uint16
                Duration       float32
                Pos, Vel, Acc  [2][3]float32
@@ -6957,7 +6748,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                NodeParam2   uint8
                NodeTile     uint8
        }))(obj)).Acc {
-               for local163 := range ((*(*(struct {
+               for local167 := range ((*(*(struct {
                        Amount         uint16
                        Duration       float32
                        Pos, Vel, Acc  [2][3]float32
@@ -6978,7 +6769,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).Acc)[local162] {
+               }))(obj)).Acc)[local166] {
                        {
                                p := &(((*(*(struct {
                                        Amount         uint16
@@ -7001,12 +6792,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                                        NodeParam0   Content
                                        NodeParam2   uint8
                                        NodeTile     uint8
-                               }))(obj)).Acc)[local162])[local163]
+                               }))(obj)).Acc)[local166])[local167]
                                *p = math.Float32frombits(read32(r))
                        }
                }
        }
-       for local164 := range (*(*(struct {
+       for local168 := range (*(*(struct {
                Amount         uint16
                Duration       float32
                Pos, Vel, Acc  [2][3]float32
@@ -7050,11 +6841,11 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                                NodeParam0   Content
                                NodeParam2   uint8
                                NodeTile     uint8
-                       }))(obj)).ExpirationTime)[local164]
+                       }))(obj)).ExpirationTime)[local168]
                        *p = math.Float32frombits(read32(r))
                }
        }
-       for local165 := range (*(*(struct {
+       for local169 := range (*(*(struct {
                Amount         uint16
                Duration       float32
                Pos, Vel, Acc  [2][3]float32
@@ -7098,7 +6889,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                                NodeParam0   Content
                                NodeParam2   uint8
                                NodeTile     uint8
-                       }))(obj)).Size)[local165]
+                       }))(obj)).Size)[local169]
                        *p = math.Float32frombits(read32(r))
                }
        }
@@ -7134,15 +6925,15 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        chk(fmt.Errorf("invalid bool: %d", n))
                }
        }
-       var local166 []uint8
-       var local167 uint32
+       var local170 []uint8
+       var local171 uint32
        {
-               p := &local167
+               p := &local171
                *p = read32(r)
        }
-       (local166) = make([]uint8, local167)
+       (local170) = make([]uint8, local171)
        {
-               _, err := io.ReadFull(r, (local166)[:])
+               _, err := io.ReadFull(r, (local170)[:])
                chk(err)
        }
        (*(*string)(&((*(*(struct {
@@ -7166,7 +6957,7 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                NodeParam0   Content
                NodeParam2   uint8
                NodeTile     uint8
-       }))(obj)).Texture))) = string(local166)
+       }))(obj)).Texture))) = string(local170)
        if err := pcall(func() {
                ((*(*(struct {
                        Amount         uint16
@@ -7189,12 +6980,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ParticleSpawnerID", err))
        }
        {
                p := &(*(*(struct {
@@ -7282,12 +7073,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).AttachedAOID).deserialize(r)
+               }))(obj)).AttachedAOID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -7311,12 +7102,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).AnimParams).deserialize(r)
+               }))(obj)).AnimParams).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        {
                p := &(*(*(struct {
@@ -7397,12 +7188,12 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
                        NodeParam0   Content
                        NodeParam2   uint8
                        NodeTile     uint8
-               }))(obj)).NodeParam0).deserialize(r)
+               }))(obj)).NodeParam0).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                p := &(*(*(struct {
@@ -7456,1150 +7247,309 @@ func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltAddHUD) serialize(w io.Writer) {
+func (obj *ToCltAddHUD) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID HUDID
+                       HUD
+               }))(obj)).ID).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
+                       HUD
+               }))(obj)).HUD).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUD", err))
+       }
+}
 
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).ID).serialize(w)
+func (obj *ToCltAddHUD) Deserialize(r io.Reader) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
+                       HUD
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        ID HUDID
+                       HUD
+               }))(obj)).HUD).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUD", err))
+       }
+}
 
-                       Type HUDType
+func (obj *ToCltRmHUD) Serialize(w io.Writer) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
+               }))(obj)).ID).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
+       }
+}
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Type).serialize(w)
+func (obj *ToCltRmHUD) Deserialize(r io.Reader) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
        }
-       for local168 := range (*(*(struct {
-               ID HUDID
+}
 
-               Type HUDType
+func (obj *ToCltChangeHUD) Serialize(w io.Writer) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Pos {
-               {
-                       x := ((*(*(struct {
-                               ID HUDID
+                       Field HUDField
 
-                               Type HUDType
+                       //mt:if %s.Field == HUDPos
+                       Pos [2]float32
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Pos)[local168]
-                       write32(w, math.Float32bits(x))
-               }
-       }
-       if len(([]byte((*(*(struct {
-               ID HUDID
+                       //mt:if %s.Field == HUDName
+                       Name string
 
-               Type HUDType
+                       //mt:if %s.Field == HUDScale
+                       Scale [2]float32
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Name))) > math.MaxUint16 {
-               chk(ErrTooLong)
-       }
-       {
-               x := uint16(len(([]byte((*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDText
+                       Text string
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDNumber
+                       Number uint32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Name))))
-               write16(w, uint16(x))
-       }
-       {
-               _, err := w.Write(([]byte((*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDItem
+                       Item uint32
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDDir
+                       Dir uint32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
+                       //mt:if %s.Field == HUDAlign
+                       Align [2]float32
+
+                       //mt:if %s.Field == HUDOffset
+                       Offset [2]float32
+
+                       //mt:if %s.Field == HUDWorldPos
                        WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Name))[:])
-               chk(err)
-       }
-       for local169 := range (*(*(struct {
-               ID HUDID
 
-               Type HUDType
+                       //mt:if %s.Field == HUDSize
+                       Size [2]int32
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Scale {
-               {
-                       x := ((*(*(struct {
-                               ID HUDID
+                       //mt:if %s.Field == HUDZIndex
+                       ZIndex int32
 
-                               Type HUDType
+                       //mt:if %s.Field == HUDText2
+                       Text2 string
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Scale)[local169]
-                       write32(w, math.Float32bits(x))
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).ID).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
                }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
        }
-       if len(([]byte((*(*(struct {
-               ID HUDID
+       if err := pcall(func() {
+               ((*(*(struct {
+                       ID HUDID
 
-               Type HUDType
+                       Field HUDField
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Text))) > math.MaxUint16 {
-               chk(ErrTooLong)
-       }
-       {
-               x := uint16(len(([]byte((*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDPos
+                       Pos [2]float32
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDName
+                       Name string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Text))))
-               write16(w, uint16(x))
-       }
-       {
-               _, err := w.Write(([]byte((*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDScale
+                       Scale [2]float32
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDText
+                       Text string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Text))[:])
-               chk(err)
-       }
-       {
-               x := (*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
+                       //mt:if %s.Field == HUDNumber
+                       Number uint32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Number
-               write32(w, uint32(x))
-       }
-       {
-               x := (*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDItem
+                       Item uint32
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDDir
+                       Dir uint32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Item
-               write32(w, uint32(x))
-       }
-       {
-               x := (*(*(struct {
-                       ID HUDID
+                       //mt:if %s.Field == HUDAlign
+                       Align [2]float32
 
-                       Type HUDType
+                       //mt:if %s.Field == HUDOffset
+                       Offset [2]float32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
+                       //mt:if %s.Field == HUDWorldPos
                        WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Dir
-               write32(w, uint32(x))
-       }
-       for local170 := range (*(*(struct {
-               ID HUDID
 
-               Type HUDType
+                       //mt:if %s.Field == HUDSize
+                       Size [2]int32
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Align {
-               {
-                       x := ((*(*(struct {
-                               ID HUDID
+                       //mt:if %s.Field == HUDZIndex
+                       ZIndex int32
 
-                               Type HUDType
+                       //mt:if %s.Field == HUDText2
+                       Text2 string
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Align)[local170]
-                       write32(w, math.Float32bits(x))
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).Field).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
                }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDField", err))
        }
-       for local171 := range (*(*(struct {
+       if !((*(*(struct {
                ID HUDID
 
-               Type HUDType
+               Field HUDField
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Offset {
-               {
-                       x := ((*(*(struct {
-                               ID HUDID
+               //mt:if %s.Field == HUDPos
+               Pos [2]float32
 
-                               Type HUDType
+               //mt:if %s.Field == HUDName
+               Name string
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Offset)[local171]
-                       write32(w, math.Float32bits(x))
-               }
-       }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDScale
+               Scale [2]float32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDText
+               Text string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).WorldPos).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
-       }
-       for local172 := range (*(*(struct {
-               ID HUDID
+               //mt:if %s.Field == HUDNumber
+               Number uint32
 
-               Type HUDType
+               //mt:if %s.Field == HUDItem
+               Item uint32
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
+               //mt:if %s.Field == HUDDir
+               Dir uint32
+
+               //mt:if %s.Field == HUDAlign
+               Align [2]float32
+
+               //mt:if %s.Field == HUDOffset
+               Offset [2]float32
+
+               //mt:if %s.Field == HUDWorldPos
                WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Size {
-               {
-                       x := ((*(*(struct {
-                               ID HUDID
 
-                               Type HUDType
+               //mt:if %s.Field == HUDSize
+               Size [2]int32
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Size)[local172]
-                       write32(w, uint32(x))
-               }
-       }
-       {
-               x := (*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDZIndex
+               ZIndex int32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDText2
+               Text2 string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).ZIndex
-               write16(w, uint16(x))
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
+       }))(obj)).Field < hudMax) {
+               chk(errors.New("assertion failed: %s.Field < hudMax"))
        }
-       if len(([]byte((*(*(struct {
+       if (*(*(struct {
                ID HUDID
 
-               Type HUDType
+               Field HUDField
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Text2))) > math.MaxUint16 {
-               chk(ErrTooLong)
-       }
-       {
-               x := uint16(len(([]byte((*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDPos
+               Pos [2]float32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDName
+               Name string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Text2))))
-               write16(w, uint16(x))
-       }
-       {
-               _, err := w.Write(([]byte((*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDScale
+               Scale [2]float32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDText
+               Text string
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Text2))[:])
-               chk(err)
-       }
-}
+               //mt:if %s.Field == HUDNumber
+               Number uint32
 
-func (obj *ToCltAddHUD) deserialize(r io.Reader) {
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDItem
+               Item uint32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDDir
+               Dir uint32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).ID).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
-       }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
+               //mt:if %s.Field == HUDAlign
+               Align [2]float32
 
-                       Type HUDType
+               //mt:if %s.Field == HUDOffset
+               Offset [2]float32
 
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Type).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDType", err))
-       }
-       for local173 := range (*(*(struct {
-               ID HUDID
+               //mt:if %s.Field == HUDWorldPos
+               WorldPos Pos
 
-               Type HUDType
+               //mt:if %s.Field == HUDSize
+               Size [2]int32
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Pos {
-               {
-                       p := &((*(*(struct {
-                               ID HUDID
+               //mt:if %s.Field == HUDZIndex
+               ZIndex int32
 
-                               Type HUDType
+               //mt:if %s.Field == HUDText2
+               Text2 string
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Pos)[local173]
-                       *p = math.Float32frombits(read32(r))
-               }
-       }
-       var local174 []uint8
-       var local175 uint16
-       {
-               p := &local175
-               *p = read16(r)
-       }
-       (local174) = make([]uint8, local175)
-       {
-               _, err := io.ReadFull(r, (local174)[:])
-               chk(err)
-       }
-       ((*(*(struct {
-               ID HUDID
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
+       }))(obj)).Field == HUDPos {
+               for local172 := range (*(*(struct {
+                       ID HUDID
 
-               Type HUDType
+                       Field HUDField
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Name) = string(local174)
-       for local176 := range (*(*(struct {
-               ID HUDID
+                       //mt:if %s.Field == HUDPos
+                       Pos [2]float32
 
-               Type HUDType
+                       //mt:if %s.Field == HUDName
+                       Name string
 
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Scale {
-               {
-                       p := &((*(*(struct {
-                               ID HUDID
+                       //mt:if %s.Field == HUDScale
+                       Scale [2]float32
 
-                               Type HUDType
+                       //mt:if %s.Field == HUDText
+                       Text string
 
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Scale)[local176]
-                       *p = math.Float32frombits(read32(r))
-               }
-       }
-       var local177 []uint8
-       var local178 uint16
-       {
-               p := &local178
-               *p = read16(r)
-       }
-       (local177) = make([]uint8, local178)
-       {
-               _, err := io.ReadFull(r, (local177)[:])
-               chk(err)
-       }
-       ((*(*(struct {
-               ID HUDID
+                       //mt:if %s.Field == HUDNumber
+                       Number uint32
 
-               Type HUDType
-
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Text) = string(local177)
-       {
-               p := &(*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Number
-               *p = read32(r)
-       }
-       {
-               p := &(*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Item
-               *p = read32(r)
-       }
-       {
-               p := &(*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).Dir
-               *p = read32(r)
-       }
-       for local179 := range (*(*(struct {
-               ID HUDID
-
-               Type HUDType
-
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Align {
-               {
-                       p := &((*(*(struct {
-                               ID HUDID
-
-                               Type HUDType
-
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Align)[local179]
-                       *p = math.Float32frombits(read32(r))
-               }
-       }
-       for local180 := range (*(*(struct {
-               ID HUDID
-
-               Type HUDType
-
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Offset {
-               {
-                       p := &((*(*(struct {
-                               ID HUDID
-
-                               Type HUDType
-
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Offset)[local180]
-                       *p = math.Float32frombits(read32(r))
-               }
-       }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).WorldPos).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
-       }
-       for local181 := range (*(*(struct {
-               ID HUDID
-
-               Type HUDType
-
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Size {
-               {
-                       p := &((*(*(struct {
-                               ID HUDID
-
-                               Type HUDType
-
-                               Pos      [2]float32
-                               Name     string
-                               Scale    [2]float32
-                               Text     string
-                               Number   uint32
-                               Item     uint32
-                               Dir      uint32
-                               Align    [2]float32
-                               Offset   [2]float32
-                               WorldPos Pos
-                               Size     [2]int32
-                               ZIndex   int16
-                               Text2    string
-                       }))(obj)).Size)[local181]
-                       *p = int32(read32(r))
-               }
-       }
-       {
-               p := &(*(*(struct {
-                       ID HUDID
-
-                       Type HUDType
-
-                       Pos      [2]float32
-                       Name     string
-                       Scale    [2]float32
-                       Text     string
-                       Number   uint32
-                       Item     uint32
-                       Dir      uint32
-                       Align    [2]float32
-                       Offset   [2]float32
-                       WorldPos Pos
-                       Size     [2]int32
-                       ZIndex   int16
-                       Text2    string
-               }))(obj)).ZIndex
-               *p = int16(read16(r))
-       }
-       var local182 []uint8
-       var local183 uint16
-       {
-               p := &local183
-               *p = read16(r)
-       }
-       (local182) = make([]uint8, local183)
-       {
-               _, err := io.ReadFull(r, (local182)[:])
-               chk(err)
-       }
-       ((*(*(struct {
-               ID HUDID
-
-               Type HUDType
-
-               Pos      [2]float32
-               Name     string
-               Scale    [2]float32
-               Text     string
-               Number   uint32
-               Item     uint32
-               Dir      uint32
-               Align    [2]float32
-               Offset   [2]float32
-               WorldPos Pos
-               Size     [2]int32
-               ZIndex   int16
-               Text2    string
-       }))(obj)).Text2) = string(local182)
-}
-
-func (obj *ToCltRmHUD) serialize(w io.Writer) {
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
-               }))(obj)).ID).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
-       }
-}
-
-func (obj *ToCltRmHUD) deserialize(r io.Reader) {
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
-               }))(obj)).ID).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
-       }
-}
-
-func (obj *ToCltChangeHUD) serialize(w io.Writer) {
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
-
-                       Field HUDField
-
-                       //mt:if %s.Field == HUDPos
-                       Pos [2]float32
-
-                       //mt:if %s.Field == HUDName
-                       Name string
-
-                       //mt:if %s.Field == HUDScale
-                       Scale [2]float32
-
-                       //mt:if %s.Field == HUDText
-                       Text string
-
-                       //mt:if %s.Field == HUDNumber
-                       Number uint32
-
-                       //mt:if %s.Field == HUDItem
-                       Item uint32
-
-                       //mt:if %s.Field == HUDDir
-                       Dir uint32
-
-                       //mt:if %s.Field == HUDAlign
-                       Align [2]float32
-
-                       //mt:if %s.Field == HUDOffset
-                       Offset [2]float32
-
-                       //mt:if %s.Field == HUDWorldPos
-                       WorldPos Pos
-
-                       //mt:if %s.Field == HUDSize
-                       Size [2]int32
-
-                       //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
-
-                       //mt:if %s.Field == HUDText2
-                       Text2 string
-               }))(obj)).ID).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
-       }
-       if err := pcall(func() {
-               ((*(*(struct {
-                       ID HUDID
-
-                       Field HUDField
-
-                       //mt:if %s.Field == HUDPos
-                       Pos [2]float32
-
-                       //mt:if %s.Field == HUDName
-                       Name string
-
-                       //mt:if %s.Field == HUDScale
-                       Scale [2]float32
-
-                       //mt:if %s.Field == HUDText
-                       Text string
-
-                       //mt:if %s.Field == HUDNumber
-                       Number uint32
-
-                       //mt:if %s.Field == HUDItem
-                       Item uint32
+                       //mt:if %s.Field == HUDItem
+                       Item uint32
 
                        //mt:if %s.Field == HUDDir
                        Dir uint32
@@ -8617,150 +7567,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).Field).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
-               }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDField", err))
-       }
-       if !((*(*(struct {
-               ID HUDID
-
-               Field HUDField
-
-               //mt:if %s.Field == HUDPos
-               Pos [2]float32
-
-               //mt:if %s.Field == HUDName
-               Name string
-
-               //mt:if %s.Field == HUDScale
-               Scale [2]float32
-
-               //mt:if %s.Field == HUDText
-               Text string
-
-               //mt:if %s.Field == HUDNumber
-               Number uint32
-
-               //mt:if %s.Field == HUDItem
-               Item uint32
-
-               //mt:if %s.Field == HUDDir
-               Dir uint32
-
-               //mt:if %s.Field == HUDAlign
-               Align [2]float32
-
-               //mt:if %s.Field == HUDOffset
-               Offset [2]float32
-
-               //mt:if %s.Field == HUDWorldPos
-               WorldPos Pos
-
-               //mt:if %s.Field == HUDSize
-               Size [2]int32
-
-               //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
-
-               //mt:if %s.Field == HUDText2
-               Text2 string
-       }))(obj)).Field < hudMax) {
-               chk(errors.New("assertion failed: %s.Field < hudMax"))
-       }
-       if (*(*(struct {
-               ID HUDID
-
-               Field HUDField
-
-               //mt:if %s.Field == HUDPos
-               Pos [2]float32
-
-               //mt:if %s.Field == HUDName
-               Name string
-
-               //mt:if %s.Field == HUDScale
-               Scale [2]float32
-
-               //mt:if %s.Field == HUDText
-               Text string
-
-               //mt:if %s.Field == HUDNumber
-               Number uint32
-
-               //mt:if %s.Field == HUDItem
-               Item uint32
-
-               //mt:if %s.Field == HUDDir
-               Dir uint32
-
-               //mt:if %s.Field == HUDAlign
-               Align [2]float32
-
-               //mt:if %s.Field == HUDOffset
-               Offset [2]float32
-
-               //mt:if %s.Field == HUDWorldPos
-               WorldPos Pos
-
-               //mt:if %s.Field == HUDSize
-               Size [2]int32
-
-               //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
-
-               //mt:if %s.Field == HUDText2
-               Text2 string
-       }))(obj)).Field == HUDPos {
-               for local184 := range (*(*(struct {
-                       ID HUDID
-
-                       Field HUDField
-
-                       //mt:if %s.Field == HUDPos
-                       Pos [2]float32
-
-                       //mt:if %s.Field == HUDName
-                       Name string
-
-                       //mt:if %s.Field == HUDScale
-                       Scale [2]float32
-
-                       //mt:if %s.Field == HUDText
-                       Text string
-
-                       //mt:if %s.Field == HUDNumber
-                       Number uint32
-
-                       //mt:if %s.Field == HUDItem
-                       Item uint32
-
-                       //mt:if %s.Field == HUDDir
-                       Dir uint32
 
-                       //mt:if %s.Field == HUDAlign
-                       Align [2]float32
-
-                       //mt:if %s.Field == HUDOffset
-                       Offset [2]float32
-
-                       //mt:if %s.Field == HUDWorldPos
-                       WorldPos Pos
-
-                       //mt:if %s.Field == HUDSize
-                       Size [2]int32
-
-                       //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
-
-                       //mt:if %s.Field == HUDText2
-                       Text2 string
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Pos {
                        {
                                x := ((*(*(struct {
@@ -8802,11 +7615,14 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Pos)[local184]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Pos)[local172]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -8850,10 +7666,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDName {
                if len(([]byte((*(*(struct {
                        ID HUDID
@@ -8894,10 +7713,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Name))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -8941,10 +7763,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Name))))
                        write16(w, uint16(x))
                }
@@ -8988,10 +7813,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Name))[:])
                        chk(err)
                }
@@ -9035,12 +7863,15 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDScale {
-               for local185 := range (*(*(struct {
+               for local173 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -9079,10 +7910,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Scale {
                        {
                                x := ((*(*(struct {
@@ -9124,11 +7958,14 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Scale)[local185]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Scale)[local173]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -9172,10 +8009,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDText {
                if len(([]byte((*(*(struct {
                        ID HUDID
@@ -9216,10 +8056,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Text))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -9263,10 +8106,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Text))))
                        write16(w, uint16(x))
                }
@@ -9310,10 +8156,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Text))[:])
                        chk(err)
                }
@@ -9357,10 +8206,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDNumber {
                {
                        x := (*(*(struct {
@@ -9402,10 +8254,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Number
                        write32(w, uint32(x))
                }
@@ -9449,10 +8304,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDItem {
                {
                        x := (*(*(struct {
@@ -9494,10 +8352,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Item
                        write32(w, uint32(x))
                }
@@ -9541,10 +8402,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDDir {
                {
                        x := (*(*(struct {
@@ -9586,10 +8450,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Dir
                        write32(w, uint32(x))
                }
@@ -9633,12 +8500,15 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDAlign {
-               for local186 := range (*(*(struct {
+               for local174 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -9677,10 +8547,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Align {
                        {
                                x := ((*(*(struct {
@@ -9722,11 +8595,14 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Align)[local186]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Align)[local174]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -9770,12 +8646,15 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDOffset {
-               for local187 := range (*(*(struct {
+               for local175 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -9814,10 +8693,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Offset {
                        {
                                x := ((*(*(struct {
@@ -9859,11 +8741,14 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Offset)[local187]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Offset)[local175]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -9907,10 +8792,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDWorldPos {
                if err := pcall(func() {
                        ((*(*(struct {
@@ -9952,16 +8840,19 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
-                       }))(obj)).WorldPos).serialize(w)
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
+                       }))(obj)).WorldPos).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
                }
        }
        if (*(*(struct {
@@ -10003,12 +8894,15 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDSize {
-               for local188 := range (*(*(struct {
+               for local176 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -10047,10 +8941,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Size {
                        {
                                x := ((*(*(struct {
@@ -10092,11 +8989,14 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Size)[local188]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Size)[local176]
                                write32(w, uint32(x))
                        }
                }
@@ -10140,10 +9040,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDZIndex {
                {
                        x := (*(*(struct {
@@ -10185,10 +9088,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).ZIndex
                        write32(w, uint32(x))
                }
@@ -10232,10 +9138,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDText2 {
                if len(([]byte((*(*(struct {
                        ID HUDID
@@ -10276,10 +9185,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Text2))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -10323,10 +9235,13 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Text2))))
                        write16(w, uint16(x))
                }
@@ -10370,17 +9285,122 @@ func (obj *ToCltChangeHUD) serialize(w io.Writer) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Text2))[:])
                        chk(err)
                }
        }
+       if (*(*(struct {
+               ID HUDID
+
+               Field HUDField
+
+               //mt:if %s.Field == HUDPos
+               Pos [2]float32
+
+               //mt:if %s.Field == HUDName
+               Name string
+
+               //mt:if %s.Field == HUDScale
+               Scale [2]float32
+
+               //mt:if %s.Field == HUDText
+               Text string
+
+               //mt:if %s.Field == HUDNumber
+               Number uint32
+
+               //mt:if %s.Field == HUDItem
+               Item uint32
+
+               //mt:if %s.Field == HUDDir
+               Dir uint32
+
+               //mt:if %s.Field == HUDAlign
+               Align [2]float32
+
+               //mt:if %s.Field == HUDOffset
+               Offset [2]float32
+
+               //mt:if %s.Field == HUDWorldPos
+               WorldPos Pos
+
+               //mt:if %s.Field == HUDSize
+               Size [2]int32
+
+               //mt:if %s.Field == HUDZIndex
+               ZIndex int32
+
+               //mt:if %s.Field == HUDText2
+               Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
+       }))(obj)).Field == HUDStyle {
+               if err := pcall(func() {
+                       ((*(*(struct {
+                               ID HUDID
+
+                               Field HUDField
+
+                               //mt:if %s.Field == HUDPos
+                               Pos [2]float32
+
+                               //mt:if %s.Field == HUDName
+                               Name string
+
+                               //mt:if %s.Field == HUDScale
+                               Scale [2]float32
+
+                               //mt:if %s.Field == HUDText
+                               Text string
+
+                               //mt:if %s.Field == HUDNumber
+                               Number uint32
+
+                               //mt:if %s.Field == HUDItem
+                               Item uint32
+
+                               //mt:if %s.Field == HUDDir
+                               Dir uint32
+
+                               //mt:if %s.Field == HUDAlign
+                               Align [2]float32
+
+                               //mt:if %s.Field == HUDOffset
+                               Offset [2]float32
+
+                               //mt:if %s.Field == HUDWorldPos
+                               WorldPos Pos
+
+                               //mt:if %s.Field == HUDSize
+                               Size [2]int32
+
+                               //mt:if %s.Field == HUDZIndex
+                               ZIndex int32
+
+                               //mt:if %s.Field == HUDText2
+                               Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
+                       }))(obj)).Style).Serialize(w)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDStyleFlags", err))
+               }
+       }
 }
 
-func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
+func (obj *ToCltChangeHUD) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID HUDID
@@ -10421,16 +9441,19 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).ID).deserialize(r)
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDID", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -10472,16 +9495,19 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).Field).deserialize(r)
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).Field).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDField", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDField", err))
        }
        if !((*(*(struct {
                ID HUDID
@@ -10522,10 +9548,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field < hudMax) {
                chk(errors.New("assertion failed: %s.Field < hudMax"))
        }
@@ -10568,12 +9597,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDPos {
-               for local189 := range (*(*(struct {
+               for local177 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -10612,10 +9644,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Pos {
                        {
                                p := &((*(*(struct {
@@ -10657,11 +9692,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Pos)[local189]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Pos)[local177]
                                *p = math.Float32frombits(read32(r))
                        }
                }
@@ -10705,20 +9743,23 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDName {
-               var local190 []uint8
-               var local191 uint16
+               var local178 []uint8
+               var local179 uint16
                {
-                       p := &local191
+                       p := &local179
                        *p = read16(r)
                }
-               (local190) = make([]uint8, local191)
+               (local178) = make([]uint8, local179)
                {
-                       _, err := io.ReadFull(r, (local190)[:])
+                       _, err := io.ReadFull(r, (local178)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -10760,11 +9801,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).Name) = string(local190)
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).Name) = string(local178)
        }
        if (*(*(struct {
                ID HUDID
@@ -10805,12 +9849,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDScale {
-               for local192 := range (*(*(struct {
+               for local180 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -10849,10 +9896,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Scale {
                        {
                                p := &((*(*(struct {
@@ -10894,11 +9944,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Scale)[local192]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Scale)[local180]
                                *p = math.Float32frombits(read32(r))
                        }
                }
@@ -10942,20 +9995,23 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDText {
-               var local193 []uint8
-               var local194 uint16
+               var local181 []uint8
+               var local182 uint16
                {
-                       p := &local194
+                       p := &local182
                        *p = read16(r)
                }
-               (local193) = make([]uint8, local194)
+               (local181) = make([]uint8, local182)
                {
-                       _, err := io.ReadFull(r, (local193)[:])
+                       _, err := io.ReadFull(r, (local181)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -10997,11 +10053,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).Text) = string(local193)
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).Text) = string(local181)
        }
        if (*(*(struct {
                ID HUDID
@@ -11042,10 +10101,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDNumber {
                {
                        p := &(*(*(struct {
@@ -11087,10 +10149,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Number
                        *p = read32(r)
                }
@@ -11134,10 +10199,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDItem {
                {
                        p := &(*(*(struct {
@@ -11179,10 +10247,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Item
                        *p = read32(r)
                }
@@ -11226,10 +10297,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDDir {
                {
                        p := &(*(*(struct {
@@ -11271,10 +10345,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).Dir
                        *p = read32(r)
                }
@@ -11318,12 +10395,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDAlign {
-               for local195 := range (*(*(struct {
+               for local183 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -11362,10 +10442,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Align {
                        {
                                p := &((*(*(struct {
@@ -11407,11 +10490,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Align)[local195]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Align)[local183]
                                *p = math.Float32frombits(read32(r))
                        }
                }
@@ -11455,12 +10541,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDOffset {
-               for local196 := range (*(*(struct {
+               for local184 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -11499,10 +10588,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Offset {
                        {
                                p := &((*(*(struct {
@@ -11544,11 +10636,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Offset)[local196]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Offset)[local184]
                                *p = math.Float32frombits(read32(r))
                        }
                }
@@ -11592,10 +10687,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDWorldPos {
                if err := pcall(func() {
                        ((*(*(struct {
@@ -11637,16 +10735,19 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
-                       }))(obj)).WorldPos).deserialize(r)
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
+                       }))(obj)).WorldPos).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
                }
        }
        if (*(*(struct {
@@ -11688,12 +10789,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDSize {
-               for local197 := range (*(*(struct {
+               for local185 := range (*(*(struct {
                        ID HUDID
 
                        Field HUDField
@@ -11732,10 +10836,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
                }))(obj)).Size {
                        {
                                p := &((*(*(struct {
@@ -11777,11 +10884,14 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                        Size [2]int32
 
                                        //mt:if %s.Field == HUDZIndex
-                                       ZIndex uint32
+                                       ZIndex int32
 
                                        //mt:if %s.Field == HUDText2
                                        Text2 string
-                               }))(obj)).Size)[local197]
+
+                                       //mt:if %s.Field == HUDStyle
+                                       Style HUDStyleFlags
+                               }))(obj)).Size)[local185]
                                *p = int32(read32(r))
                        }
                }
@@ -11825,10 +10935,13 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDZIndex {
                {
                        p := &(*(*(struct {
@@ -11870,12 +10983,15 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                                Size [2]int32
 
                                //mt:if %s.Field == HUDZIndex
-                               ZIndex uint32
+                               ZIndex int32
 
                                //mt:if %s.Field == HUDText2
                                Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
                        }))(obj)).ZIndex
-                       *p = read32(r)
+                       *p = int32(read32(r))
                }
        }
        if (*(*(struct {
@@ -11917,20 +11033,23 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                Size [2]int32
 
                //mt:if %s.Field == HUDZIndex
-               ZIndex uint32
+               ZIndex int32
 
                //mt:if %s.Field == HUDText2
                Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
        }))(obj)).Field == HUDText2 {
-               var local198 []uint8
-               var local199 uint16
+               var local186 []uint8
+               var local187 uint16
                {
-                       p := &local199
+                       p := &local187
                        *p = read16(r)
                }
-               (local198) = make([]uint8, local199)
+               (local186) = make([]uint8, local187)
                {
-                       _, err := io.ReadFull(r, (local198)[:])
+                       _, err := io.ReadFull(r, (local186)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -11972,69 +11091,174 @@ func (obj *ToCltChangeHUD) deserialize(r io.Reader) {
                        Size [2]int32
 
                        //mt:if %s.Field == HUDZIndex
-                       ZIndex uint32
+                       ZIndex int32
 
                        //mt:if %s.Field == HUDText2
                        Text2 string
-               }))(obj)).Text2) = string(local198)
+
+                       //mt:if %s.Field == HUDStyle
+                       Style HUDStyleFlags
+               }))(obj)).Text2) = string(local186)
+       }
+       if (*(*(struct {
+               ID HUDID
+
+               Field HUDField
+
+               //mt:if %s.Field == HUDPos
+               Pos [2]float32
+
+               //mt:if %s.Field == HUDName
+               Name string
+
+               //mt:if %s.Field == HUDScale
+               Scale [2]float32
+
+               //mt:if %s.Field == HUDText
+               Text string
+
+               //mt:if %s.Field == HUDNumber
+               Number uint32
+
+               //mt:if %s.Field == HUDItem
+               Item uint32
+
+               //mt:if %s.Field == HUDDir
+               Dir uint32
+
+               //mt:if %s.Field == HUDAlign
+               Align [2]float32
+
+               //mt:if %s.Field == HUDOffset
+               Offset [2]float32
+
+               //mt:if %s.Field == HUDWorldPos
+               WorldPos Pos
+
+               //mt:if %s.Field == HUDSize
+               Size [2]int32
+
+               //mt:if %s.Field == HUDZIndex
+               ZIndex int32
+
+               //mt:if %s.Field == HUDText2
+               Text2 string
+
+               //mt:if %s.Field == HUDStyle
+               Style HUDStyleFlags
+       }))(obj)).Field == HUDStyle {
+               if err := pcall(func() {
+                       ((*(*(struct {
+                               ID HUDID
+
+                               Field HUDField
+
+                               //mt:if %s.Field == HUDPos
+                               Pos [2]float32
+
+                               //mt:if %s.Field == HUDName
+                               Name string
+
+                               //mt:if %s.Field == HUDScale
+                               Scale [2]float32
+
+                               //mt:if %s.Field == HUDText
+                               Text string
+
+                               //mt:if %s.Field == HUDNumber
+                               Number uint32
+
+                               //mt:if %s.Field == HUDItem
+                               Item uint32
+
+                               //mt:if %s.Field == HUDDir
+                               Dir uint32
+
+                               //mt:if %s.Field == HUDAlign
+                               Align [2]float32
+
+                               //mt:if %s.Field == HUDOffset
+                               Offset [2]float32
+
+                               //mt:if %s.Field == HUDWorldPos
+                               WorldPos Pos
+
+                               //mt:if %s.Field == HUDSize
+                               Size [2]int32
+
+                               //mt:if %s.Field == HUDZIndex
+                               ZIndex int32
+
+                               //mt:if %s.Field == HUDText2
+                               Text2 string
+
+                               //mt:if %s.Field == HUDStyle
+                               Style HUDStyleFlags
+                       }))(obj)).Style).Deserialize(r)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDStyleFlags", err))
+               }
        }
 }
 
-func (obj *ToCltHUDFlags) serialize(w io.Writer) {
+func (obj *ToCltHUDFlags) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        // &^= Mask
                        // |= Flags
                        Flags, Mask HUDFlags
-               }))(obj)).Flags).serialize(w)
+               }))(obj)).Flags).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDFlags", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        // &^= Mask
                        // |= Flags
                        Flags, Mask HUDFlags
-               }))(obj)).Mask).serialize(w)
+               }))(obj)).Mask).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDFlags", err))
        }
 }
 
-func (obj *ToCltHUDFlags) deserialize(r io.Reader) {
+func (obj *ToCltHUDFlags) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        // &^= Mask
                        // |= Flags
                        Flags, Mask HUDFlags
-               }))(obj)).Flags).deserialize(r)
+               }))(obj)).Flags).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDFlags", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        // &^= Mask
                        // |= Flags
                        Flags, Mask HUDFlags
-               }))(obj)).Mask).deserialize(r)
+               }))(obj)).Mask).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDFlags", err))
        }
 }
 
-func (obj *ToCltSetHotbarParam) serialize(w io.Writer) {
+func (obj *ToCltSetHotbarParam) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param HotbarParam
@@ -12045,12 +11269,12 @@ func (obj *ToCltSetHotbarParam) serialize(w io.Writer) {
 
                        //mt:if %s.Param != HotbarSize
                        Img Texture
-               }))(obj)).Param).serialize(w)
+               }))(obj)).Param).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HotbarParam", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HotbarParam", err))
        }
        if (*(*(struct {
                Param HotbarParam
@@ -12063,9 +11287,9 @@ func (obj *ToCltSetHotbarParam) serialize(w io.Writer) {
                Img Texture
        }))(obj)).Param == HotbarSize {
                {
-                       local200 := uint16(4) // Size of Size field.
+                       local188 := uint16(4) // Size of Size field.
                        {
-                               x := local200
+                               x := local188
                                write16(w, uint16(x))
                        }
                }
@@ -12103,17 +11327,17 @@ func (obj *ToCltSetHotbarParam) serialize(w io.Writer) {
 
                                //mt:if %s.Param != HotbarSize
                                Img Texture
-                       }))(obj)).Img).serialize(w)
+                       }))(obj)).Img).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
        }
 }
 
-func (obj *ToCltSetHotbarParam) deserialize(r io.Reader) {
+func (obj *ToCltSetHotbarParam) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param HotbarParam
@@ -12124,12 +11348,12 @@ func (obj *ToCltSetHotbarParam) deserialize(r io.Reader) {
 
                        //mt:if %s.Param != HotbarSize
                        Img Texture
-               }))(obj)).Param).deserialize(r)
+               }))(obj)).Param).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HotbarParam", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HotbarParam", err))
        }
        if (*(*(struct {
                Param HotbarParam
@@ -12142,13 +11366,14 @@ func (obj *ToCltSetHotbarParam) deserialize(r io.Reader) {
                Img Texture
        }))(obj)).Param == HotbarSize {
                {
-                       var local201 uint16
+                       var local189 uint16
+                       local190 := uint16(4) // Size of Size field.
                        {
-                               p := &local201
+                               p := &local189
                                *p = read16(r)
                        }
-                       if local201 != (4) {
-                               chk(fmt.Errorf("const %v: %v", 4, local201))
+                       if local189 != local190 {
+                               chk(fmt.Errorf("const %v: %v", "uint16(4) // Size of Size field.", local189))
                        }
                }
                {
@@ -12185,17 +11410,17 @@ func (obj *ToCltSetHotbarParam) deserialize(r io.Reader) {
 
                                //mt:if %s.Param != HotbarSize
                                Img Texture
-                       }))(obj)).Img).deserialize(r)
+                       }))(obj)).Img).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
        }
 }
 
-func (obj *ToCltBreath) serialize(w io.Writer) {
+func (obj *ToCltBreath) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Breath uint16
@@ -12204,7 +11429,7 @@ func (obj *ToCltBreath) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltBreath) deserialize(r io.Reader) {
+func (obj *ToCltBreath) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Breath uint16
@@ -12213,7 +11438,7 @@ func (obj *ToCltBreath) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltSkyParams) serialize(w io.Writer) {
+func (obj *ToCltSkyParams) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        BgColor     color.NRGBA
@@ -12472,7 +11697,7 @@ func (obj *ToCltSkyParams) serialize(w io.Writer) {
                        }))(obj)).Textures)))
                        write16(w, uint16(x))
                }
-               for local202 := range (*(*(struct {
+               for local191 := range (*(*(struct {
                        BgColor     color.NRGBA
                        Type        string
                        Clouds      bool
@@ -12506,12 +11731,12 @@ func (obj *ToCltSkyParams) serialize(w io.Writer) {
                                        DawnSky, DawnHorizon,
                                        NightSky, NightHorizon,
                                        Indoor color.NRGBA
-                               }))(obj)).Textures)[local202]).serialize(w)
+                               }))(obj)).Textures)[local191]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                        }
                }
        }
@@ -12675,7 +11900,7 @@ func (obj *ToCltSkyParams) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltSkyParams) deserialize(r io.Reader) {
+func (obj *ToCltSkyParams) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        BgColor     color.NRGBA
@@ -12696,15 +11921,15 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                }))(obj)).BgColor
                *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
        }
-       var local203 []uint8
-       var local204 uint16
+       var local192 []uint8
+       var local193 uint16
        {
-               p := &local204
+               p := &local193
                *p = read16(r)
        }
-       (local203) = make([]uint8, local204)
+       (local192) = make([]uint8, local193)
        {
-               _, err := io.ReadFull(r, (local203)[:])
+               _, err := io.ReadFull(r, (local192)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -12723,7 +11948,7 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                DawnSky, DawnHorizon,
                NightSky, NightHorizon,
                Indoor color.NRGBA
-       }))(obj)).Type) = string(local203)
+       }))(obj)).Type) = string(local192)
        {
                p := &(*(*(struct {
                        BgColor     color.NRGBA
@@ -12791,15 +12016,15 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                }))(obj)).MoonFogTint
                *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
        }
-       var local205 []uint8
-       var local206 uint16
+       var local194 []uint8
+       var local195 uint16
        {
-               p := &local206
+               p := &local195
                *p = read16(r)
        }
-       (local205) = make([]uint8, local206)
+       (local194) = make([]uint8, local195)
        {
-               _, err := io.ReadFull(r, (local205)[:])
+               _, err := io.ReadFull(r, (local194)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -12818,7 +12043,7 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                DawnSky, DawnHorizon,
                NightSky, NightHorizon,
                Indoor color.NRGBA
-       }))(obj)).FogTintType) = string(local205)
+       }))(obj)).FogTintType) = string(local194)
        if (*(*(struct {
                BgColor     color.NRGBA
                Type        string
@@ -12836,9 +12061,9 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                NightSky, NightHorizon,
                Indoor color.NRGBA
        }))(obj)).Type == "skybox" {
-               var local207 uint16
+               var local196 uint16
                {
-                       p := &local207
+                       p := &local196
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -12857,8 +12082,8 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                        DawnSky, DawnHorizon,
                        NightSky, NightHorizon,
                        Indoor color.NRGBA
-               }))(obj)).Textures) = make([]Texture, local207)
-               for local208 := range (*(*(struct {
+               }))(obj)).Textures) = make([]Texture, local196)
+               for local197 := range (*(*(struct {
                        BgColor     color.NRGBA
                        Type        string
                        Clouds      bool
@@ -12892,12 +12117,12 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
                                        DawnSky, DawnHorizon,
                                        NightSky, NightHorizon,
                                        Indoor color.NRGBA
-                               }))(obj)).Textures)[local208]).deserialize(r)
+                               }))(obj)).Textures)[local197]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                        }
                }
        }
@@ -13061,7 +12286,7 @@ func (obj *ToCltSkyParams) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltOverrideDayNightRatio) serialize(w io.Writer) {
+func (obj *ToCltOverrideDayNightRatio) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Override bool
@@ -13082,7 +12307,7 @@ func (obj *ToCltOverrideDayNightRatio) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltOverrideDayNightRatio) deserialize(r io.Reader) {
+func (obj *ToCltOverrideDayNightRatio) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Override bool
@@ -13106,8 +12331,8 @@ func (obj *ToCltOverrideDayNightRatio) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
-       for local209 := range (*(*(struct {
+func (obj *ToCltLocalPlayerAnim) Serialize(w io.Writer) {
+       for local198 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Idle {
@@ -13115,11 +12340,11 @@ func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
                        x := ((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Idle)[local209]
+                       }))(obj)).Idle)[local198]
                        write32(w, uint32(x))
                }
        }
-       for local210 := range (*(*(struct {
+       for local199 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Walk {
@@ -13127,11 +12352,11 @@ func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
                        x := ((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Walk)[local210]
+                       }))(obj)).Walk)[local199]
                        write32(w, uint32(x))
                }
        }
-       for local211 := range (*(*(struct {
+       for local200 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Dig {
@@ -13139,11 +12364,11 @@ func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
                        x := ((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Dig)[local211]
+                       }))(obj)).Dig)[local200]
                        write32(w, uint32(x))
                }
        }
-       for local212 := range (*(*(struct {
+       for local201 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).WalkDig {
@@ -13151,7 +12376,7 @@ func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
                        x := ((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).WalkDig)[local212]
+                       }))(obj)).WalkDig)[local201]
                        write32(w, uint32(x))
                }
        }
@@ -13164,8 +12389,8 @@ func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
-       for local213 := range (*(*(struct {
+func (obj *ToCltLocalPlayerAnim) Deserialize(r io.Reader) {
+       for local202 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Idle {
@@ -13173,11 +12398,11 @@ func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
                        p := &((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Idle)[local213]
+                       }))(obj)).Idle)[local202]
                        *p = int32(read32(r))
                }
        }
-       for local214 := range (*(*(struct {
+       for local203 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Walk {
@@ -13185,11 +12410,11 @@ func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
                        p := &((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Walk)[local214]
+                       }))(obj)).Walk)[local203]
                        *p = int32(read32(r))
                }
        }
-       for local215 := range (*(*(struct {
+       for local204 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).Dig {
@@ -13197,11 +12422,11 @@ func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
                        p := &((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).Dig)[local215]
+                       }))(obj)).Dig)[local204]
                        *p = int32(read32(r))
                }
        }
-       for local216 := range (*(*(struct {
+       for local205 := range (*(*(struct {
                Idle, Walk, Dig, WalkDig [2]int32
                Speed                    float32
        }))(obj)).WalkDig {
@@ -13209,7 +12434,7 @@ func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
                        p := &((*(*(struct {
                                Idle, Walk, Dig, WalkDig [2]int32
                                Speed                    float32
-                       }))(obj)).WalkDig)[local216]
+                       }))(obj)).WalkDig)[local205]
                        *p = int32(read32(r))
                }
        }
@@ -13222,79 +12447,79 @@ func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltEyeOffset) serialize(w io.Writer) {
+func (obj *ToCltEyeOffset) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        First, Third Vec
-               }))(obj)).First).serialize(w)
+               }))(obj)).First).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        First, Third Vec
-               }))(obj)).Third).serialize(w)
+               }))(obj)).Third).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *ToCltEyeOffset) deserialize(r io.Reader) {
+func (obj *ToCltEyeOffset) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        First, Third Vec
-               }))(obj)).First).deserialize(r)
+               }))(obj)).First).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        First, Third Vec
-               }))(obj)).Third).deserialize(r)
+               }))(obj)).Third).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *ToCltDelParticleSpawner) serialize(w io.Writer) {
+func (obj *ToCltDelParticleSpawner) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID ParticleSpawnerID
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ParticleSpawnerID", err))
        }
 }
 
-func (obj *ToCltDelParticleSpawner) deserialize(r io.Reader) {
+func (obj *ToCltDelParticleSpawner) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID ParticleSpawnerID
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ParticleSpawnerID", err))
        }
 }
 
-func (obj *ToCltCloudParams) serialize(w io.Writer) {
+func (obj *ToCltCloudParams) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Density      float32
@@ -13350,7 +12575,7 @@ func (obj *ToCltCloudParams) serialize(w io.Writer) {
                }))(obj)).Thickness
                write32(w, math.Float32bits(x))
        }
-       for local217 := range (*(*(struct {
+       for local206 := range (*(*(struct {
                Density      float32
                DiffuseColor color.NRGBA
                AmbientColor color.NRGBA
@@ -13366,13 +12591,13 @@ func (obj *ToCltCloudParams) serialize(w io.Writer) {
                                Height       float32
                                Thickness    float32
                                Speed        [2]float32
-                       }))(obj)).Speed)[local217]
+                       }))(obj)).Speed)[local206]
                        write32(w, math.Float32bits(x))
                }
        }
 }
 
-func (obj *ToCltCloudParams) deserialize(r io.Reader) {
+func (obj *ToCltCloudParams) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Density      float32
@@ -13428,7 +12653,7 @@ func (obj *ToCltCloudParams) deserialize(r io.Reader) {
                }))(obj)).Thickness
                *p = math.Float32frombits(read32(r))
        }
-       for local218 := range (*(*(struct {
+       for local207 := range (*(*(struct {
                Density      float32
                DiffuseColor color.NRGBA
                AmbientColor color.NRGBA
@@ -13444,24 +12669,24 @@ func (obj *ToCltCloudParams) deserialize(r io.Reader) {
                                Height       float32
                                Thickness    float32
                                Speed        [2]float32
-                       }))(obj)).Speed)[local218]
+                       }))(obj)).Speed)[local207]
                        *p = math.Float32frombits(read32(r))
                }
        }
 }
 
-func (obj *ToCltFadeSound) serialize(w io.Writer) {
+func (obj *ToCltFadeSound) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID   SoundID
                        Step float32
                        Gain float32
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
        {
                x := (*(*(struct {
@@ -13481,18 +12706,18 @@ func (obj *ToCltFadeSound) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltFadeSound) deserialize(r io.Reader) {
+func (obj *ToCltFadeSound) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID   SoundID
                        Step float32
                        Gain float32
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundID", err))
        }
        {
                p := &(*(*(struct {
@@ -13512,17 +12737,17 @@ func (obj *ToCltFadeSound) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltUpdatePlayerList) serialize(w io.Writer) {
+func (obj *ToCltUpdatePlayerList) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Type    PlayerListUpdateType
                        Players []string
-               }))(obj)).Type).serialize(w)
+               }))(obj)).Type).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerListUpdateType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerListUpdateType", err))
        }
        if len(((*(*(struct {
                Type    PlayerListUpdateType
@@ -13537,77 +12762,77 @@ func (obj *ToCltUpdatePlayerList) serialize(w io.Writer) {
                }))(obj)).Players)))
                write16(w, uint16(x))
        }
-       for local219 := range (*(*(struct {
+       for local208 := range (*(*(struct {
                Type    PlayerListUpdateType
                Players []string
        }))(obj)).Players {
                if len(([]byte(((*(*(struct {
                        Type    PlayerListUpdateType
                        Players []string
-               }))(obj)).Players)[local219]))) > math.MaxUint16 {
+               }))(obj)).Players)[local208]))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
                {
                        x := uint16(len(([]byte(((*(*(struct {
                                Type    PlayerListUpdateType
                                Players []string
-                       }))(obj)).Players)[local219]))))
+                       }))(obj)).Players)[local208]))))
                        write16(w, uint16(x))
                }
                {
                        _, err := w.Write(([]byte(((*(*(struct {
                                Type    PlayerListUpdateType
                                Players []string
-                       }))(obj)).Players)[local219]))[:])
+                       }))(obj)).Players)[local208]))[:])
                        chk(err)
                }
        }
 }
 
-func (obj *ToCltUpdatePlayerList) deserialize(r io.Reader) {
+func (obj *ToCltUpdatePlayerList) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Type    PlayerListUpdateType
                        Players []string
-               }))(obj)).Type).deserialize(r)
+               }))(obj)).Type).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerListUpdateType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.PlayerListUpdateType", err))
        }
-       var local220 uint16
+       var local209 uint16
        {
-               p := &local220
+               p := &local209
                *p = read16(r)
        }
        ((*(*(struct {
                Type    PlayerListUpdateType
                Players []string
-       }))(obj)).Players) = make([]string, local220)
-       for local221 := range (*(*(struct {
+       }))(obj)).Players) = make([]string, local209)
+       for local210 := range (*(*(struct {
                Type    PlayerListUpdateType
                Players []string
        }))(obj)).Players {
-               var local222 []uint8
-               var local223 uint16
+               var local211 []uint8
+               var local212 uint16
                {
-                       p := &local223
+                       p := &local212
                        *p = read16(r)
                }
-               (local222) = make([]uint8, local223)
+               (local211) = make([]uint8, local212)
                {
-                       _, err := io.ReadFull(r, (local222)[:])
+                       _, err := io.ReadFull(r, (local211)[:])
                        chk(err)
                }
                (((*(*(struct {
                        Type    PlayerListUpdateType
                        Players []string
-               }))(obj)).Players)[local221]) = string(local222)
+               }))(obj)).Players)[local210]) = string(local211)
        }
 }
 
-func (obj *ToCltModChanMsg) serialize(w io.Writer) {
+func (obj *ToCltModChanMsg) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Channel string
                Sender  string
@@ -13679,68 +12904,68 @@ func (obj *ToCltModChanMsg) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltModChanMsg) deserialize(r io.Reader) {
-       var local224 []uint8
-       var local225 uint16
+func (obj *ToCltModChanMsg) Deserialize(r io.Reader) {
+       var local213 []uint8
+       var local214 uint16
        {
-               p := &local225
+               p := &local214
                *p = read16(r)
        }
-       (local224) = make([]uint8, local225)
+       (local213) = make([]uint8, local214)
        {
-               _, err := io.ReadFull(r, (local224)[:])
+               _, err := io.ReadFull(r, (local213)[:])
                chk(err)
        }
        ((*(*(struct {
                Channel string
                Sender  string
                Msg     string
-       }))(obj)).Channel) = string(local224)
-       var local226 []uint8
-       var local227 uint16
+       }))(obj)).Channel) = string(local213)
+       var local215 []uint8
+       var local216 uint16
        {
-               p := &local227
+               p := &local216
                *p = read16(r)
        }
-       (local226) = make([]uint8, local227)
+       (local215) = make([]uint8, local216)
        {
-               _, err := io.ReadFull(r, (local226)[:])
+               _, err := io.ReadFull(r, (local215)[:])
                chk(err)
        }
        ((*(*(struct {
                Channel string
                Sender  string
                Msg     string
-       }))(obj)).Sender) = string(local226)
-       var local228 []uint8
-       var local229 uint16
+       }))(obj)).Sender) = string(local215)
+       var local217 []uint8
+       var local218 uint16
        {
-               p := &local229
+               p := &local218
                *p = read16(r)
        }
-       (local228) = make([]uint8, local229)
+       (local217) = make([]uint8, local218)
        {
-               _, err := io.ReadFull(r, (local228)[:])
+               _, err := io.ReadFull(r, (local217)[:])
                chk(err)
        }
        ((*(*(struct {
                Channel string
                Sender  string
                Msg     string
-       }))(obj)).Msg) = string(local228)
+       }))(obj)).Msg) = string(local217)
 }
 
-func (obj *ToCltModChanSig) serialize(w io.Writer) {
+func (obj *ToCltModChanSig) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Signal  ModChanSig
                        Channel string
-               }))(obj)).Signal).serialize(w)
+               }))(obj)).Signal).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ModChanSig", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ModChanSig", err))
        }
        if len(([]byte((*(*(struct {
                Signal  ModChanSig
@@ -13764,36 +12989,36 @@ func (obj *ToCltModChanSig) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltModChanSig) deserialize(r io.Reader) {
+func (obj *ToCltModChanSig) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Signal  ModChanSig
                        Channel string
-               }))(obj)).Signal).deserialize(r)
+               }))(obj)).Signal).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ModChanSig", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ModChanSig", err))
        }
-       var local230 []uint8
-       var local231 uint16
+       var local219 []uint8
+       var local220 uint16
        {
-               p := &local231
+               p := &local220
                *p = read16(r)
        }
-       (local230) = make([]uint8, local231)
+       (local219) = make([]uint8, local220)
        {
-               _, err := io.ReadFull(r, (local230)[:])
+               _, err := io.ReadFull(r, (local219)[:])
                chk(err)
        }
        ((*(*(struct {
                Signal  ModChanSig
                Channel string
-       }))(obj)).Channel) = string(local230)
+       }))(obj)).Channel) = string(local219)
 }
 
-func (obj *ToCltNodeMetasChanged) serialize(w io.Writer) {
+func (obj *ToCltNodeMetasChanged) Serialize(w io.Writer) {
        {
                ow := w
                w := new(bytes.Buffer)
@@ -13856,14 +13081,14 @@ func (obj *ToCltNodeMetasChanged) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltNodeMetasChanged) deserialize(r io.Reader) {
+func (obj *ToCltNodeMetasChanged) Deserialize(r io.Reader) {
        {
                var n uint32
                {
                        p := &n
                        *p = read32(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
                        p := &(*(*(struct {
                                //mt:lenhdr 32
@@ -13899,7 +13124,7 @@ func (obj *ToCltNodeMetasChanged) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltSunParams) serialize(w io.Writer) {
+func (obj *ToCltSunParams) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Visible bool
@@ -13923,12 +13148,12 @@ func (obj *ToCltSunParams) serialize(w io.Writer) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).Texture).serialize(w)
+               }))(obj)).Texture).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -13938,12 +13163,12 @@ func (obj *ToCltSunParams) serialize(w io.Writer) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).ToneMap).serialize(w)
+               }))(obj)).ToneMap).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -13953,12 +13178,12 @@ func (obj *ToCltSunParams) serialize(w io.Writer) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).Rise).serialize(w)
+               }))(obj)).Rise).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                x := (*(*(struct {
@@ -13988,7 +13213,7 @@ func (obj *ToCltSunParams) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltSunParams) deserialize(r io.Reader) {
+func (obj *ToCltSunParams) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Visible bool
@@ -14015,12 +13240,12 @@ func (obj *ToCltSunParams) deserialize(r io.Reader) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).Texture).deserialize(r)
+               }))(obj)).Texture).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -14030,12 +13255,12 @@ func (obj *ToCltSunParams) deserialize(r io.Reader) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).ToneMap).deserialize(r)
+               }))(obj)).ToneMap).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -14045,12 +13270,12 @@ func (obj *ToCltSunParams) deserialize(r io.Reader) {
                        Rise    Texture
                        Rising  bool
                        Size    float32
-               }))(obj)).Rise).deserialize(r)
+               }))(obj)).Rise).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                p := &(*(*(struct {
@@ -14083,7 +13308,7 @@ func (obj *ToCltSunParams) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltMoonParams) serialize(w io.Writer) {
+func (obj *ToCltMoonParams) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Visible bool
@@ -14103,12 +13328,12 @@ func (obj *ToCltMoonParams) serialize(w io.Writer) {
                        Texture
                        ToneMap Texture
                        Size    float32
-               }))(obj)).Texture).serialize(w)
+               }))(obj)).Texture).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -14116,12 +13341,12 @@ func (obj *ToCltMoonParams) serialize(w io.Writer) {
                        Texture
                        ToneMap Texture
                        Size    float32
-               }))(obj)).ToneMap).serialize(w)
+               }))(obj)).ToneMap).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                x := (*(*(struct {
@@ -14134,7 +13359,7 @@ func (obj *ToCltMoonParams) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltMoonParams) deserialize(r io.Reader) {
+func (obj *ToCltMoonParams) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Visible bool
@@ -14157,12 +13382,12 @@ func (obj *ToCltMoonParams) deserialize(r io.Reader) {
                        Texture
                        ToneMap Texture
                        Size    float32
-               }))(obj)).Texture).deserialize(r)
+               }))(obj)).Texture).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -14170,12 +13395,12 @@ func (obj *ToCltMoonParams) deserialize(r io.Reader) {
                        Texture
                        ToneMap Texture
                        Size    float32
-               }))(obj)).ToneMap).deserialize(r)
+               }))(obj)).ToneMap).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                p := &(*(*(struct {
@@ -14188,7 +13413,7 @@ func (obj *ToCltMoonParams) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltStarParams) serialize(w io.Writer) {
+func (obj *ToCltStarParams) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Visible bool
@@ -14231,7 +13456,7 @@ func (obj *ToCltStarParams) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltStarParams) deserialize(r io.Reader) {
+func (obj *ToCltStarParams) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Visible bool
@@ -14277,7 +13502,7 @@ func (obj *ToCltStarParams) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltSRPBytesSaltB) serialize(w io.Writer) {
+func (obj *ToCltSRPBytesSaltB) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Salt, B []byte
        }))(obj)).Salt)) > math.MaxUint16 {
@@ -14314,29 +13539,29 @@ func (obj *ToCltSRPBytesSaltB) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltSRPBytesSaltB) deserialize(r io.Reader) {
-       var local232 uint16
+func (obj *ToCltSRPBytesSaltB) Deserialize(r io.Reader) {
+       var local221 uint16
        {
-               p := &local232
+               p := &local221
                *p = read16(r)
        }
        ((*(*(struct {
                Salt, B []byte
-       }))(obj)).Salt) = make([]byte, local232)
+       }))(obj)).Salt) = make([]byte, local221)
        {
                _, err := io.ReadFull(r, ((*(*(struct {
                        Salt, B []byte
                }))(obj)).Salt)[:])
                chk(err)
        }
-       var local233 uint16
+       var local222 uint16
        {
-               p := &local233
+               p := &local222
                *p = read16(r)
        }
        ((*(*(struct {
                Salt, B []byte
-       }))(obj)).B) = make([]byte, local233)
+       }))(obj)).B) = make([]byte, local222)
        {
                _, err := io.ReadFull(r, ((*(*(struct {
                        Salt, B []byte
@@ -14345,7 +13570,7 @@ func (obj *ToCltSRPBytesSaltB) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ToCltFormspecPrepend) serialize(w io.Writer) {
+func (obj *ToCltFormspecPrepend) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Prepend string
        }))(obj)).Prepend))) > math.MaxUint16 {
@@ -14365,128 +13590,128 @@ func (obj *ToCltFormspecPrepend) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToCltFormspecPrepend) deserialize(r io.Reader) {
-       var local234 []uint8
-       var local235 uint16
+func (obj *ToCltFormspecPrepend) Deserialize(r io.Reader) {
+       var local223 []uint8
+       var local224 uint16
        {
-               p := &local235
+               p := &local224
                *p = read16(r)
        }
-       (local234) = make([]uint8, local235)
+       (local223) = make([]uint8, local224)
        {
-               _, err := io.ReadFull(r, (local234)[:])
+               _, err := io.ReadFull(r, (local223)[:])
                chk(err)
        }
        ((*(*(struct {
                Prepend string
-       }))(obj)).Prepend) = string(local234)
+       }))(obj)).Prepend) = string(local223)
 }
 
-func (obj *AOCmdProps) serialize(w io.Writer) {
+func (obj *AOCmdProps) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Props AOProps
-               }))(obj)).Props).serialize(w)
+               }))(obj)).Props).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOProps", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOProps", err))
        }
 }
 
-func (obj *AOCmdProps) deserialize(r io.Reader) {
+func (obj *AOCmdProps) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Props AOProps
-               }))(obj)).Props).deserialize(r)
+               }))(obj)).Props).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOProps", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOProps", err))
        }
 }
 
-func (obj *AOCmdPos) serialize(w io.Writer) {
+func (obj *AOCmdPos) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos AOPos
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOPos", err))
        }
 }
 
-func (obj *AOCmdPos) deserialize(r io.Reader) {
+func (obj *AOCmdPos) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos AOPos
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOPos", err))
        }
 }
 
-func (obj *AOCmdTextureMod) serialize(w io.Writer) {
+func (obj *AOCmdTextureMod) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Mod Texture // suffix
-               }))(obj)).Mod).serialize(w)
+               }))(obj)).Mod).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
 }
 
-func (obj *AOCmdTextureMod) deserialize(r io.Reader) {
+func (obj *AOCmdTextureMod) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Mod Texture // suffix
-               }))(obj)).Mod).deserialize(r)
+               }))(obj)).Mod).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
 }
 
-func (obj *AOCmdSprite) serialize(w io.Writer) {
+func (obj *AOCmdSprite) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Sprite AOSprite
-               }))(obj)).Sprite).serialize(w)
+               }))(obj)).Sprite).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOSprite", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOSprite", err))
        }
 }
 
-func (obj *AOCmdSprite) deserialize(r io.Reader) {
+func (obj *AOCmdSprite) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Sprite AOSprite
-               }))(obj)).Sprite).deserialize(r)
+               }))(obj)).Sprite).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOSprite", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOSprite", err))
        }
 }
 
-func (obj *AOCmdHP) serialize(w io.Writer) {
+func (obj *AOCmdHP) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        HP uint16
@@ -14495,7 +13720,7 @@ func (obj *AOCmdHP) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOCmdHP) deserialize(r io.Reader) {
+func (obj *AOCmdHP) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        HP uint16
@@ -14504,7 +13729,7 @@ func (obj *AOCmdHP) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOCmdArmorGroups) serialize(w io.Writer) {
+func (obj *AOCmdArmorGroups) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Armor []Group
        }))(obj)).Armor)) > math.MaxUint16 {
@@ -14516,74 +13741,74 @@ func (obj *AOCmdArmorGroups) serialize(w io.Writer) {
                }))(obj)).Armor)))
                write16(w, uint16(x))
        }
-       for local236 := range (*(*(struct {
+       for local225 := range (*(*(struct {
                Armor []Group
        }))(obj)).Armor {
                if err := pcall(func() {
                        (((*(*(struct {
                                Armor []Group
-                       }))(obj)).Armor)[local236]).serialize(w)
+                       }))(obj)).Armor)[local225]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                }
        }
 }
 
-func (obj *AOCmdArmorGroups) deserialize(r io.Reader) {
-       var local237 uint16
+func (obj *AOCmdArmorGroups) Deserialize(r io.Reader) {
+       var local226 uint16
        {
-               p := &local237
+               p := &local226
                *p = read16(r)
        }
        ((*(*(struct {
                Armor []Group
-       }))(obj)).Armor) = make([]Group, local237)
-       for local238 := range (*(*(struct {
+       }))(obj)).Armor) = make([]Group, local226)
+       for local227 := range (*(*(struct {
                Armor []Group
        }))(obj)).Armor {
                if err := pcall(func() {
                        (((*(*(struct {
                                Armor []Group
-                       }))(obj)).Armor)[local238]).deserialize(r)
+                       }))(obj)).Armor)[local227]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                }
        }
 }
 
-func (obj *AOCmdAnim) serialize(w io.Writer) {
+func (obj *AOCmdAnim) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Anim AOAnim
-               }))(obj)).Anim).serialize(w)
+               }))(obj)).Anim).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAnim", err))
        }
 }
 
-func (obj *AOCmdAnim) deserialize(r io.Reader) {
+func (obj *AOCmdAnim) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Anim AOAnim
-               }))(obj)).Anim).deserialize(r)
+               }))(obj)).Anim).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAnim", err))
        }
 }
 
-func (obj *AOCmdBonePos) serialize(w io.Writer) {
+func (obj *AOCmdBonePos) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Bone string
                Pos  AOBonePos
@@ -14608,148 +13833,149 @@ func (obj *AOCmdBonePos) serialize(w io.Writer) {
                ((*(*(struct {
                        Bone string
                        Pos  AOBonePos
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOBonePos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOBonePos", err))
        }
 }
 
-func (obj *AOCmdBonePos) deserialize(r io.Reader) {
-       var local239 []uint8
-       var local240 uint16
+func (obj *AOCmdBonePos) Deserialize(r io.Reader) {
+       var local228 []uint8
+       var local229 uint16
        {
-               p := &local240
+               p := &local229
                *p = read16(r)
        }
-       (local239) = make([]uint8, local240)
+       (local228) = make([]uint8, local229)
        {
-               _, err := io.ReadFull(r, (local239)[:])
+               _, err := io.ReadFull(r, (local228)[:])
                chk(err)
        }
        ((*(*(struct {
                Bone string
                Pos  AOBonePos
-       }))(obj)).Bone) = string(local239)
+       }))(obj)).Bone) = string(local228)
        if err := pcall(func() {
                ((*(*(struct {
                        Bone string
                        Pos  AOBonePos
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOBonePos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOBonePos", err))
        }
 }
 
-func (obj *AOCmdAttach) serialize(w io.Writer) {
+func (obj *AOCmdAttach) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Attach AOAttach
-               }))(obj)).Attach).serialize(w)
+               }))(obj)).Attach).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAttach", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAttach", err))
        }
 }
 
-func (obj *AOCmdAttach) deserialize(r io.Reader) {
+func (obj *AOCmdAttach) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Attach AOAttach
-               }))(obj)).Attach).deserialize(r)
+               }))(obj)).Attach).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAttach", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOAttach", err))
        }
 }
 
-func (obj *AOCmdPhysOverride) serialize(w io.Writer) {
+func (obj *AOCmdPhysOverride) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Phys AOPhysOverride
-               }))(obj)).Phys).serialize(w)
+               }))(obj)).Phys).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPhysOverride", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOPhysOverride", err))
        }
 }
 
-func (obj *AOCmdPhysOverride) deserialize(r io.Reader) {
+func (obj *AOCmdPhysOverride) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Phys AOPhysOverride
-               }))(obj)).Phys).deserialize(r)
+               }))(obj)).Phys).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPhysOverride", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOPhysOverride", err))
        }
 }
 
-func (obj *AOCmdSpawnInfant) serialize(w io.Writer) {
+func (obj *AOCmdSpawnInfant) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
-               local241 := genericCAO
+               local230 := genericCAO
                if err := pcall(func() {
-                       (local241).serialize(w)
+                       (local230).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.aoType", err))
                }
        }
 }
 
-func (obj *AOCmdSpawnInfant) deserialize(r io.Reader) {
+func (obj *AOCmdSpawnInfant) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
-               var local242 aoType
+               var local231 aoType
+               local232 := genericCAO
                if err := pcall(func() {
-                       (local242).deserialize(r)
+                       (local231).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.aoType", err))
                }
-               if local242 != (101) {
-                       chk(fmt.Errorf("const %v: %v", 101, local242))
+               if local231 != local232 {
+                       chk(fmt.Errorf("const %v: %v", "genericCAO", local231))
                }
        }
 }
 
-func (obj *AOCmdAnimSpeed) serialize(w io.Writer) {
+func (obj *AOCmdAnimSpeed) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Speed float32
@@ -14758,7 +13984,7 @@ func (obj *AOCmdAnimSpeed) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOCmdAnimSpeed) deserialize(r io.Reader) {
+func (obj *AOCmdAnimSpeed) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Speed float32
@@ -14767,7 +13993,7 @@ func (obj *AOCmdAnimSpeed) deserialize(r io.Reader) {
        }
 }
 
-func (obj *NodeMeta) serialize(w io.Writer) {
+func (obj *NodeMeta) Serialize(w io.Writer) {
        if len(((*(*(struct {
                //mt:len32
                Fields []NodeMetaField
@@ -14785,7 +14011,7 @@ func (obj *NodeMeta) serialize(w io.Writer) {
                }))(obj)).Fields)))
                write32(w, uint32(x))
        }
-       for local243 := range (*(*(struct {
+       for local233 := range (*(*(struct {
                //mt:len32
                Fields []NodeMetaField
 
@@ -14797,12 +14023,12 @@ func (obj *NodeMeta) serialize(w io.Writer) {
                                Fields []NodeMetaField
 
                                Inv Inv
-                       }))(obj)).Fields)[local243]).serialize(w)
+                       }))(obj)).Fields)[local233]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeMetaField", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeMetaField", err))
                }
        }
        chk(((*(*(struct {
@@ -14813,10 +14039,10 @@ func (obj *NodeMeta) serialize(w io.Writer) {
        }))(obj)).Inv).Serialize(w))
 }
 
-func (obj *NodeMeta) deserialize(r io.Reader) {
-       var local244 uint32
+func (obj *NodeMeta) Deserialize(r io.Reader) {
+       var local234 uint32
        {
-               p := &local244
+               p := &local234
                *p = read32(r)
        }
        ((*(*(struct {
@@ -14824,8 +14050,8 @@ func (obj *NodeMeta) deserialize(r io.Reader) {
                Fields []NodeMetaField
 
                Inv Inv
-       }))(obj)).Fields) = make([]NodeMetaField, local244)
-       for local245 := range (*(*(struct {
+       }))(obj)).Fields) = make([]NodeMetaField, local234)
+       for local235 := range (*(*(struct {
                //mt:len32
                Fields []NodeMetaField
 
@@ -14837,12 +14063,12 @@ func (obj *NodeMeta) deserialize(r io.Reader) {
                                Fields []NodeMetaField
 
                                Inv Inv
-                       }))(obj)).Fields)[local245]).deserialize(r)
+                       }))(obj)).Fields)[local235]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeMetaField", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeMetaField", err))
                }
        }
        chk(((*(*(struct {
@@ -14853,7 +14079,7 @@ func (obj *NodeMeta) deserialize(r io.Reader) {
        }))(obj)).Inv).Deserialize(r))
 }
 
-func (obj *MinimapMode) serialize(w io.Writer) {
+func (obj *MinimapMode) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Type  MinimapType
@@ -14861,12 +14087,12 @@ func (obj *MinimapMode) serialize(w io.Writer) {
                        Size  uint16
                        Texture
                        Scale uint16
-               }))(obj)).Type).serialize(w)
+               }))(obj)).Type).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MinimapType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MinimapType", err))
        }
        if len(([]byte((*(*(struct {
                Type  MinimapType
@@ -14914,12 +14140,12 @@ func (obj *MinimapMode) serialize(w io.Writer) {
                        Size  uint16
                        Texture
                        Scale uint16
-               }))(obj)).Texture).serialize(w)
+               }))(obj)).Texture).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                x := (*(*(struct {
@@ -14933,7 +14159,7 @@ func (obj *MinimapMode) serialize(w io.Writer) {
        }
 }
 
-func (obj *MinimapMode) deserialize(r io.Reader) {
+func (obj *MinimapMode) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Type  MinimapType
@@ -14941,22 +14167,22 @@ func (obj *MinimapMode) deserialize(r io.Reader) {
                        Size  uint16
                        Texture
                        Scale uint16
-               }))(obj)).Type).deserialize(r)
+               }))(obj)).Type).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MinimapType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MinimapType", err))
        }
-       var local246 []uint8
-       var local247 uint16
+       var local236 []uint8
+       var local237 uint16
        {
-               p := &local247
+               p := &local237
                *p = read16(r)
        }
-       (local246) = make([]uint8, local247)
+       (local236) = make([]uint8, local237)
        {
-               _, err := io.ReadFull(r, (local246)[:])
+               _, err := io.ReadFull(r, (local236)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -14965,7 +14191,7 @@ func (obj *MinimapMode) deserialize(r io.Reader) {
                Size  uint16
                Texture
                Scale uint16
-       }))(obj)).Label) = string(local246)
+       }))(obj)).Label) = string(local236)
        {
                p := &(*(*(struct {
                        Type  MinimapType
@@ -14983,12 +14209,12 @@ func (obj *MinimapMode) deserialize(r io.Reader) {
                        Size  uint16
                        Texture
                        Scale uint16
-               }))(obj)).Texture).deserialize(r)
+               }))(obj)).Texture).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                p := &(*(*(struct {
@@ -15002,7 +14228,7 @@ func (obj *MinimapMode) deserialize(r io.Reader) {
        }
 }
 
-func (obj *NodeDef) serialize(w io.Writer) {
+func (obj *NodeDef) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param0 Content
@@ -15066,20 +14292,24 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).Param0).serialize(w)
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).Param0).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                ow := w
                w := new(bytes.Buffer)
                {
-                       local248 := uint8(13)
+                       local238 := uint8(13)
                        {
-                               x := local248
+                               x := local238
                                write8(w, uint8(x))
                        }
                }
@@ -15145,6 +14375,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Name))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -15211,6 +14445,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Name))))
                        write16(w, uint16(x))
                }
@@ -15277,6 +14515,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Name))[:])
                        chk(err)
                }
@@ -15342,6 +14584,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Groups)) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -15408,10 +14654,14 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Groups)))
                        write16(w, uint16(x))
                }
-               for local249 := range (*(*(struct {
+               for local239 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -15473,6 +14723,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Groups {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -15537,12 +14791,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).Groups)[local249]).serialize(w)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).Groups)[local239]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                        }
                }
                if err := pcall(func() {
@@ -15608,12 +14866,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).P1Type).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).P1Type).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param1Type", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Param1Type", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -15678,12 +14940,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).P2Type).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).P2Type).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param2Type", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Param2Type", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -15748,12 +15014,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DrawType).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DrawType).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DrawType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DrawType", err))
                }
                if len(([]byte((*(*(struct {
                        Param0 Content
@@ -15817,6 +15087,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Mesh))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -15883,6 +15157,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Mesh))))
                        write16(w, uint16(x))
                }
@@ -15949,6 +15227,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Mesh))[:])
                        chk(err)
                }
@@ -16015,17 +15297,21 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Scale
                        write32(w, math.Float32bits(x))
                }
                {
-                       local250 := uint8(6)
+                       local240 := uint8(6)
                        {
-                               x := local250
+                               x := local240
                                write8(w, uint8(x))
                        }
                }
-               for local251 := range (*(*(struct {
+               for local241 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -16087,6 +15373,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Tiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -16151,15 +15441,19 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).Tiles)[local251]).serialize(w)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).Tiles)[local241]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
-               for local252 := range (*(*(struct {
+               for local242 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -16221,6 +15515,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).OverlayTiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -16285,22 +15583,26 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).OverlayTiles)[local252]).serialize(w)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).OverlayTiles)[local242]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
                {
-                       local253 := uint8(6)
+                       local243 := uint8(6)
                        {
-                               x := local253
+                               x := local243
                                write8(w, uint8(x))
                        }
                }
-               for local254 := range (*(*(struct {
+               for local244 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -16362,6 +15664,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).SpecialTiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -16426,12 +15732,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).SpecialTiles)[local254]).serialize(w)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).SpecialTiles)[local244]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
                {
@@ -16497,6 +15807,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Color
                        w.Write([]byte{x.A, x.R, x.G, x.B})
                }
@@ -16563,12 +15877,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).Palette).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Palette).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -16633,12 +15951,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).Waving).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Waving).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.WaveType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.WaveType", err))
                }
                {
                        x := (*(*(struct {
@@ -16703,6 +16025,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).ConnectSides
                        write8(w, uint8(x))
                }
@@ -16768,6 +16094,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).ConnectTo)) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -16834,10 +16164,14 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).ConnectTo)))
                        write16(w, uint16(x))
                }
-               for local255 := range (*(*(struct {
+               for local245 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -16899,6 +16233,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).ConnectTo {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -16963,12 +16301,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).ConnectTo)[local255]).serialize(w)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).ConnectTo)[local245]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
                        }
                }
                {
@@ -17034,144 +16376,12 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).InsideTint
-                       w.Write([]byte{x.A, x.R, x.G, x.B})
-               }
-               {
-                       x := (*(*(struct {
-                               Param0 Content
-
-                               Name   string
-                               Groups []Group
-
-                               P1Type   Param1Type
-                               P2Type   Param2Type
-                               DrawType DrawType
-
-                               Mesh  string
-                               Scale float32
-                               //mt:const uint8(6)
-                               Tiles        [6]TileDef
-                               OverlayTiles [6]TileDef
-                               //mt:const uint8(6)
-                               SpecialTiles [6]TileDef
-
-                               Color   color.NRGBA
-                               Palette Texture
-
-                               Waving       WaveType
-                               ConnectSides uint8
-                               ConnectTo    []Content
-                               InsideTint   color.NRGBA
-                               Level        uint8 // Must be < 128.
-
-                               Translucent bool // Sunlight is scattered and becomes normal light.
-                               Transparent bool // Sunlight isn't scattered.
-                               LightSrc    uint8
-
-                               GndContent   bool
-                               Collides     bool
-                               Pointable    bool
-                               Diggable     bool
-                               Climbable    bool
-                               Replaceable  bool
-                               OnRightClick bool
-
-                               DmgPerSec int32
-
-                               LiquidType   LiquidType
-                               FlowingAlt   string
-                               SrcAlt       string
-                               Viscosity    uint8 // 0-7
-                               LiqRenewable bool
-                               FlowRange    uint8
-                               DrownDmg     uint8
-                               Floodable    bool
-
-                               DrawBox, ColBox, SelBox NodeBox
-
-                               FootstepSnd, DiggingSnd, DugSnd SoundDef
-
-                               LegacyFaceDir bool
-                               LegacyMounted bool
-
-                               DigPredict string
-
-                               MaxLvl uint8
-
-                               AlphaUse
-                       }))(obj)).Level
-                       write8(w, uint8(x))
-               }
-               {
-                       x := (*(*(struct {
-                               Param0 Content
-
-                               Name   string
-                               Groups []Group
-
-                               P1Type   Param1Type
-                               P2Type   Param2Type
-                               DrawType DrawType
 
-                               Mesh  string
-                               Scale float32
-                               //mt:const uint8(6)
-                               Tiles        [6]TileDef
-                               OverlayTiles [6]TileDef
-                               //mt:const uint8(6)
-                               SpecialTiles [6]TileDef
+                               MoveResistance uint8
 
-                               Color   color.NRGBA
-                               Palette Texture
-
-                               Waving       WaveType
-                               ConnectSides uint8
-                               ConnectTo    []Content
-                               InsideTint   color.NRGBA
-                               Level        uint8 // Must be < 128.
-
-                               Translucent bool // Sunlight is scattered and becomes normal light.
-                               Transparent bool // Sunlight isn't scattered.
-                               LightSrc    uint8
-
-                               GndContent   bool
-                               Collides     bool
-                               Pointable    bool
-                               Diggable     bool
-                               Climbable    bool
-                               Replaceable  bool
-                               OnRightClick bool
-
-                               DmgPerSec int32
-
-                               LiquidType   LiquidType
-                               FlowingAlt   string
-                               SrcAlt       string
-                               Viscosity    uint8 // 0-7
-                               LiqRenewable bool
-                               FlowRange    uint8
-                               DrownDmg     uint8
-                               Floodable    bool
-
-                               DrawBox, ColBox, SelBox NodeBox
-
-                               FootstepSnd, DiggingSnd, DugSnd SoundDef
-
-                               LegacyFaceDir bool
-                               LegacyMounted bool
-
-                               DigPredict string
-
-                               MaxLvl uint8
-
-                               AlphaUse
-                       }))(obj)).Translucent
-                       if x {
-                               write8(w, 1)
-                       } else {
-                               write8(w, 0)
-                       }
+                               LiquidMovePhysics bool
+                       }))(obj)).InsideTint
+                       w.Write([]byte{x.A, x.R, x.G, x.B})
                }
                {
                        x := (*(*(struct {
@@ -17236,77 +16446,11 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).Transparent
-                       if x {
-                               write8(w, 1)
-                       } else {
-                               write8(w, 0)
-                       }
-               }
-               {
-                       x := (*(*(struct {
-                               Param0 Content
 
-                               Name   string
-                               Groups []Group
+                               MoveResistance uint8
 
-                               P1Type   Param1Type
-                               P2Type   Param2Type
-                               DrawType DrawType
-
-                               Mesh  string
-                               Scale float32
-                               //mt:const uint8(6)
-                               Tiles        [6]TileDef
-                               OverlayTiles [6]TileDef
-                               //mt:const uint8(6)
-                               SpecialTiles [6]TileDef
-
-                               Color   color.NRGBA
-                               Palette Texture
-
-                               Waving       WaveType
-                               ConnectSides uint8
-                               ConnectTo    []Content
-                               InsideTint   color.NRGBA
-                               Level        uint8 // Must be < 128.
-
-                               Translucent bool // Sunlight is scattered and becomes normal light.
-                               Transparent bool // Sunlight isn't scattered.
-                               LightSrc    uint8
-
-                               GndContent   bool
-                               Collides     bool
-                               Pointable    bool
-                               Diggable     bool
-                               Climbable    bool
-                               Replaceable  bool
-                               OnRightClick bool
-
-                               DmgPerSec int32
-
-                               LiquidType   LiquidType
-                               FlowingAlt   string
-                               SrcAlt       string
-                               Viscosity    uint8 // 0-7
-                               LiqRenewable bool
-                               FlowRange    uint8
-                               DrownDmg     uint8
-                               Floodable    bool
-
-                               DrawBox, ColBox, SelBox NodeBox
-
-                               FootstepSnd, DiggingSnd, DugSnd SoundDef
-
-                               LegacyFaceDir bool
-                               LegacyMounted bool
-
-                               DigPredict string
-
-                               MaxLvl uint8
-
-                               AlphaUse
-                       }))(obj)).LightSrc
+                               LiquidMovePhysics bool
+                       }))(obj)).Level
                        write8(w, uint8(x))
                }
                {
@@ -17372,6 +16516,228 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Translucent
+                       if x {
+                               write8(w, 1)
+                       } else {
+                               write8(w, 0)
+                       }
+               }
+               {
+                       x := (*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Transparent
+                       if x {
+                               write8(w, 1)
+                       } else {
+                               write8(w, 0)
+                       }
+               }
+               {
+                       x := (*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).LightSrc
+                       write8(w, uint8(x))
+               }
+               {
+                       x := (*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).GndContent
                        if x {
                                write8(w, 1)
@@ -17442,6 +16808,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Collides
                        if x {
                                write8(w, 1)
@@ -17512,6 +16882,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Pointable
                        if x {
                                write8(w, 1)
@@ -17582,6 +16956,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Diggable
                        if x {
                                write8(w, 1)
@@ -17652,6 +17030,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Climbable
                        if x {
                                write8(w, 1)
@@ -17722,6 +17104,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Replaceable
                        if x {
                                write8(w, 1)
@@ -17792,6 +17178,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).OnRightClick
                        if x {
                                write8(w, 1)
@@ -17862,6 +17252,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DmgPerSec
                        write32(w, uint32(x))
                }
@@ -17928,12 +17322,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).LiquidType).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).LiquidType).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LiquidType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.LiquidType", err))
                }
                if len(([]byte((*(*(struct {
                        Param0 Content
@@ -17997,6 +17395,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).FlowingAlt))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -18063,6 +17465,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).FlowingAlt))))
                        write16(w, uint16(x))
                }
@@ -18129,6 +17535,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).FlowingAlt))[:])
                        chk(err)
                }
@@ -18194,6 +17604,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).SrcAlt))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -18260,6 +17674,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).SrcAlt))))
                        write16(w, uint16(x))
                }
@@ -18326,6 +17744,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).SrcAlt))[:])
                        chk(err)
                }
@@ -18392,6 +17814,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Viscosity
                        write8(w, uint8(x))
                }
@@ -18458,6 +17884,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LiqRenewable
                        if x {
                                write8(w, 1)
@@ -18528,6 +17958,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).FlowRange
                        write8(w, uint8(x))
                }
@@ -18594,6 +18028,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DrownDmg
                        write8(w, uint8(x))
                }
@@ -18660,6 +18098,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Floodable
                        if x {
                                write8(w, 1)
@@ -18730,12 +18172,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DrawBox).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DrawBox).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -18800,12 +18246,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).ColBox).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).ColBox).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -18870,12 +18320,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).SelBox).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).SelBox).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -18940,12 +18394,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).FootstepSnd).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).FootstepSnd).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -19010,12 +18468,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DiggingSnd).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DiggingSnd).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -19080,12 +18542,16 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DugSnd).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DugSnd).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                {
                        x := (*(*(struct {
@@ -19150,6 +18616,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LegacyFaceDir
                        if x {
                                write8(w, 1)
@@ -19220,6 +18690,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LegacyMounted
                        if x {
                                write8(w, 1)
@@ -19289,6 +18763,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).DigPredict))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -19355,6 +18833,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DigPredict))))
                        write16(w, uint16(x))
                }
@@ -19421,6 +18903,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DigPredict))[:])
                        chk(err)
                }
@@ -19487,6 +18973,10 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).MaxLvl
                        write8(w, uint8(x))
                }
@@ -19553,12 +19043,160 @@ func (obj *NodeDef) serialize(w io.Writer) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).AlphaUse).serialize(w)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).AlphaUse).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlphaUse", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AlphaUse", err))
+               }
+               {
+                       x := (*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).MoveResistance
+                       write8(w, uint8(x))
+               }
+               {
+                       x := (*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).LiquidMovePhysics
+                       if x {
+                               write8(w, 1)
+                       } else {
+                               write8(w, 0)
+                       }
                }
                {
                        buf := w
@@ -19578,7 +19216,7 @@ func (obj *NodeDef) serialize(w io.Writer) {
        }
 }
 
-func (obj *NodeDef) deserialize(r io.Reader) {
+func (obj *NodeDef) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param0 Content
@@ -19642,12 +19280,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).Param0).deserialize(r)
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).Param0).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                var n uint16
@@ -19655,26 +19297,27 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        p := &n
                        *p = read16(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
-                       var local256 uint8
+                       var local246 uint8
+                       local247 := uint8(13)
                        {
-                               p := &local256
+                               p := &local246
                                *p = read8(r)
                        }
-                       if local256 != (13) {
-                               chk(fmt.Errorf("const %v: %v", 13, local256))
+                       if local246 != local247 {
+                               chk(fmt.Errorf("const %v: %v", "uint8(13)", local246))
                        }
                }
-               var local257 []uint8
-               var local258 uint16
+               var local248 []uint8
+               var local249 uint16
                {
-                       p := &local258
+                       p := &local249
                        *p = read16(r)
                }
-               (local257) = make([]uint8, local258)
+               (local248) = make([]uint8, local249)
                {
-                       _, err := io.ReadFull(r, (local257)[:])
+                       _, err := io.ReadFull(r, (local248)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -19739,10 +19382,14 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).Name) = string(local257)
-               var local259 uint16
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).Name) = string(local248)
+               var local250 uint16
                {
-                       p := &local259
+                       p := &local250
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -19807,8 +19454,12 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).Groups) = make([]Group, local259)
-               for local260 := range (*(*(struct {
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).Groups) = make([]Group, local250)
+               for local251 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -19870,6 +19521,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Groups {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -19934,12 +19589,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).Groups)[local260]).deserialize(r)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).Groups)[local251]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                        }
                }
                if err := pcall(func() {
@@ -20005,12 +19664,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).P1Type).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).P1Type).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param1Type", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Param1Type", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -20075,12 +19738,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).P2Type).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).P2Type).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param2Type", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Param2Type", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -20145,22 +19812,26 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DrawType).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DrawType).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DrawType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DrawType", err))
                }
-               var local261 []uint8
-               var local262 uint16
+               var local252 []uint8
+               var local253 uint16
                {
-                       p := &local262
+                       p := &local253
                        *p = read16(r)
                }
-               (local261) = make([]uint8, local262)
+               (local252) = make([]uint8, local253)
                {
-                       _, err := io.ReadFull(r, (local261)[:])
+                       _, err := io.ReadFull(r, (local252)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -20225,7 +19896,11 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).Mesh) = string(local261)
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).Mesh) = string(local252)
                {
                        p := &(*(*(struct {
                                Param0 Content
@@ -20289,20 +19964,25 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Scale
                        *p = math.Float32frombits(read32(r))
                }
                {
-                       var local263 uint8
+                       var local254 uint8
+                       local255 := uint8(6)
                        {
-                               p := &local263
+                               p := &local254
                                *p = read8(r)
                        }
-                       if local263 != (6) {
-                               chk(fmt.Errorf("const %v: %v", 6, local263))
+                       if local254 != local255 {
+                               chk(fmt.Errorf("const %v: %v", "uint8(6)", local254))
                        }
                }
-               for local264 := range (*(*(struct {
+               for local256 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -20364,6 +20044,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).Tiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -20428,15 +20112,19 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).Tiles)[local264]).deserialize(r)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).Tiles)[local256]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
-               for local265 := range (*(*(struct {
+               for local257 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -20498,6 +20186,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).OverlayTiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -20562,25 +20254,30 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).OverlayTiles)[local265]).deserialize(r)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).OverlayTiles)[local257]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
                {
-                       var local266 uint8
+                       var local258 uint8
+                       local259 := uint8(6)
                        {
-                               p := &local266
+                               p := &local258
                                *p = read8(r)
                        }
-                       if local266 != (6) {
-                               chk(fmt.Errorf("const %v: %v", 6, local266))
+                       if local258 != local259 {
+                               chk(fmt.Errorf("const %v: %v", "uint8(6)", local258))
                        }
                }
-               for local267 := range (*(*(struct {
+               for local260 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -20642,6 +20339,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).SpecialTiles {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -20706,12 +20407,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).SpecialTiles)[local267]).deserialize(r)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).SpecialTiles)[local260]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileDef", err))
                        }
                }
                {
@@ -20777,6 +20482,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Color
                        *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
                }
@@ -20843,12 +20552,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).Palette).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Palette).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -20913,12 +20626,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).Waving).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).Waving).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.WaveType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.WaveType", err))
                }
                {
                        p := &(*(*(struct {
@@ -20983,12 +20700,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).ConnectSides
                        *p = read8(r)
                }
-               var local268 uint16
+               var local261 uint16
                {
-                       p := &local268
+                       p := &local261
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -21053,8 +20774,12 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).ConnectTo) = make([]Content, local268)
-               for local269 := range (*(*(struct {
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).ConnectTo) = make([]Content, local261)
+               for local262 := range (*(*(struct {
                        Param0 Content
 
                        Name   string
@@ -21116,6 +20841,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
                }))(obj)).ConnectTo {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -21180,12 +20909,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                        MaxLvl uint8
 
                                        AlphaUse
-                               }))(obj)).ConnectTo)[local269]).deserialize(r)
+
+                                       MoveResistance uint8
+
+                                       LiquidMovePhysics bool
+                               }))(obj)).ConnectTo)[local262]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
                        }
                }
                {
@@ -21251,6 +20984,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).InsideTint
                        *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
                }
@@ -21317,6 +21054,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Level
                        *p = read8(r)
                }
@@ -21383,6 +21124,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Translucent
                        switch n := read8(r); n {
                        case 0:
@@ -21456,6 +21201,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Transparent
                        switch n := read8(r); n {
                        case 0:
@@ -21529,6 +21278,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LightSrc
                        *p = read8(r)
                }
@@ -21595,6 +21348,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).GndContent
                        switch n := read8(r); n {
                        case 0:
@@ -21668,6 +21425,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Collides
                        switch n := read8(r); n {
                        case 0:
@@ -21741,6 +21502,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Pointable
                        switch n := read8(r); n {
                        case 0:
@@ -21814,6 +21579,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Diggable
                        switch n := read8(r); n {
                        case 0:
@@ -21887,6 +21656,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Climbable
                        switch n := read8(r); n {
                        case 0:
@@ -21960,6 +21733,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Replaceable
                        switch n := read8(r); n {
                        case 0:
@@ -22033,6 +21810,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).OnRightClick
                        switch n := read8(r); n {
                        case 0:
@@ -22106,6 +21887,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DmgPerSec
                        *p = int32(read32(r))
                }
@@ -22172,22 +21957,26 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).LiquidType).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).LiquidType).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LiquidType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.LiquidType", err))
                }
-               var local270 []uint8
-               var local271 uint16
+               var local263 []uint8
+               var local264 uint16
                {
-                       p := &local271
+                       p := &local264
                        *p = read16(r)
                }
-               (local270) = make([]uint8, local271)
+               (local263) = make([]uint8, local264)
                {
-                       _, err := io.ReadFull(r, (local270)[:])
+                       _, err := io.ReadFull(r, (local263)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -22252,16 +22041,20 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).FlowingAlt) = string(local270)
-               var local272 []uint8
-               var local273 uint16
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).FlowingAlt) = string(local263)
+               var local265 []uint8
+               var local266 uint16
                {
-                       p := &local273
+                       p := &local266
                        *p = read16(r)
                }
-               (local272) = make([]uint8, local273)
+               (local265) = make([]uint8, local266)
                {
-                       _, err := io.ReadFull(r, (local272)[:])
+                       _, err := io.ReadFull(r, (local265)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -22326,7 +22119,11 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).SrcAlt) = string(local272)
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).SrcAlt) = string(local265)
                {
                        p := &(*(*(struct {
                                Param0 Content
@@ -22390,6 +22187,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Viscosity
                        *p = read8(r)
                }
@@ -22456,6 +22257,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LiqRenewable
                        switch n := read8(r); n {
                        case 0:
@@ -22529,6 +22334,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).FlowRange
                        *p = read8(r)
                }
@@ -22595,6 +22404,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).DrownDmg
                        *p = read8(r)
                }
@@ -22661,6 +22474,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).Floodable
                        switch n := read8(r); n {
                        case 0:
@@ -22734,12 +22551,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DrawBox).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DrawBox).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -22804,12 +22625,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).ColBox).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).ColBox).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -22874,12 +22699,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).SelBox).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).SelBox).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBox", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -22944,12 +22773,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).FootstepSnd).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).FootstepSnd).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -23014,12 +22847,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DiggingSnd).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DiggingSnd).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -23084,12 +22921,16 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).DugSnd).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).DugSnd).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                {
                        p := &(*(*(struct {
@@ -23154,6 +22995,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LegacyFaceDir
                        switch n := read8(r); n {
                        case 0:
@@ -23227,6 +23072,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).LegacyMounted
                        switch n := read8(r); n {
                        case 0:
@@ -23237,15 +23086,15 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                chk(fmt.Errorf("invalid bool: %d", n))
                        }
                }
-               var local274 []uint8
-               var local275 uint16
+               var local267 []uint8
+               var local268 uint16
                {
-                       p := &local275
+                       p := &local268
                        *p = read16(r)
                }
-               (local274) = make([]uint8, local275)
+               (local267) = make([]uint8, local268)
                {
-                       _, err := io.ReadFull(r, (local274)[:])
+                       _, err := io.ReadFull(r, (local267)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -23310,7 +23159,11 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                        MaxLvl uint8
 
                        AlphaUse
-               }))(obj)).DigPredict) = string(local274)
+
+                       MoveResistance uint8
+
+                       LiquidMovePhysics bool
+               }))(obj)).DigPredict) = string(local267)
                {
                        p := &(*(*(struct {
                                Param0 Content
@@ -23374,6 +23227,10 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
                        }))(obj)).MaxLvl
                        *p = read8(r)
                }
@@ -23440,12 +23297,163 @@ func (obj *NodeDef) deserialize(r io.Reader) {
                                MaxLvl uint8
 
                                AlphaUse
-                       }))(obj)).AlphaUse).deserialize(r)
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).AlphaUse).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlphaUse", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AlphaUse", err))
+               }
+               {
+                       p := &(*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).MoveResistance
+                       *p = read8(r)
+               }
+               {
+                       p := &(*(*(struct {
+                               Param0 Content
+
+                               Name   string
+                               Groups []Group
+
+                               P1Type   Param1Type
+                               P2Type   Param2Type
+                               DrawType DrawType
+
+                               Mesh  string
+                               Scale float32
+                               //mt:const uint8(6)
+                               Tiles        [6]TileDef
+                               OverlayTiles [6]TileDef
+                               //mt:const uint8(6)
+                               SpecialTiles [6]TileDef
+
+                               Color   color.NRGBA
+                               Palette Texture
+
+                               Waving       WaveType
+                               ConnectSides uint8
+                               ConnectTo    []Content
+                               InsideTint   color.NRGBA
+                               Level        uint8 // Must be < 128.
+
+                               Translucent bool // Sunlight is scattered and becomes normal light.
+                               Transparent bool // Sunlight isn't scattered.
+                               LightSrc    uint8
+
+                               GndContent   bool
+                               Collides     bool
+                               Pointable    bool
+                               Diggable     bool
+                               Climbable    bool
+                               Replaceable  bool
+                               OnRightClick bool
+
+                               DmgPerSec int32
+
+                               LiquidType   LiquidType
+                               FlowingAlt   string
+                               SrcAlt       string
+                               Viscosity    uint8 // 0-7
+                               LiqRenewable bool
+                               FlowRange    uint8
+                               DrownDmg     uint8
+                               Floodable    bool
+
+                               DrawBox, ColBox, SelBox NodeBox
+
+                               FootstepSnd, DiggingSnd, DugSnd SoundDef
+
+                               LegacyFaceDir bool
+                               LegacyMounted bool
+
+                               DigPredict string
+
+                               MaxLvl uint8
+
+                               AlphaUse
+
+                               MoveResistance uint8
+
+                               LiquidMovePhysics bool
+                       }))(obj)).LiquidMovePhysics
+                       switch n := read8(r); n {
+                       case 0:
+                               *p = false
+                       case 1:
+                               *p = true
+                       default:
+                               chk(fmt.Errorf("invalid bool: %d", n))
+                       }
                }
                if r.N > 0 {
                        chk(fmt.Errorf("%d bytes of trailing data", r.N))
@@ -23453,94 +23461,94 @@ func (obj *NodeDef) deserialize(r io.Reader) {
        }
 }
 
-func (obj *PointedNode) serialize(w io.Writer) {
-       for local276 := range (*(*(struct {
+func (obj *PointedNode) Serialize(w io.Writer) {
+       for local269 := range (*(*(struct {
                Under, Above [3]int16
        }))(obj)).Under {
                {
                        x := ((*(*(struct {
                                Under, Above [3]int16
-                       }))(obj)).Under)[local276]
+                       }))(obj)).Under)[local269]
                        write16(w, uint16(x))
                }
        }
-       for local277 := range (*(*(struct {
+       for local270 := range (*(*(struct {
                Under, Above [3]int16
        }))(obj)).Above {
                {
                        x := ((*(*(struct {
                                Under, Above [3]int16
-                       }))(obj)).Above)[local277]
+                       }))(obj)).Above)[local270]
                        write16(w, uint16(x))
                }
        }
 }
 
-func (obj *PointedNode) deserialize(r io.Reader) {
-       for local278 := range (*(*(struct {
+func (obj *PointedNode) Deserialize(r io.Reader) {
+       for local271 := range (*(*(struct {
                Under, Above [3]int16
        }))(obj)).Under {
                {
                        p := &((*(*(struct {
                                Under, Above [3]int16
-                       }))(obj)).Under)[local278]
+                       }))(obj)).Under)[local271]
                        *p = int16(read16(r))
                }
        }
-       for local279 := range (*(*(struct {
+       for local272 := range (*(*(struct {
                Under, Above [3]int16
        }))(obj)).Above {
                {
                        p := &((*(*(struct {
                                Under, Above [3]int16
-                       }))(obj)).Above)[local279]
+                       }))(obj)).Above)[local272]
                        *p = int16(read16(r))
                }
        }
 }
 
-func (obj *PointedAO) serialize(w io.Writer) {
+func (obj *PointedAO) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
 }
 
-func (obj *PointedAO) deserialize(r io.Reader) {
+func (obj *PointedAO) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
 }
 
-func (obj *CompressionModes) serialize(w io.Writer) {
+func (obj *CompressionModes) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *CompressionModes) deserialize(r io.Reader) {
+func (obj *CompressionModes) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *PlayerPos) serialize(w io.Writer) {
-       for local280 := range (*(*(struct {
+func (obj *PlayerPos) Serialize(w io.Writer) {
+       for local273 := range (*(*(struct {
                Pos100, Vel100   [3]int32
                Pitch100, Yaw100 int32
                Keys             Keys
@@ -23554,11 +23562,11 @@ func (obj *PlayerPos) serialize(w io.Writer) {
                                Keys             Keys
                                FOV80            uint8
                                WantedRange      uint8 // in MapBlks.
-                       }))(obj)).Pos100)[local280]
+                       }))(obj)).Pos100)[local273]
                        write32(w, uint32(x))
                }
        }
-       for local281 := range (*(*(struct {
+       for local274 := range (*(*(struct {
                Pos100, Vel100   [3]int32
                Pitch100, Yaw100 int32
                Keys             Keys
@@ -23572,7 +23580,7 @@ func (obj *PlayerPos) serialize(w io.Writer) {
                                Keys             Keys
                                FOV80            uint8
                                WantedRange      uint8 // in MapBlks.
-                       }))(obj)).Vel100)[local281]
+                       }))(obj)).Vel100)[local274]
                        write32(w, uint32(x))
                }
        }
@@ -23603,12 +23611,12 @@ func (obj *PlayerPos) serialize(w io.Writer) {
                        Keys             Keys
                        FOV80            uint8
                        WantedRange      uint8 // in MapBlks.
-               }))(obj)).Keys).serialize(w)
+               }))(obj)).Keys).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Keys", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Keys", err))
        }
        {
                x := (*(*(struct {
@@ -23632,8 +23640,8 @@ func (obj *PlayerPos) serialize(w io.Writer) {
        }
 }
 
-func (obj *PlayerPos) deserialize(r io.Reader) {
-       for local282 := range (*(*(struct {
+func (obj *PlayerPos) Deserialize(r io.Reader) {
+       for local275 := range (*(*(struct {
                Pos100, Vel100   [3]int32
                Pitch100, Yaw100 int32
                Keys             Keys
@@ -23647,11 +23655,11 @@ func (obj *PlayerPos) deserialize(r io.Reader) {
                                Keys             Keys
                                FOV80            uint8
                                WantedRange      uint8 // in MapBlks.
-                       }))(obj)).Pos100)[local282]
+                       }))(obj)).Pos100)[local275]
                        *p = int32(read32(r))
                }
        }
-       for local283 := range (*(*(struct {
+       for local276 := range (*(*(struct {
                Pos100, Vel100   [3]int32
                Pitch100, Yaw100 int32
                Keys             Keys
@@ -23665,7 +23673,7 @@ func (obj *PlayerPos) deserialize(r io.Reader) {
                                Keys             Keys
                                FOV80            uint8
                                WantedRange      uint8 // in MapBlks.
-                       }))(obj)).Vel100)[local283]
+                       }))(obj)).Vel100)[local276]
                        *p = int32(read32(r))
                }
        }
@@ -23696,12 +23704,12 @@ func (obj *PlayerPos) deserialize(r io.Reader) {
                        Keys             Keys
                        FOV80            uint8
                        WantedRange      uint8 // in MapBlks.
-               }))(obj)).Keys).deserialize(r)
+               }))(obj)).Keys).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Keys", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Keys", err))
        }
        {
                p := &(*(*(struct {
@@ -23725,35 +23733,35 @@ func (obj *PlayerPos) deserialize(r io.Reader) {
        }
 }
 
-func (obj *Interaction) serialize(w io.Writer) {
+func (obj *Interaction) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *Interaction) deserialize(r io.Reader) {
+func (obj *Interaction) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *SoundID) serialize(w io.Writer) {
+func (obj *SoundID) Serialize(w io.Writer) {
        {
                x := *(*(int32))(obj)
                write32(w, uint32(x))
        }
 }
 
-func (obj *SoundID) deserialize(r io.Reader) {
+func (obj *SoundID) Deserialize(r io.Reader) {
        {
                p := &*(*(int32))(obj)
                *p = int32(read32(r))
        }
 }
 
-func (obj *Field) serialize(w io.Writer) {
+func (obj *Field) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Name string
 
@@ -23808,16 +23816,16 @@ func (obj *Field) serialize(w io.Writer) {
        }
 }
 
-func (obj *Field) deserialize(r io.Reader) {
-       var local284 []uint8
-       var local285 uint16
+func (obj *Field) Deserialize(r io.Reader) {
+       var local277 []uint8
+       var local278 uint16
        {
-               p := &local285
+               p := &local278
                *p = read16(r)
        }
-       (local284) = make([]uint8, local285)
+       (local277) = make([]uint8, local278)
        {
-               _, err := io.ReadFull(r, (local284)[:])
+               _, err := io.ReadFull(r, (local277)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -23825,16 +23833,16 @@ func (obj *Field) deserialize(r io.Reader) {
 
                //mt:len32
                Value string
-       }))(obj)).Name) = string(local284)
-       var local286 []uint8
-       var local287 uint32
+       }))(obj)).Name) = string(local277)
+       var local279 []uint8
+       var local280 uint32
        {
-               p := &local287
+               p := &local280
                *p = read32(r)
        }
-       (local286) = make([]uint8, local287)
+       (local279) = make([]uint8, local280)
        {
-               _, err := io.ReadFull(r, (local286)[:])
+               _, err := io.ReadFull(r, (local279)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -23842,178 +23850,167 @@ func (obj *Field) deserialize(r io.Reader) {
 
                //mt:len32
                Value string
-       }))(obj)).Value) = string(local286)
+       }))(obj)).Value) = string(local279)
 }
 
-func (obj *AuthMethods) serialize(w io.Writer) {
+func (obj *AuthMethods) Serialize(w io.Writer) {
        {
                x := *(*(uint32))(obj)
                write32(w, uint32(x))
        }
 }
 
-func (obj *AuthMethods) deserialize(r io.Reader) {
+func (obj *AuthMethods) Deserialize(r io.Reader) {
        {
                p := &*(*(uint32))(obj)
                *p = read32(r)
        }
 }
 
-func (obj *Pos) serialize(w io.Writer) {
+func (obj *Pos) Serialize(w io.Writer) {
        if err := pcall(func() {
-               (*(*(Vec))(obj)).serialize(w)
+               (*(*(Vec))(obj)).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *Pos) deserialize(r io.Reader) {
+func (obj *Pos) Deserialize(r io.Reader) {
        if err := pcall(func() {
-               (*(*(Vec))(obj)).deserialize(r)
+               (*(*(Vec))(obj)).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
 }
 
-func (obj *DiscoReason) serialize(w io.Writer) {
+func (obj *KickReason) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *DiscoReason) deserialize(r io.Reader) {
+func (obj *KickReason) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *MapBlk) serialize(w io.Writer) {
+func (obj *MapBlk) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
 
                        NodeMetas map[uint16]*NodeMeta
-               }))(obj)).Flags).serialize(w)
+               }))(obj)).Flags).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlkFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MapBlkFlags", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
 
                        NodeMetas map[uint16]*NodeMeta
-               }))(obj)).LitFrom).serialize(w)
+               }))(obj)).LitFrom).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LitFromBlks", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.LitFromBlks", err))
        }
        {
-               local288 := uint8(2) // Size of param0 in bytes.
+               local281 := uint8(2) // Size of param0 in bytes.
                {
-                       x := local288
+                       x := local281
                        write8(w, uint8(x))
                }
        }
        {
-               local289 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes.
+               local282 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes.
                {
-                       x := local289
+                       x := local282
                        write8(w, uint8(x))
                }
        }
-       {
-               w := zlib.NewWriter(w)
-               for local290 := range (*(*(struct {
-                       Flags   MapBlkFlags
-                       LitFrom LitFromBlks
-
-                       //mt:zlib
-                       Param0 [4096]Content
-                       Param1 [4096]uint8
-                       Param2 [4096]uint8
-
-                       NodeMetas map[uint16]*NodeMeta
-               }))(obj)).Param0 {
-                       if err := pcall(func() {
-                               (((*(*(struct {
-                                       Flags   MapBlkFlags
-                                       LitFrom LitFromBlks
+       for local283 := range (*(*(struct {
+               Flags   MapBlkFlags
+               LitFrom LitFromBlks
 
-                                       //mt:zlib
-                                       Param0 [4096]Content
-                                       Param1 [4096]uint8
-                                       Param2 [4096]uint8
+               Param0 [4096]Content
+               Param1 [4096]uint8
+               Param2 [4096]uint8
 
-                                       NodeMetas map[uint16]*NodeMeta
-                               }))(obj)).Param0)[local290]).serialize(w)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
-                       }
-               }
-               {
-                       _, err := w.Write(((*(*(struct {
+               NodeMetas map[uint16]*NodeMeta
+       }))(obj)).Param0 {
+               if err := pcall(func() {
+                       (((*(*(struct {
                                Flags   MapBlkFlags
                                LitFrom LitFromBlks
 
-                               //mt:zlib
                                Param0 [4096]Content
                                Param1 [4096]uint8
                                Param2 [4096]uint8
 
                                NodeMetas map[uint16]*NodeMeta
-                       }))(obj)).Param1)[:])
-                       chk(err)
+                       }))(obj)).Param0)[local283]).Serialize(w)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
                }
-               {
-                       _, err := w.Write(((*(*(struct {
-                               Flags   MapBlkFlags
-                               LitFrom LitFromBlks
+       }
+       {
+               _, err := w.Write(((*(*(struct {
+                       Flags   MapBlkFlags
+                       LitFrom LitFromBlks
 
-                               //mt:zlib
-                               Param0 [4096]Content
-                               Param1 [4096]uint8
-                               Param2 [4096]uint8
+                       Param0 [4096]Content
+                       Param1 [4096]uint8
+                       Param2 [4096]uint8
 
-                               NodeMetas map[uint16]*NodeMeta
-                       }))(obj)).Param2)[:])
-                       chk(err)
-               }
-               chk(w.Close())
+                       NodeMetas map[uint16]*NodeMeta
+               }))(obj)).Param1)[:])
+               chk(err)
+       }
+       {
+               _, err := w.Write(((*(*(struct {
+                       Flags   MapBlkFlags
+                       LitFrom LitFromBlks
+
+                       Param0 [4096]Content
+                       Param1 [4096]uint8
+                       Param2 [4096]uint8
+
+                       NodeMetas map[uint16]*NodeMeta
+               }))(obj)).Param2)[:])
+               chk(err)
        }
        {
                x := (*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
@@ -24021,14 +24018,11 @@ func (obj *MapBlk) serialize(w io.Writer) {
                        NodeMetas map[uint16]*NodeMeta
                }))(obj)).NodeMetas
                {
-                       w := zlib.NewWriter(w)
                        if x == nil {
                                write8(w, 0)
                        } else {
                                write8(w, 2)
-                               if len(x) > math.MaxUint16 {
-                                       chk(ErrTooLong)
-                               }
+                               // len(map[uint16]...) always < math.MaxUint16
                                write16(w, uint16(len(x)))
                                keys := make([]uint16, 0, len(x))
                                for key := range x {
@@ -24054,144 +24048,126 @@ func (obj *MapBlk) serialize(w io.Writer) {
                                        chk(serialize(w, x[key]))
                                }
                        }
-                       chk(w.Close())
-               }
-       }
-       {
-               local291 := uint8(2) // version
-               {
-                       x := local291
-                       write8(w, uint8(x))
                }
        }
 }
 
-func (obj *MapBlk) deserialize(r io.Reader) {
+func (obj *MapBlk) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
 
                        NodeMetas map[uint16]*NodeMeta
-               }))(obj)).Flags).deserialize(r)
+               }))(obj)).Flags).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlkFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.MapBlkFlags", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
 
                        NodeMetas map[uint16]*NodeMeta
-               }))(obj)).LitFrom).deserialize(r)
+               }))(obj)).LitFrom).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LitFromBlks", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.LitFromBlks", err))
        }
        {
-               var local292 uint8
+               var local284 uint8
+               local285 := uint8(2) // Size of param0 in bytes.
                {
-                       p := &local292
+                       p := &local284
                        *p = read8(r)
                }
-               if local292 != (2) {
-                       chk(fmt.Errorf("const %v: %v", 2, local292))
+               if local284 != local285 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(2)     // Size of param0 in bytes.", local284))
                }
        }
        {
-               var local293 uint8
+               var local286 uint8
+               local287 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes.
                {
-                       p := &local293
+                       p := &local286
                        *p = read8(r)
                }
-               if local293 != (2) {
-                       chk(fmt.Errorf("const %v: %v", 2, local293))
+               if local286 != local287 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(1 + 1) // Size of param1 and param2 combined, in bytes.", local286))
                }
        }
-       {
-               r, err := zlib.NewReader(byteReader{r})
-               chk(err)
-               for local294 := range (*(*(struct {
-                       Flags   MapBlkFlags
-                       LitFrom LitFromBlks
+       for local288 := range (*(*(struct {
+               Flags   MapBlkFlags
+               LitFrom LitFromBlks
 
-                       //mt:zlib
-                       Param0 [4096]Content
-                       Param1 [4096]uint8
-                       Param2 [4096]uint8
+               Param0 [4096]Content
+               Param1 [4096]uint8
+               Param2 [4096]uint8
 
-                       NodeMetas map[uint16]*NodeMeta
-               }))(obj)).Param0 {
-                       if err := pcall(func() {
-                               (((*(*(struct {
-                                       Flags   MapBlkFlags
-                                       LitFrom LitFromBlks
-
-                                       //mt:zlib
-                                       Param0 [4096]Content
-                                       Param1 [4096]uint8
-                                       Param2 [4096]uint8
-
-                                       NodeMetas map[uint16]*NodeMeta
-                               }))(obj)).Param0)[local294]).deserialize(r)
-                       }); err != nil {
-                               if err == io.EOF {
-                                       chk(io.EOF)
-                               }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
-                       }
-               }
-               {
-                       _, err := io.ReadFull(r, ((*(*(struct {
+               NodeMetas map[uint16]*NodeMeta
+       }))(obj)).Param0 {
+               if err := pcall(func() {
+                       (((*(*(struct {
                                Flags   MapBlkFlags
                                LitFrom LitFromBlks
 
-                               //mt:zlib
                                Param0 [4096]Content
                                Param1 [4096]uint8
                                Param2 [4096]uint8
 
                                NodeMetas map[uint16]*NodeMeta
-                       }))(obj)).Param1)[:])
-                       chk(err)
+                       }))(obj)).Param0)[local288]).Deserialize(r)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
                }
-               {
-                       _, err := io.ReadFull(r, ((*(*(struct {
-                               Flags   MapBlkFlags
-                               LitFrom LitFromBlks
+       }
+       {
+               _, err := io.ReadFull(r, ((*(*(struct {
+                       Flags   MapBlkFlags
+                       LitFrom LitFromBlks
 
-                               //mt:zlib
-                               Param0 [4096]Content
-                               Param1 [4096]uint8
-                               Param2 [4096]uint8
+                       Param0 [4096]Content
+                       Param1 [4096]uint8
+                       Param2 [4096]uint8
 
-                               NodeMetas map[uint16]*NodeMeta
-                       }))(obj)).Param2)[:])
-                       chk(err)
-               }
-               chk(r.Close())
+                       NodeMetas map[uint16]*NodeMeta
+               }))(obj)).Param1)[:])
+               chk(err)
+       }
+       {
+               _, err := io.ReadFull(r, ((*(*(struct {
+                       Flags   MapBlkFlags
+                       LitFrom LitFromBlks
+
+                       Param0 [4096]Content
+                       Param1 [4096]uint8
+                       Param2 [4096]uint8
+
+                       NodeMetas map[uint16]*NodeMeta
+               }))(obj)).Param2)[:])
+               chk(err)
        }
        {
                p := &(*(*(struct {
                        Flags   MapBlkFlags
                        LitFrom LitFromBlks
 
-                       //mt:zlib
                        Param0 [4096]Content
                        Param1 [4096]uint8
                        Param2 [4096]uint8
@@ -24199,8 +24175,6 @@ func (obj *MapBlk) deserialize(r io.Reader) {
                        NodeMetas map[uint16]*NodeMeta
                }))(obj)).NodeMetas
                {
-                       r, err := zlib.NewReader(byteReader{r})
-                       chk(err)
                        switch ver := read8(r); ver {
                        case 0:
                                *p = nil
@@ -24216,32 +24190,21 @@ func (obj *MapBlk) deserialize(r io.Reader) {
                        default:
                                chk(fmt.Errorf("unsupported nodemetas version: %d", ver))
                        }
-                       chk(r.Close())
-               }
-       }
-       {
-               var local295 uint8
-               {
-                       p := &local295
-                       *p = read8(r)
-               }
-               if local295 != (2) {
-                       chk(fmt.Errorf("const %v: %v", 2, local295))
                }
        }
 }
 
-func (obj *Node) serialize(w io.Writer) {
+func (obj *Node) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param0         Content
                        Param1, Param2 uint8
-               }))(obj)).Param0).serialize(w)
+               }))(obj)).Param0).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                x := (*(*(struct {
@@ -24259,17 +24222,17 @@ func (obj *Node) serialize(w io.Writer) {
        }
 }
 
-func (obj *Node) deserialize(r io.Reader) {
+func (obj *Node) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Param0         Content
                        Param1, Param2 uint8
-               }))(obj)).Param0).deserialize(r)
+               }))(obj)).Param0).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Content", err))
        }
        {
                p := &(*(*(struct {
@@ -24287,513 +24250,192 @@ func (obj *Node) deserialize(r io.Reader) {
        }
 }
 
-func (obj *CSMRestrictionFlags) serialize(w io.Writer) {
+func (obj *CSMRestrictionFlags) Serialize(w io.Writer) {
        {
                x := *(*(uint64))(obj)
                write64(w, uint64(x))
        }
 }
 
-func (obj *CSMRestrictionFlags) deserialize(r io.Reader) {
+func (obj *CSMRestrictionFlags) Deserialize(r io.Reader) {
        {
                p := &*(*(uint64))(obj)
                *p = read64(r)
        }
 }
 
-func (obj *Vec) serialize(w io.Writer) {
-       for local296 := range *(*([3]float32))(obj) {
+func (obj *Vec) Serialize(w io.Writer) {
+       for local289 := range *(*([3]float32))(obj) {
                {
-                       x := (*(*([3]float32))(obj))[local296]
+                       x := (*(*([3]float32))(obj))[local289]
                        write32(w, math.Float32bits(x))
                }
        }
 }
 
-func (obj *Vec) deserialize(r io.Reader) {
-       for local297 := range *(*([3]float32))(obj) {
+func (obj *Vec) Deserialize(r io.Reader) {
+       for local290 := range *(*([3]float32))(obj) {
                {
-                       p := &(*(*([3]float32))(obj))[local297]
+                       p := &(*(*([3]float32))(obj))[local290]
                        *p = math.Float32frombits(read32(r))
                }
        }
 }
 
-func (obj *ChatMsgType) serialize(w io.Writer) {
+func (obj *ChatMsgType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *ChatMsgType) deserialize(r io.Reader) {
+func (obj *ChatMsgType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *AOID) serialize(w io.Writer) {
+func (obj *AOID) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *AOID) deserialize(r io.Reader) {
+func (obj *AOID) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *aoType) serialize(w io.Writer) {
-       {
-               x := *(*(uint8))(obj)
-               write8(w, uint8(x))
-       }
-}
-
-func (obj *aoType) deserialize(r io.Reader) {
-       {
-               p := &*(*(uint8))(obj)
-               *p = read8(r)
-       }
-}
-
-func (obj *AOInitData) serialize(w io.Writer) {
-       {
-               local298 := uint8(1)
-               {
-                       x := local298
-                       write8(w, uint8(x))
-               }
-       }
-       if len(([]byte((*(*(struct {
-
-               // For players.
-               Name     string
-               IsPlayer bool
-
-               ID AOID
-
-               Pos
-               Rot [3]float32
-
-               HP uint16
-
-               // See (de)serialize.fmt.
-               Msgs []AOMsg
-       }))(obj)).Name))) > math.MaxUint16 {
-               chk(ErrTooLong)
-       }
-       {
-               x := uint16(len(([]byte((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Name))))
-               write16(w, uint16(x))
-       }
-       {
-               _, err := w.Write(([]byte((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Name))[:])
-               chk(err)
-       }
-       {
-               x := (*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).IsPlayer
-               if x {
-                       write8(w, 1)
-               } else {
-                       write8(w, 0)
-               }
-       }
+func (obj *AOAdd) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
                        ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).ID).serialize(w)
+                       //mt:const genericCAO
+                       //mt:lenhdr 32
+                       InitData AOInitData
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
-       if err := pcall(func() {
-               ((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Pos).serialize(w)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
+       {
+               local291 := genericCAO
+               if err := pcall(func() {
+                       (local291).Serialize(w)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.aoType", err))
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
        }
-       for local299 := range (*(*(struct {
-
-               // For players.
-               Name     string
-               IsPlayer bool
-
-               ID AOID
-
-               Pos
-               Rot [3]float32
-
-               HP uint16
-
-               // See (de)serialize.fmt.
-               Msgs []AOMsg
-       }))(obj)).Rot {
-               {
-                       x := ((*(*(struct {
-
-                               // For players.
-                               Name     string
-                               IsPlayer bool
-
+       {
+               ow := w
+               w := new(bytes.Buffer)
+               if err := pcall(func() {
+                       ((*(*(struct {
                                ID AOID
-
-                               Pos
-                               Rot [3]float32
-
-                               HP uint16
-
-                               // See (de)serialize.fmt.
-                               Msgs []AOMsg
-                       }))(obj)).Rot)[local299]
-                       write32(w, math.Float32bits(x))
+                               //mt:const genericCAO
+                               //mt:lenhdr 32
+                               InitData AOInitData
+                       }))(obj)).InitData).Serialize(w)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOInitData", err))
                }
-       }
-       {
-               x := (*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).HP
-               write16(w, uint16(x))
-       }
-       {
-               x := (*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Msgs
-               { // For AOInitData.Msgs.
-                       if len(x) > math.MaxUint8 {
+               {
+                       buf := w
+                       w := ow
+                       if len((buf.Bytes())) > math.MaxUint32 {
                                chk(ErrTooLong)
                        }
-                       write8(w, uint8(len(x)))
-                       for _, msg := range x {
-                               var b bytes.Buffer
-                               chk(writeAOMsg(&b, msg))
-                               if b.Len() > math.MaxUint32 {
-                                       chk(ErrTooLong)
-                               }
-                               write32(w, uint32(b.Len()))
-                               _, err := b.WriteTo(w)
+                       {
+                               x := uint32(len((buf.Bytes())))
+                               write32(w, uint32(x))
+                       }
+                       {
+                               _, err := w.Write((buf.Bytes())[:])
                                chk(err)
                        }
                }
        }
 }
 
-func (obj *AOInitData) deserialize(r io.Reader) {
-       {
-               var local300 uint8
-               {
-                       p := &local300
-                       *p = read8(r)
-               }
-               if local300 != (1) {
-                       chk(fmt.Errorf("const %v: %v", 1, local300))
-               }
-       }
-       var local301 []uint8
-       var local302 uint16
-       {
-               p := &local302
-               *p = read16(r)
-       }
-       (local301) = make([]uint8, local302)
-       {
-               _, err := io.ReadFull(r, (local301)[:])
-               chk(err)
-       }
-       ((*(*(struct {
-
-               // For players.
-               Name     string
-               IsPlayer bool
-
-               ID AOID
-
-               Pos
-               Rot [3]float32
-
-               HP uint16
-
-               // See (de)serialize.fmt.
-               Msgs []AOMsg
-       }))(obj)).Name) = string(local301)
-       {
-               p := &(*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).IsPlayer
-               switch n := read8(r); n {
-               case 0:
-                       *p = false
-               case 1:
-                       *p = true
-               default:
-                       chk(fmt.Errorf("invalid bool: %d", n))
-               }
-       }
+func (obj *AOAdd) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
                        ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).ID).deserialize(r)
+                       //mt:const genericCAO
+                       //mt:lenhdr 32
+                       InitData AOInitData
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
-       if err := pcall(func() {
-               ((*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Pos).deserialize(r)
-       }); err != nil {
-               if err == io.EOF {
-                       chk(io.EOF)
+       {
+               var local292 aoType
+               local293 := genericCAO
+               if err := pcall(func() {
+                       (local292).Deserialize(r)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
+                       }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.aoType", err))
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
-       }
-       for local303 := range (*(*(struct {
-
-               // For players.
-               Name     string
-               IsPlayer bool
-
-               ID AOID
-
-               Pos
-               Rot [3]float32
-
-               HP uint16
-
-               // See (de)serialize.fmt.
-               Msgs []AOMsg
-       }))(obj)).Rot {
-               {
-                       p := &((*(*(struct {
-
-                               // For players.
-                               Name     string
-                               IsPlayer bool
-
-                               ID AOID
-
-                               Pos
-                               Rot [3]float32
-
-                               HP uint16
-
-                               // See (de)serialize.fmt.
-                               Msgs []AOMsg
-                       }))(obj)).Rot)[local303]
-                       *p = math.Float32frombits(read32(r))
+               if local292 != local293 {
+                       chk(fmt.Errorf("const %v: %v", "genericCAO", local292))
                }
        }
        {
-               p := &(*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).HP
-               *p = read16(r)
-       }
-       {
-               p := &(*(*(struct {
-
-                       // For players.
-                       Name     string
-                       IsPlayer bool
-
-                       ID AOID
-
-                       Pos
-                       Rot [3]float32
-
-                       HP uint16
-
-                       // See (de)serialize.fmt.
-                       Msgs []AOMsg
-               }))(obj)).Msgs
-               { // For AOInitData.Msgs.
-                       *p = make([]AOMsg, read8(r))
-                       for i := range *p {
-                               r := &io.LimitedReader{r, int64(read32(r))}
-                               msg, err := readAOMsg(r)
-                               chk(err)
-                               (*p)[i] = msg
-                               if r.N > 0 {
-                                       chk(fmt.Errorf("%d bytes of trailing data", r.N))
-                               }
+               var n uint32
+               {
+                       p := &n
+                       *p = read32(r)
+               }
+               r := &io.LimitedReader{R: r, N: int64(n)}
+               if err := pcall(func() {
+                       ((*(*(struct {
+                               ID AOID
+                               //mt:const genericCAO
+                               //mt:lenhdr 32
+                               InitData AOInitData
+                       }))(obj)).InitData).Deserialize(r)
+               }); err != nil {
+                       if err == io.EOF {
+                               chk(io.EOF)
                        }
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOInitData", err))
+               }
+               if r.N > 0 {
+                       chk(fmt.Errorf("%d bytes of trailing data", r.N))
                }
        }
 }
 
-func (obj *IDAOMsg) serialize(w io.Writer) {
+func (obj *IDAOMsg) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
                        //mt:lenhdr 16
                        Msg AOMsg
-               }))(obj)).ID).serialize(w)
+               }))(obj)).ID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
                ow := w
@@ -24824,18 +24466,18 @@ func (obj *IDAOMsg) serialize(w io.Writer) {
        }
 }
 
-func (obj *IDAOMsg) deserialize(r io.Reader) {
+func (obj *IDAOMsg) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ID AOID
                        //mt:lenhdr 16
                        Msg AOMsg
-               }))(obj)).ID).deserialize(r)
+               }))(obj)).ID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        {
                var n uint16
@@ -24843,7 +24485,7 @@ func (obj *IDAOMsg) deserialize(r io.Reader) {
                        p := &n
                        *p = read16(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
                        p := &(*(*(struct {
                                ID AOID
@@ -24862,14 +24504,14 @@ func (obj *IDAOMsg) deserialize(r io.Reader) {
        }
 }
 
-func (obj *ItemDef) serialize(w io.Writer) {
+func (obj *ItemDef) Serialize(w io.Writer) {
        {
                ow := w
                w := new(bytes.Buffer)
                {
-                       local304 := uint8(6)
+                       local294 := uint8(6)
                        {
-                               x := local304
+                               x := local294
                                write8(w, uint8(x))
                        }
                }
@@ -24907,13 +24549,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).Type).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).Type).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ItemType", err))
                }
                if len(([]byte((*(*(struct {
                        Type ItemType
@@ -24948,7 +24590,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).Name))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -24986,7 +24628,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Name))))
                        write16(w, uint16(x))
                }
@@ -25024,7 +24666,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Name))[:])
                        chk(err)
                }
@@ -25061,7 +24703,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).Desc))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -25099,7 +24741,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Desc))))
                        write16(w, uint16(x))
                }
@@ -25137,7 +24779,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Desc))[:])
                        chk(err)
                }
@@ -25175,13 +24817,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).InvImg).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).InvImg).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -25217,15 +24859,15 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).WieldImg).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).WieldImg).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
-               for local305 := range (*(*(struct {
+               for local295 := range (*(*(struct {
                        Type ItemType
 
                        Name, Desc string
@@ -25258,7 +24900,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).WieldScale {
                        {
                                x := ((*(*(struct {
@@ -25294,8 +24936,8 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                        ShortDesc string
 
-                                       PlaceParam2 byte
-                               }))(obj)).WieldScale)[local305]
+                                       PlaceParam2 uint8
+                               }))(obj)).WieldScale)[local295]
                                write32(w, math.Float32bits(x))
                        }
                }
@@ -25333,7 +24975,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).StackMax
                        write16(w, uint16(x))
                }
@@ -25371,7 +25013,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Usable
                        if x {
                                write8(w, 1)
@@ -25413,7 +25055,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).CanPointLiquids
                        if x {
                                write8(w, 1)
@@ -25455,13 +25097,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).ToolCaps).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).ToolCaps).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolCaps", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ToolCaps", err))
                }
                if len(((*(*(struct {
                        Type ItemType
@@ -25496,7 +25138,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).Groups)) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -25534,11 +25176,11 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Groups)))
                        write16(w, uint16(x))
                }
-               for local306 := range (*(*(struct {
+               for local296 := range (*(*(struct {
                        Type ItemType
 
                        Name, Desc string
@@ -25571,7 +25213,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).Groups {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -25607,13 +25249,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                        ShortDesc string
 
-                                       PlaceParam2 byte
-                               }))(obj)).Groups)[local306]).serialize(w)
+                                       PlaceParam2 uint8
+                               }))(obj)).Groups)[local296]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                        }
                }
                if len(([]byte((*(*(struct {
@@ -25649,7 +25291,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).PlacePredict))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -25687,7 +25329,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PlacePredict))))
                        write16(w, uint16(x))
                }
@@ -25725,7 +25367,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PlacePredict))[:])
                        chk(err)
                }
@@ -25763,13 +25405,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).PlaceSnd).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).PlaceSnd).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -25805,13 +25447,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).PlaceFailSnd).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).PlaceFailSnd).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                {
                        x := (*(*(struct {
@@ -25847,7 +25489,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PointRange
                        write32(w, math.Float32bits(x))
                }
@@ -25885,13 +25527,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).Palette).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).Palette).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                {
                        x := (*(*(struct {
@@ -25927,7 +25569,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Color
                        w.Write([]byte{x.A, x.R, x.G, x.B})
                }
@@ -25965,13 +25607,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).InvOverlay).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).InvOverlay).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -26007,13 +25649,13 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).WieldOverlay).serialize(w)
+                               PlaceParam2 uint8
+                       }))(obj)).WieldOverlay).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if len(([]byte((*(*(struct {
                        Type ItemType
@@ -26048,7 +25690,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).ShortDesc))) > math.MaxUint16 {
                        chk(ErrTooLong)
                }
@@ -26086,7 +25728,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).ShortDesc))))
                        write16(w, uint16(x))
                }
@@ -26124,7 +25766,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).ShortDesc))[:])
                        chk(err)
                }
@@ -26162,7 +25804,7 @@ func (obj *ItemDef) serialize(w io.Writer) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PlaceParam2
                        write8(w, uint8(x))
                }
@@ -26184,22 +25826,23 @@ func (obj *ItemDef) serialize(w io.Writer) {
        }
 }
 
-func (obj *ItemDef) deserialize(r io.Reader) {
+func (obj *ItemDef) Deserialize(r io.Reader) {
        {
                var n uint16
                {
                        p := &n
                        *p = read16(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                {
-                       var local307 uint8
+                       var local297 uint8
+                       local298 := uint8(6)
                        {
-                               p := &local307
+                               p := &local297
                                *p = read8(r)
                        }
-                       if local307 != (6) {
-                               chk(fmt.Errorf("const %v: %v", 6, local307))
+                       if local297 != local298 {
+                               chk(fmt.Errorf("const %v: %v", "uint8(6)", local297))
                        }
                }
                if err := pcall(func() {
@@ -26236,23 +25879,23 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).Type).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).Type).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ItemType", err))
                }
-               var local308 []uint8
-               var local309 uint16
+               var local299 []uint8
+               var local300 uint16
                {
-                       p := &local309
+                       p := &local300
                        *p = read16(r)
                }
-               (local308) = make([]uint8, local309)
+               (local299) = make([]uint8, local300)
                {
-                       _, err := io.ReadFull(r, (local308)[:])
+                       _, err := io.ReadFull(r, (local299)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -26288,17 +25931,17 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
-               }))(obj)).Name) = string(local308)
-               var local310 []uint8
-               var local311 uint16
+                       PlaceParam2 uint8
+               }))(obj)).Name) = string(local299)
+               var local301 []uint8
+               var local302 uint16
                {
-                       p := &local311
+                       p := &local302
                        *p = read16(r)
                }
-               (local310) = make([]uint8, local311)
+               (local301) = make([]uint8, local302)
                {
-                       _, err := io.ReadFull(r, (local310)[:])
+                       _, err := io.ReadFull(r, (local301)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -26334,8 +25977,8 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
-               }))(obj)).Desc) = string(local310)
+                       PlaceParam2 uint8
+               }))(obj)).Desc) = string(local301)
                if err := pcall(func() {
                        ((*(*(struct {
                                Type ItemType
@@ -26370,13 +26013,13 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).InvImg).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).InvImg).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -26412,15 +26055,15 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).WieldImg).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).WieldImg).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
-               for local312 := range (*(*(struct {
+               for local303 := range (*(*(struct {
                        Type ItemType
 
                        Name, Desc string
@@ -26453,7 +26096,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).WieldScale {
                        {
                                p := &((*(*(struct {
@@ -26489,8 +26132,8 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                        ShortDesc string
 
-                                       PlaceParam2 byte
-                               }))(obj)).WieldScale)[local312]
+                                       PlaceParam2 uint8
+                               }))(obj)).WieldScale)[local303]
                                *p = math.Float32frombits(read32(r))
                        }
                }
@@ -26528,7 +26171,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).StackMax
                        *p = read16(r)
                }
@@ -26566,7 +26209,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Usable
                        switch n := read8(r); n {
                        case 0:
@@ -26611,7 +26254,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).CanPointLiquids
                        switch n := read8(r); n {
                        case 0:
@@ -26656,17 +26299,17 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).ToolCaps).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).ToolCaps).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolCaps", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ToolCaps", err))
                }
-               var local313 uint16
+               var local304 uint16
                {
-                       p := &local313
+                       p := &local304
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -26702,9 +26345,9 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
-               }))(obj)).Groups) = make([]Group, local313)
-               for local314 := range (*(*(struct {
+                       PlaceParam2 uint8
+               }))(obj)).Groups) = make([]Group, local304)
+               for local305 := range (*(*(struct {
                        Type ItemType
 
                        Name, Desc string
@@ -26737,7 +26380,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
+                       PlaceParam2 uint8
                }))(obj)).Groups {
                        if err := pcall(func() {
                                (((*(*(struct {
@@ -26773,24 +26416,24 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                        ShortDesc string
 
-                                       PlaceParam2 byte
-                               }))(obj)).Groups)[local314]).deserialize(r)
+                                       PlaceParam2 uint8
+                               }))(obj)).Groups)[local305]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                        }
                }
-               var local315 []uint8
-               var local316 uint16
+               var local306 []uint8
+               var local307 uint16
                {
-                       p := &local316
+                       p := &local307
                        *p = read16(r)
                }
-               (local315) = make([]uint8, local316)
+               (local306) = make([]uint8, local307)
                {
-                       _, err := io.ReadFull(r, (local315)[:])
+                       _, err := io.ReadFull(r, (local306)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -26826,8 +26469,8 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
-               }))(obj)).PlacePredict) = string(local315)
+                       PlaceParam2 uint8
+               }))(obj)).PlacePredict) = string(local306)
                if err := pcall(func() {
                        ((*(*(struct {
                                Type ItemType
@@ -26862,13 +26505,13 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).PlaceSnd).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).PlaceSnd).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -26904,13 +26547,13 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).PlaceFailSnd).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).PlaceFailSnd).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.SoundDef", err))
                }
                {
                        p := &(*(*(struct {
@@ -26946,7 +26589,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PointRange
                        *p = math.Float32frombits(read32(r))
                }
@@ -26984,13 +26627,13 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).Palette).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).Palette).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                {
                        p := &(*(*(struct {
@@ -27026,7 +26669,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).Color
                        *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
                }
@@ -27064,13 +26707,13 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).InvOverlay).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).InvOverlay).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -27106,23 +26749,23 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
-                       }))(obj)).WieldOverlay).deserialize(r)
+                               PlaceParam2 uint8
+                       }))(obj)).WieldOverlay).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
-               var local317 []uint8
-               var local318 uint16
+               var local308 []uint8
+               var local309 uint16
                {
-                       p := &local318
+                       p := &local309
                        *p = read16(r)
                }
-               (local317) = make([]uint8, local318)
+               (local308) = make([]uint8, local309)
                {
-                       _, err := io.ReadFull(r, (local317)[:])
+                       _, err := io.ReadFull(r, (local308)[:])
                        chk(err)
                }
                ((*(*(struct {
@@ -27158,8 +26801,8 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                        ShortDesc string
 
-                       PlaceParam2 byte
-               }))(obj)).ShortDesc) = string(local317)
+                       PlaceParam2 uint8
+               }))(obj)).ShortDesc) = string(local308)
                {
                        p := &(*(*(struct {
                                Type ItemType
@@ -27194,7 +26837,7 @@ func (obj *ItemDef) deserialize(r io.Reader) {
 
                                ShortDesc string
 
-                               PlaceParam2 byte
+                               PlaceParam2 uint8
                        }))(obj)).PlaceParam2
                        *p = read8(r)
                }
@@ -27204,21 +26847,21 @@ func (obj *ItemDef) deserialize(r io.Reader) {
        }
 }
 
-func (obj *SoundSrcType) serialize(w io.Writer) {
+func (obj *SoundSrcType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *SoundSrcType) deserialize(r io.Reader) {
+func (obj *SoundSrcType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *TileAnim) serialize(w io.Writer) {
+func (obj *TileAnim) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Type AnimType
@@ -27232,12 +26875,12 @@ func (obj *TileAnim) serialize(w io.Writer) {
                        //mt:if %s.Type != NoAnim
                        Duration float32 // in seconds
 
-               }))(obj)).Type).serialize(w)
+               }))(obj)).Type).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AnimType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AnimType", err))
        }
        if !((*(*(struct {
                Type AnimType
@@ -27297,7 +26940,7 @@ func (obj *TileAnim) serialize(w io.Writer) {
                Duration float32 // in seconds
 
        }))(obj)).Type == VerticalFrameAnim {
-               for local319 := range (*(*(struct {
+               for local310 := range (*(*(struct {
                        Type AnimType
 
                        //mt:if %s.Type == SpriteSheetAnim
@@ -27323,284 +26966,1281 @@ func (obj *TileAnim) serialize(w io.Writer) {
                                        //mt:if %s.Type != NoAnim
                                        Duration float32 // in seconds
 
-                               }))(obj)).NFrames)[local319]
-                               write16(w, uint16(x))
-                       }
+                               }))(obj)).NFrames)[local310]
+                               write16(w, uint16(x))
+                       }
+               }
+       }
+       if (*(*(struct {
+               Type AnimType
+
+               //mt:if %s.Type == SpriteSheetAnim
+               AspectRatio [2]uint8
+
+               //mt:if %s.Type == VerticalFrameAnim
+               NFrames [2]uint16
+
+               //mt:if %s.Type != NoAnim
+               Duration float32 // in seconds
+
+       }))(obj)).Type != NoAnim {
+               {
+                       x := (*(*(struct {
+                               Type AnimType
+
+                               //mt:if %s.Type == SpriteSheetAnim
+                               AspectRatio [2]uint8
+
+                               //mt:if %s.Type == VerticalFrameAnim
+                               NFrames [2]uint16
+
+                               //mt:if %s.Type != NoAnim
+                               Duration float32 // in seconds
+
+                       }))(obj)).Duration
+                       write32(w, math.Float32bits(x))
+               }
+       }
+}
+
+func (obj *TileAnim) Deserialize(r io.Reader) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type AnimType
+
+                       //mt:if %s.Type == SpriteSheetAnim
+                       AspectRatio [2]uint8
+
+                       //mt:if %s.Type == VerticalFrameAnim
+                       NFrames [2]uint16
+
+                       //mt:if %s.Type != NoAnim
+                       Duration float32 // in seconds
+
+               }))(obj)).Type).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AnimType", err))
+       }
+       if !((*(*(struct {
+               Type AnimType
+
+               //mt:if %s.Type == SpriteSheetAnim
+               AspectRatio [2]uint8
+
+               //mt:if %s.Type == VerticalFrameAnim
+               NFrames [2]uint16
+
+               //mt:if %s.Type != NoAnim
+               Duration float32 // in seconds
+
+       }))(obj)).Type < maxAnim) {
+               chk(errors.New("assertion failed: %s.Type < maxAnim"))
+       }
+       if (*(*(struct {
+               Type AnimType
+
+               //mt:if %s.Type == SpriteSheetAnim
+               AspectRatio [2]uint8
+
+               //mt:if %s.Type == VerticalFrameAnim
+               NFrames [2]uint16
+
+               //mt:if %s.Type != NoAnim
+               Duration float32 // in seconds
+
+       }))(obj)).Type == SpriteSheetAnim {
+               {
+                       _, err := io.ReadFull(r, ((*(*(struct {
+                               Type AnimType
+
+                               //mt:if %s.Type == SpriteSheetAnim
+                               AspectRatio [2]uint8
+
+                               //mt:if %s.Type == VerticalFrameAnim
+                               NFrames [2]uint16
+
+                               //mt:if %s.Type != NoAnim
+                               Duration float32 // in seconds
+
+                       }))(obj)).AspectRatio)[:])
+                       chk(err)
+               }
+       }
+       if (*(*(struct {
+               Type AnimType
+
+               //mt:if %s.Type == SpriteSheetAnim
+               AspectRatio [2]uint8
+
+               //mt:if %s.Type == VerticalFrameAnim
+               NFrames [2]uint16
+
+               //mt:if %s.Type != NoAnim
+               Duration float32 // in seconds
+
+       }))(obj)).Type == VerticalFrameAnim {
+               for local311 := range (*(*(struct {
+                       Type AnimType
+
+                       //mt:if %s.Type == SpriteSheetAnim
+                       AspectRatio [2]uint8
+
+                       //mt:if %s.Type == VerticalFrameAnim
+                       NFrames [2]uint16
+
+                       //mt:if %s.Type != NoAnim
+                       Duration float32 // in seconds
+
+               }))(obj)).NFrames {
+                       {
+                               p := &((*(*(struct {
+                                       Type AnimType
+
+                                       //mt:if %s.Type == SpriteSheetAnim
+                                       AspectRatio [2]uint8
+
+                                       //mt:if %s.Type == VerticalFrameAnim
+                                       NFrames [2]uint16
+
+                                       //mt:if %s.Type != NoAnim
+                                       Duration float32 // in seconds
+
+                               }))(obj)).NFrames)[local311]
+                               *p = read16(r)
+                       }
+               }
+       }
+       if (*(*(struct {
+               Type AnimType
+
+               //mt:if %s.Type == SpriteSheetAnim
+               AspectRatio [2]uint8
+
+               //mt:if %s.Type == VerticalFrameAnim
+               NFrames [2]uint16
+
+               //mt:if %s.Type != NoAnim
+               Duration float32 // in seconds
+
+       }))(obj)).Type != NoAnim {
+               {
+                       p := &(*(*(struct {
+                               Type AnimType
+
+                               //mt:if %s.Type == SpriteSheetAnim
+                               AspectRatio [2]uint8
+
+                               //mt:if %s.Type == VerticalFrameAnim
+                               NFrames [2]uint16
+
+                               //mt:if %s.Type != NoAnim
+                               Duration float32 // in seconds
+
+                       }))(obj)).Duration
+                       *p = math.Float32frombits(read32(r))
+               }
+       }
+}
+
+func (obj *Content) Serialize(w io.Writer) {
+       {
+               x := *(*(uint16))(obj)
+               write16(w, uint16(x))
+       }
+}
+
+func (obj *Content) Deserialize(r io.Reader) {
+       {
+               p := &*(*(uint16))(obj)
+               *p = read16(r)
+       }
+}
+
+func (obj *ParticleSpawnerID) Serialize(w io.Writer) {
+       {
+               x := *(*(uint32))(obj)
+               write32(w, uint32(x))
+       }
+}
+
+func (obj *ParticleSpawnerID) Deserialize(r io.Reader) {
+       {
+               p := &*(*(uint32))(obj)
+               *p = read32(r)
+       }
+}
+
+func (obj *HUDID) Serialize(w io.Writer) {
+       {
+               x := *(*(uint32))(obj)
+               write32(w, uint32(x))
+       }
+}
+
+func (obj *HUDID) Deserialize(r io.Reader) {
+       {
+               p := &*(*(uint32))(obj)
+               *p = read32(r)
+       }
+}
+
+func (obj *HUD) Serialize(w io.Writer) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Type).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDType", err))
+       }
+       for local312 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Pos {
+               {
+                       x := ((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Pos)[local312]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       if len(([]byte((*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Name))) > math.MaxUint16 {
+               chk(ErrTooLong)
+       }
+       {
+               x := uint16(len(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Name))))
+               write16(w, uint16(x))
+       }
+       {
+               _, err := w.Write(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Name))[:])
+               chk(err)
+       }
+       for local313 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Scale {
+               {
+                       x := ((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Scale)[local313]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       if len(([]byte((*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Text))) > math.MaxUint16 {
+               chk(ErrTooLong)
+       }
+       {
+               x := uint16(len(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Text))))
+               write16(w, uint16(x))
+       }
+       {
+               _, err := w.Write(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Text))[:])
+               chk(err)
+       }
+       {
+               x := (*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Number
+               write32(w, uint32(x))
+       }
+       {
+               x := (*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Item
+               write32(w, uint32(x))
+       }
+       {
+               x := (*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Dir
+               write32(w, uint32(x))
+       }
+       for local314 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Align {
+               {
+                       x := ((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Align)[local314]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       for local315 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Offset {
+               {
+                       x := ((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Offset)[local315]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).WorldPos).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
+       }
+       for local316 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Size {
+               {
+                       x := ((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Size)[local316]
+                       write32(w, uint32(x))
+               }
+       }
+       {
+               x := (*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).ZIndex
+               write16(w, uint16(x))
+       }
+       if len(([]byte((*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Text2))) > math.MaxUint16 {
+               chk(ErrTooLong)
+       }
+       {
+               x := uint16(len(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Text2))))
+               write16(w, uint16(x))
+       }
+       {
+               _, err := w.Write(([]byte((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Text2))[:])
+               chk(err)
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Style).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDStyleFlags", err))
+       }
+}
+
+func (obj *HUD) Deserialize(r io.Reader) {
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type HUDType
+
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Type).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDType", err))
+       }
+       for local317 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Pos {
+               {
+                       p := &((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Pos)[local317]
+                       *p = math.Float32frombits(read32(r))
+               }
+       }
+       var local318 []uint8
+       var local319 uint16
+       {
+               p := &local319
+               *p = read16(r)
+       }
+       (local318) = make([]uint8, local319)
+       {
+               _, err := io.ReadFull(r, (local318)[:])
+               chk(err)
+       }
+       ((*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Name) = string(local318)
+       for local320 := range (*(*(struct {
+               Type HUDType
+
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Scale {
+               {
+                       p := &((*(*(struct {
+                               Type HUDType
+
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Scale)[local320]
+                       *p = math.Float32frombits(read32(r))
                }
        }
-       if (*(*(struct {
-               Type AnimType
+       var local321 []uint8
+       var local322 uint16
+       {
+               p := &local322
+               *p = read16(r)
+       }
+       (local321) = make([]uint8, local322)
+       {
+               _, err := io.ReadFull(r, (local321)[:])
+               chk(err)
+       }
+       ((*(*(struct {
+               Type HUDType
 
-               //mt:if %s.Type == SpriteSheetAnim
-               AspectRatio [2]uint8
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Text) = string(local321)
+       {
+               p := &(*(*(struct {
+                       Type HUDType
 
-               //mt:if %s.Type == VerticalFrameAnim
-               NFrames [2]uint16
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Number
+               *p = read32(r)
+       }
+       {
+               p := &(*(*(struct {
+                       Type HUDType
 
-               //mt:if %s.Type != NoAnim
-               Duration float32 // in seconds
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Item
+               *p = read32(r)
+       }
+       {
+               p := &(*(*(struct {
+                       Type HUDType
 
-       }))(obj)).Type != NoAnim {
-               {
-                       x := (*(*(struct {
-                               Type AnimType
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Dir
+               *p = read32(r)
+       }
+       for local323 := range (*(*(struct {
+               Type HUDType
 
-                               //mt:if %s.Type == SpriteSheetAnim
-                               AspectRatio [2]uint8
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Align {
+               {
+                       p := &((*(*(struct {
+                               Type HUDType
 
-                               //mt:if %s.Type == VerticalFrameAnim
-                               NFrames [2]uint16
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Align)[local323]
+                       *p = math.Float32frombits(read32(r))
+               }
+       }
+       for local324 := range (*(*(struct {
+               Type HUDType
 
-                               //mt:if %s.Type != NoAnim
-                               Duration float32 // in seconds
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Offset {
+               {
+                       p := &((*(*(struct {
+                               Type HUDType
 
-                       }))(obj)).Duration
-                       write32(w, math.Float32bits(x))
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Offset)[local324]
+                       *p = math.Float32frombits(read32(r))
                }
        }
-}
-
-func (obj *TileAnim) deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
-                       Type AnimType
-
-                       //mt:if %s.Type == SpriteSheetAnim
-                       AspectRatio [2]uint8
-
-                       //mt:if %s.Type == VerticalFrameAnim
-                       NFrames [2]uint16
-
-                       //mt:if %s.Type != NoAnim
-                       Duration float32 // in seconds
+                       Type HUDType
 
-               }))(obj)).Type).deserialize(r)
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).WorldPos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AnimType", err))
-       }
-       if !((*(*(struct {
-               Type AnimType
-
-               //mt:if %s.Type == SpriteSheetAnim
-               AspectRatio [2]uint8
-
-               //mt:if %s.Type == VerticalFrameAnim
-               NFrames [2]uint16
-
-               //mt:if %s.Type != NoAnim
-               Duration float32 // in seconds
-
-       }))(obj)).Type < maxAnim) {
-               chk(errors.New("assertion failed: %s.Type < maxAnim"))
-       }
-       if (*(*(struct {
-               Type AnimType
-
-               //mt:if %s.Type == SpriteSheetAnim
-               AspectRatio [2]uint8
-
-               //mt:if %s.Type == VerticalFrameAnim
-               NFrames [2]uint16
-
-               //mt:if %s.Type != NoAnim
-               Duration float32 // in seconds
-
-       }))(obj)).Type == SpriteSheetAnim {
-               {
-                       _, err := io.ReadFull(r, ((*(*(struct {
-                               Type AnimType
-
-                               //mt:if %s.Type == SpriteSheetAnim
-                               AspectRatio [2]uint8
-
-                               //mt:if %s.Type == VerticalFrameAnim
-                               NFrames [2]uint16
-
-                               //mt:if %s.Type != NoAnim
-                               Duration float32 // in seconds
-
-                       }))(obj)).AspectRatio)[:])
-                       chk(err)
-               }
-       }
-       if (*(*(struct {
-               Type AnimType
-
-               //mt:if %s.Type == SpriteSheetAnim
-               AspectRatio [2]uint8
-
-               //mt:if %s.Type == VerticalFrameAnim
-               NFrames [2]uint16
-
-               //mt:if %s.Type != NoAnim
-               Duration float32 // in seconds
-
-       }))(obj)).Type == VerticalFrameAnim {
-               for local320 := range (*(*(struct {
-                       Type AnimType
-
-                       //mt:if %s.Type == SpriteSheetAnim
-                       AspectRatio [2]uint8
-
-                       //mt:if %s.Type == VerticalFrameAnim
-                       NFrames [2]uint16
-
-                       //mt:if %s.Type != NoAnim
-                       Duration float32 // in seconds
-
-               }))(obj)).NFrames {
-                       {
-                               p := &((*(*(struct {
-                                       Type AnimType
-
-                                       //mt:if %s.Type == SpriteSheetAnim
-                                       AspectRatio [2]uint8
-
-                                       //mt:if %s.Type == VerticalFrameAnim
-                                       NFrames [2]uint16
-
-                                       //mt:if %s.Type != NoAnim
-                                       Duration float32 // in seconds
-
-                               }))(obj)).NFrames)[local320]
-                               *p = read16(r)
-                       }
-               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
-       if (*(*(struct {
-               Type AnimType
-
-               //mt:if %s.Type == SpriteSheetAnim
-               AspectRatio [2]uint8
-
-               //mt:if %s.Type == VerticalFrameAnim
-               NFrames [2]uint16
-
-               //mt:if %s.Type != NoAnim
-               Duration float32 // in seconds
+       for local325 := range (*(*(struct {
+               Type HUDType
 
-       }))(obj)).Type != NoAnim {
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Size {
                {
-                       p := &(*(*(struct {
-                               Type AnimType
-
-                               //mt:if %s.Type == SpriteSheetAnim
-                               AspectRatio [2]uint8
-
-                               //mt:if %s.Type == VerticalFrameAnim
-                               NFrames [2]uint16
-
-                               //mt:if %s.Type != NoAnim
-                               Duration float32 // in seconds
+                       p := &((*(*(struct {
+                               Type HUDType
 
-                       }))(obj)).Duration
-                       *p = math.Float32frombits(read32(r))
+                               Pos      [2]float32
+                               Name     string
+                               Scale    [2]float32
+                               Text     string
+                               Number   uint32
+                               Item     uint32
+                               Dir      uint32
+                               Align    [2]float32
+                               Offset   [2]float32
+                               WorldPos Pos
+                               Size     [2]int32
+                               ZIndex   int16
+                               Text2    string
+                               Style    HUDStyleFlags
+                       }))(obj)).Size)[local325]
+                       *p = int32(read32(r))
                }
        }
-}
-
-func (obj *Content) serialize(w io.Writer) {
        {
-               x := *(*(uint16))(obj)
-               write16(w, uint16(x))
-       }
-}
+               p := &(*(*(struct {
+                       Type HUDType
 
-func (obj *Content) deserialize(r io.Reader) {
-       {
-               p := &*(*(uint16))(obj)
-               *p = read16(r)
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).ZIndex
+               *p = int16(read16(r))
        }
-}
-
-func (obj *ParticleSpawnerID) serialize(w io.Writer) {
+       var local326 []uint8
+       var local327 uint16
        {
-               x := *(*(uint32))(obj)
-               write32(w, uint32(x))
+               p := &local327
+               *p = read16(r)
        }
-}
-
-func (obj *ParticleSpawnerID) deserialize(r io.Reader) {
+       (local326) = make([]uint8, local327)
        {
-               p := &*(*(uint32))(obj)
-               *p = read32(r)
+               _, err := io.ReadFull(r, (local326)[:])
+               chk(err)
        }
-}
+       ((*(*(struct {
+               Type HUDType
 
-func (obj *HUDID) serialize(w io.Writer) {
-       {
-               x := *(*(uint32))(obj)
-               write32(w, uint32(x))
-       }
-}
+               Pos      [2]float32
+               Name     string
+               Scale    [2]float32
+               Text     string
+               Number   uint32
+               Item     uint32
+               Dir      uint32
+               Align    [2]float32
+               Offset   [2]float32
+               WorldPos Pos
+               Size     [2]int32
+               ZIndex   int16
+               Text2    string
+               Style    HUDStyleFlags
+       }))(obj)).Text2) = string(local326)
+       if err := pcall(func() {
+               ((*(*(struct {
+                       Type HUDType
 
-func (obj *HUDID) deserialize(r io.Reader) {
-       {
-               p := &*(*(uint32))(obj)
-               *p = read32(r)
+                       Pos      [2]float32
+                       Name     string
+                       Scale    [2]float32
+                       Text     string
+                       Number   uint32
+                       Item     uint32
+                       Dir      uint32
+                       Align    [2]float32
+                       Offset   [2]float32
+                       WorldPos Pos
+                       Size     [2]int32
+                       ZIndex   int16
+                       Text2    string
+                       Style    HUDStyleFlags
+               }))(obj)).Style).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.HUDStyleFlags", err))
        }
 }
 
-func (obj *HUDType) serialize(w io.Writer) {
+func (obj *HUDField) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *HUDType) deserialize(r io.Reader) {
+func (obj *HUDField) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *HUDField) serialize(w io.Writer) {
+func (obj *HUDStyleFlags) Serialize(w io.Writer) {
        {
-               x := *(*(uint8))(obj)
-               write8(w, uint8(x))
+               x := *(*(uint32))(obj)
+               write32(w, uint32(x))
        }
 }
 
-func (obj *HUDField) deserialize(r io.Reader) {
+func (obj *HUDStyleFlags) Deserialize(r io.Reader) {
        {
-               p := &*(*(uint8))(obj)
-               *p = read8(r)
+               p := &*(*(uint32))(obj)
+               *p = read32(r)
        }
 }
 
-func (obj *HUDFlags) serialize(w io.Writer) {
+func (obj *HUDFlags) Serialize(w io.Writer) {
        {
                x := *(*(uint32))(obj)
                write32(w, uint32(x))
        }
 }
 
-func (obj *HUDFlags) deserialize(r io.Reader) {
+func (obj *HUDFlags) Deserialize(r io.Reader) {
        {
                p := &*(*(uint32))(obj)
                *p = read32(r)
        }
 }
 
-func (obj *HotbarParam) serialize(w io.Writer) {
+func (obj *HotbarParam) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *HotbarParam) deserialize(r io.Reader) {
+func (obj *HotbarParam) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *Texture) serialize(w io.Writer) {
+func (obj *Texture) Serialize(w io.Writer) {
        if len(([]byte(*(*(string))(obj)))) > math.MaxUint16 {
                chk(ErrTooLong)
        }
@@ -27614,54 +28254,54 @@ func (obj *Texture) serialize(w io.Writer) {
        }
 }
 
-func (obj *Texture) deserialize(r io.Reader) {
-       var local321 []uint8
-       var local322 uint16
+func (obj *Texture) Deserialize(r io.Reader) {
+       var local328 []uint8
+       var local329 uint16
        {
-               p := &local322
+               p := &local329
                *p = read16(r)
        }
-       (local321) = make([]uint8, local322)
+       (local328) = make([]uint8, local329)
        {
-               _, err := io.ReadFull(r, (local321)[:])
+               _, err := io.ReadFull(r, (local328)[:])
                chk(err)
        }
-       (*(*(string))(obj)) = string(local321)
+       (*(*(string))(obj)) = string(local328)
 }
 
-func (obj *PlayerListUpdateType) serialize(w io.Writer) {
+func (obj *PlayerListUpdateType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *PlayerListUpdateType) deserialize(r io.Reader) {
+func (obj *PlayerListUpdateType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *ModChanSig) serialize(w io.Writer) {
+func (obj *ModChanSig) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *ModChanSig) deserialize(r io.Reader) {
+func (obj *ModChanSig) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *AOProps) serialize(w io.Writer) {
+func (obj *AOProps) Serialize(w io.Writer) {
        {
-               local323 := uint8(4)
+               local330 := uint8(4)
                {
-                       x := local323
+                       x := local330
                        write8(w, uint8(x))
                }
        }
@@ -27822,12 +28462,12 @@ func (obj *AOProps) serialize(w io.Writer) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).ColBox).serialize(w)
+               }))(obj)).ColBox).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -27865,12 +28505,12 @@ func (obj *AOProps) serialize(w io.Writer) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).SelBox).serialize(w)
+               }))(obj)).SelBox).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
        }
        {
                x := (*(*(struct {
@@ -28031,7 +28671,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                }))(obj)).Visual))[:])
                chk(err)
        }
-       for local324 := range (*(*(struct {
+       for local331 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -28103,7 +28743,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).VisualSize)[local324]
+                       }))(obj)).VisualSize)[local331]
                        write32(w, math.Float32bits(x))
                }
        }
@@ -28184,7 +28824,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                }))(obj)).Textures)))
                write16(w, uint16(x))
        }
-       for local325 := range (*(*(struct {
+       for local332 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -28256,15 +28896,15 @@ func (obj *AOProps) serialize(w io.Writer) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).Textures)[local325]).serialize(w)
+                       }))(obj)).Textures)[local332]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
        }
-       for local326 := range (*(*(struct {
+       for local333 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -28336,11 +28976,11 @@ func (obj *AOProps) serialize(w io.Writer) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).SpriteSheetSize)[local326]
+                       }))(obj)).SpriteSheetSize)[local333]
                        write16(w, uint16(x))
                }
        }
-       for local327 := range (*(*(struct {
+       for local334 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -28412,7 +29052,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).SpritePos)[local327]
+                       }))(obj)).SpritePos)[local334]
                        write16(w, uint16(x))
                }
        }
@@ -28734,7 +29374,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                }))(obj)).Colors)))
                write16(w, uint16(x))
        }
-       for local328 := range (*(*(struct {
+       for local335 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -28806,7 +29446,7 @@ func (obj *AOProps) serialize(w io.Writer) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).Colors)[local328]
+                       }))(obj)).Colors)[local335]
                        w.Write([]byte{x.A, x.R, x.G, x.B})
                }
        }
@@ -29678,12 +30318,12 @@ func (obj *AOProps) serialize(w io.Writer) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).DmgTextureMod).serialize(w)
+               }))(obj)).DmgTextureMod).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                x := (*(*(struct {
@@ -29812,15 +30452,16 @@ func (obj *AOProps) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOProps) deserialize(r io.Reader) {
+func (obj *AOProps) Deserialize(r io.Reader) {
        {
-               var local329 uint8
+               var local336 uint8
+               local337 := uint8(4)
                {
-                       p := &local329
+                       p := &local336
                        *p = read8(r)
                }
-               if local329 != (4) {
-                       chk(fmt.Errorf("const %v: %v", 4, local329))
+               if local336 != local337 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(4)", local336))
                }
        }
        {
@@ -29983,12 +30624,12 @@ func (obj *AOProps) deserialize(r io.Reader) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).ColBox).deserialize(r)
+               }))(obj)).ColBox).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -30026,12 +30667,12 @@ func (obj *AOProps) deserialize(r io.Reader) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).SelBox).deserialize(r)
+               }))(obj)).SelBox).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
        }
        {
                p := &(*(*(struct {
@@ -30079,15 +30720,15 @@ func (obj *AOProps) deserialize(r io.Reader) {
                        chk(fmt.Errorf("invalid bool: %d", n))
                }
        }
-       var local330 []uint8
-       var local331 uint16
+       var local338 []uint8
+       var local339 uint16
        {
-               p := &local331
+               p := &local339
                *p = read16(r)
        }
-       (local330) = make([]uint8, local331)
+       (local338) = make([]uint8, local339)
        {
-               _, err := io.ReadFull(r, (local330)[:])
+               _, err := io.ReadFull(r, (local338)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -30125,8 +30766,8 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Visual) = string(local330)
-       for local332 := range (*(*(struct {
+       }))(obj)).Visual) = string(local338)
+       for local340 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -30198,13 +30839,13 @@ func (obj *AOProps) deserialize(r io.Reader) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).VisualSize)[local332]
+                       }))(obj)).VisualSize)[local340]
                        *p = math.Float32frombits(read32(r))
                }
        }
-       var local333 uint16
+       var local341 uint16
        {
-               p := &local333
+               p := &local341
                *p = read16(r)
        }
        ((*(*(struct {
@@ -30242,8 +30883,8 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Textures) = make([]Texture, local333)
-       for local334 := range (*(*(struct {
+       }))(obj)).Textures) = make([]Texture, local341)
+       for local342 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -30315,15 +30956,15 @@ func (obj *AOProps) deserialize(r io.Reader) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).Textures)[local334]).deserialize(r)
+                       }))(obj)).Textures)[local342]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
                }
        }
-       for local335 := range (*(*(struct {
+       for local343 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -30395,11 +31036,11 @@ func (obj *AOProps) deserialize(r io.Reader) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).SpriteSheetSize)[local335]
+                       }))(obj)).SpriteSheetSize)[local343]
                        *p = int16(read16(r))
                }
        }
-       for local336 := range (*(*(struct {
+       for local344 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -30471,7 +31112,7 @@ func (obj *AOProps) deserialize(r io.Reader) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).SpritePos)[local336]
+                       }))(obj)).SpritePos)[local344]
                        *p = int16(read16(r))
                }
        }
@@ -30606,15 +31247,15 @@ func (obj *AOProps) deserialize(r io.Reader) {
                }))(obj)).RotateSpeed
                *p = math.Float32frombits(read32(r))
        }
-       var local337 []uint8
-       var local338 uint16
+       var local345 []uint8
+       var local346 uint16
        {
-               p := &local338
+               p := &local346
                *p = read16(r)
        }
-       (local337) = make([]uint8, local338)
+       (local345) = make([]uint8, local346)
        {
-               _, err := io.ReadFull(r, (local337)[:])
+               _, err := io.ReadFull(r, (local345)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -30652,10 +31293,10 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Mesh) = string(local337)
-       var local339 uint16
+       }))(obj)).Mesh) = string(local345)
+       var local347 uint16
        {
-               p := &local339
+               p := &local347
                *p = read16(r)
        }
        ((*(*(struct {
@@ -30693,8 +31334,8 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Colors) = make([]color.NRGBA, local339)
-       for local340 := range (*(*(struct {
+       }))(obj)).Colors) = make([]color.NRGBA, local347)
+       for local348 := range (*(*(struct {
                MaxHP            uint16 // Player only.
                CollideWithNodes bool
                Weight           float32 // deprecated
@@ -30766,7 +31407,7 @@ func (obj *AOProps) deserialize(r io.Reader) {
                                Shaded           bool
                                ShowOnMinimap    bool
                                NametagBG        color.NRGBA
-                       }))(obj)).Colors)[local340]
+                       }))(obj)).Colors)[local348]
                        *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)}
                }
        }
@@ -30986,15 +31627,15 @@ func (obj *AOProps) deserialize(r io.Reader) {
                        chk(fmt.Errorf("invalid bool: %d", n))
                }
        }
-       var local341 []uint8
-       var local342 uint16
+       var local349 []uint8
+       var local350 uint16
        {
-               p := &local342
+               p := &local350
                *p = read16(r)
        }
-       (local341) = make([]uint8, local342)
+       (local349) = make([]uint8, local350)
        {
-               _, err := io.ReadFull(r, (local341)[:])
+               _, err := io.ReadFull(r, (local349)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -31032,7 +31673,7 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Nametag) = string(local341)
+       }))(obj)).Nametag) = string(local349)
        {
                p := &(*(*(struct {
                        MaxHP            uint16 // Player only.
@@ -31111,15 +31752,15 @@ func (obj *AOProps) deserialize(r io.Reader) {
                }))(obj)).FaceRotateSpeed
                *p = math.Float32frombits(read32(r))
        }
-       var local343 []uint8
-       var local344 uint16
+       var local351 []uint8
+       var local352 uint16
        {
-               p := &local344
+               p := &local352
                *p = read16(r)
        }
-       (local343) = make([]uint8, local344)
+       (local351) = make([]uint8, local352)
        {
-               _, err := io.ReadFull(r, (local343)[:])
+               _, err := io.ReadFull(r, (local351)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -31157,16 +31798,16 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Infotext) = string(local343)
-       var local345 []uint8
-       var local346 uint16
+       }))(obj)).Infotext) = string(local351)
+       var local353 []uint8
+       var local354 uint16
        {
-               p := &local346
+               p := &local354
                *p = read16(r)
        }
-       (local345) = make([]uint8, local346)
+       (local353) = make([]uint8, local354)
        {
-               _, err := io.ReadFull(r, (local345)[:])
+               _, err := io.ReadFull(r, (local353)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -31204,7 +31845,7 @@ func (obj *AOProps) deserialize(r io.Reader) {
                Shaded           bool
                ShowOnMinimap    bool
                NametagBG        color.NRGBA
-       }))(obj)).Itemstring) = string(local345)
+       }))(obj)).Itemstring) = string(local353)
        {
                p := &(*(*(struct {
                        MaxHP            uint16 // Player only.
@@ -31443,12 +32084,12 @@ func (obj *AOProps) deserialize(r io.Reader) {
                        Shaded           bool
                        ShowOnMinimap    bool
                        NametagBG        color.NRGBA
-               }))(obj)).DmgTextureMod).deserialize(r)
+               }))(obj)).DmgTextureMod).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        {
                p := &(*(*(struct {
@@ -31583,7 +32224,7 @@ func (obj *AOProps) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOPos) serialize(w io.Writer) {
+func (obj *AOPos) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos
@@ -31593,12 +32234,12 @@ func (obj *AOPos) serialize(w io.Writer) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -31609,12 +32250,12 @@ func (obj *AOPos) serialize(w io.Writer) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Vel).serialize(w)
+               }))(obj)).Vel).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -31625,14 +32266,14 @@ func (obj *AOPos) serialize(w io.Writer) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Acc).serialize(w)
+               }))(obj)).Acc).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local347 := range (*(*(struct {
+       for local355 := range (*(*(struct {
                Pos
                Vel, Acc Vec
                Rot      [3]float32
@@ -31650,7 +32291,7 @@ func (obj *AOPos) serialize(w io.Writer) {
                                Interpolate    bool
                                End            bool
                                UpdateInterval float32
-                       }))(obj)).Rot)[local347]
+                       }))(obj)).Rot)[local355]
                        write32(w, math.Float32bits(x))
                }
        }
@@ -31700,7 +32341,7 @@ func (obj *AOPos) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOPos) deserialize(r io.Reader) {
+func (obj *AOPos) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos
@@ -31710,12 +32351,12 @@ func (obj *AOPos) deserialize(r io.Reader) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -31726,12 +32367,12 @@ func (obj *AOPos) deserialize(r io.Reader) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Vel).deserialize(r)
+               }))(obj)).Vel).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -31742,14 +32383,14 @@ func (obj *AOPos) deserialize(r io.Reader) {
                        Interpolate    bool
                        End            bool
                        UpdateInterval float32
-               }))(obj)).Acc).deserialize(r)
+               }))(obj)).Acc).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local348 := range (*(*(struct {
+       for local356 := range (*(*(struct {
                Pos
                Vel, Acc Vec
                Rot      [3]float32
@@ -31767,7 +32408,7 @@ func (obj *AOPos) deserialize(r io.Reader) {
                                Interpolate    bool
                                End            bool
                                UpdateInterval float32
-                       }))(obj)).Rot)[local348]
+                       }))(obj)).Rot)[local356]
                        *p = math.Float32frombits(read32(r))
                }
        }
@@ -31823,8 +32464,8 @@ func (obj *AOPos) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOSprite) serialize(w io.Writer) {
-       for local349 := range (*(*(struct {
+func (obj *AOSprite) Serialize(w io.Writer) {
+       for local357 := range (*(*(struct {
                Frame0          [2]int16
                Frames          uint16
                FrameDuration   float32
@@ -31836,7 +32477,7 @@ func (obj *AOSprite) serialize(w io.Writer) {
                                Frames          uint16
                                FrameDuration   float32
                                ViewAngleFrames bool
-                       }))(obj)).Frame0)[local349]
+                       }))(obj)).Frame0)[local357]
                        write16(w, uint16(x))
                }
        }
@@ -31873,8 +32514,8 @@ func (obj *AOSprite) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOSprite) deserialize(r io.Reader) {
-       for local350 := range (*(*(struct {
+func (obj *AOSprite) Deserialize(r io.Reader) {
+       for local358 := range (*(*(struct {
                Frame0          [2]int16
                Frames          uint16
                FrameDuration   float32
@@ -31886,7 +32527,7 @@ func (obj *AOSprite) deserialize(r io.Reader) {
                                Frames          uint16
                                FrameDuration   float32
                                ViewAngleFrames bool
-                       }))(obj)).Frame0)[local350]
+                       }))(obj)).Frame0)[local358]
                        *p = int16(read16(r))
                }
        }
@@ -31926,7 +32567,7 @@ func (obj *AOSprite) deserialize(r io.Reader) {
        }
 }
 
-func (obj *Group) serialize(w io.Writer) {
+func (obj *Group) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Name   string
                Rating int16
@@ -31956,22 +32597,22 @@ func (obj *Group) serialize(w io.Writer) {
        }
 }
 
-func (obj *Group) deserialize(r io.Reader) {
-       var local351 []uint8
-       var local352 uint16
+func (obj *Group) Deserialize(r io.Reader) {
+       var local359 []uint8
+       var local360 uint16
        {
-               p := &local352
+               p := &local360
                *p = read16(r)
        }
-       (local351) = make([]uint8, local352)
+       (local359) = make([]uint8, local360)
        {
-               _, err := io.ReadFull(r, (local351)[:])
+               _, err := io.ReadFull(r, (local359)[:])
                chk(err)
        }
        ((*(*(struct {
                Name   string
                Rating int16
-       }))(obj)).Name) = string(local351)
+       }))(obj)).Name) = string(local359)
        {
                p := &(*(*(struct {
                        Name   string
@@ -31981,8 +32622,8 @@ func (obj *Group) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOAnim) serialize(w io.Writer) {
-       for local353 := range (*(*(struct {
+func (obj *AOAnim) Serialize(w io.Writer) {
+       for local361 := range (*(*(struct {
                Frames [2]int32
                Speed  float32
                Blend  float32
@@ -31994,7 +32635,7 @@ func (obj *AOAnim) serialize(w io.Writer) {
                                Speed  float32
                                Blend  float32
                                NoLoop bool
-                       }))(obj)).Frames)[local353]
+                       }))(obj)).Frames)[local361]
                        write32(w, uint32(x))
                }
        }
@@ -32031,8 +32672,8 @@ func (obj *AOAnim) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOAnim) deserialize(r io.Reader) {
-       for local354 := range (*(*(struct {
+func (obj *AOAnim) Deserialize(r io.Reader) {
+       for local362 := range (*(*(struct {
                Frames [2]int32
                Speed  float32
                Blend  float32
@@ -32044,7 +32685,7 @@ func (obj *AOAnim) deserialize(r io.Reader) {
                                Speed  float32
                                Blend  float32
                                NoLoop bool
-                       }))(obj)).Frames)[local354]
+                       }))(obj)).Frames)[local362]
                        *p = int32(read32(r))
                }
        }
@@ -32084,19 +32725,19 @@ func (obj *AOAnim) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOBonePos) serialize(w io.Writer) {
+func (obj *AOBonePos) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos Vec
                        Rot [3]float32
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local355 := range (*(*(struct {
+       for local363 := range (*(*(struct {
                Pos Vec
                Rot [3]float32
        }))(obj)).Rot {
@@ -32104,25 +32745,25 @@ func (obj *AOBonePos) serialize(w io.Writer) {
                        x := ((*(*(struct {
                                Pos Vec
                                Rot [3]float32
-                       }))(obj)).Rot)[local355]
+                       }))(obj)).Rot)[local363]
                        write32(w, math.Float32bits(x))
                }
        }
 }
 
-func (obj *AOBonePos) deserialize(r io.Reader) {
+func (obj *AOBonePos) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Pos Vec
                        Rot [3]float32
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local356 := range (*(*(struct {
+       for local364 := range (*(*(struct {
                Pos Vec
                Rot [3]float32
        }))(obj)).Rot {
@@ -32130,13 +32771,13 @@ func (obj *AOBonePos) deserialize(r io.Reader) {
                        p := &((*(*(struct {
                                Pos Vec
                                Rot [3]float32
-                       }))(obj)).Rot)[local356]
+                       }))(obj)).Rot)[local364]
                        *p = math.Float32frombits(read32(r))
                }
        }
 }
 
-func (obj *AOAttach) serialize(w io.Writer) {
+func (obj *AOAttach) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        ParentID     AOID
@@ -32144,12 +32785,12 @@ func (obj *AOAttach) serialize(w io.Writer) {
                        Pos          Vec
                        Rot          [3]float32
                        ForceVisible bool
-               }))(obj)).ParentID).serialize(w)
+               }))(obj)).ParentID).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
        if len(([]byte((*(*(struct {
                ParentID     AOID
@@ -32187,14 +32828,14 @@ func (obj *AOAttach) serialize(w io.Writer) {
                        Pos          Vec
                        Rot          [3]float32
                        ForceVisible bool
-               }))(obj)).Pos).serialize(w)
+               }))(obj)).Pos).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local357 := range (*(*(struct {
+       for local365 := range (*(*(struct {
                ParentID     AOID
                Bone         string
                Pos          Vec
@@ -32208,7 +32849,7 @@ func (obj *AOAttach) serialize(w io.Writer) {
                                Pos          Vec
                                Rot          [3]float32
                                ForceVisible bool
-                       }))(obj)).Rot)[local357]
+                       }))(obj)).Rot)[local365]
                        write32(w, math.Float32bits(x))
                }
        }
@@ -32228,7 +32869,7 @@ func (obj *AOAttach) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOAttach) deserialize(r io.Reader) {
+func (obj *AOAttach) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        ParentID     AOID
@@ -32236,22 +32877,22 @@ func (obj *AOAttach) deserialize(r io.Reader) {
                        Pos          Vec
                        Rot          [3]float32
                        ForceVisible bool
-               }))(obj)).ParentID).deserialize(r)
+               }))(obj)).ParentID).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
        }
-       var local358 []uint8
-       var local359 uint16
+       var local366 []uint8
+       var local367 uint16
        {
-               p := &local359
+               p := &local367
                *p = read16(r)
        }
-       (local358) = make([]uint8, local359)
+       (local366) = make([]uint8, local367)
        {
-               _, err := io.ReadFull(r, (local358)[:])
+               _, err := io.ReadFull(r, (local366)[:])
                chk(err)
        }
        ((*(*(struct {
@@ -32260,7 +32901,7 @@ func (obj *AOAttach) deserialize(r io.Reader) {
                Pos          Vec
                Rot          [3]float32
                ForceVisible bool
-       }))(obj)).Bone) = string(local358)
+       }))(obj)).Bone) = string(local366)
        if err := pcall(func() {
                ((*(*(struct {
                        ParentID     AOID
@@ -32268,14 +32909,14 @@ func (obj *AOAttach) deserialize(r io.Reader) {
                        Pos          Vec
                        Rot          [3]float32
                        ForceVisible bool
-               }))(obj)).Pos).deserialize(r)
+               }))(obj)).Pos).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
        }
-       for local360 := range (*(*(struct {
+       for local368 := range (*(*(struct {
                ParentID     AOID
                Bone         string
                Pos          Vec
@@ -32289,7 +32930,7 @@ func (obj *AOAttach) deserialize(r io.Reader) {
                                Pos          Vec
                                Rot          [3]float32
                                ForceVisible bool
-                       }))(obj)).Rot)[local360]
+                       }))(obj)).Rot)[local368]
                        *p = math.Float32frombits(read32(r))
                }
        }
@@ -32312,7 +32953,7 @@ func (obj *AOAttach) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AOPhysOverride) serialize(w io.Writer) {
+func (obj *AOPhysOverride) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Walk, Jump, Gravity float32
@@ -32381,7 +33022,7 @@ func (obj *AOPhysOverride) serialize(w io.Writer) {
        }
 }
 
-func (obj *AOPhysOverride) deserialize(r io.Reader) {
+func (obj *AOPhysOverride) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Walk, Jump, Gravity float32
@@ -32459,17 +33100,31 @@ func (obj *AOPhysOverride) deserialize(r io.Reader) {
        }
 }
 
-func (obj *NodeMetaField) serialize(w io.Writer) {
+func (obj *aoType) Serialize(w io.Writer) {
+       {
+               x := *(*(uint8))(obj)
+               write8(w, uint8(x))
+       }
+}
+
+func (obj *aoType) Deserialize(r io.Reader) {
+       {
+               p := &*(*(uint8))(obj)
+               *p = read8(r)
+       }
+}
+
+func (obj *NodeMetaField) Serialize(w io.Writer) {
        if err := pcall(func() {
                ((*(*(struct {
                        Field
                        Private bool
-               }))(obj)).Field).serialize(w)
+               }))(obj)).Field).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
        }
        {
                x := (*(*(struct {
@@ -32484,17 +33139,17 @@ func (obj *NodeMetaField) serialize(w io.Writer) {
        }
 }
 
-func (obj *NodeMetaField) deserialize(r io.Reader) {
+func (obj *NodeMetaField) Deserialize(r io.Reader) {
        if err := pcall(func() {
                ((*(*(struct {
                        Field
                        Private bool
-               }))(obj)).Field).deserialize(r)
+               }))(obj)).Field).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Field", err))
        }
        {
                p := &(*(*(struct {
@@ -32512,67 +33167,67 @@ func (obj *NodeMetaField) deserialize(r io.Reader) {
        }
 }
 
-func (obj *MinimapType) serialize(w io.Writer) {
+func (obj *MinimapType) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *MinimapType) deserialize(r io.Reader) {
+func (obj *MinimapType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *Param1Type) serialize(w io.Writer) {
+func (obj *Param1Type) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *Param1Type) deserialize(r io.Reader) {
+func (obj *Param1Type) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *Param2Type) serialize(w io.Writer) {
+func (obj *Param2Type) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *Param2Type) deserialize(r io.Reader) {
+func (obj *Param2Type) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *DrawType) serialize(w io.Writer) {
+func (obj *DrawType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *DrawType) deserialize(r io.Reader) {
+func (obj *DrawType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *TileDef) serialize(w io.Writer) {
+func (obj *TileDef) Serialize(w io.Writer) {
        {
-               local361 := uint8(6)
+               local369 := uint8(6)
                {
-                       x := local361
+                       x := local369
                        write8(w, uint8(x))
                }
        }
@@ -32590,12 +33245,12 @@ func (obj *TileDef) serialize(w io.Writer) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Texture).serialize(w)
+               }))(obj)).Texture).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -32611,12 +33266,12 @@ func (obj *TileDef) serialize(w io.Writer) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Anim).serialize(w)
+               }))(obj)).Anim).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -32632,12 +33287,12 @@ func (obj *TileDef) serialize(w io.Writer) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Flags).serialize(w)
+               }))(obj)).Flags).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileFlags", err))
        }
        if (*(*(struct {
                Texture
@@ -32765,25 +33420,26 @@ func (obj *TileDef) serialize(w io.Writer) {
 
                                //mt:if %s.Flags&TileAlign != 0
                                Align AlignType
-                       }))(obj)).Align).serialize(w)
+                       }))(obj)).Align).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlignType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AlignType", err))
                }
        }
 }
 
-func (obj *TileDef) deserialize(r io.Reader) {
+func (obj *TileDef) Deserialize(r io.Reader) {
        {
-               var local362 uint8
+               var local370 uint8
+               local371 := uint8(6)
                {
-                       p := &local362
+                       p := &local370
                        *p = read8(r)
                }
-               if local362 != (6) {
-                       chk(fmt.Errorf("const %v: %v", 6, local362))
+               if local370 != local371 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(6)", local370))
                }
        }
        if err := pcall(func() {
@@ -32800,12 +33456,12 @@ func (obj *TileDef) deserialize(r io.Reader) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Texture).deserialize(r)
+               }))(obj)).Texture).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Texture", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -32821,12 +33477,12 @@ func (obj *TileDef) deserialize(r io.Reader) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Anim).deserialize(r)
+               }))(obj)).Anim).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileAnim", err))
        }
        if err := pcall(func() {
                ((*(*(struct {
@@ -32842,12 +33498,12 @@ func (obj *TileDef) deserialize(r io.Reader) {
 
                        //mt:if %s.Flags&TileAlign != 0
                        Align AlignType
-               }))(obj)).Flags).deserialize(r)
+               }))(obj)).Flags).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileFlags", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.TileFlags", err))
        }
        if (*(*(struct {
                Texture
@@ -32975,49 +33631,49 @@ func (obj *TileDef) deserialize(r io.Reader) {
 
                                //mt:if %s.Flags&TileAlign != 0
                                Align AlignType
-                       }))(obj)).Align).deserialize(r)
+                       }))(obj)).Align).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlignType", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AlignType", err))
                }
        }
 }
 
-func (obj *WaveType) serialize(w io.Writer) {
+func (obj *WaveType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *WaveType) deserialize(r io.Reader) {
+func (obj *WaveType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *LiquidType) serialize(w io.Writer) {
+func (obj *LiquidType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *LiquidType) deserialize(r io.Reader) {
+func (obj *LiquidType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *NodeBox) serialize(w io.Writer) {
+func (obj *NodeBox) Serialize(w io.Writer) {
        {
-               local363 := uint8(6)
+               local372 := uint8(6)
                {
-                       x := local363
+                       x := local372
                        write8(w, uint8(x))
                }
        }
@@ -33034,12 +33690,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                        //mt:if %s.Type == ConnectedBox
                        ConnDirs, DiscoDirs  DirBoxes
                        DiscoAll, DiscoSides []Box
-               }))(obj)).Type).serialize(w)
+               }))(obj)).Type).Serialize(w)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBoxType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBoxType", err))
        }
        if !((*(*(struct {
                Type NodeBoxType
@@ -33082,12 +33738,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallTop).serialize(w)
+                       }))(obj)).WallTop).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33102,12 +33758,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallBot).serialize(w)
+                       }))(obj)).WallBot).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33122,12 +33778,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallSides).serialize(w)
+                       }))(obj)).WallSides).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if t := (*(*(struct {
@@ -33174,7 +33830,7 @@ func (obj *NodeBox) serialize(w io.Writer) {
                        }))(obj)).Fixed)))
                        write16(w, uint16(x))
                }
-               for local364 := range (*(*(struct {
+               for local373 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33200,12 +33856,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).Fixed)[local364]).serialize(w)
+                               }))(obj)).Fixed)[local373]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
        }
@@ -33235,12 +33891,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).ConnDirs).serialize(w)
+                       }))(obj)).ConnDirs).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DirBoxes", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33255,12 +33911,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).DiscoDirs).serialize(w)
+                       }))(obj)).DiscoDirs).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DirBoxes", err))
                }
                if len(((*(*(struct {
                        Type NodeBoxType
@@ -33293,7 +33949,7 @@ func (obj *NodeBox) serialize(w io.Writer) {
                        }))(obj)).DiscoAll)))
                        write16(w, uint16(x))
                }
-               for local365 := range (*(*(struct {
+               for local374 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33319,12 +33975,12 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).DiscoAll)[local365]).serialize(w)
+                               }))(obj)).DiscoAll)[local374]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
                if len(((*(*(struct {
@@ -33358,7 +34014,7 @@ func (obj *NodeBox) serialize(w io.Writer) {
                        }))(obj)).DiscoSides)))
                        write16(w, uint16(x))
                }
-               for local366 := range (*(*(struct {
+               for local375 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33384,26 +34040,27 @@ func (obj *NodeBox) serialize(w io.Writer) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).DiscoSides)[local366]).serialize(w)
+                               }))(obj)).DiscoSides)[local375]).Serialize(w)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
        }
 }
 
-func (obj *NodeBox) deserialize(r io.Reader) {
+func (obj *NodeBox) Deserialize(r io.Reader) {
        {
-               var local367 uint8
+               var local376 uint8
+               local377 := uint8(6)
                {
-                       p := &local367
+                       p := &local376
                        *p = read8(r)
                }
-               if local367 != (6) {
-                       chk(fmt.Errorf("const %v: %v", 6, local367))
+               if local376 != local377 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(6)", local376))
                }
        }
        if err := pcall(func() {
@@ -33419,12 +34076,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                        //mt:if %s.Type == ConnectedBox
                        ConnDirs, DiscoDirs  DirBoxes
                        DiscoAll, DiscoSides []Box
-               }))(obj)).Type).deserialize(r)
+               }))(obj)).Type).Deserialize(r)
        }); err != nil {
                if err == io.EOF {
                        chk(io.EOF)
                }
-               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBoxType", err))
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.NodeBoxType", err))
        }
        if !((*(*(struct {
                Type NodeBoxType
@@ -33467,12 +34124,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallTop).deserialize(r)
+                       }))(obj)).WallTop).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33487,12 +34144,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallBot).deserialize(r)
+                       }))(obj)).WallBot).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33507,12 +34164,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).WallSides).deserialize(r)
+                       }))(obj)).WallSides).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if t := (*(*(struct {
@@ -33528,9 +34185,9 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                ConnDirs, DiscoDirs  DirBoxes
                DiscoAll, DiscoSides []Box
        }))(obj)).Type; t == FixedBox || t == LeveledBox || t == ConnectedBox {
-               var local368 uint16
+               var local378 uint16
                {
-                       p := &local368
+                       p := &local378
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -33545,8 +34202,8 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                        //mt:if %s.Type == ConnectedBox
                        ConnDirs, DiscoDirs  DirBoxes
                        DiscoAll, DiscoSides []Box
-               }))(obj)).Fixed) = make([]Box, local368)
-               for local369 := range (*(*(struct {
+               }))(obj)).Fixed) = make([]Box, local378)
+               for local379 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33572,12 +34229,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).Fixed)[local369]).deserialize(r)
+                               }))(obj)).Fixed)[local379]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
        }
@@ -33607,12 +34264,12 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).ConnDirs).deserialize(r)
+                       }))(obj)).ConnDirs).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DirBoxes", err))
                }
                if err := pcall(func() {
                        ((*(*(struct {
@@ -33627,16 +34284,16 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                //mt:if %s.Type == ConnectedBox
                                ConnDirs, DiscoDirs  DirBoxes
                                DiscoAll, DiscoSides []Box
-                       }))(obj)).DiscoDirs).deserialize(r)
+                       }))(obj)).DiscoDirs).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DirBoxes", err))
                }
-               var local370 uint16
+               var local380 uint16
                {
-                       p := &local370
+                       p := &local380
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -33651,8 +34308,8 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                        //mt:if %s.Type == ConnectedBox
                        ConnDirs, DiscoDirs  DirBoxes
                        DiscoAll, DiscoSides []Box
-               }))(obj)).DiscoAll) = make([]Box, local370)
-               for local371 := range (*(*(struct {
+               }))(obj)).DiscoAll) = make([]Box, local380)
+               for local381 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33678,17 +34335,17 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).DiscoAll)[local371]).deserialize(r)
+                               }))(obj)).DiscoAll)[local381]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
-               var local372 uint16
+               var local382 uint16
                {
-                       p := &local372
+                       p := &local382
                        *p = read16(r)
                }
                ((*(*(struct {
@@ -33703,8 +34360,8 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                        //mt:if %s.Type == ConnectedBox
                        ConnDirs, DiscoDirs  DirBoxes
                        DiscoAll, DiscoSides []Box
-               }))(obj)).DiscoSides) = make([]Box, local372)
-               for local373 := range (*(*(struct {
+               }))(obj)).DiscoSides) = make([]Box, local382)
+               for local383 := range (*(*(struct {
                        Type NodeBoxType
 
                        //mt:if %s.Type == MountedBox
@@ -33730,18 +34387,18 @@ func (obj *NodeBox) deserialize(r io.Reader) {
                                        //mt:if %s.Type == ConnectedBox
                                        ConnDirs, DiscoDirs  DirBoxes
                                        DiscoAll, DiscoSides []Box
-                               }))(obj)).DiscoSides)[local373]).deserialize(r)
+                               }))(obj)).DiscoSides)[local383]).Deserialize(r)
                        }); err != nil {
                                if err == io.EOF {
                                        chk(io.EOF)
                                }
-                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                        }
                }
        }
 }
 
-func (obj *SoundDef) serialize(w io.Writer) {
+func (obj *SoundDef) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
                Name              string
                Gain, Pitch, Fade float32
@@ -33785,22 +34442,22 @@ func (obj *SoundDef) serialize(w io.Writer) {
        }
 }
 
-func (obj *SoundDef) deserialize(r io.Reader) {
-       var local374 []uint8
-       var local375 uint16
+func (obj *SoundDef) Deserialize(r io.Reader) {
+       var local384 []uint8
+       var local385 uint16
        {
-               p := &local375
+               p := &local385
                *p = read16(r)
        }
-       (local374) = make([]uint8, local375)
+       (local384) = make([]uint8, local385)
        {
-               _, err := io.ReadFull(r, (local374)[:])
+               _, err := io.ReadFull(r, (local384)[:])
                chk(err)
        }
        ((*(*(struct {
                Name              string
                Gain, Pitch, Fade float32
-       }))(obj)).Name) = string(local374)
+       }))(obj)).Name) = string(local384)
        {
                p := &(*(*(struct {
                        Name              string
@@ -33824,107 +34481,531 @@ func (obj *SoundDef) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AlphaUse) serialize(w io.Writer) {
+func (obj *AlphaUse) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *AlphaUse) deserialize(r io.Reader) {
+func (obj *AlphaUse) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *Keys) serialize(w io.Writer) {
+func (obj *Keys) Serialize(w io.Writer) {
        {
                x := *(*(uint32))(obj)
                write32(w, uint32(x))
        }
 }
 
-func (obj *Keys) deserialize(r io.Reader) {
+func (obj *Keys) Deserialize(r io.Reader) {
        {
                p := &*(*(uint32))(obj)
                *p = read32(r)
        }
 }
 
-func (obj *MapBlkFlags) serialize(w io.Writer) {
+func (obj *MapBlkFlags) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *MapBlkFlags) deserialize(r io.Reader) {
+func (obj *MapBlkFlags) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *LitFromBlks) serialize(w io.Writer) {
+func (obj *LitFromBlks) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *LitFromBlks) deserialize(r io.Reader) {
+func (obj *LitFromBlks) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *ItemType) serialize(w io.Writer) {
+func (obj *AOInitData) Serialize(w io.Writer) {
+       {
+               local386 := uint8(1)
+               {
+                       x := local386
+                       write8(w, uint8(x))
+               }
+       }
+       if len(([]byte((*(*(struct {
+
+               // For players.
+               Name     string
+               IsPlayer bool
+
+               ID AOID
+
+               Pos
+               Rot [3]float32
+
+               HP uint16
+
+               // See (de)serialize.fmt.
+               Msgs []AOMsg
+       }))(obj)).Name))) > math.MaxUint16 {
+               chk(ErrTooLong)
+       }
+       {
+               x := uint16(len(([]byte((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Name))))
+               write16(w, uint16(x))
+       }
+       {
+               _, err := w.Write(([]byte((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Name))[:])
+               chk(err)
+       }
+       {
+               x := (*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).IsPlayer
+               if x {
+                       write8(w, 1)
+               } else {
+                       write8(w, 0)
+               }
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).ID).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Pos).Serialize(w)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
+       }
+       for local387 := range (*(*(struct {
+
+               // For players.
+               Name     string
+               IsPlayer bool
+
+               ID AOID
+
+               Pos
+               Rot [3]float32
+
+               HP uint16
+
+               // See (de)serialize.fmt.
+               Msgs []AOMsg
+       }))(obj)).Rot {
+               {
+                       x := ((*(*(struct {
+
+                               // For players.
+                               Name     string
+                               IsPlayer bool
+
+                               ID AOID
+
+                               Pos
+                               Rot [3]float32
+
+                               HP uint16
+
+                               // See (de)serialize.fmt.
+                               Msgs []AOMsg
+                       }))(obj)).Rot)[local387]
+                       write32(w, math.Float32bits(x))
+               }
+       }
+       {
+               x := (*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).HP
+               write16(w, uint16(x))
+       }
+       {
+               x := (*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Msgs
+               { // For AOInitData.Msgs.
+                       if len(x) > math.MaxUint8 {
+                               chk(ErrTooLong)
+                       }
+                       write8(w, uint8(len(x)))
+                       for _, msg := range x {
+                               var b bytes.Buffer
+                               chk(writeAOMsg(&b, msg))
+                               if b.Len() > math.MaxUint32 {
+                                       chk(ErrTooLong)
+                               }
+                               write32(w, uint32(b.Len()))
+                               _, err := b.WriteTo(w)
+                               chk(err)
+                       }
+               }
+       }
+}
+
+func (obj *AOInitData) Deserialize(r io.Reader) {
+       {
+               var local388 uint8
+               local389 := uint8(1)
+               {
+                       p := &local388
+                       *p = read8(r)
+               }
+               if local388 != local389 {
+                       chk(fmt.Errorf("const %v: %v", "uint8(1)", local388))
+               }
+       }
+       var local390 []uint8
+       var local391 uint16
+       {
+               p := &local391
+               *p = read16(r)
+       }
+       (local390) = make([]uint8, local391)
+       {
+               _, err := io.ReadFull(r, (local390)[:])
+               chk(err)
+       }
+       ((*(*(struct {
+
+               // For players.
+               Name     string
+               IsPlayer bool
+
+               ID AOID
+
+               Pos
+               Rot [3]float32
+
+               HP uint16
+
+               // See (de)serialize.fmt.
+               Msgs []AOMsg
+       }))(obj)).Name) = string(local390)
+       {
+               p := &(*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).IsPlayer
+               switch n := read8(r); n {
+               case 0:
+                       *p = false
+               case 1:
+                       *p = true
+               default:
+                       chk(fmt.Errorf("invalid bool: %d", n))
+               }
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).ID).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.AOID", err))
+       }
+       if err := pcall(func() {
+               ((*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Pos).Deserialize(r)
+       }); err != nil {
+               if err == io.EOF {
+                       chk(io.EOF)
+               }
+               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Pos", err))
+       }
+       for local392 := range (*(*(struct {
+
+               // For players.
+               Name     string
+               IsPlayer bool
+
+               ID AOID
+
+               Pos
+               Rot [3]float32
+
+               HP uint16
+
+               // See (de)serialize.fmt.
+               Msgs []AOMsg
+       }))(obj)).Rot {
+               {
+                       p := &((*(*(struct {
+
+                               // For players.
+                               Name     string
+                               IsPlayer bool
+
+                               ID AOID
+
+                               Pos
+                               Rot [3]float32
+
+                               HP uint16
+
+                               // See (de)serialize.fmt.
+                               Msgs []AOMsg
+                       }))(obj)).Rot)[local392]
+                       *p = math.Float32frombits(read32(r))
+               }
+       }
+       {
+               p := &(*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).HP
+               *p = read16(r)
+       }
+       {
+               p := &(*(*(struct {
+
+                       // For players.
+                       Name     string
+                       IsPlayer bool
+
+                       ID AOID
+
+                       Pos
+                       Rot [3]float32
+
+                       HP uint16
+
+                       // See (de)serialize.fmt.
+                       Msgs []AOMsg
+               }))(obj)).Msgs
+               { // For AOInitData.Msgs.
+                       *p = make([]AOMsg, read8(r))
+                       for i := range *p {
+                               r := &io.LimitedReader{R: r, N: int64(read32(r))}
+                               msg, err := readAOMsg(r)
+                               chk(err)
+                               (*p)[i] = msg
+                               if r.N > 0 {
+                                       chk(fmt.Errorf("%d bytes of trailing data", r.N))
+                               }
+                       }
+               }
+       }
+}
+
+func (obj *ItemType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *ItemType) deserialize(r io.Reader) {
+func (obj *ItemType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *ToolCaps) serialize(w io.Writer) {
+func (obj *ToolCaps) Serialize(w io.Writer) {
        if _ = (*(*(struct {
                //mt:if _ = %s; false
-               NonNil bool `json:"-"`
+               NonNil bool
 
-               AttackCooldown float32 `json:"full_punch_interval"`
-               MaxDropLvl     int16   `json:"max_drop_level"`
+               AttackCooldown float32
+               MaxDropLvl     int16
 
                //mt:len32
-               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+               GroupCaps []ToolGroupCap
 
                //mt:len32
-               DmgGroups []Group `json:"damage_groups"`
+               DmgGroups []Group
 
-               AttackUses uint16 `json:"punch_attack_uses"`
+               //mt:32tou16
+               PunchUses int32
        }))(obj)); false {
                {
                        x := (*(*(struct {
                                //mt:if _ = %s; false
-                               NonNil bool `json:"-"`
+                               NonNil bool
 
-                               AttackCooldown float32 `json:"full_punch_interval"`
-                               MaxDropLvl     int16   `json:"max_drop_level"`
+                               AttackCooldown float32
+                               MaxDropLvl     int16
 
                                //mt:len32
-                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                               GroupCaps []ToolGroupCap
 
                                //mt:len32
-                               DmgGroups []Group `json:"damage_groups"`
+                               DmgGroups []Group
 
-                               AttackUses uint16 `json:"punch_attack_uses"`
+                               //mt:32tou16
+                               PunchUses int32
                        }))(obj)).NonNil
                        if x {
                                write8(w, 1)
@@ -33937,241 +35018,255 @@ func (obj *ToolCaps) serialize(w io.Writer) {
                ow := w
                w := new(bytes.Buffer)
                /*
-                  if r.N > 0 { (*(*(struct {
-                       //mt:if _ = %s; false
-                       NonNil  bool    `json:"-"`
+                       if r.N > 0 { (*(*(struct {
+                               //mt:if _ = %s; false
+                               NonNil  bool
 
-                       AttackCooldown  float32 `json:"full_punch_interval"`
-                       MaxDropLvl      int16   `json:"max_drop_level"`
+                               AttackCooldown  float32
+                               MaxDropLvl      int16
 
-                       //mt:len32
-                       GroupCaps       []ToolGroupCaps `json:"groupcaps"`
+                               //mt:len32
+                               GroupCaps       []ToolGroupCap
 
-                       //mt:len32
-                       DmgGroups       []Group `json:"damage_groups"`
+                               //mt:len32
+                               DmgGroups       []Group
 
-                       AttackUses      uint16  `json:"punch_attack_uses"`
-                  }))(obj)).NonNil = true}; /**/{
+                               //mt:32tou16
+                               PunchUses       int32
+                       }))(obj)).NonNil = true}; /*
+               */{
                        if (*(*(struct {
                                //mt:if _ = %s; false
-                               NonNil bool `json:"-"`
+                               NonNil bool
 
-                               AttackCooldown float32 `json:"full_punch_interval"`
-                               MaxDropLvl     int16   `json:"max_drop_level"`
+                               AttackCooldown float32
+                               MaxDropLvl     int16
 
                                //mt:len32
-                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                               GroupCaps []ToolGroupCap
 
                                //mt:len32
-                               DmgGroups []Group `json:"damage_groups"`
+                               DmgGroups []Group
 
-                               AttackUses uint16 `json:"punch_attack_uses"`
+                               //mt:32tou16
+                               PunchUses int32
                        }))(obj)).NonNil {
                                {
-                                       local376 := uint8(5)
+                                       local393 := uint8(5)
                                        {
-                                               x := local376
+                                               x := local393
                                                write8(w, uint8(x))
                                        }
                                }
                                {
                                        x := (*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).AttackCooldown
                                        write32(w, math.Float32bits(x))
                                }
                                {
                                        x := (*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).MaxDropLvl
                                        write16(w, uint16(x))
                                }
                                if len(((*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).GroupCaps)) > math.MaxUint32 {
                                        chk(ErrTooLong)
                                }
                                {
                                        x := uint32(len(((*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).GroupCaps)))
                                        write32(w, uint32(x))
                                }
-                               for local377 := range (*(*(struct {
+                               for local394 := range (*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).GroupCaps {
                                        if err := pcall(func() {
                                                (((*(*(struct {
                                                        //mt:if _ = %s; false
-                                                       NonNil bool `json:"-"`
+                                                       NonNil bool
 
-                                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                                       AttackCooldown float32
+                                                       MaxDropLvl     int16
 
                                                        //mt:len32
-                                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                                       GroupCaps []ToolGroupCap
 
                                                        //mt:len32
-                                                       DmgGroups []Group `json:"damage_groups"`
+                                                       DmgGroups []Group
 
-                                                       AttackUses uint16 `json:"punch_attack_uses"`
-                                               }))(obj)).GroupCaps)[local377]).serialize(w)
+                                                       //mt:32tou16
+                                                       PunchUses int32
+                                               }))(obj)).GroupCaps)[local394]).Serialize(w)
                                        }); err != nil {
                                                if err == io.EOF {
                                                        chk(io.EOF)
                                                }
-                                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCaps", err))
+                                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ToolGroupCap", err))
                                        }
                                }
                                if len(((*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).DmgGroups)) > math.MaxUint32 {
                                        chk(ErrTooLong)
                                }
                                {
                                        x := uint32(len(((*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).DmgGroups)))
                                        write32(w, uint32(x))
                                }
-                               for local378 := range (*(*(struct {
+                               for local395 := range (*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).DmgGroups {
                                        if err := pcall(func() {
                                                (((*(*(struct {
                                                        //mt:if _ = %s; false
-                                                       NonNil bool `json:"-"`
+                                                       NonNil bool
 
-                                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                                       AttackCooldown float32
+                                                       MaxDropLvl     int16
 
                                                        //mt:len32
-                                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                                       GroupCaps []ToolGroupCap
 
                                                        //mt:len32
-                                                       DmgGroups []Group `json:"damage_groups"`
+                                                       DmgGroups []Group
 
-                                                       AttackUses uint16 `json:"punch_attack_uses"`
-                                               }))(obj)).DmgGroups)[local378]).serialize(w)
+                                                       //mt:32tou16
+                                                       PunchUses int32
+                                               }))(obj)).DmgGroups)[local395]).Serialize(w)
                                        }); err != nil {
                                                if err == io.EOF {
                                                        chk(io.EOF)
                                                }
-                                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                                        }
                                }
                                {
-                                       x := (*(*(struct {
+                                       x := uint16((*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
-                                       }))(obj)).AttackUses
+                                               //mt:32tou16
+                                               PunchUses int32
+                                       }))(obj)).PunchUses)
                                        write16(w, uint16(x))
                                }
                        }
@@ -34194,37 +35289,39 @@ func (obj *ToolCaps) serialize(w io.Writer) {
        }
 }
 
-func (obj *ToolCaps) deserialize(r io.Reader) {
+func (obj *ToolCaps) Deserialize(r io.Reader) {
        if _ = (*(*(struct {
                //mt:if _ = %s; false
-               NonNil bool `json:"-"`
+               NonNil bool
 
-               AttackCooldown float32 `json:"full_punch_interval"`
-               MaxDropLvl     int16   `json:"max_drop_level"`
+               AttackCooldown float32
+               MaxDropLvl     int16
 
                //mt:len32
-               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+               GroupCaps []ToolGroupCap
 
                //mt:len32
-               DmgGroups []Group `json:"damage_groups"`
+               DmgGroups []Group
 
-               AttackUses uint16 `json:"punch_attack_uses"`
+               //mt:32tou16
+               PunchUses int32
        }))(obj)); false {
                {
                        p := &(*(*(struct {
                                //mt:if _ = %s; false
-                               NonNil bool `json:"-"`
+                               NonNil bool
 
-                               AttackCooldown float32 `json:"full_punch_interval"`
-                               MaxDropLvl     int16   `json:"max_drop_level"`
+                               AttackCooldown float32
+                               MaxDropLvl     int16
 
                                //mt:len32
-                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                               GroupCaps []ToolGroupCap
 
                                //mt:len32
-                               DmgGroups []Group `json:"damage_groups"`
+                               DmgGroups []Group
 
-                               AttackUses uint16 `json:"punch_attack_uses"`
+                               //mt:32tou16
+                               PunchUses int32
                        }))(obj)).NonNil
                        switch n := read8(r); n {
                        case 0:
@@ -34242,220 +35339,234 @@ func (obj *ToolCaps) deserialize(r io.Reader) {
                        p := &n
                        *p = read16(r)
                }
-               r := &io.LimitedReader{r, int64(n)}
+               r := &io.LimitedReader{R: r, N: int64(n)}
                if r.N > 0 {
                        (*(*(struct {
                                //mt:if _ = %s; false
-                               NonNil bool `json:"-"`
+                               NonNil bool
 
-                               AttackCooldown float32 `json:"full_punch_interval"`
-                               MaxDropLvl     int16   `json:"max_drop_level"`
+                               AttackCooldown float32
+                               MaxDropLvl     int16
 
                                //mt:len32
-                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                               GroupCaps []ToolGroupCap
 
                                //mt:len32
-                               DmgGroups []Group `json:"damage_groups"`
+                               DmgGroups []Group
 
-                               AttackUses uint16 `json:"punch_attack_uses"`
+                               //mt:32tou16
+                               PunchUses int32
                        }))(obj)).NonNil = true
                } /**/
                {
                        if (*(*(struct {
                                //mt:if _ = %s; false
-                               NonNil bool `json:"-"`
+                               NonNil bool
 
-                               AttackCooldown float32 `json:"full_punch_interval"`
-                               MaxDropLvl     int16   `json:"max_drop_level"`
+                               AttackCooldown float32
+                               MaxDropLvl     int16
 
                                //mt:len32
-                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                               GroupCaps []ToolGroupCap
 
                                //mt:len32
-                               DmgGroups []Group `json:"damage_groups"`
+                               DmgGroups []Group
 
-                               AttackUses uint16 `json:"punch_attack_uses"`
+                               //mt:32tou16
+                               PunchUses int32
                        }))(obj)).NonNil {
                                {
-                                       var local379 uint8
+                                       var local396 uint8
+                                       local397 := uint8(5)
                                        {
-                                               p := &local379
+                                               p := &local396
                                                *p = read8(r)
                                        }
-                                       if local379 != (5) {
-                                               chk(fmt.Errorf("const %v: %v", 5, local379))
+                                       if local396 != local397 {
+                                               chk(fmt.Errorf("const %v: %v", "uint8(5)", local396))
                                        }
                                }
                                {
                                        p := &(*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).AttackCooldown
                                        *p = math.Float32frombits(read32(r))
                                }
                                {
                                        p := &(*(*(struct {
                                                //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                               NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                               AttackCooldown float32
+                                               MaxDropLvl     int16
 
                                                //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                               GroupCaps []ToolGroupCap
 
                                                //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                               DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
+                                               //mt:32tou16
+                                               PunchUses int32
                                        }))(obj)).MaxDropLvl
                                        *p = int16(read16(r))
                                }
-                               var local380 uint32
+                               var local398 uint32
                                {
-                                       p := &local380
+                                       p := &local398
                                        *p = read32(r)
                                }
                                ((*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
-                               }))(obj)).GroupCaps) = make([]ToolGroupCaps, local380)
-                               for local381 := range (*(*(struct {
+                                       //mt:32tou16
+                                       PunchUses int32
+                               }))(obj)).GroupCaps) = make([]ToolGroupCap, local398)
+                               for local399 := range (*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).GroupCaps {
                                        if err := pcall(func() {
                                                (((*(*(struct {
                                                        //mt:if _ = %s; false
-                                                       NonNil bool `json:"-"`
+                                                       NonNil bool
 
-                                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                                       AttackCooldown float32
+                                                       MaxDropLvl     int16
 
                                                        //mt:len32
-                                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                                       GroupCaps []ToolGroupCap
 
                                                        //mt:len32
-                                                       DmgGroups []Group `json:"damage_groups"`
+                                                       DmgGroups []Group
 
-                                                       AttackUses uint16 `json:"punch_attack_uses"`
-                                               }))(obj)).GroupCaps)[local381]).deserialize(r)
+                                                       //mt:32tou16
+                                                       PunchUses int32
+                                               }))(obj)).GroupCaps)[local399]).Deserialize(r)
                                        }); err != nil {
                                                if err == io.EOF {
                                                        chk(io.EOF)
                                                }
-                                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCaps", err))
+                                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.ToolGroupCap", err))
                                        }
                                }
-                               var local382 uint32
+                               var local400 uint32
                                {
-                                       p := &local382
+                                       p := &local400
                                        *p = read32(r)
                                }
                                ((*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
-                               }))(obj)).DmgGroups) = make([]Group, local382)
-                               for local383 := range (*(*(struct {
+                                       //mt:32tou16
+                                       PunchUses int32
+                               }))(obj)).DmgGroups) = make([]Group, local400)
+                               for local401 := range (*(*(struct {
                                        //mt:if _ = %s; false
-                                       NonNil bool `json:"-"`
+                                       NonNil bool
 
-                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
                                        //mt:len32
-                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       GroupCaps []ToolGroupCap
 
                                        //mt:len32
-                                       DmgGroups []Group `json:"damage_groups"`
+                                       DmgGroups []Group
 
-                                       AttackUses uint16 `json:"punch_attack_uses"`
+                                       //mt:32tou16
+                                       PunchUses int32
                                }))(obj)).DmgGroups {
                                        if err := pcall(func() {
                                                (((*(*(struct {
                                                        //mt:if _ = %s; false
-                                                       NonNil bool `json:"-"`
+                                                       NonNil bool
 
-                                                       AttackCooldown float32 `json:"full_punch_interval"`
-                                                       MaxDropLvl     int16   `json:"max_drop_level"`
+                                                       AttackCooldown float32
+                                                       MaxDropLvl     int16
 
                                                        //mt:len32
-                                                       GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                                       GroupCaps []ToolGroupCap
 
                                                        //mt:len32
-                                                       DmgGroups []Group `json:"damage_groups"`
+                                                       DmgGroups []Group
 
-                                                       AttackUses uint16 `json:"punch_attack_uses"`
-                                               }))(obj)).DmgGroups)[local383]).deserialize(r)
+                                                       //mt:32tou16
+                                                       PunchUses int32
+                                               }))(obj)).DmgGroups)[local401]).Deserialize(r)
                                        }); err != nil {
                                                if err == io.EOF {
                                                        chk(io.EOF)
                                                }
-                                               chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err))
+                                               chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Group", err))
                                        }
                                }
+                               var local402 uint16
                                {
-                                       p := &(*(*(struct {
-                                               //mt:if _ = %s; false
-                                               NonNil bool `json:"-"`
+                                       p := &local402
+                                       *p = read16(r)
+                               }
+                               (*(*(struct {
+                                       //mt:if _ = %s; false
+                                       NonNil bool
 
-                                               AttackCooldown float32 `json:"full_punch_interval"`
-                                               MaxDropLvl     int16   `json:"max_drop_level"`
+                                       AttackCooldown float32
+                                       MaxDropLvl     int16
 
-                                               //mt:len32
-                                               GroupCaps []ToolGroupCaps `json:"groupcaps"`
+                                       //mt:len32
+                                       GroupCaps []ToolGroupCap
 
-                                               //mt:len32
-                                               DmgGroups []Group `json:"damage_groups"`
+                                       //mt:len32
+                                       DmgGroups []Group
 
-                                               AttackUses uint16 `json:"punch_attack_uses"`
-                                       }))(obj)).AttackUses
-                                       *p = read16(r)
-                               }
+                                       //mt:32tou16
+                                       PunchUses int32
+                               }))(obj)).PunchUses = int32(local402)
                        }
                }
                if r.N > 0 {
@@ -34464,89 +35575,103 @@ func (obj *ToolCaps) deserialize(r io.Reader) {
        }
 }
 
-func (obj *AnimType) serialize(w io.Writer) {
+func (obj *AnimType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *AnimType) deserialize(r io.Reader) {
+func (obj *AnimType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *Box) serialize(w io.Writer) {
-       for local384 := range *(*([2]Vec))(obj) {
+func (obj *HUDType) Serialize(w io.Writer) {
+       {
+               x := *(*(uint8))(obj)
+               write8(w, uint8(x))
+       }
+}
+
+func (obj *HUDType) Deserialize(r io.Reader) {
+       {
+               p := &*(*(uint8))(obj)
+               *p = read8(r)
+       }
+}
+
+func (obj *Box) Serialize(w io.Writer) {
+       for local403 := range *(*([2]Vec))(obj) {
                if err := pcall(func() {
-                       ((*(*([2]Vec))(obj))[local384]).serialize(w)
+                       ((*(*([2]Vec))(obj))[local403]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
                }
        }
 }
 
-func (obj *Box) deserialize(r io.Reader) {
-       for local385 := range *(*([2]Vec))(obj) {
+func (obj *Box) Deserialize(r io.Reader) {
+       for local404 := range *(*([2]Vec))(obj) {
                if err := pcall(func() {
-                       ((*(*([2]Vec))(obj))[local385]).deserialize(r)
+                       ((*(*([2]Vec))(obj))[local404]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Vec", err))
                }
        }
 }
 
-func (obj *TileFlags) serialize(w io.Writer) {
+func (obj *TileFlags) Serialize(w io.Writer) {
        {
                x := *(*(uint16))(obj)
                write16(w, uint16(x))
        }
 }
 
-func (obj *TileFlags) deserialize(r io.Reader) {
+func (obj *TileFlags) Deserialize(r io.Reader) {
        {
                p := &*(*(uint16))(obj)
                *p = read16(r)
        }
 }
 
-func (obj *AlignType) serialize(w io.Writer) {
+func (obj *AlignType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *AlignType) deserialize(r io.Reader) {
+func (obj *AlignType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *NodeBoxType) serialize(w io.Writer) {
+func (obj *NodeBoxType) Serialize(w io.Writer) {
        {
                x := *(*(uint8))(obj)
                write8(w, uint8(x))
        }
 }
 
-func (obj *NodeBoxType) deserialize(r io.Reader) {
+func (obj *NodeBoxType) Deserialize(r io.Reader) {
        {
                p := &*(*(uint8))(obj)
                *p = read8(r)
        }
 }
 
-func (obj *DirBoxes) serialize(w io.Writer) {
+func (obj *DirBoxes) Serialize(w io.Writer) {
        if len(((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
@@ -34560,7 +35685,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Top)))
                write16(w, uint16(x))
        }
-       for local386 := range (*(*(struct {
+       for local405 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Top {
@@ -34568,12 +35693,12 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Top)[local386]).serialize(w)
+                       }))(obj)).Top)[local405]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if len(((*(*(struct {
@@ -34589,7 +35714,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Bot)))
                write16(w, uint16(x))
        }
-       for local387 := range (*(*(struct {
+       for local406 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Bot {
@@ -34597,12 +35722,12 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Bot)[local387]).serialize(w)
+                       }))(obj)).Bot)[local406]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if len(((*(*(struct {
@@ -34618,7 +35743,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Front)))
                write16(w, uint16(x))
        }
-       for local388 := range (*(*(struct {
+       for local407 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Front {
@@ -34626,12 +35751,12 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Front)[local388]).serialize(w)
+                       }))(obj)).Front)[local407]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if len(((*(*(struct {
@@ -34647,7 +35772,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Left)))
                write16(w, uint16(x))
        }
-       for local389 := range (*(*(struct {
+       for local408 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Left {
@@ -34655,12 +35780,12 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Left)[local389]).serialize(w)
+                       }))(obj)).Left)[local408]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if len(((*(*(struct {
@@ -34676,7 +35801,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Back)))
                write16(w, uint16(x))
        }
-       for local390 := range (*(*(struct {
+       for local409 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Back {
@@ -34684,12 +35809,12 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Back)[local390]).serialize(w)
+                       }))(obj)).Back)[local409]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
        if len(((*(*(struct {
@@ -34705,7 +35830,7 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                }))(obj)).Right)))
                write16(w, uint16(x))
        }
-       for local391 := range (*(*(struct {
+       for local410 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Right {
@@ -34713,27 +35838,27 @@ func (obj *DirBoxes) serialize(w io.Writer) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Right)[local391]).serialize(w)
+                       }))(obj)).Right)[local410]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
 }
 
-func (obj *DirBoxes) deserialize(r io.Reader) {
-       var local392 uint16
+func (obj *DirBoxes) Deserialize(r io.Reader) {
+       var local411 uint16
        {
-               p := &local392
+               p := &local411
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Top) = make([]Box, local392)
-       for local393 := range (*(*(struct {
+       }))(obj)).Top) = make([]Box, local411)
+       for local412 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Top {
@@ -34741,24 +35866,24 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Top)[local393]).deserialize(r)
+                       }))(obj)).Top)[local412]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
-       var local394 uint16
+       var local413 uint16
        {
-               p := &local394
+               p := &local413
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Bot) = make([]Box, local394)
-       for local395 := range (*(*(struct {
+       }))(obj)).Bot) = make([]Box, local413)
+       for local414 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Bot {
@@ -34766,24 +35891,24 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Bot)[local395]).deserialize(r)
+                       }))(obj)).Bot)[local414]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
-       var local396 uint16
+       var local415 uint16
        {
-               p := &local396
+               p := &local415
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Front) = make([]Box, local396)
-       for local397 := range (*(*(struct {
+       }))(obj)).Front) = make([]Box, local415)
+       for local416 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Front {
@@ -34791,24 +35916,24 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Front)[local397]).deserialize(r)
+                       }))(obj)).Front)[local416]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
-       var local398 uint16
+       var local417 uint16
        {
-               p := &local398
+               p := &local417
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Left) = make([]Box, local398)
-       for local399 := range (*(*(struct {
+       }))(obj)).Left) = make([]Box, local417)
+       for local418 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Left {
@@ -34816,24 +35941,24 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Left)[local399]).deserialize(r)
+                       }))(obj)).Left)[local418]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
-       var local400 uint16
+       var local419 uint16
        {
-               p := &local400
+               p := &local419
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Back) = make([]Box, local400)
-       for local401 := range (*(*(struct {
+       }))(obj)).Back) = make([]Box, local419)
+       for local420 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Back {
@@ -34841,24 +35966,24 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Back)[local401]).deserialize(r)
+                       }))(obj)).Back)[local420]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
-       var local402 uint16
+       var local421 uint16
        {
-               p := &local402
+               p := &local421
                *p = read16(r)
        }
        ((*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
-       }))(obj)).Right) = make([]Box, local402)
-       for local403 := range (*(*(struct {
+       }))(obj)).Right) = make([]Box, local421)
+       for local422 := range (*(*(struct {
                Top, Bot                 []Box
                Front, Left, Back, Right []Box
        }))(obj)).Right {
@@ -34866,20 +35991,23 @@ func (obj *DirBoxes) deserialize(r io.Reader) {
                        (((*(*(struct {
                                Top, Bot                 []Box
                                Front, Left, Back, Right []Box
-                       }))(obj)).Right)[local403]).deserialize(r)
+                       }))(obj)).Right)[local422]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.Box", err))
                }
        }
 }
 
-func (obj *ToolGroupCaps) serialize(w io.Writer) {
+func (obj *ToolGroupCap) Serialize(w io.Writer) {
        if len(([]byte((*(*(struct {
-               Name   string
-               Uses   int16
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
@@ -34889,8 +36017,11 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
        }
        {
                x := uint16(len(([]byte((*(*(struct {
-                       Name   string
-                       Uses   int16
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
@@ -34900,8 +36031,11 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
        }
        {
                _, err := w.Write(([]byte((*(*(struct {
-                       Name   string
-                       Uses   int16
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
@@ -34910,20 +36044,26 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
                chk(err)
        }
        {
-               x := (*(*(struct {
-                       Name   string
-                       Uses   int16
+               x := int16((*(*(struct {
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
                        Times []DigTime
-               }))(obj)).Uses
+               }))(obj)).Uses)
                write16(w, uint16(x))
        }
        {
                x := (*(*(struct {
-                       Name   string
-                       Uses   int16
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
@@ -34932,8 +36072,11 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
                write16(w, uint16(x))
        }
        if len(((*(*(struct {
-               Name   string
-               Uses   int16
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
@@ -34943,8 +36086,11 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
        }
        {
                x := uint32(len(((*(*(struct {
-                       Name   string
-                       Uses   int16
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
@@ -34952,9 +36098,12 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
                }))(obj)).Times)))
                write32(w, uint32(x))
        }
-       for local404 := range (*(*(struct {
-               Name   string
-               Uses   int16
+       for local423 := range (*(*(struct {
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
@@ -34962,57 +36111,71 @@ func (obj *ToolGroupCaps) serialize(w io.Writer) {
        }))(obj)).Times {
                if err := pcall(func() {
                        (((*(*(struct {
-                               Name   string
-                               Uses   int16
+                               Name string
+
+                               //mt:32to16
+                               Uses int32
+
                                MaxLvl int16
 
                                //mt:len32
                                Times []DigTime
-                       }))(obj)).Times)[local404]).serialize(w)
+                       }))(obj)).Times)[local423]).Serialize(w)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DigTime", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DigTime", err))
                }
        }
 }
 
-func (obj *ToolGroupCaps) deserialize(r io.Reader) {
-       var local405 []uint8
-       var local406 uint16
+func (obj *ToolGroupCap) Deserialize(r io.Reader) {
+       var local424 []uint8
+       var local425 uint16
        {
-               p := &local406
+               p := &local425
                *p = read16(r)
        }
-       (local405) = make([]uint8, local406)
+       (local424) = make([]uint8, local425)
        {
-               _, err := io.ReadFull(r, (local405)[:])
+               _, err := io.ReadFull(r, (local424)[:])
                chk(err)
        }
        ((*(*(struct {
-               Name   string
-               Uses   int16
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
                Times []DigTime
-       }))(obj)).Name) = string(local405)
+       }))(obj)).Name) = string(local424)
+       var local426 int16
        {
-               p := &(*(*(struct {
-                       Name   string
-                       Uses   int16
-                       MaxLvl int16
-
-                       //mt:len32
-                       Times []DigTime
-               }))(obj)).Uses
+               p := &local426
                *p = int16(read16(r))
        }
+       (*(*(struct {
+               Name string
+
+               //mt:32to16
+               Uses int32
+
+               MaxLvl int16
+
+               //mt:len32
+               Times []DigTime
+       }))(obj)).Uses = int32(local426)
        {
                p := &(*(*(struct {
-                       Name   string
-                       Uses   int16
+                       Name string
+
+                       //mt:32to16
+                       Uses int32
+
                        MaxLvl int16
 
                        //mt:len32
@@ -35020,22 +36183,28 @@ func (obj *ToolGroupCaps) deserialize(r io.Reader) {
                }))(obj)).MaxLvl
                *p = int16(read16(r))
        }
-       var local407 uint32
+       var local427 uint32
        {
-               p := &local407
+               p := &local427
                *p = read32(r)
        }
        ((*(*(struct {
-               Name   string
-               Uses   int16
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
                Times []DigTime
-       }))(obj)).Times) = make([]DigTime, local407)
-       for local408 := range (*(*(struct {
-               Name   string
-               Uses   int16
+       }))(obj)).Times) = make([]DigTime, local427)
+       for local428 := range (*(*(struct {
+               Name string
+
+               //mt:32to16
+               Uses int32
+
                MaxLvl int16
 
                //mt:len32
@@ -35043,23 +36212,26 @@ func (obj *ToolGroupCaps) deserialize(r io.Reader) {
        }))(obj)).Times {
                if err := pcall(func() {
                        (((*(*(struct {
-                               Name   string
-                               Uses   int16
+                               Name string
+
+                               //mt:32to16
+                               Uses int32
+
                                MaxLvl int16
 
                                //mt:len32
                                Times []DigTime
-                       }))(obj)).Times)[local408]).deserialize(r)
+                       }))(obj)).Times)[local428]).Deserialize(r)
                }); err != nil {
                        if err == io.EOF {
                                chk(io.EOF)
                        }
-                       chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DigTime", err))
+                       chk(fmt.Errorf("%s: %w", "github.com/dragonfireclient/mt.DigTime", err))
                }
        }
 }
 
-func (obj *DigTime) serialize(w io.Writer) {
+func (obj *DigTime) Serialize(w io.Writer) {
        {
                x := (*(*(struct {
                        Rating int16
@@ -35076,7 +36248,7 @@ func (obj *DigTime) serialize(w io.Writer) {
        }
 }
 
-func (obj *DigTime) deserialize(r io.Reader) {
+func (obj *DigTime) Deserialize(r io.Reader) {
        {
                p := &(*(*(struct {
                        Rating int16