// Code generated by mkserialize.sh. DO NOT EDIT. package mt import ( "bytes" "compress/zlib" "crypto/sha1" "errors" "fmt" "image/color" "io" "math" "sort" "unicode/utf16" ) 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) _, err := w.Write(buf) chk(err) } func readBuf(r io.Reader, n int) []byte { buf := make([]byte, n) _, err := io.ReadFull(r, buf) 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) deserialize(r io.Reader) { } func (obj *ToSrvInit) serialize(w io.Writer) { { x := (*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SerializeVer write8(w, uint8(x)) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SupportedCompression).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err)) } { x := (*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).MinProtoVer write16(w, uint16(x)) } { x := (*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).MaxProtoVer write16(w, uint16(x)) } if len(([]byte((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).PlayerName))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).PlayerName)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).PlayerName))[:]) chk(err) } if err := pcall(func() { { x := (*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SendFullItemMeta if x { write8(w, 1) } else { write8(w, 0) } } }); err != nil && err != io.EOF { chk(err) } } func (obj *ToSrvInit) deserialize(r io.Reader) { { p := &(*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SerializeVer *p = read8(r) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SupportedCompression).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err)) } { p := &(*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).MinProtoVer *p = read16(r) } { p := &(*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).MaxProtoVer *p = read16(r) } var local1 []uint8 var local2 uint16 { p := &local2 *p = read16(r) } (local1) = make([]uint8, local2) { _, err := io.ReadFull(r, (local1)[:]) chk(err) } ((*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).PlayerName) = string(local1) if err := pcall(func() { { p := &(*(*(struct { SerializeVer uint8 SupportedCompression CompressionModes MinProtoVer, MaxProtoVer uint16 PlayerName string //mt:opt SendFullItemMeta bool }))(obj)).SendFullItemMeta 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 *ToSrvInit2) serialize(w io.Writer) { if len(([]byte((*(*(struct { Lang string }))(obj)).Lang))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Lang string }))(obj)).Lang)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Lang string }))(obj)).Lang))[:]) chk(err) } } func (obj *ToSrvInit2) deserialize(r io.Reader) { var local3 []uint8 var local4 uint16 { p := &local4 *p = read16(r) } (local3) = make([]uint8, local4) { _, err := io.ReadFull(r, (local3)[:]) chk(err) } ((*(*(struct { Lang string }))(obj)).Lang) = string(local3) } func (obj *ToSrvModChanJoin) serialize(w io.Writer) { if len(([]byte((*(*(struct { Channel string }))(obj)).Channel))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string }))(obj)).Channel)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string }))(obj)).Channel))[:]) chk(err) } } func (obj *ToSrvModChanJoin) deserialize(r io.Reader) { var local5 []uint8 var local6 uint16 { p := &local6 *p = read16(r) } (local5) = make([]uint8, local6) { _, err := io.ReadFull(r, (local5)[:]) chk(err) } ((*(*(struct { Channel string }))(obj)).Channel) = string(local5) } func (obj *ToSrvModChanLeave) serialize(w io.Writer) { if len(([]byte((*(*(struct { Channel string }))(obj)).Channel))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string }))(obj)).Channel)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string }))(obj)).Channel))[:]) chk(err) } } func (obj *ToSrvModChanLeave) deserialize(r io.Reader) { var local7 []uint8 var local8 uint16 { p := &local8 *p = read16(r) } (local7) = make([]uint8, local8) { _, err := io.ReadFull(r, (local7)[:]) chk(err) } ((*(*(struct { Channel string }))(obj)).Channel) = string(local7) } func (obj *ToSrvModChanMsg) serialize(w io.Writer) { if len(([]byte((*(*(struct { Channel string Msg string }))(obj)).Channel))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string Msg string }))(obj)).Channel)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string Msg string }))(obj)).Channel))[:]) chk(err) } if len(([]byte((*(*(struct { Channel string Msg string }))(obj)).Msg))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string Msg string }))(obj)).Msg)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string Msg string }))(obj)).Msg))[:]) chk(err) } } func (obj *ToSrvModChanMsg) deserialize(r io.Reader) { var local9 []uint8 var local10 uint16 { p := &local10 *p = read16(r) } (local9) = make([]uint8, local10) { _, err := io.ReadFull(r, (local9)[:]) chk(err) } ((*(*(struct { Channel string Msg string }))(obj)).Channel) = string(local9) var local11 []uint8 var local12 uint16 { p := &local12 *p = read16(r) } (local11) = make([]uint8, local12) { _, err := io.ReadFull(r, (local11)[:]) chk(err) } ((*(*(struct { Channel string Msg string }))(obj)).Msg) = string(local11) } func (obj *ToSrvPlayerPos) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Pos PlayerPos }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err)) } } func (obj *ToSrvPlayerPos) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Pos PlayerPos }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err)) } } func (obj *ToSrvGotBlks) serialize(w io.Writer) { if len(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)) > math.MaxUint8 { chk(ErrTooLong) } { x := uint8(len(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks))) write8(w, uint8(x)) } for local13 := range (*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks { for local14 := range ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local13] { { x := (((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local13])[local14] write16(w, uint16(x)) } } } } func (obj *ToSrvGotBlks) deserialize(r io.Reader) { var local15 uint8 { p := &local15 *p = read8(r) } ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks) = make([][3]int16, local15) for local16 := range (*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks { for local17 := range ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local16] { { p := &(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local16])[local17] *p = int16(read16(r)) } } } } func (obj *ToSrvDeletedBlks) serialize(w io.Writer) { if len(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)) > math.MaxUint8 { chk(ErrTooLong) } { x := uint8(len(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks))) write8(w, uint8(x)) } for local18 := range (*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks { for local19 := range ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local18] { { x := (((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local18])[local19] write16(w, uint16(x)) } } } } func (obj *ToSrvDeletedBlks) deserialize(r io.Reader) { var local20 uint8 { p := &local20 *p = read8(r) } ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks) = make([][3]int16, local20) for local21 := range (*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks { for local22 := range ((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local21] { { p := &(((*(*(struct { //mt:len8 Blks [][3]int16 }))(obj)).Blks)[local21])[local22] *p = int16(read16(r)) } } } } func (obj *ToSrvInvAction) serialize(w io.Writer) { { _, err := w.Write(([]byte((*(*(struct { //mt:raw Action string }))(obj)).Action))[:]) chk(err) } } 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) chk(err) } ((*(*(struct { //mt:raw Action string }))(obj)).Action) = string(local23) } func (obj *ToSrvChatMsg) serialize(w io.Writer) { if len((utf16.Encode([]rune((*(*(struct { //mt:utf16 Msg string }))(obj)).Msg)))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((utf16.Encode([]rune((*(*(struct { //mt:utf16 Msg string }))(obj)).Msg))))) write16(w, uint16(x)) } for local25 := range utf16.Encode([]rune((*(*(struct { //mt:utf16 Msg string }))(obj)).Msg)) { { x := (utf16.Encode([]rune((*(*(struct { //mt:utf16 Msg string }))(obj)).Msg)))[local25] write16(w, uint16(x)) } } } func (obj *ToSrvChatMsg) deserialize(r io.Reader) { var local26 []uint16 var local27 uint16 { p := &local27 *p = read16(r) } (local26) = make([]uint16, local27) for local28 := range local26 { { p := &(local26)[local28] *p = read16(r) } } (*(*(struct { //mt:utf16 Msg string }))(obj)).Msg = string(utf16.Decode(local26)) } func (obj *ToSrvFallDmg) serialize(w io.Writer) { { x := (*(*(struct { Amount uint16 }))(obj)).Amount write16(w, uint16(x)) } } func (obj *ToSrvFallDmg) deserialize(r io.Reader) { { p := &(*(*(struct { Amount uint16 }))(obj)).Amount *p = read16(r) } } func (obj *ToSrvSelectItem) serialize(w io.Writer) { { x := (*(*(struct { Slot uint16 }))(obj)).Slot write16(w, uint16(x)) } } func (obj *ToSrvSelectItem) deserialize(r io.Reader) { { p := &(*(*(struct { Slot uint16 }))(obj)).Slot *p = read16(r) } } func (obj *ToSrvRespawn) serialize(w io.Writer) { } func (obj *ToSrvRespawn) deserialize(r io.Reader) { } func (obj *ToSrvInteract) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Action).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Interaction", err)) } { x := (*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).ItemSlot write16(w, uint16(x)) } { ow := w w := new(bytes.Buffer) { x := (*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Pointed chk(writePointedThing(w, x)) } { 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) } } } if err := pcall(func() { ((*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err)) } } func (obj *ToSrvInteract) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Action).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Interaction", err)) } { p := &(*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).ItemSlot *p = read16(r) } { var n uint32 { p := &n *p = read32(r) } r := &io.LimitedReader{r, int64(n)} { p := &(*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Pointed { var err error *p, err = readPointedThing(r) chk(err) } } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } if err := pcall(func() { ((*(*(struct { Action Interaction ItemSlot uint16 //mt:lenhdr 32 Pointed PointedThing //mt:end Pos PlayerPos }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerPos", err)) } } func (obj *ToSrvRemovedSounds) serialize(w io.Writer) { if len(((*(*(struct { IDs []SoundID }))(obj)).IDs)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { IDs []SoundID }))(obj)).IDs))) write16(w, uint16(x)) } for local29 := range (*(*(struct { IDs []SoundID }))(obj)).IDs { if err := pcall(func() { (((*(*(struct { IDs []SoundID }))(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)) } } } func (obj *ToSrvRemovedSounds) deserialize(r io.Reader) { var local30 uint16 { p := &local30 *p = read16(r) } ((*(*(struct { IDs []SoundID }))(obj)).IDs) = make([]SoundID, local30) for local31 := range (*(*(struct { IDs []SoundID }))(obj)).IDs { if err := pcall(func() { (((*(*(struct { IDs []SoundID }))(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)) } } } func (obj *ToSrvNodeMetaFields) serialize(w io.Writer) { for local32 := range (*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Pos { { x := ((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Pos)[local32] write16(w, uint16(x)) } } if len(([]byte((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Formname))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Formname)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Formname))[:]) chk(err) } if len(((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Fields)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Fields))) write16(w, uint16(x)) } for local33 := range (*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(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)) } } } func (obj *ToSrvNodeMetaFields) deserialize(r io.Reader) { for local34 := range (*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Pos { { p := &((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Pos)[local34] *p = int16(read16(r)) } } var local35 []uint8 var local36 uint16 { p := &local36 *p = read16(r) } (local35) = make([]uint8, local36) { _, err := io.ReadFull(r, (local35)[:]) chk(err) } ((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Formname) = string(local35) var local37 uint16 { p := &local37 *p = read16(r) } ((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Fields) = make([]Field, local37) for local38 := range (*(*(struct { Pos [3]int16 Formname string Fields []Field }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { Pos [3]int16 Formname string Fields []Field }))(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)) } } } func (obj *ToSrvInvFields) serialize(w io.Writer) { if len(([]byte((*(*(struct { Formname string Fields []Field }))(obj)).Formname))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Formname string Fields []Field }))(obj)).Formname)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Formname string Fields []Field }))(obj)).Formname))[:]) chk(err) } if len(((*(*(struct { Formname string Fields []Field }))(obj)).Fields)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Formname string Fields []Field }))(obj)).Fields))) write16(w, uint16(x)) } for local39 := range (*(*(struct { Formname string Fields []Field }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { Formname string Fields []Field }))(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)) } } } func (obj *ToSrvInvFields) deserialize(r io.Reader) { var local40 []uint8 var local41 uint16 { p := &local41 *p = read16(r) } (local40) = make([]uint8, local41) { _, err := io.ReadFull(r, (local40)[:]) chk(err) } ((*(*(struct { Formname string Fields []Field }))(obj)).Formname) = string(local40) var local42 uint16 { p := &local42 *p = read16(r) } ((*(*(struct { Formname string Fields []Field }))(obj)).Fields) = make([]Field, local42) for local43 := range (*(*(struct { Formname string Fields []Field }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { Formname string Fields []Field }))(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)) } } } func (obj *ToSrvReqMedia) serialize(w io.Writer) { if len(((*(*(struct { Filenames []string }))(obj)).Filenames)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Filenames []string }))(obj)).Filenames))) write16(w, uint16(x)) } for local44 := range (*(*(struct { Filenames []string }))(obj)).Filenames { if len(([]byte(((*(*(struct { Filenames []string }))(obj)).Filenames)[local44]))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(((*(*(struct { Filenames []string }))(obj)).Filenames)[local44])))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(((*(*(struct { Filenames []string }))(obj)).Filenames)[local44]))[:]) chk(err) } } } func (obj *ToSrvReqMedia) deserialize(r io.Reader) { var local45 uint16 { p := &local45 *p = read16(r) } ((*(*(struct { Filenames []string }))(obj)).Filenames) = make([]string, local45) for local46 := range (*(*(struct { Filenames []string }))(obj)).Filenames { var local47 []uint8 var local48 uint16 { p := &local48 *p = read16(r) } (local47) = make([]uint8, local48) { _, err := io.ReadFull(r, (local47)[:]) chk(err) } (((*(*(struct { Filenames []string }))(obj)).Filenames)[local46]) = string(local47) } } func (obj *ToSrvCltReady) serialize(w io.Writer) { { x := (*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Major write8(w, uint8(x)) } { x := (*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Minor write8(w, uint8(x)) } { x := (*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Patch write8(w, uint8(x)) } { x := (*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Reserved write8(w, uint8(x)) } if len(([]byte((*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Version))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Version)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Version))[:]) chk(err) } { x := (*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Formspec write16(w, uint16(x)) } } func (obj *ToSrvCltReady) deserialize(r io.Reader) { { p := &(*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Major *p = read8(r) } { p := &(*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Minor *p = read8(r) } { p := &(*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Patch *p = read8(r) } { p := &(*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Reserved *p = read8(r) } var local49 []uint8 var local50 uint16 { p := &local50 *p = read16(r) } (local49) = make([]uint8, local50) { _, err := io.ReadFull(r, (local49)[:]) chk(err) } ((*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Version) = string(local49) { p := &(*(*(struct { // Version information. Major, Minor, Patch uint8 Reserved uint8 Version string Formspec uint16 }))(obj)).Formspec *p = read16(r) } } func (obj *ToSrvFirstSRP) serialize(w io.Writer) { if len(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Salt)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Salt))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Salt)[:]) chk(err) } if len(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Verifier)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Verifier))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Verifier)[:]) chk(err) } { x := (*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).EmptyPasswd if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *ToSrvFirstSRP) deserialize(r io.Reader) { var local51 uint16 { p := &local51 *p = read16(r) } ((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Salt) = make([]byte, local51) { _, err := io.ReadFull(r, ((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Salt)[:]) chk(err) } var local52 uint16 { p := &local52 *p = read16(r) } ((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Verifier) = make([]byte, local52) { _, err := io.ReadFull(r, ((*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).Verifier)[:]) chk(err) } { p := &(*(*(struct { Salt []byte Verifier []byte EmptyPasswd bool }))(obj)).EmptyPasswd switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *ToSrvSRPBytesA) serialize(w io.Writer) { if len(((*(*(struct { A []byte NoSHA1 bool }))(obj)).A)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { A []byte NoSHA1 bool }))(obj)).A))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { A []byte NoSHA1 bool }))(obj)).A)[:]) chk(err) } { x := (*(*(struct { A []byte NoSHA1 bool }))(obj)).NoSHA1 if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *ToSrvSRPBytesA) deserialize(r io.Reader) { var local53 uint16 { p := &local53 *p = read16(r) } ((*(*(struct { A []byte NoSHA1 bool }))(obj)).A) = make([]byte, local53) { _, err := io.ReadFull(r, ((*(*(struct { A []byte NoSHA1 bool }))(obj)).A)[:]) chk(err) } { p := &(*(*(struct { A []byte NoSHA1 bool }))(obj)).NoSHA1 switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *ToSrvSRPBytesM) serialize(w io.Writer) { if len(((*(*(struct { M []byte }))(obj)).M)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { M []byte }))(obj)).M))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { M []byte }))(obj)).M)[:]) chk(err) } } func (obj *ToSrvSRPBytesM) deserialize(r io.Reader) { var local54 uint16 { p := &local54 *p = read16(r) } ((*(*(struct { M []byte }))(obj)).M) = make([]byte, local54) { _, err := io.ReadFull(r, ((*(*(struct { M []byte }))(obj)).M)[:]) chk(err) } } func (obj *ToCltHello) serialize(w io.Writer) { { x := (*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).SerializeVer write8(w, uint8(x)) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Compression).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err)) } { x := (*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).ProtoVer write16(w, uint16(x)) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).AuthMethods).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } if len(([]byte((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Username))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Username)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Username))[:]) chk(err) } } func (obj *ToCltHello) deserialize(r io.Reader) { { p := &(*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).SerializeVer *p = read8(r) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Compression).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CompressionModes", err)) } { p := &(*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).ProtoVer *p = read16(r) } if err := pcall(func() { ((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).AuthMethods).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } var local55 []uint8 var local56 uint16 { p := &local56 *p = read16(r) } (local55) = make([]uint8, local56) { _, err := io.ReadFull(r, (local55)[:]) chk(err) } ((*(*(struct { SerializeVer uint8 Compression CompressionModes ProtoVer uint16 AuthMethods Username string }))(obj)).Username) = string(local55) } func (obj *ToCltAcceptAuth) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).PlayerPos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } { x := (*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).MapSeed write64(w, uint64(x)) } { x := (*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).SendInterval write32(w, math.Float32bits(x)) } if err := pcall(func() { ((*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).SudoAuthMethods).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } } func (obj *ToCltAcceptAuth) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).PlayerPos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } { p := &(*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).MapSeed *p = read64(r) } { p := &(*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).SendInterval *p = math.Float32frombits(read32(r)) } if err := pcall(func() { ((*(*(struct { // The client does the equivalent of // PlayerPos[1] -= 5 // before using PlayerPos. PlayerPos Pos MapSeed uint64 SendInterval float32 SudoAuthMethods AuthMethods }))(obj)).SudoAuthMethods).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } } func (obj *ToCltAcceptSudoMode) serialize(w io.Writer) { } func (obj *ToCltAcceptSudoMode) deserialize(r io.Reader) { } func (obj *ToCltDenySudoMode) serialize(w io.Writer) { } func (obj *ToCltDenySudoMode) deserialize(r io.Reader) { } func (obj *ToCltDisco) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Reason DiscoReason //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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DiscoReason", err)) } if !((*(*(struct { Reason DiscoReason //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")) } if dr := (*(*(struct { Reason DiscoReason //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; dr == Custom || dr == Shutdown || dr == Crash { if len(([]byte((*(*(struct { Reason DiscoReason //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))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Reason DiscoReason //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)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Reason DiscoReason //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))[:]) chk(err) } } if dr := (*(*(struct { Reason DiscoReason //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; dr == Shutdown || dr == Crash { { x := (*(*(struct { Reason DiscoReason //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)).Reconnect if x { write8(w, 1) } else { write8(w, 0) } } } } func (obj *ToCltDisco) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Reason DiscoReason //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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DiscoReason", err)) } if !((*(*(struct { Reason DiscoReason //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")) } if dr := (*(*(struct { Reason DiscoReason //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; dr == Custom || dr == Shutdown || dr == Crash { var local57 []uint8 var local58 uint16 { p := &local58 *p = read16(r) } (local57) = make([]uint8, local58) { _, err := io.ReadFull(r, (local57)[:]) chk(err) } ((*(*(struct { Reason DiscoReason //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) } if dr := (*(*(struct { Reason DiscoReason //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; dr == Shutdown || dr == Crash { { p := &(*(*(struct { Reason DiscoReason //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)).Reconnect switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } } func (obj *ToCltBlkData) serialize(w io.Writer) { for local59 := range (*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos { { x := ((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos)[local59] 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) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err)) } } func (obj *ToCltBlkData) deserialize(r io.Reader) { for local60 := range (*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos { { p := &((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos)[local60] *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) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err)) } } func (obj *ToCltAddNode) serialize(w io.Writer) { for local61 := range (*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos { { x := ((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos)[local61] write16(w, uint16(x)) } } if err := pcall(func() { ((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Node).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Node", err)) } { x := (*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).KeepMeta if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *ToCltAddNode) deserialize(r io.Reader) { for local62 := range (*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos { { p := &((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos)[local62] *p = int16(read16(r)) } } if err := pcall(func() { ((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Node).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Node", err)) } { p := &(*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).KeepMeta switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *ToCltRemoveNode) serialize(w io.Writer) { for local63 := range (*(*(struct { Pos [3]int16 }))(obj)).Pos { { x := ((*(*(struct { Pos [3]int16 }))(obj)).Pos)[local63] write16(w, uint16(x)) } } } func (obj *ToCltRemoveNode) deserialize(r io.Reader) { for local64 := range (*(*(struct { Pos [3]int16 }))(obj)).Pos { { p := &((*(*(struct { Pos [3]int16 }))(obj)).Pos)[local64] *p = int16(read16(r)) } } } func (obj *ToCltInv) serialize(w io.Writer) { { _, err := w.Write(([]byte((*(*(struct { //mt:raw Inv string }))(obj)).Inv))[:]) chk(err) } } 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) chk(err) } ((*(*(struct { //mt:raw Inv string }))(obj)).Inv) = string(local65) } func (obj *ToCltTimeOfDay) serialize(w io.Writer) { { x := (*(*(struct { Time uint16 // %24000 Speed float32 // Speed times faster than real time }))(obj)).Time write16(w, uint16(x)) } { x := (*(*(struct { Time uint16 // %24000 Speed float32 // Speed times faster than real time }))(obj)).Speed write32(w, math.Float32bits(x)) } } func (obj *ToCltTimeOfDay) deserialize(r io.Reader) { { p := &(*(*(struct { Time uint16 // %24000 Speed float32 // Speed times faster than real time }))(obj)).Time *p = read16(r) } { p := &(*(*(struct { Time uint16 // %24000 Speed float32 // Speed times faster than real time }))(obj)).Speed *p = math.Float32frombits(read32(r)) } } func (obj *ToCltCSMRestrictionFlags) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Flags CSMRestrictionFlags // MapRange is the maximum distance from the player CSMs can read the map // if Flags&LimitMapRange != 0. MapRange uint32 }))(obj)).Flags).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CSMRestrictionFlags", err)) } { x := (*(*(struct { Flags CSMRestrictionFlags // MapRange is the maximum distance from the player CSMs can read the map // if Flags&LimitMapRange != 0. MapRange uint32 }))(obj)).MapRange write32(w, uint32(x)) } } func (obj *ToCltCSMRestrictionFlags) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Flags CSMRestrictionFlags // MapRange is the maximum distance from the player CSMs can read the map // if Flags&LimitMapRange != 0. MapRange uint32 }))(obj)).Flags).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.CSMRestrictionFlags", err)) } { p := &(*(*(struct { Flags CSMRestrictionFlags // MapRange is the maximum distance from the player CSMs can read the map // if Flags&LimitMapRange != 0. MapRange uint32 }))(obj)).MapRange *p = read32(r) } } func (obj *ToCltAddPlayerVel) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Vel Vec }))(obj)).Vel).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *ToCltAddPlayerVel) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Vel Vec }))(obj)).Vel).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *ToCltMediaPush) serialize(w io.Writer) { { local67 := uint16(sha1.Size) { x := local67 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)[:]) chk(err) } if len(([]byte((*(*(struct { //mt:const uint16(sha1.Size) SHA1 [sha1.Size]byte Filename string ShouldCache bool //mt:len32 Data []byte }))(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 }))(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 }))(obj)).Filename))[:]) chk(err) } { x := (*(*(struct { //mt:const uint16(sha1.Size) SHA1 [sha1.Size]byte Filename string ShouldCache bool //mt:len32 Data []byte }))(obj)).ShouldCache if x { write8(w, 1) } else { 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) } var local69 []uint8 var local70 uint16 { p := &local70 *p = read16(r) } (local69) = make([]uint8, local70) { _, err := io.ReadFull(r, (local69)[:]) chk(err) } ((*(*(struct { //mt:const uint16(sha1.Size) SHA1 [sha1.Size]byte Filename string ShouldCache bool //mt:len32 Data []byte }))(obj)).Filename) = string(local69) { p := &(*(*(struct { //mt:const uint16(sha1.Size) SHA1 [sha1.Size]byte Filename string ShouldCache bool //mt:len32 Data []byte }))(obj)).ShouldCache switch n := read8(r); n { case 0: *p = false case 1: *p = true default: 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) { { local72 := uint8(1) { x := local72 write8(w, uint8(x)) } } if err := pcall(func() { ((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ChatMsgType", err)) } if len((utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender)))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender))))) write16(w, uint16(x)) } for local73 := range utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender)) { { x := (utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender)))[local73] write16(w, uint16(x)) } } if len((utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text)))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text))))) write16(w, uint16(x)) } for local74 := range utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text)) { { x := (utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text)))[local74] write16(w, uint16(x)) } } { x := (*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Timestamp write64(w, uint64(x)) } } func (obj *ToCltChatMsg) deserialize(r io.Reader) { { var local75 uint8 { p := &local75 *p = read8(r) } if local75 != (1) { chk(fmt.Errorf("const %v: %v", 1, local75)) } } if err := pcall(func() { ((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ChatMsgType", err)) } var local76 []uint16 var local77 uint16 { p := &local77 *p = read16(r) } (local76) = make([]uint16, local77) for local78 := range local76 { { p := &(local76)[local78] *p = read16(r) } } (*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender = string(utf16.Decode(local76)) var local79 []uint16 var local80 uint16 { p := &local80 *p = read16(r) } (local79) = make([]uint16, local80) for local81 := range local79 { { p := &(local79)[local81] *p = read16(r) } } (*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text = string(utf16.Decode(local79)) { p := &(*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Timestamp *p = int64(read64(r)) } } func (obj *ToCltAORmAdd) serialize(w io.Writer) { if len(((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Remove)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Remove))) write16(w, uint16(x)) } for local82 := range (*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } } if len(((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add))) write16(w, uint16(x)) } for local83 := range (*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add { if err := pcall(func() { ((((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add)[local83]).ID).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) } } } } } func (obj *ToCltAORmAdd) deserialize(r io.Reader) { var local85 uint16 { p := &local85 *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 { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } } var local87 uint16 { p := &local87 *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 { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add { if err := pcall(func() { ((((*(*(struct { Remove []AOID Add []struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData } }))(obj)).Add)[local88]).ID).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)) } } } } func (obj *ToCltAOMsgs) serialize(w io.Writer) { for local90 := range (*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs { if err := pcall(func() { (((*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs)[local90]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.IDAOMsg", err)) } } } func (obj *ToCltAOMsgs) deserialize(r io.Reader) { for { var local91 IDAOMsg err := pcall(func() { if err := pcall(func() { (local91).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.IDAOMsg", err)) } }) if err == io.EOF { break } ((*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs) = append(((*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs), local91) chk(err) } } func (obj *ToCltHP) serialize(w io.Writer) { { x := (*(*(struct { HP uint16 }))(obj)).HP write16(w, uint16(x)) } } func (obj *ToCltHP) deserialize(r io.Reader) { { p := &(*(*(struct { HP uint16 }))(obj)).HP *p = read16(r) } } func (obj *ToCltMovePlayer) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } { x := (*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Pitch write32(w, math.Float32bits(x)) } { x := (*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Yaw write32(w, math.Float32bits(x)) } } func (obj *ToCltMovePlayer) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } { p := &(*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Pitch *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Pos Pitch, Yaw float32 }))(obj)).Yaw *p = math.Float32frombits(read32(r)) } } func (obj *ToCltDiscoLegacy) serialize(w io.Writer) { if len((utf16.Encode([]rune((*(*(struct { //mt:utf16 Reason string }))(obj)).Reason)))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((utf16.Encode([]rune((*(*(struct { //mt:utf16 Reason string }))(obj)).Reason))))) write16(w, uint16(x)) } for local92 := range utf16.Encode([]rune((*(*(struct { //mt:utf16 Reason string }))(obj)).Reason)) { { x := (utf16.Encode([]rune((*(*(struct { //mt:utf16 Reason string }))(obj)).Reason)))[local92] write16(w, uint16(x)) } } } func (obj *ToCltDiscoLegacy) deserialize(r io.Reader) { var local93 []uint16 var local94 uint16 { p := &local94 *p = read16(r) } (local93) = make([]uint16, local94) for local95 := range local93 { { p := &(local93)[local95] *p = read16(r) } } (*(*(struct { //mt:utf16 Reason string }))(obj)).Reason = string(utf16.Decode(local93)) } func (obj *ToCltFOV) serialize(w io.Writer) { { x := (*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).FOV write32(w, math.Float32bits(x)) } { x := (*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).Multiplier if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).TransitionTime write32(w, math.Float32bits(x)) } } func (obj *ToCltFOV) deserialize(r io.Reader) { { p := &(*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).FOV *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).Multiplier switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { FOV float32 Multiplier bool TransitionTime float32 }))(obj)).TransitionTime *p = math.Float32frombits(read32(r)) } } func (obj *ToCltDeathScreen) serialize(w io.Writer) { { x := (*(*(struct { PointCam bool PointAt Pos }))(obj)).PointCam if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { PointCam bool PointAt Pos }))(obj)).PointAt).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } } func (obj *ToCltDeathScreen) deserialize(r io.Reader) { { p := &(*(*(struct { PointCam bool PointAt Pos }))(obj)).PointCam 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 { PointCam bool PointAt Pos }))(obj)).PointAt).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } } func (obj *ToCltMedia) serialize(w io.Writer) { { x := (*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).N write16(w, uint16(x)) } { x := (*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).I write16(w, uint16(x)) } if len(((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files))) write32(w, uint32(x)) } for local96 := range (*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files { if len(([]byte((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Name))[:]) chk(err) } if len(((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Data)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Data))) write32(w, uint32(x)) } { _, err := w.Write(((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local96]).Data)[:]) chk(err) } } } func (obj *ToCltMedia) deserialize(r io.Reader) { { p := &(*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).N *p = read16(r) } { p := &(*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).I *p = read16(r) } var local97 uint32 { p := &local97 *p = read32(r) } ((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files) = make([]struct { Name string Data []byte }, local97) for local98 := range (*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files { var local99 []uint8 var local100 uint16 { p := &local100 *p = read16(r) } (local99) = make([]uint8, local100) { _, err := io.ReadFull(r, (local99)[:]) chk(err) } ((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local98]).Name) = string(local99) var local101 uint32 { p := &local101 *p = read32(r) } ((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local98]).Data) = make([]byte, local101) { _, err := io.ReadFull(r, ((((*(*(struct { // N is the total number of ToCltMedia packets. // I is the index of this packet. N, I uint16 //mt:len32 Files []struct { Name string //mt:len32 Data []byte } }))(obj)).Files)[local98]).Data)[:]) chk(err) } } } func (obj *ToCltNodeDefs) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { w := zlib.NewWriter(w) { local102 := uint8(1) { x := local102 write8(w, uint8(x)) } } { x := (*(*(struct { // See (de)serialize.fmt. Defs []NodeDef }))(obj)).Defs { // For ToCltNodeDefs.Defs if len(x) > math.MaxUint16 { chk(ErrTooLong) } write16(w, uint16(len(x))) var b bytes.Buffer for i := range x { x[i].serialize(&b) } if b.Len() > math.MaxUint32 { chk(ErrTooLong) } write32(w, uint32(b.Len())) _, err := b.WriteTo(w) chk(err) } } chk(w.Close()) } { 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) } } } } func (obj *ToCltNodeDefs) deserialize(r io.Reader) { { var n uint32 { p := &n *p = read32(r) } r := &io.LimitedReader{r, int64(n)} { r, err := zlib.NewReader(byteReader{r}) chk(err) { var local103 uint8 { p := &local103 *p = read8(r) } if local103 != (1) { chk(fmt.Errorf("const %v: %v", 1, local103)) } } { p := &(*(*(struct { // See (de)serialize.fmt. Defs []NodeDef }))(obj)).Defs { // For ToCltNodeDefs.Defs. *p = make([]NodeDef, read16(r)) r := &io.LimitedReader{r, int64(read32(r))} for i := range *p { (*p)[i].deserialize(r) } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } chk(r.Close()) } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *ToCltAnnounceMedia) serialize(w io.Writer) { if len(((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files))) write16(w, uint16(x)) } for local104 := range (*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files { if len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Name))[:]) chk(err) } if len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Base64SHA1))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Base64SHA1)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local104]).Base64SHA1))[:]) chk(err) } } if len(([]byte((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).URL))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).URL)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).URL))[:]) chk(err) } } func (obj *ToCltAnnounceMedia) deserialize(r io.Reader) { var local105 uint16 { p := &local105 *p = read16(r) } ((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files) = make([]struct { Name string Base64SHA1 string }, local105) for local106 := range (*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files { var local107 []uint8 var local108 uint16 { p := &local108 *p = read16(r) } (local107) = make([]uint8, local108) { _, err := io.ReadFull(r, (local107)[:]) chk(err) } ((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local106]).Name) = string(local107) var local109 []uint8 var local110 uint16 { p := &local110 *p = read16(r) } (local109) = make([]uint8, local110) { _, err := io.ReadFull(r, (local109)[:]) chk(err) } ((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local106]).Base64SHA1) = string(local109) } var local111 []uint8 var local112 uint16 { p := &local112 *p = read16(r) } (local111) = make([]uint8, local112) { _, err := io.ReadFull(r, (local111)[:]) chk(err) } ((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).URL) = string(local111) } func (obj *ToCltItemDefs) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { w := zlib.NewWriter(w) { local113 := uint8(0) { x := local113 write8(w, uint8(x)) } } if len(((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs))) write16(w, uint16(x)) } for local114 := range (*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs { if err := pcall(func() { (((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs)[local114]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemDef", err)) } } if len(((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases))) write16(w, uint16(x)) } for local115 := 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 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local115]).Alias)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local115]).Alias))[:]) chk(err) } if len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local115]).Orig))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local115]).Orig)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local115]).Orig))[:]) chk(err) } } chk(w.Close()) } { 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) } } } } func (obj *ToCltItemDefs) deserialize(r io.Reader) { { var n uint32 { p := &n *p = read32(r) } r := &io.LimitedReader{r, int64(n)} { r, err := zlib.NewReader(byteReader{r}) chk(err) { var local116 uint8 { p := &local116 *p = read8(r) } if local116 != (0) { chk(fmt.Errorf("const %v: %v", 0, local116)) } } var local117 uint16 { p := &local117 *p = read16(r) } ((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs) = make([]ItemDef, local117) for local118 := range (*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs { if err := pcall(func() { (((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs)[local118]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemDef", err)) } } var local119 uint16 { p := &local119 *p = read16(r) } ((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases) = make([]struct { Alias string Orig string }, local119) for local120 := range (*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases { var local121 []uint8 var local122 uint16 { p := &local122 *p = read16(r) } (local121) = make([]uint8, local122) { _, err := io.ReadFull(r, (local121)[:]) chk(err) } ((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local120]).Alias) = string(local121) var local123 []uint8 var local124 uint16 { p := &local124 *p = read16(r) } (local123) = make([]uint8, local124) { _, err := io.ReadFull(r, (local123)[:]) chk(err) } ((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local120]).Orig) = string(local123) } chk(r.Close()) } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *ToCltPlaySound) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } if len(([]byte((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Name))[:]) chk(err) } { x := (*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Gain write32(w, math.Float32bits(x)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).SrcType).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundSrcType", err)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).SrcAOID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { x := (*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Loop if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Fade write32(w, math.Float32bits(x)) } { x := (*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Pitch write32(w, math.Float32bits(x)) } { x := (*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Ephemeral if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *ToCltPlaySound) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } var local125 []uint8 var local126 uint16 { p := &local126 *p = read16(r) } (local125) = make([]uint8, local126) { _, err := io.ReadFull(r, (local125)[:]) chk(err) } ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Name) = string(local125) { p := &(*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Gain *p = math.Float32frombits(read32(r)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).SrcType).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundSrcType", err)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } if err := pcall(func() { ((*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).SrcAOID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { p := &(*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Loop switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Fade *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Pitch *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { ID SoundID Name string Gain float32 SrcType SoundSrcType Pos SrcAOID AOID Loop bool Fade float32 Pitch float32 Ephemeral bool }))(obj)).Ephemeral switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *ToCltStopSound) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID SoundID }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } } func (obj *ToCltStopSound) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID SoundID }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } } func (obj *ToCltPrivs) serialize(w io.Writer) { if len(((*(*(struct { Privs []string }))(obj)).Privs)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Privs []string }))(obj)).Privs))) write16(w, uint16(x)) } for local127 := range (*(*(struct { Privs []string }))(obj)).Privs { if len(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local127]))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local127])))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local127]))[:]) chk(err) } } } func (obj *ToCltPrivs) deserialize(r io.Reader) { var local128 uint16 { p := &local128 *p = read16(r) } ((*(*(struct { Privs []string }))(obj)).Privs) = make([]string, local128) for local129 := range (*(*(struct { Privs []string }))(obj)).Privs { var local130 []uint8 var local131 uint16 { p := &local131 *p = read16(r) } (local130) = make([]uint8, local131) { _, err := io.ReadFull(r, (local130)[:]) chk(err) } (((*(*(struct { Privs []string }))(obj)).Privs)[local129]) = string(local130) } } func (obj *ToCltInvFormspec) serialize(w io.Writer) { if len(([]byte((*(*(struct { //mt:len32 Formspec string }))(obj)).Formspec))) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(([]byte((*(*(struct { //mt:len32 Formspec string }))(obj)).Formspec)))) write32(w, uint32(x)) } { _, err := w.Write(([]byte((*(*(struct { //mt:len32 Formspec string }))(obj)).Formspec))[:]) chk(err) } } func (obj *ToCltInvFormspec) deserialize(r io.Reader) { var local132 []uint8 var local133 uint32 { p := &local133 *p = read32(r) } (local132) = make([]uint8, local133) { _, err := io.ReadFull(r, (local132)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string }))(obj)).Formspec) = string(local132) } func (obj *ToCltDetachedInv) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Name))[:]) chk(err) } { x := (*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Keep if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Len write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Inv))[:]) chk(err) } } func (obj *ToCltDetachedInv) deserialize(r io.Reader) { var local134 []uint8 var local135 uint16 { p := &local135 *p = read16(r) } (local134) = make([]uint8, local135) { _, err := io.ReadFull(r, (local134)[:]) chk(err) } ((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Name) = string(local134) { p := &(*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Keep switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(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) chk(err) } ((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Inv) = string(local136) } func (obj *ToCltShowFormspec) serialize(w io.Writer) { if len(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formspec))) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formspec)))) write32(w, uint32(x)) } { _, err := w.Write(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formspec))[:]) chk(err) } if len(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formname))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formname)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formname))[:]) chk(err) } } func (obj *ToCltShowFormspec) deserialize(r io.Reader) { var local138 []uint8 var local139 uint32 { p := &local139 *p = read32(r) } (local138) = make([]uint8, local139) { _, err := io.ReadFull(r, (local138)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formspec) = string(local138) var local140 []uint8 var local141 uint16 { p := &local141 *p = read16(r) } (local140) = make([]uint8, local141) { _, err := io.ReadFull(r, (local140)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formname) = string(local140) } func (obj *ToCltMovement) serialize(w io.Writer) { { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).DefaultAccel write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).AirAccel write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).FastAccel write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).WalkSpeed write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).CrouchSpeed write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).FastSpeed write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).ClimbSpeed write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).JumpSpeed write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Fluidity write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Smoothing write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Sink write32(w, math.Float32bits(x)) } { x := (*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Gravity write32(w, math.Float32bits(x)) } } func (obj *ToCltMovement) deserialize(r io.Reader) { { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).DefaultAccel *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).AirAccel *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).FastAccel *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).WalkSpeed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).CrouchSpeed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).FastSpeed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).ClimbSpeed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).JumpSpeed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Fluidity *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Smoothing *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Sink *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { DefaultAccel, AirAccel, FastAccel, WalkSpeed, CrouchSpeed, FastSpeed, ClimbSpeed, JumpSpeed, Fluidity, Smoothing, Sink, Gravity float32 }))(obj)).Gravity *p = math.Float32frombits(read32(r)) } } func (obj *ToCltSpawnParticle) serialize(w io.Writer) { for local142 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Pos { { x := ((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Pos)[local142] write32(w, math.Float32bits(x)) } } for local143 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel { { x := ((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel)[local143] write32(w, math.Float32bits(x)) } } for local144 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Acc { { x := ((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Acc)[local144] write32(w, math.Float32bits(x)) } } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).ExpirationTime write32(w, math.Float32bits(x)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Size write32(w, math.Float32bits(x)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Collide if x { write8(w, 1) } else { write8(w, 0) } } if len(([]byte(*(*string)(&((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Texture))))) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(([]byte(*(*string)(&((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Texture)))))) write32(w, uint32(x)) } { _, err := w.Write(([]byte(*(*string)(&((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Texture))))[:]) chk(err) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vertical if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).CollisionRm if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).AnimParams).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Glow write8(w, uint8(x)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).AOCollision if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeParam0).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeParam2 write8(w, uint8(x)) } { x := (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeTile write8(w, uint8(x)) } } func (obj *ToCltSpawnParticle) deserialize(r io.Reader) { for local145 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Pos { { p := &((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Pos)[local145] *p = math.Float32frombits(read32(r)) } } for local146 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel { { p := &((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel)[local146] *p = math.Float32frombits(read32(r)) } } for local147 := range (*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Acc { { p := &((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Acc)[local147] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).ExpirationTime *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Size *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Collide switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } var local148 []uint8 var local149 uint32 { p := &local149 *p = read32(r) } (local148) = make([]uint8, local149) { _, err := io.ReadFull(r, (local148)[:]) chk(err) } (*(*string)(&((*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Texture))) = string(local148) { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vertical switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).CollisionRm 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 { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).AnimParams).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Glow *p = read8(r) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).AOCollision 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 { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeParam0).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeParam2 *p = read8(r) } { p := &(*(*(struct { Pos, Vel, Acc [3]float32 ExpirationTime float32 // in seconds. Size float32 Collide bool //mt:len32 Texture Vertical bool CollisionRm bool AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).NodeTile *p = read8(r) } } func (obj *ToCltAddParticleSpawner) serialize(w io.Writer) { { 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)).Amount write16(w, uint16(x)) } { 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)).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 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 local155 := 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)[local154] { { 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)[local154])[local155] write32(w, math.Float32bits(x)) } } } for local156 := 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)[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 { 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)).Collide if x { write8(w, 1) } else { write8(w, 0) } } if len(([]byte(*(*string)(&((*(*(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)).Texture))))) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(([]byte(*(*string)(&((*(*(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)).Texture)))))) write32(w, uint32(x)) } { _, err := w.Write(([]byte(*(*string)(&((*(*(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)).Texture))))[:]) chk(err) } if err := pcall(func() { ((*(*(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)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err)) } { 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)).Vertical if x { write8(w, 1) } else { write8(w, 0) } } { 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)).CollisionRm if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(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)).AttachedAOID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } if err := pcall(func() { ((*(*(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)).AnimParams).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } { 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)).Glow write8(w, uint8(x)) } { 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)).AOCollision if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(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)).NodeParam0).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { 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)).NodeParam2 write8(w, uint8(x)) } { 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)).NodeTile write8(w, uint8(x)) } } func (obj *ToCltAddParticleSpawner) deserialize(r io.Reader) { { p := &(*(*(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)).Amount *p = read16(r) } { p := &(*(*(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)).Duration *p = math.Float32frombits(read32(r)) } 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)).Pos { 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)).Pos)[local158] { { p := &(((*(*(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)[local158])[local159] *p = math.Float32frombits(read32(r)) } } } 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)).Vel { 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)).Vel)[local160] { { p := &(((*(*(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)[local160])[local161] *p = math.Float32frombits(read32(r)) } } } for local162 := 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 local163 := 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)[local162] { { p := &(((*(*(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)[local162])[local163] *p = math.Float32frombits(read32(r)) } } } for local164 := 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 { { p := &((*(*(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)[local164] *p = math.Float32frombits(read32(r)) } } for local165 := 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 { { p := &((*(*(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)[local165] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(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)).Collide switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } var local166 []uint8 var local167 uint32 { p := &local167 *p = read32(r) } (local166) = make([]uint8, local167) { _, err := io.ReadFull(r, (local166)[:]) chk(err) } (*(*string)(&((*(*(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)).Texture))) = string(local166) if err := pcall(func() { ((*(*(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)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err)) } { p := &(*(*(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)).Vertical switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(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)).CollisionRm 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 { 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)).AttachedAOID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } if err := pcall(func() { ((*(*(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)).AnimParams).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } { p := &(*(*(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)).Glow *p = read8(r) } { p := &(*(*(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)).AOCollision 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 { 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)).NodeParam0).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { p := &(*(*(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)).NodeParam2 *p = read8(r) } { p := &(*(*(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)).NodeTile *p = read8(r) } } func (obj *ToCltAddHUD) serialize(w io.Writer) { 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)).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 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)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDType", err)) } for local168 := 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)).Pos { { x := ((*(*(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)).Pos)[local168] write32(w, math.Float32bits(x)) } } if len(([]byte((*(*(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)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Name))[:]) chk(err) } for local169 := 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)).Scale { { x := ((*(*(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)).Scale)[local169] write32(w, math.Float32bits(x)) } } if len(([]byte((*(*(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)).Text))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Text)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Text))[:]) chk(err) } { x := (*(*(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 write32(w, uint32(x)) } { x := (*(*(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 write32(w, uint32(x)) } { x := (*(*(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 write32(w, uint32(x)) } for local170 := 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 { { x := ((*(*(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)[local170] write32(w, math.Float32bits(x)) } } for local171 := 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 { { x := ((*(*(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)[local171] write32(w, math.Float32bits(x)) } } 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).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 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 { { x := ((*(*(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)[local172] write32(w, uint32(x)) } } { x := (*(*(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 write16(w, uint16(x)) } if len(([]byte((*(*(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))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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))[:]) chk(err) } } func (obj *ToCltAddHUD) deserialize(r io.Reader) { 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)).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 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)).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 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)).Pos { { 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)).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 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)).Name) = string(local174) for local176 := 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)).Scale { { 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)).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 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 == 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).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 }))(obj)).Pos { { x := ((*(*(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)).Pos)[local184] write32(w, math.Float32bits(x)) } } } 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 == HUDName { if len(([]byte((*(*(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)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Name))[:]) 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 uint32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDScale { for local185 := 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 }))(obj)).Scale { { x := ((*(*(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)).Scale)[local185] write32(w, math.Float32bits(x)) } } } 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 == HUDText { if len(([]byte((*(*(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)).Text))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Text)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Text))[:]) 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 uint32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDNumber { { x := (*(*(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)).Number write32(w, uint32(x)) } } 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 == HUDItem { { x := (*(*(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)).Item write32(w, uint32(x)) } } 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 == HUDDir { { x := (*(*(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)).Dir write32(w, uint32(x)) } } 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 == HUDAlign { for local186 := 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 }))(obj)).Align { { x := ((*(*(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)).Align)[local186] write32(w, math.Float32bits(x)) } } } 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 == HUDOffset { for local187 := 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 }))(obj)).Offset { { x := ((*(*(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)).Offset)[local187] write32(w, math.Float32bits(x)) } } } 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 == HUDWorldPos { 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)).WorldPos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", 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 == HUDSize { for local188 := 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 }))(obj)).Size { { x := ((*(*(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)).Size)[local188] write32(w, uint32(x)) } } } 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 == HUDZIndex { { x := (*(*(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)).ZIndex write32(w, uint32(x)) } } 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 == HUDText2 { if len(([]byte((*(*(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)).Text2))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Text2)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Text2))[:]) chk(err) } } } func (obj *ToCltChangeHUD) deserialize(r io.Reader) { 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).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 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).deserialize(r) }); 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 local189 := 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 }))(obj)).Pos { { p := &((*(*(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)).Pos)[local189] *p = math.Float32frombits(read32(r)) } } } 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 == HUDName { var local190 []uint8 var local191 uint16 { p := &local191 *p = read16(r) } (local190) = make([]uint8, local191) { _, err := io.ReadFull(r, (local190)[:]) chk(err) } ((*(*(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)).Name) = string(local190) } 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 == HUDScale { for local192 := 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 }))(obj)).Scale { { p := &((*(*(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)).Scale)[local192] *p = math.Float32frombits(read32(r)) } } } 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 == HUDText { var local193 []uint8 var local194 uint16 { p := &local194 *p = read16(r) } (local193) = make([]uint8, local194) { _, err := io.ReadFull(r, (local193)[:]) chk(err) } ((*(*(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)).Text) = string(local193) } 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 == HUDNumber { { p := &(*(*(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)).Number *p = read32(r) } } 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 == HUDItem { { p := &(*(*(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)).Item *p = read32(r) } } 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 == HUDDir { { p := &(*(*(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)).Dir *p = read32(r) } } 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 == HUDAlign { for local195 := 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 }))(obj)).Align { { p := &((*(*(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)).Align)[local195] *p = math.Float32frombits(read32(r)) } } } 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 == HUDOffset { for local196 := 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 }))(obj)).Offset { { p := &((*(*(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)).Offset)[local196] *p = math.Float32frombits(read32(r)) } } } 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 == HUDWorldPos { 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)).WorldPos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", 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 == HUDSize { for local197 := 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 }))(obj)).Size { { p := &((*(*(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)).Size)[local197] *p = int32(read32(r)) } } } 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 == HUDZIndex { { p := &(*(*(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)).ZIndex *p = read32(r) } } 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 == HUDText2 { var local198 []uint8 var local199 uint16 { p := &local199 *p = read16(r) } (local198) = make([]uint8, local199) { _, err := io.ReadFull(r, (local198)[:]) chk(err) } ((*(*(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)).Text2) = string(local198) } } func (obj *ToCltHUDFlags) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { // &^= Mask // |= Flags Flags, Mask HUDFlags }))(obj)).Flags).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err)) } if err := pcall(func() { ((*(*(struct { // &^= Mask // |= Flags Flags, Mask HUDFlags }))(obj)).Mask).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err)) } } func (obj *ToCltHUDFlags) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { // &^= Mask // |= Flags Flags, Mask HUDFlags }))(obj)).Flags).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err)) } if err := pcall(func() { ((*(*(struct { // &^= Mask // |= Flags Flags, Mask HUDFlags }))(obj)).Mask).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDFlags", err)) } } func (obj *ToCltSetHotbarParam) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HotbarParam", err)) } if (*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param == HotbarSize { { local200 := uint16(4) // Size of Size field. { x := local200 write16(w, uint16(x)) } } { x := (*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Size write32(w, uint32(x)) } } if (*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param != HotbarSize { if err := pcall(func() { ((*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Img).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } } func (obj *ToCltSetHotbarParam) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HotbarParam", err)) } if (*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param == HotbarSize { { var local201 uint16 { p := &local201 *p = read16(r) } if local201 != (4) { chk(fmt.Errorf("const %v: %v", 4, local201)) } } { p := &(*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Size *p = int32(read32(r)) } } if (*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Param != HotbarSize { if err := pcall(func() { ((*(*(struct { Param HotbarParam //mt:if %s.Param == HotbarSize //mt:const uint16(4) // Size of Size field. Size int32 //mt:if %s.Param != HotbarSize Img Texture }))(obj)).Img).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } } func (obj *ToCltBreath) serialize(w io.Writer) { { x := (*(*(struct { Breath uint16 }))(obj)).Breath write16(w, uint16(x)) } } func (obj *ToCltBreath) deserialize(r io.Reader) { { p := &(*(*(struct { Breath uint16 }))(obj)).Breath *p = read16(r) } } func (obj *ToCltSkyParams) serialize(w io.Writer) { { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).BgColor w.Write([]byte{x.A, x.R, x.G, x.B}) } if len(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type))[:]) chk(err) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Clouds if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).SunFogTint w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).MoonFogTint w.Write([]byte{x.A, x.R, x.G, x.B}) } if len(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).FogTintType))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).FogTintType)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).FogTintType))[:]) chk(err) } if (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type == "skybox" { if len(((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures))) write16(w, uint16(x)) } for local202 := range (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures { if err := pcall(func() { (((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures)[local202]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } } if (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type == "regular" { { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DaySky w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DayHorizon w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DawnSky w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DawnHorizon w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).NightSky w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).NightHorizon w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Indoor w.Write([]byte{x.A, x.R, x.G, x.B}) } } } func (obj *ToCltSkyParams) deserialize(r io.Reader) { { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).BgColor *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } var local203 []uint8 var local204 uint16 { p := &local204 *p = read16(r) } (local203) = make([]uint8, local204) { _, err := io.ReadFull(r, (local203)[:]) chk(err) } ((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type) = string(local203) { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Clouds switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).SunFogTint *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).MoonFogTint *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } var local205 []uint8 var local206 uint16 { p := &local206 *p = read16(r) } (local205) = make([]uint8, local206) { _, err := io.ReadFull(r, (local205)[:]) chk(err) } ((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).FogTintType) = string(local205) if (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type == "skybox" { var local207 uint16 { p := &local207 *p = read16(r) } ((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures) = make([]Texture, local207) for local208 := range (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures { if err := pcall(func() { (((*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Textures)[local208]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } } if (*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Type == "regular" { { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DaySky *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DayHorizon *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DawnSky *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).DawnHorizon *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).NightSky *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).NightHorizon *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { BgColor color.NRGBA Type string Clouds bool SunFogTint color.NRGBA MoonFogTint color.NRGBA FogTintType string //mt:if %s.Type == "skybox" Textures []Texture //mt:if %s.Type == "regular" DaySky, DayHorizon, DawnSky, DawnHorizon, NightSky, NightHorizon, Indoor color.NRGBA }))(obj)).Indoor *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } } } func (obj *ToCltOverrideDayNightRatio) serialize(w io.Writer) { { x := (*(*(struct { Override bool Ratio uint16 }))(obj)).Override if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Override bool Ratio uint16 }))(obj)).Ratio write16(w, uint16(x)) } } func (obj *ToCltOverrideDayNightRatio) deserialize(r io.Reader) { { p := &(*(*(struct { Override bool Ratio uint16 }))(obj)).Override switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Override bool Ratio uint16 }))(obj)).Ratio *p = read16(r) } } func (obj *ToCltLocalPlayerAnim) serialize(w io.Writer) { for local209 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle)[local209] write32(w, uint32(x)) } } for local210 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk)[local210] write32(w, uint32(x)) } } for local211 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig)[local211] write32(w, uint32(x)) } } for local212 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig)[local212] write32(w, uint32(x)) } } { x := (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Speed write32(w, math.Float32bits(x)) } } func (obj *ToCltLocalPlayerAnim) deserialize(r io.Reader) { for local213 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle)[local213] *p = int32(read32(r)) } } for local214 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk)[local214] *p = int32(read32(r)) } } for local215 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig)[local215] *p = int32(read32(r)) } } for local216 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig)[local216] *p = int32(read32(r)) } } { p := &(*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Speed *p = math.Float32frombits(read32(r)) } } func (obj *ToCltEyeOffset) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { First, Third Vec }))(obj)).First).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } if err := pcall(func() { ((*(*(struct { First, Third Vec }))(obj)).Third).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *ToCltEyeOffset) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { First, Third Vec }))(obj)).First).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } if err := pcall(func() { ((*(*(struct { First, Third Vec }))(obj)).Third).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *ToCltDelParticleSpawner) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID ParticleSpawnerID }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err)) } } func (obj *ToCltDelParticleSpawner) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID ParticleSpawnerID }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ParticleSpawnerID", err)) } } func (obj *ToCltCloudParams) serialize(w io.Writer) { { x := (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Density write32(w, math.Float32bits(x)) } { x := (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).DiffuseColor w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).AmbientColor w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Height write32(w, math.Float32bits(x)) } { x := (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Thickness write32(w, math.Float32bits(x)) } for local217 := range (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Speed { { x := ((*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Speed)[local217] write32(w, math.Float32bits(x)) } } } func (obj *ToCltCloudParams) deserialize(r io.Reader) { { p := &(*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Density *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).DiffuseColor *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).AmbientColor *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Height *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Thickness *p = math.Float32frombits(read32(r)) } for local218 := range (*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Speed { { p := &((*(*(struct { Density float32 DiffuseColor color.NRGBA AmbientColor color.NRGBA Height float32 Thickness float32 Speed [2]float32 }))(obj)).Speed)[local218] *p = math.Float32frombits(read32(r)) } } } func (obj *ToCltFadeSound) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } { x := (*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).Step write32(w, math.Float32bits(x)) } { x := (*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).Gain write32(w, math.Float32bits(x)) } } func (obj *ToCltFadeSound) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundID", err)) } { p := &(*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).Step *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { ID SoundID Step float32 Gain float32 }))(obj)).Gain *p = math.Float32frombits(read32(r)) } } func (obj *ToCltUpdatePlayerList) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerListUpdateType", err)) } if len(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players))) write16(w, uint16(x)) } for local219 := range (*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players { if len(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local219]))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local219])))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local219]))[:]) chk(err) } } } func (obj *ToCltUpdatePlayerList) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.PlayerListUpdateType", err)) } var local220 uint16 { p := &local220 *p = read16(r) } ((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players) = make([]string, local220) for local221 := range (*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players { var local222 []uint8 var local223 uint16 { p := &local223 *p = read16(r) } (local222) = make([]uint8, local223) { _, err := io.ReadFull(r, (local222)[:]) chk(err) } (((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local221]) = string(local222) } } func (obj *ToCltModChanMsg) serialize(w io.Writer) { if len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Channel))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Channel)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Channel))[:]) chk(err) } if len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Sender))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Sender)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Sender))[:]) chk(err) } if len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Msg))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Msg)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Channel string Sender string Msg string }))(obj)).Msg))[:]) chk(err) } } func (obj *ToCltModChanMsg) deserialize(r io.Reader) { var local224 []uint8 var local225 uint16 { p := &local225 *p = read16(r) } (local224) = make([]uint8, local225) { _, err := io.ReadFull(r, (local224)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Channel) = string(local224) var local226 []uint8 var local227 uint16 { p := &local227 *p = read16(r) } (local226) = make([]uint8, local227) { _, err := io.ReadFull(r, (local226)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Sender) = string(local226) var local228 []uint8 var local229 uint16 { p := &local229 *p = read16(r) } (local228) = make([]uint8, local229) { _, err := io.ReadFull(r, (local228)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Msg) = string(local228) } func (obj *ToCltModChanSig) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Signal ModChanSig Channel string }))(obj)).Signal).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ModChanSig", err)) } if len(([]byte((*(*(struct { Signal ModChanSig Channel string }))(obj)).Channel))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Signal ModChanSig Channel string }))(obj)).Channel)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Signal ModChanSig Channel string }))(obj)).Channel))[:]) chk(err) } } func (obj *ToCltModChanSig) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Signal ModChanSig Channel string }))(obj)).Signal).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ModChanSig", err)) } var local230 []uint8 var local231 uint16 { p := &local231 *p = read16(r) } (local230) = make([]uint8, local231) { _, err := io.ReadFull(r, (local230)[:]) chk(err) } ((*(*(struct { Signal ModChanSig Channel string }))(obj)).Channel) = string(local230) } func (obj *ToCltNodeMetasChanged) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { x := (*(*(struct { //mt:lenhdr 32 Changed map[[3]int16]*NodeMeta }))(obj)).Changed { w := zlib.NewWriter(w) if x == nil { write8(w, 0) } else { write8(w, 2) if len(x) > math.MaxUint16 { chk(ErrTooLong) } write16(w, uint16(len(x))) keys := make([][3]int16, 0, len(x)) for key := range x { keys = append(keys, key) } sort.Slice(keys, func(i, j int) bool { p, q := keys[i], keys[j] for i := range p { switch { case p[i] < q[i]: return true case p[i] > q[i]: return false } } return false }) for _, key := range keys { for _, n := range key { write16(w, uint16(n)) } chk(serialize(w, x[key])) } } chk(w.Close()) } } { 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) } } } } func (obj *ToCltNodeMetasChanged) deserialize(r io.Reader) { { var n uint32 { p := &n *p = read32(r) } r := &io.LimitedReader{r, int64(n)} { p := &(*(*(struct { //mt:lenhdr 32 Changed map[[3]int16]*NodeMeta }))(obj)).Changed { r, err := zlib.NewReader(byteReader{r}) chk(err) switch ver := read8(r); ver { case 0: *p = nil case 2: n := read16(r) *p = make(map[[3]int16]*NodeMeta, n) for ; n > 0; n-- { var pos [3]int16 for i := range pos { pos[i] = int16(read16(r)) } nm := new(NodeMeta) chk(deserialize(r, nm)) (*p)[pos] = nm } default: chk(fmt.Errorf("unsupported nodemetas version: %d", ver)) } chk(r.Close()) } } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *ToCltSunParams) serialize(w io.Writer) { { x := (*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Visible if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Texture).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).ToneMap).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Rise).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { x := (*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Rising if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Size write32(w, math.Float32bits(x)) } } func (obj *ToCltSunParams) deserialize(r io.Reader) { { p := &(*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Visible 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 { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Texture).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).ToneMap).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Rise).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { p := &(*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Rising switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Visible bool Texture ToneMap Texture Rise Texture Rising bool Size float32 }))(obj)).Size *p = math.Float32frombits(read32(r)) } } func (obj *ToCltMoonParams) serialize(w io.Writer) { { x := (*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Visible if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Texture).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).ToneMap).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { x := (*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Size write32(w, math.Float32bits(x)) } } func (obj *ToCltMoonParams) deserialize(r io.Reader) { { p := &(*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Visible 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 { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Texture).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).ToneMap).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { p := &(*(*(struct { Visible bool Texture ToneMap Texture Size float32 }))(obj)).Size *p = math.Float32frombits(read32(r)) } } func (obj *ToCltStarParams) serialize(w io.Writer) { { x := (*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Visible if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Count write32(w, uint32(x)) } { x := (*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Color w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Size write32(w, math.Float32bits(x)) } } func (obj *ToCltStarParams) deserialize(r io.Reader) { { p := &(*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Visible switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Count *p = read32(r) } { p := &(*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Color *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { Visible bool Count uint32 Color color.NRGBA Size float32 }))(obj)).Size *p = math.Float32frombits(read32(r)) } } func (obj *ToCltSRPBytesSaltB) serialize(w io.Writer) { if len(((*(*(struct { Salt, B []byte }))(obj)).Salt)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Salt, B []byte }))(obj)).Salt))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { Salt, B []byte }))(obj)).Salt)[:]) chk(err) } if len(((*(*(struct { Salt, B []byte }))(obj)).B)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Salt, B []byte }))(obj)).B))) write16(w, uint16(x)) } { _, err := w.Write(((*(*(struct { Salt, B []byte }))(obj)).B)[:]) chk(err) } } func (obj *ToCltSRPBytesSaltB) deserialize(r io.Reader) { var local232 uint16 { p := &local232 *p = read16(r) } ((*(*(struct { Salt, B []byte }))(obj)).Salt) = make([]byte, local232) { _, err := io.ReadFull(r, ((*(*(struct { Salt, B []byte }))(obj)).Salt)[:]) chk(err) } var local233 uint16 { p := &local233 *p = read16(r) } ((*(*(struct { Salt, B []byte }))(obj)).B) = make([]byte, local233) { _, err := io.ReadFull(r, ((*(*(struct { Salt, B []byte }))(obj)).B)[:]) chk(err) } } func (obj *ToCltFormspecPrepend) serialize(w io.Writer) { if len(([]byte((*(*(struct { Prepend string }))(obj)).Prepend))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Prepend string }))(obj)).Prepend)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Prepend string }))(obj)).Prepend))[:]) chk(err) } } func (obj *ToCltFormspecPrepend) deserialize(r io.Reader) { var local234 []uint8 var local235 uint16 { p := &local235 *p = read16(r) } (local234) = make([]uint8, local235) { _, err := io.ReadFull(r, (local234)[:]) chk(err) } ((*(*(struct { Prepend string }))(obj)).Prepend) = string(local234) } func (obj *AOCmdProps) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Props AOProps }))(obj)).Props).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOProps", err)) } } func (obj *AOCmdProps) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Props AOProps }))(obj)).Props).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOProps", err)) } } func (obj *AOCmdPos) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Pos AOPos }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPos", err)) } } func (obj *AOCmdPos) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Pos AOPos }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPos", err)) } } func (obj *AOCmdTextureMod) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Mod Texture // suffix }))(obj)).Mod).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } func (obj *AOCmdTextureMod) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Mod Texture // suffix }))(obj)).Mod).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } func (obj *AOCmdSprite) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Sprite AOSprite }))(obj)).Sprite).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOSprite", err)) } } func (obj *AOCmdSprite) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Sprite AOSprite }))(obj)).Sprite).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOSprite", err)) } } func (obj *AOCmdHP) serialize(w io.Writer) { { x := (*(*(struct { HP uint16 }))(obj)).HP write16(w, uint16(x)) } } func (obj *AOCmdHP) deserialize(r io.Reader) { { p := &(*(*(struct { HP uint16 }))(obj)).HP *p = read16(r) } } func (obj *AOCmdArmorGroups) serialize(w io.Writer) { if len(((*(*(struct { Armor []Group }))(obj)).Armor)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Armor []Group }))(obj)).Armor))) write16(w, uint16(x)) } for local236 := range (*(*(struct { Armor []Group }))(obj)).Armor { if err := pcall(func() { (((*(*(struct { Armor []Group }))(obj)).Armor)[local236]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } } func (obj *AOCmdArmorGroups) deserialize(r io.Reader) { var local237 uint16 { p := &local237 *p = read16(r) } ((*(*(struct { Armor []Group }))(obj)).Armor) = make([]Group, local237) for local238 := range (*(*(struct { Armor []Group }))(obj)).Armor { if err := pcall(func() { (((*(*(struct { Armor []Group }))(obj)).Armor)[local238]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } } func (obj *AOCmdAnim) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Anim AOAnim }))(obj)).Anim).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAnim", err)) } } func (obj *AOCmdAnim) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Anim AOAnim }))(obj)).Anim).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAnim", err)) } } func (obj *AOCmdBonePos) serialize(w io.Writer) { if len(([]byte((*(*(struct { Bone string Pos AOBonePos }))(obj)).Bone))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Bone string Pos AOBonePos }))(obj)).Bone)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Bone string Pos AOBonePos }))(obj)).Bone))[:]) chk(err) } if err := pcall(func() { ((*(*(struct { Bone string Pos AOBonePos }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOBonePos", err)) } } func (obj *AOCmdBonePos) deserialize(r io.Reader) { var local239 []uint8 var local240 uint16 { p := &local240 *p = read16(r) } (local239) = make([]uint8, local240) { _, err := io.ReadFull(r, (local239)[:]) chk(err) } ((*(*(struct { Bone string Pos AOBonePos }))(obj)).Bone) = string(local239) if err := pcall(func() { ((*(*(struct { Bone string Pos AOBonePos }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOBonePos", err)) } } func (obj *AOCmdAttach) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Attach AOAttach }))(obj)).Attach).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAttach", err)) } } func (obj *AOCmdAttach) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Attach AOAttach }))(obj)).Attach).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAttach", err)) } } func (obj *AOCmdPhysOverride) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Phys AOPhysOverride }))(obj)).Phys).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPhysOverride", err)) } } func (obj *AOCmdPhysOverride) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Phys AOPhysOverride }))(obj)).Phys).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOPhysOverride", err)) } } func (obj *AOCmdSpawnInfant) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID AOID }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { local241 := genericCAO if err := pcall(func() { (local241).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err)) } } } func (obj *AOCmdSpawnInfant) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID AOID }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { var local242 aoType if err := pcall(func() { (local242).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err)) } if local242 != (101) { chk(fmt.Errorf("const %v: %v", 101, local242)) } } } func (obj *AOCmdAnimSpeed) serialize(w io.Writer) { { x := (*(*(struct { Speed float32 }))(obj)).Speed write32(w, math.Float32bits(x)) } } func (obj *AOCmdAnimSpeed) deserialize(r io.Reader) { { p := &(*(*(struct { Speed float32 }))(obj)).Speed *p = math.Float32frombits(read32(r)) } } func (obj *NodeMeta) serialize(w io.Writer) { if len(((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields))) write32(w, uint32(x)) } for local243 := range (*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields)[local243]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeMetaField", err)) } } chk(((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Inv).Serialize(w)) } func (obj *NodeMeta) deserialize(r io.Reader) { var local244 uint32 { p := &local244 *p = read32(r) } ((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields) = make([]NodeMetaField, local244) for local245 := range (*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields)[local245]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeMetaField", err)) } } chk(((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Inv).Deserialize(r)) } func (obj *MinimapMode) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MinimapType", err)) } if len(([]byte((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Label))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Label)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Label))[:]) chk(err) } { x := (*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Size write16(w, uint16(x)) } if err := pcall(func() { ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Texture).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { x := (*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Scale write16(w, uint16(x)) } } func (obj *MinimapMode) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MinimapType", err)) } var local246 []uint8 var local247 uint16 { p := &local247 *p = read16(r) } (local246) = make([]uint8, local247) { _, err := io.ReadFull(r, (local246)[:]) chk(err) } ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Label) = string(local246) { p := &(*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Size *p = read16(r) } if err := pcall(func() { ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Texture).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { p := &(*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Scale *p = read16(r) } } func (obj *NodeDef) serialize(w io.Writer) { if err := pcall(func() { ((*(*(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)).Param0).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { ow := w w := new(bytes.Buffer) { local248 := uint8(13) { x := local248 write8(w, uint8(x)) } } if len(([]byte((*(*(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)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Name))[:]) chk(err) } if len(((*(*(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)).Groups)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(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)).Groups))) write16(w, uint16(x)) } for local249 := range (*(*(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)).Groups { if err := pcall(func() { (((*(*(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)).Groups)[local249]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } if err := pcall(func() { ((*(*(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)).P1Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param1Type", err)) } if err := pcall(func() { ((*(*(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)).P2Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param2Type", err)) } if err := pcall(func() { ((*(*(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)).DrawType).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DrawType", err)) } if len(([]byte((*(*(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)).Mesh))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).Mesh)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).Mesh))[:]) chk(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 }))(obj)).Scale write32(w, math.Float32bits(x)) } { local250 := uint8(6) { x := local250 write8(w, uint8(x)) } } for local251 := range (*(*(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)).Tiles { if err := pcall(func() { (((*(*(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)).Tiles)[local251]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } for local252 := range (*(*(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)).OverlayTiles { if err := pcall(func() { (((*(*(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)).OverlayTiles)[local252]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } { local253 := uint8(6) { x := local253 write8(w, uint8(x)) } } for local254 := range (*(*(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)).SpecialTiles { if err := pcall(func() { (((*(*(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)).SpecialTiles)[local254]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", 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 }))(obj)).Color w.Write([]byte{x.A, x.R, x.G, x.B}) } if err := pcall(func() { ((*(*(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)).Palette).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(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)).Waving).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.WaveType", 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 }))(obj)).ConnectSides write8(w, uint8(x)) } if len(((*(*(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)).ConnectTo)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(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)).ConnectTo))) write16(w, uint16(x)) } for local255 := range (*(*(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)).ConnectTo { if err := pcall(func() { (((*(*(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)).ConnectTo)[local255]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", 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 }))(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 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) } } { 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)).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 }))(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 }))(obj)).GndContent 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 }))(obj)).Collides 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 }))(obj)).Pointable 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 }))(obj)).Diggable 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 }))(obj)).Climbable 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 }))(obj)).Replaceable 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 }))(obj)).OnRightClick 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 }))(obj)).DmgPerSec write32(w, uint32(x)) } if err := pcall(func() { ((*(*(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)).LiquidType).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LiquidType", err)) } if len(([]byte((*(*(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)).FlowingAlt))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).FlowingAlt)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).FlowingAlt))[:]) chk(err) } if len(([]byte((*(*(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)).SrcAlt))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).SrcAlt)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).SrcAlt))[:]) chk(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 }))(obj)).Viscosity 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 }))(obj)).LiqRenewable 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 }))(obj)).FlowRange 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 }))(obj)).DrownDmg 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 }))(obj)).Floodable if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(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)).DrawBox).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).ColBox).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).SelBox).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).FootstepSnd).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(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)).DiggingSnd).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(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)).DugSnd).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", 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 }))(obj)).LegacyFaceDir 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 }))(obj)).LegacyMounted if x { write8(w, 1) } else { write8(w, 0) } } if len(([]byte((*(*(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)).DigPredict))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(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)).DigPredict)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(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)).DigPredict))[:]) chk(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 }))(obj)).MaxLvl write8(w, uint8(x)) } if err := pcall(func() { ((*(*(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)).AlphaUse).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlphaUse", err)) } { buf := w w := ow if len((buf.Bytes())) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((buf.Bytes()))) write16(w, uint16(x)) } { _, err := w.Write((buf.Bytes())[:]) chk(err) } } } } func (obj *NodeDef) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(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)).Param0).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { var n uint16 { p := &n *p = read16(r) } r := &io.LimitedReader{r, int64(n)} { var local256 uint8 { p := &local256 *p = read8(r) } if local256 != (13) { chk(fmt.Errorf("const %v: %v", 13, local256)) } } var local257 []uint8 var local258 uint16 { p := &local258 *p = read16(r) } (local257) = make([]uint8, local258) { _, err := io.ReadFull(r, (local257)[:]) chk(err) } ((*(*(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)).Name) = string(local257) var local259 uint16 { p := &local259 *p = read16(r) } ((*(*(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)).Groups) = make([]Group, local259) for local260 := range (*(*(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)).Groups { if err := pcall(func() { (((*(*(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)).Groups)[local260]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } if err := pcall(func() { ((*(*(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)).P1Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param1Type", err)) } if err := pcall(func() { ((*(*(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)).P2Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Param2Type", err)) } if err := pcall(func() { ((*(*(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)).DrawType).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DrawType", err)) } var local261 []uint8 var local262 uint16 { p := &local262 *p = read16(r) } (local261) = make([]uint8, local262) { _, err := io.ReadFull(r, (local261)[:]) chk(err) } ((*(*(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)).Mesh) = string(local261) { 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 }))(obj)).Scale *p = math.Float32frombits(read32(r)) } { var local263 uint8 { p := &local263 *p = read8(r) } if local263 != (6) { chk(fmt.Errorf("const %v: %v", 6, local263)) } } for local264 := range (*(*(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)).Tiles { if err := pcall(func() { (((*(*(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)).Tiles)[local264]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } for local265 := range (*(*(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)).OverlayTiles { if err := pcall(func() { (((*(*(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)).OverlayTiles)[local265]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } { var local266 uint8 { p := &local266 *p = read8(r) } if local266 != (6) { chk(fmt.Errorf("const %v: %v", 6, local266)) } } for local267 := range (*(*(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)).SpecialTiles { if err := pcall(func() { (((*(*(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)).SpecialTiles)[local267]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", 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 }))(obj)).Color *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } if err := pcall(func() { ((*(*(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)).Palette).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(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)).Waving).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.WaveType", 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 }))(obj)).ConnectSides *p = read8(r) } var local268 uint16 { p := &local268 *p = read16(r) } ((*(*(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)).ConnectTo) = make([]Content, local268) for local269 := range (*(*(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)).ConnectTo { if err := pcall(func() { (((*(*(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)).ConnectTo)[local269]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", 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 }))(obj)).InsideTint *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: 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 }))(obj)).Level *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 }))(obj)).Translucent switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Transparent switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).LightSrc *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 }))(obj)).GndContent switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Collides switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Pointable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Diggable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Climbable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).Replaceable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).OnRightClick switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).DmgPerSec *p = int32(read32(r)) } if err := pcall(func() { ((*(*(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)).LiquidType).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LiquidType", err)) } var local270 []uint8 var local271 uint16 { p := &local271 *p = read16(r) } (local270) = make([]uint8, local271) { _, err := io.ReadFull(r, (local270)[:]) chk(err) } ((*(*(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)).FlowingAlt) = string(local270) var local272 []uint8 var local273 uint16 { p := &local273 *p = read16(r) } (local272) = make([]uint8, local273) { _, err := io.ReadFull(r, (local272)[:]) chk(err) } ((*(*(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)).SrcAlt) = string(local272) { 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 }))(obj)).Viscosity *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 }))(obj)).LiqRenewable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).FlowRange *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 }))(obj)).DrownDmg *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 }))(obj)).Floodable 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 { 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)).DrawBox).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).ColBox).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).SelBox).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBox", err)) } if err := pcall(func() { ((*(*(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)).FootstepSnd).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(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)).DiggingSnd).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(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)).DugSnd).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", 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 }))(obj)).LegacyFaceDir switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { 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 }))(obj)).LegacyMounted switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } var local274 []uint8 var local275 uint16 { p := &local275 *p = read16(r) } (local274) = make([]uint8, local275) { _, err := io.ReadFull(r, (local274)[:]) chk(err) } ((*(*(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)).DigPredict) = string(local274) { 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 }))(obj)).MaxLvl *p = read8(r) } if err := pcall(func() { ((*(*(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)).AlphaUse).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlphaUse", err)) } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *PointedNode) serialize(w io.Writer) { for local276 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Under { { x := ((*(*(struct { Under, Above [3]int16 }))(obj)).Under)[local276] write16(w, uint16(x)) } } for local277 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Above { { x := ((*(*(struct { Under, Above [3]int16 }))(obj)).Above)[local277] write16(w, uint16(x)) } } } func (obj *PointedNode) deserialize(r io.Reader) { for local278 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Under { { p := &((*(*(struct { Under, Above [3]int16 }))(obj)).Under)[local278] *p = int16(read16(r)) } } for local279 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Above { { p := &((*(*(struct { Under, Above [3]int16 }))(obj)).Above)[local279] *p = int16(read16(r)) } } } func (obj *PointedAO) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID AOID }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } } func (obj *PointedAO) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID AOID }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } } func (obj *CompressionModes) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *CompressionModes) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *PlayerPos) serialize(w io.Writer) { for local280 := range (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pos100 { { x := ((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pos100)[local280] write32(w, uint32(x)) } } for local281 := range (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Vel100 { { x := ((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Vel100)[local281] write32(w, uint32(x)) } } { x := (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pitch100 write32(w, uint32(x)) } { x := (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Yaw100 write32(w, uint32(x)) } if err := pcall(func() { ((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Keys).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Keys", err)) } { x := (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).FOV80 write8(w, uint8(x)) } { x := (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).WantedRange write8(w, uint8(x)) } } func (obj *PlayerPos) deserialize(r io.Reader) { for local282 := range (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pos100 { { p := &((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pos100)[local282] *p = int32(read32(r)) } } for local283 := range (*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Vel100 { { p := &((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Vel100)[local283] *p = int32(read32(r)) } } { p := &(*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Pitch100 *p = int32(read32(r)) } { p := &(*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Yaw100 *p = int32(read32(r)) } if err := pcall(func() { ((*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).Keys).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Keys", err)) } { p := &(*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).FOV80 *p = read8(r) } { p := &(*(*(struct { Pos100, Vel100 [3]int32 Pitch100, Yaw100 int32 Keys Keys FOV80 uint8 WantedRange uint8 // in MapBlks. }))(obj)).WantedRange *p = read8(r) } } func (obj *Interaction) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *Interaction) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *SoundID) serialize(w io.Writer) { { x := *(*(int32))(obj) write32(w, uint32(x)) } } func (obj *SoundID) deserialize(r io.Reader) { { p := &*(*(int32))(obj) *p = int32(read32(r)) } } func (obj *Field) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Name))[:]) chk(err) } if len(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Value))) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Value)))) write32(w, uint32(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string //mt:len32 Value string }))(obj)).Value))[:]) chk(err) } } func (obj *Field) deserialize(r io.Reader) { var local284 []uint8 var local285 uint16 { p := &local285 *p = read16(r) } (local284) = make([]uint8, local285) { _, err := io.ReadFull(r, (local284)[:]) chk(err) } ((*(*(struct { Name string //mt:len32 Value string }))(obj)).Name) = string(local284) var local286 []uint8 var local287 uint32 { p := &local287 *p = read32(r) } (local286) = make([]uint8, local287) { _, err := io.ReadFull(r, (local286)[:]) chk(err) } ((*(*(struct { Name string //mt:len32 Value string }))(obj)).Value) = string(local286) } func (obj *AuthMethods) serialize(w io.Writer) { { x := *(*(uint32))(obj) write32(w, uint32(x)) } } func (obj *AuthMethods) deserialize(r io.Reader) { { p := &*(*(uint32))(obj) *p = read32(r) } } func (obj *Pos) serialize(w io.Writer) { if err := pcall(func() { (*(*(Vec))(obj)).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *Pos) deserialize(r io.Reader) { if err := pcall(func() { (*(*(Vec))(obj)).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } func (obj *DiscoReason) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *DiscoReason) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } 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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LitFromBlks", err)) } { local288 := uint8(2) // Size of param0 in bytes. { x := local288 write8(w, uint8(x)) } } { local289 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes. { x := local289 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 //mt:zlib 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 { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 NodeMetas map[uint16]*NodeMeta }))(obj)).Param1)[:]) chk(err) } { _, err := w.Write(((*(*(struct { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 NodeMetas map[uint16]*NodeMeta }))(obj)).Param2)[:]) chk(err) } chk(w.Close()) } { x := (*(*(struct { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 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) } write16(w, uint16(len(x))) keys := make([]uint16, 0, len(x)) for key := range x { keys = append(keys, key) } sort.Slice(keys, func(i, j int) bool { i2pos := func(i int) [3]int16 { return Blkpos2Pos([3]int16{}, keys[i]) } p, q := i2pos(i), i2pos(j) for i := range p { switch { case p[i] < q[i]: return true case p[i] > q[i]: return false } } return false }) for _, key := range keys { write16(w, key) 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) { 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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/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) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.LitFromBlks", err)) } { var local292 uint8 { p := &local292 *p = read8(r) } if local292 != (2) { chk(fmt.Errorf("const %v: %v", 2, local292)) } } { var local293 uint8 { p := &local293 *p = read8(r) } if local293 != (2) { chk(fmt.Errorf("const %v: %v", 2, local293)) } } { r, err := zlib.NewReader(byteReader{r}) chk(err) for local294 := 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 //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 { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 NodeMetas map[uint16]*NodeMeta }))(obj)).Param1)[:]) chk(err) } { _, err := io.ReadFull(r, ((*(*(struct { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 NodeMetas map[uint16]*NodeMeta }))(obj)).Param2)[:]) chk(err) } chk(r.Close()) } { p := &(*(*(struct { Flags MapBlkFlags LitFrom LitFromBlks //mt:zlib Param0 [4096]Content Param1 [4096]uint8 Param2 [4096]uint8 NodeMetas map[uint16]*NodeMeta }))(obj)).NodeMetas { r, err := zlib.NewReader(byteReader{r}) chk(err) switch ver := read8(r); ver { case 0: *p = nil case 2: n := read16(r) *p = make(map[uint16]*NodeMeta, n) for ; n > 0; n-- { pos := read16(r) nm := new(NodeMeta) chk(deserialize(r, nm)) (*p)[pos] = nm } 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) { if err := pcall(func() { ((*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param0).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { x := (*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param1 write8(w, uint8(x)) } { x := (*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param2 write8(w, uint8(x)) } } func (obj *Node) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param0).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Content", err)) } { p := &(*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param1 *p = read8(r) } { p := &(*(*(struct { Param0 Content Param1, Param2 uint8 }))(obj)).Param2 *p = read8(r) } } func (obj *CSMRestrictionFlags) serialize(w io.Writer) { { x := *(*(uint64))(obj) write64(w, uint64(x)) } } 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) { { x := (*(*([3]float32))(obj))[local296] write32(w, math.Float32bits(x)) } } } func (obj *Vec) deserialize(r io.Reader) { for local297 := range *(*([3]float32))(obj) { { p := &(*(*([3]float32))(obj))[local297] *p = math.Float32frombits(read32(r)) } } } func (obj *ChatMsgType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *ChatMsgType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *AOID) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } 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) } } 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/anon55555/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/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 ID AOID Pos Rot [3]float32 HP uint16 // See (de)serialize.fmt. Msgs []AOMsg }))(obj)).Rot)[local299] 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 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)) } } 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/anon55555/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/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)) } } { 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)) } } } } } func (obj *IDAOMsg) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID AOID //mt:lenhdr 16 Msg AOMsg }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { ow := w w := new(bytes.Buffer) { x := (*(*(struct { ID AOID //mt:lenhdr 16 Msg AOMsg }))(obj)).Msg writeAOMsg(w, x) } { buf := w w := ow if len((buf.Bytes())) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((buf.Bytes()))) write16(w, uint16(x)) } { _, err := w.Write((buf.Bytes())[:]) chk(err) } } } } func (obj *IDAOMsg) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID AOID //mt:lenhdr 16 Msg AOMsg }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { var n uint16 { p := &n *p = read16(r) } r := &io.LimitedReader{r, int64(n)} { p := &(*(*(struct { ID AOID //mt:lenhdr 16 Msg AOMsg }))(obj)).Msg { var err error *p, err = readAOMsg(r) chk(err) } } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *ItemDef) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { local304 := uint8(6) { x := local304 write8(w, uint8(x)) } } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemType", err)) } if len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Name))[:]) chk(err) } if len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Desc))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Desc)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Desc))[:]) chk(err) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).InvImg).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldImg).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } for local305 := range (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldScale { { x := ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldScale)[local305] write32(w, math.Float32bits(x)) } } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).StackMax write16(w, uint16(x)) } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Usable if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).CanPointLiquids if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ToolCaps).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolCaps", err)) } if len(((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups))) write16(w, uint16(x)) } for local306 := range (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups { if err := pcall(func() { (((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups)[local306]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } if len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlacePredict))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlacePredict)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlacePredict))[:]) chk(err) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceSnd).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceFailSnd).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PointRange write32(w, math.Float32bits(x)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Palette).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Color w.Write([]byte{x.A, x.R, x.G, x.B}) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).InvOverlay).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldOverlay).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ShortDesc))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ShortDesc)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ShortDesc))[:]) chk(err) } { x := (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceParam2 write8(w, uint8(x)) } { buf := w w := ow if len((buf.Bytes())) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((buf.Bytes()))) write16(w, uint16(x)) } { _, err := w.Write((buf.Bytes())[:]) chk(err) } } } } func (obj *ItemDef) deserialize(r io.Reader) { { var n uint16 { p := &n *p = read16(r) } r := &io.LimitedReader{r, int64(n)} { var local307 uint8 { p := &local307 *p = read8(r) } if local307 != (6) { chk(fmt.Errorf("const %v: %v", 6, local307)) } } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemType", err)) } var local308 []uint8 var local309 uint16 { p := &local309 *p = read16(r) } (local308) = make([]uint8, local309) { _, err := io.ReadFull(r, (local308)[:]) chk(err) } ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Name) = string(local308) var local310 []uint8 var local311 uint16 { p := &local311 *p = read16(r) } (local310) = make([]uint8, local311) { _, err := io.ReadFull(r, (local310)[:]) chk(err) } ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Desc) = string(local310) if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).InvImg).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldImg).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } for local312 := range (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldScale { { p := &((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldScale)[local312] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).StackMax *p = read16(r) } { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Usable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).CanPointLiquids 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 { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ToolCaps).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolCaps", err)) } var local313 uint16 { p := &local313 *p = read16(r) } ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups) = make([]Group, local313) for local314 := range (*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups { if err := pcall(func() { (((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Groups)[local314]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } var local315 []uint8 var local316 uint16 { p := &local316 *p = read16(r) } (local315) = make([]uint8, local316) { _, err := io.ReadFull(r, (local315)[:]) chk(err) } ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlacePredict) = string(local315) if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceSnd).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceFailSnd).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.SoundDef", err)) } { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PointRange *p = math.Float32frombits(read32(r)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Palette).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).Color *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).InvOverlay).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).WieldOverlay).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } var local317 []uint8 var local318 uint16 { p := &local318 *p = read16(r) } (local317) = make([]uint8, local318) { _, err := io.ReadFull(r, (local317)[:]) chk(err) } ((*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).ShortDesc) = string(local317) { p := &(*(*(struct { Type ItemType Name, Desc string InvImg, WieldImg Texture WieldScale [3]float32 StackMax uint16 Usable bool CanPointLiquids bool ToolCaps ToolCaps Groups []Group PlacePredict string PlaceSnd, PlaceFailSnd SoundDef PointRange float32 // Set index in Palette with "palette_index" item meta field, // this overrides Color. Palette Texture Color color.NRGBA // Texture overlays. InvOverlay, WieldOverlay Texture ShortDesc string PlaceParam2 byte }))(obj)).PlaceParam2 *p = read8(r) } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *SoundSrcType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *SoundSrcType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *TileAnim) serialize(w io.Writer) { 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).serialize(w) }); 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 := w.Write(((*(*(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 local319 := 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 { { 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)).NFrames)[local319] 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/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) } } } 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 *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 *HUDField) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *HUDField) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *HUDFlags) serialize(w io.Writer) { { x := *(*(uint32))(obj) write32(w, uint32(x)) } } func (obj *HUDFlags) deserialize(r io.Reader) { { p := &*(*(uint32))(obj) *p = read32(r) } } func (obj *HotbarParam) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *HotbarParam) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *Texture) serialize(w io.Writer) { if len(([]byte(*(*(string))(obj)))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(*(*(string))(obj))))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(*(*(string))(obj)))[:]) chk(err) } } func (obj *Texture) deserialize(r io.Reader) { var local321 []uint8 var local322 uint16 { p := &local322 *p = read16(r) } (local321) = make([]uint8, local322) { _, err := io.ReadFull(r, (local321)[:]) chk(err) } (*(*(string))(obj)) = string(local321) } func (obj *PlayerListUpdateType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *PlayerListUpdateType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *ModChanSig) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *ModChanSig) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *AOProps) serialize(w io.Writer) { { local323 := uint8(4) { x := local323 write8(w, uint8(x)) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MaxHP write16(w, uint16(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).CollideWithNodes if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Weight write32(w, math.Float32bits(x)) } if err := pcall(func() { ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ColBox).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SelBox).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Pointable if x { write8(w, 1) } else { write8(w, 0) } } if len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visual))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visual)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visual))[:]) chk(err) } for local324 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).VisualSize { { x := ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).VisualSize)[local324] write32(w, math.Float32bits(x)) } } if len(((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures))) write16(w, uint16(x)) } for local325 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures { if err := pcall(func() { (((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures)[local325]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } for local326 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritesheetSize { { x := ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritesheetSize)[local326] write16(w, uint16(x)) } } for local327 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritePos { { x := ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritePos)[local327] write16(w, uint16(x)) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visible if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MakeFootstepSnds if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).RotateSpeed write32(w, math.Float32bits(x)) } if len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Mesh))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Mesh)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Mesh))[:]) chk(err) } if len(((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors))) write16(w, uint16(x)) } for local328 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors { { x := ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors)[local328] w.Write([]byte{x.A, x.R, x.G, x.B}) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).CollideWithAOs if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).StepHeight write32(w, math.Float32bits(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateDir if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateDirOff write32(w, math.Float32bits(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).BackfaceCull if x { write8(w, 1) } else { write8(w, 0) } } if len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Nametag))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Nametag)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Nametag))[:]) chk(err) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).NametagColor w.Write([]byte{x.A, x.R, x.G, x.B}) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateSpeed write32(w, math.Float32bits(x)) } if len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Infotext))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Infotext)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Infotext))[:]) chk(err) } if len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Itemstring))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Itemstring)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Itemstring))[:]) chk(err) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Glow write8(w, uint8(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MaxBreath write16(w, uint16(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).EyeHeight write32(w, math.Float32bits(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ZoomFOV write32(w, math.Float32bits(x)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).UseTextureAlpha if x { write8(w, 1) } else { write8(w, 0) } } if err := pcall(func() { ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).DmgTextureMod).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Shaded if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ShowOnMinimap if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).NametagBG w.Write([]byte{x.A, x.R, x.G, x.B}) } } func (obj *AOProps) deserialize(r io.Reader) { { var local329 uint8 { p := &local329 *p = read8(r) } if local329 != (4) { chk(fmt.Errorf("const %v: %v", 4, local329)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MaxHP *p = read16(r) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).CollideWithNodes switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Weight *p = math.Float32frombits(read32(r)) } if err := pcall(func() { ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ColBox).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SelBox).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Pointable switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } var local330 []uint8 var local331 uint16 { p := &local331 *p = read16(r) } (local330) = make([]uint8, local331) { _, err := io.ReadFull(r, (local330)[:]) chk(err) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visual) = string(local330) for local332 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).VisualSize { { p := &((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).VisualSize)[local332] *p = math.Float32frombits(read32(r)) } } var local333 uint16 { p := &local333 *p = read16(r) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures) = make([]Texture, local333) for local334 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures { if err := pcall(func() { (((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Textures)[local334]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } for local335 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritesheetSize { { p := &((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritesheetSize)[local335] *p = int16(read16(r)) } } for local336 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritePos { { p := &((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).SpritePos)[local336] *p = int16(read16(r)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Visible switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MakeFootstepSnds switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).RotateSpeed *p = math.Float32frombits(read32(r)) } var local337 []uint8 var local338 uint16 { p := &local338 *p = read16(r) } (local337) = make([]uint8, local338) { _, err := io.ReadFull(r, (local337)[:]) chk(err) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Mesh) = string(local337) var local339 uint16 { p := &local339 *p = read16(r) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors) = make([]color.NRGBA, local339) for local340 := range (*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors { { p := &((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Colors)[local340] *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).CollideWithAOs switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).StepHeight *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateDir switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateDirOff *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).BackfaceCull switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } var local341 []uint8 var local342 uint16 { p := &local342 *p = read16(r) } (local341) = make([]uint8, local342) { _, err := io.ReadFull(r, (local341)[:]) chk(err) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Nametag) = string(local341) { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).NametagColor *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).FaceRotateSpeed *p = math.Float32frombits(read32(r)) } var local343 []uint8 var local344 uint16 { p := &local344 *p = read16(r) } (local343) = make([]uint8, local344) { _, err := io.ReadFull(r, (local343)[:]) chk(err) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Infotext) = string(local343) var local345 []uint8 var local346 uint16 { p := &local346 *p = read16(r) } (local345) = make([]uint8, local346) { _, err := io.ReadFull(r, (local345)[:]) chk(err) } ((*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Itemstring) = string(local345) { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Glow *p = int8(read8(r)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).MaxBreath *p = read16(r) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).EyeHeight *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ZoomFOV *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).UseTextureAlpha 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 { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).DmgTextureMod).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).Shaded switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).ShowOnMinimap switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { MaxHP uint16 // Player only. CollideWithNodes bool Weight float32 // deprecated ColBox, SelBox Box Pointable bool Visual string VisualSize [3]float32 Textures []Texture SpritesheetSize [2]int16 // in sprites. SpritePos [2]int16 // in sprite sheet. Visible bool MakeFootstepSnds bool RotateSpeed float32 // in radians per second. Mesh string Colors []color.NRGBA CollideWithAOs bool StepHeight float32 FaceRotateDir bool FaceRotateDirOff float32 // in degrees. BackfaceCull bool Nametag string NametagColor color.NRGBA FaceRotateSpeed float32 // in degrees per second. Infotext string Itemstring string Glow int8 MaxBreath uint16 // Player only. EyeHeight float32 // Player only. ZoomFOV float32 // in degrees. Player only. UseTextureAlpha bool DmgTextureMod Texture // suffix Shaded bool ShowOnMinimap bool NametagBG color.NRGBA }))(obj)).NametagBG *p = color.NRGBA{A: read8(r), R: read8(r), G: read8(r), B: read8(r)} } } func (obj *AOPos) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Vel).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Acc).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local347 := range (*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Rot { { x := ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Rot)[local347] write32(w, math.Float32bits(x)) } } { x := (*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Interpolate if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).End if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).UpdateInterval write32(w, math.Float32bits(x)) } } func (obj *AOPos) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Pos", err)) } if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Vel).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } if err := pcall(func() { ((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Acc).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local348 := range (*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Rot { { p := &((*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Rot)[local348] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).Interpolate switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).End switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Pos Vel, Acc Vec Rot [3]float32 Interpolate bool End bool UpdateInterval float32 }))(obj)).UpdateInterval *p = math.Float32frombits(read32(r)) } } func (obj *AOSprite) serialize(w io.Writer) { for local349 := range (*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frame0 { { x := ((*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frame0)[local349] write16(w, uint16(x)) } } { x := (*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frames write16(w, uint16(x)) } { x := (*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).FrameDuration write32(w, math.Float32bits(x)) } { x := (*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).ViewAngleFrames if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *AOSprite) deserialize(r io.Reader) { for local350 := range (*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frame0 { { p := &((*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frame0)[local350] *p = int16(read16(r)) } } { p := &(*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).Frames *p = read16(r) } { p := &(*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).FrameDuration *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Frame0 [2]int16 Frames uint16 FrameDuration float32 ViewAngleFrames bool }))(obj)).ViewAngleFrames switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *Group) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string Rating int16 }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string Rating int16 }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string Rating int16 }))(obj)).Name))[:]) chk(err) } { x := (*(*(struct { Name string Rating int16 }))(obj)).Rating write16(w, uint16(x)) } } func (obj *Group) deserialize(r io.Reader) { var local351 []uint8 var local352 uint16 { p := &local352 *p = read16(r) } (local351) = make([]uint8, local352) { _, err := io.ReadFull(r, (local351)[:]) chk(err) } ((*(*(struct { Name string Rating int16 }))(obj)).Name) = string(local351) { p := &(*(*(struct { Name string Rating int16 }))(obj)).Rating *p = int16(read16(r)) } } func (obj *AOAnim) serialize(w io.Writer) { for local353 := range (*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Frames { { x := ((*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Frames)[local353] write32(w, uint32(x)) } } { x := (*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Speed write32(w, math.Float32bits(x)) } { x := (*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Blend write32(w, math.Float32bits(x)) } { x := (*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).NoLoop if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *AOAnim) deserialize(r io.Reader) { for local354 := range (*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Frames { { p := &((*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Frames)[local354] *p = int32(read32(r)) } } { p := &(*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Speed *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).Blend *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Frames [2]int32 Speed float32 Blend float32 NoLoop bool }))(obj)).NoLoop switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *AOBonePos) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local355 := range (*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot { { x := ((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot)[local355] write32(w, math.Float32bits(x)) } } } func (obj *AOBonePos) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local356 := range (*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot { { p := &((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot)[local356] *p = math.Float32frombits(read32(r)) } } } func (obj *AOAttach) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).ParentID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } if len(([]byte((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Bone))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Bone)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Bone))[:]) chk(err) } if err := pcall(func() { ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Pos).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local357 := range (*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Rot { { x := ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Rot)[local357] write32(w, math.Float32bits(x)) } } { x := (*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).ForceVisible if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *AOAttach) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).ParentID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } var local358 []uint8 var local359 uint16 { p := &local359 *p = read16(r) } (local358) = make([]uint8, local359) { _, err := io.ReadFull(r, (local358)[:]) chk(err) } ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Bone) = string(local358) if err := pcall(func() { ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Pos).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } for local360 := range (*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Rot { { p := &((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Rot)[local360] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).ForceVisible switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *AOPhysOverride) serialize(w io.Writer) { { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Walk write32(w, math.Float32bits(x)) } { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Jump write32(w, math.Float32bits(x)) } { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Gravity write32(w, math.Float32bits(x)) } { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).NoSneak if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).NoSneakGlitch if x { write8(w, 1) } else { write8(w, 0) } } { x := (*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).OldSneak if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *AOPhysOverride) deserialize(r io.Reader) { { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Walk *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Jump *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).Gravity *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).NoSneak switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).NoSneakGlitch switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } { p := &(*(*(struct { Walk, Jump, Gravity float32 // Player only. NoSneak, NoSneakGlitch, OldSneak bool }))(obj)).OldSneak switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *NodeMetaField) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Field Private bool }))(obj)).Field).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err)) } { x := (*(*(struct { Field Private bool }))(obj)).Private if x { write8(w, 1) } else { write8(w, 0) } } } func (obj *NodeMetaField) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Field Private bool }))(obj)).Field).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Field", err)) } { p := &(*(*(struct { Field Private bool }))(obj)).Private switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } func (obj *MinimapType) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *MinimapType) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *Param1Type) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *Param1Type) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *Param2Type) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *Param2Type) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *DrawType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *DrawType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *TileDef) serialize(w io.Writer) { { local361 := uint8(6) { x := local361 write8(w, uint8(x)) } } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Texture).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Anim).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileFlags", err)) } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileColor != 0 { { x := (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).R write8(w, uint8(x)) } { x := (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).G write8(w, uint8(x)) } { x := (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).B write8(w, uint8(x)) } } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileScale != 0 { { x := (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Scale write8(w, uint8(x)) } } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileAlign != 0 { if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Align).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlignType", err)) } } } func (obj *TileDef) deserialize(r io.Reader) { { var local362 uint8 { p := &local362 *p = read8(r) } if local362 != (6) { chk(fmt.Errorf("const %v: %v", 6, local362)) } } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Texture).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Anim).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileAnim", err)) } if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileFlags", err)) } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileColor != 0 { { p := &(*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).R *p = read8(r) } { p := &(*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).G *p = read8(r) } { p := &(*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).B *p = read8(r) } } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileScale != 0 { { p := &(*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Scale *p = read8(r) } } if (*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Flags&TileAlign != 0 { if err := pcall(func() { ((*(*(struct { Texture Anim TileAnim Flags TileFlags //mt:if %s.Flags&TileColor != 0 R, G, B uint8 //mt:if %s.Flags&TileScale != 0 Scale uint8 //mt:if %s.Flags&TileAlign != 0 Align AlignType }))(obj)).Align).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AlignType", err)) } } } func (obj *WaveType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *WaveType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *LiquidType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *LiquidType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *NodeBox) serialize(w io.Writer) { { local363 := uint8(6) { x := local363 write8(w, uint8(x)) } } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBoxType", err)) } if !((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type < maxBox) { chk(errors.New("assertion failed: %s.Type < maxBox")) } if (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type == MountedBox { if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallTop).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallBot).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallSides).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if t := (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type; t == FixedBox || t == LeveledBox || t == ConnectedBox { if len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed))) write16(w, uint16(x)) } for local364 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed)[local364]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } if (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type == ConnectedBox { if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).ConnDirs).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoDirs).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err)) } if len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll))) write16(w, uint16(x)) } for local365 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll)[local365]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides))) write16(w, uint16(x)) } for local366 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides)[local366]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } } func (obj *NodeBox) deserialize(r io.Reader) { { var local367 uint8 { p := &local367 *p = read8(r) } if local367 != (6) { chk(fmt.Errorf("const %v: %v", 6, local367)) } } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.NodeBoxType", err)) } if !((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type < maxBox) { chk(errors.New("assertion failed: %s.Type < maxBox")) } if (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type == MountedBox { if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallTop).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallBot).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).WallSides).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if t := (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type; t == FixedBox || t == LeveledBox || t == ConnectedBox { var local368 uint16 { p := &local368 *p = read16(r) } ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed) = make([]Box, local368) for local369 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Fixed)[local369]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } if (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).Type == ConnectedBox { if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).ConnDirs).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err)) } if err := pcall(func() { ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoDirs).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DirBoxes", err)) } var local370 uint16 { p := &local370 *p = read16(r) } ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll) = make([]Box, local370) for local371 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoAll)[local371]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local372 uint16 { p := &local372 *p = read16(r) } ((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides) = make([]Box, local372) for local373 := range (*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides { if err := pcall(func() { (((*(*(struct { Type NodeBoxType //mt:if %s.Type == MountedBox WallTop, WallBot, WallSides Box //mt:if t := %s.Type; t == FixedBox || t == LeveledBox || t == ConnectedBox Fixed []Box //mt:if %s.Type == ConnectedBox ConnDirs, DiscoDirs DirBoxes DiscoAll, DiscoSides []Box }))(obj)).DiscoSides)[local373]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } } func (obj *SoundDef) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Name))[:]) chk(err) } { x := (*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Gain write32(w, math.Float32bits(x)) } { x := (*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Pitch write32(w, math.Float32bits(x)) } { x := (*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Fade write32(w, math.Float32bits(x)) } } func (obj *SoundDef) deserialize(r io.Reader) { var local374 []uint8 var local375 uint16 { p := &local375 *p = read16(r) } (local374) = make([]uint8, local375) { _, err := io.ReadFull(r, (local374)[:]) chk(err) } ((*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Name) = string(local374) { p := &(*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Gain *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Pitch *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Fade *p = math.Float32frombits(read32(r)) } } func (obj *AlphaUse) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *AlphaUse) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *Keys) serialize(w io.Writer) { { x := *(*(uint32))(obj) write32(w, uint32(x)) } } func (obj *Keys) deserialize(r io.Reader) { { p := &*(*(uint32))(obj) *p = read32(r) } } func (obj *MapBlkFlags) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *MapBlkFlags) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *LitFromBlks) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *LitFromBlks) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *ItemType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *ItemType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *ToolCaps) serialize(w io.Writer) { if _ = (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)); false { { x := (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil if x { write8(w, 1) } else { write8(w, 0) } } } { ow := w w := new(bytes.Buffer) /* if r.N > 0 { (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil = true}; /**/{ if (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil { { local376 := uint8(5) { x := local376 write8(w, uint8(x)) } } { x := (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).AttackCooldown write32(w, math.Float32bits(x)) } { x := (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).MaxDropLvl write16(w, uint16(x)) } if len(((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps))) write32(w, uint32(x)) } for local377 := range (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps)[local377]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCaps", err)) } } if len(((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups))) write32(w, uint32(x)) } for local378 := range (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups)[local378]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } { x := (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).AttackUses write16(w, uint16(x)) } } } { buf := w w := ow if len((buf.Bytes())) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((buf.Bytes()))) write16(w, uint16(x)) } { _, err := w.Write((buf.Bytes())[:]) chk(err) } } } } func (obj *ToolCaps) deserialize(r io.Reader) { if _ = (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)); false { { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil switch n := read8(r); n { case 0: *p = false case 1: *p = true default: chk(fmt.Errorf("invalid bool: %d", n)) } } } { var n uint16 { p := &n *p = read16(r) } r := &io.LimitedReader{r, int64(n)} if r.N > 0 { (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil = true } /**/ { if (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).NonNil { { var local379 uint8 { p := &local379 *p = read8(r) } if local379 != (5) { chk(fmt.Errorf("const %v: %v", 5, local379)) } } { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).AttackCooldown *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).MaxDropLvl *p = int16(read16(r)) } var local380 uint32 { p := &local380 *p = read32(r) } ((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps) = make([]ToolGroupCaps, local380) for local381 := range (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).GroupCaps)[local381]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCaps", err)) } } var local382 uint32 { p := &local382 *p = read32(r) } ((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups) = make([]Group, local382) for local383 := range (*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).DmgGroups)[local383]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool `json:"-"` AttackCooldown float32 `json:"full_punch_interval"` MaxDropLvl int16 `json:"max_drop_level"` //mt:len32 GroupCaps []ToolGroupCaps `json:"groupcaps"` //mt:len32 DmgGroups []Group `json:"damage_groups"` AttackUses uint16 `json:"punch_attack_uses"` }))(obj)).AttackUses *p = read16(r) } } } if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } func (obj *AnimType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } 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) { if err := pcall(func() { ((*(*([2]Vec))(obj))[local384]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } } func (obj *Box) deserialize(r io.Reader) { for local385 := range *(*([2]Vec))(obj) { if err := pcall(func() { ((*(*([2]Vec))(obj))[local385]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Vec", err)) } } } func (obj *TileFlags) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *TileFlags) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *AlignType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *AlignType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *NodeBoxType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *NodeBoxType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *DirBoxes) serialize(w io.Writer) { if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top))) write16(w, uint16(x)) } for local386 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top)[local386]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot))) write16(w, uint16(x)) } for local387 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot)[local387]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front))) write16(w, uint16(x)) } for local388 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front)[local388]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left))) write16(w, uint16(x)) } for local389 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left)[local389]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back))) write16(w, uint16(x)) } for local390 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back)[local390]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } if len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right))) write16(w, uint16(x)) } for local391 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right)[local391]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } func (obj *DirBoxes) deserialize(r io.Reader) { var local392 uint16 { p := &local392 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top) = make([]Box, local392) for local393 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top)[local393]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local394 uint16 { p := &local394 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot) = make([]Box, local394) for local395 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot)[local395]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local396 uint16 { p := &local396 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front) = make([]Box, local396) for local397 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front)[local397]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local398 uint16 { p := &local398 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left) = make([]Box, local398) for local399 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left)[local399]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local400 uint16 { p := &local400 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back) = make([]Box, local400) for local401 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back)[local401]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local402 uint16 { p := &local402 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right) = make([]Box, local402) for local403 := range (*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right { if err := pcall(func() { (((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right)[local403]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } func (obj *ToolGroupCaps) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name))[:]) chk(err) } { x := (*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Uses write16(w, uint16(x)) } { x := (*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).MaxLvl write16(w, uint16(x)) } if len(((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times))) write32(w, uint32(x)) } for local404 := range (*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times { if err := pcall(func() { (((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)[local404]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DigTime", err)) } } } func (obj *ToolGroupCaps) deserialize(r io.Reader) { var local405 []uint8 var local406 uint16 { p := &local406 *p = read16(r) } (local405) = make([]uint8, local406) { _, err := io.ReadFull(r, (local405)[:]) chk(err) } ((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name) = string(local405) { p := &(*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Uses *p = int16(read16(r)) } { p := &(*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).MaxLvl *p = int16(read16(r)) } var local407 uint32 { p := &local407 *p = read32(r) } ((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times) = make([]DigTime, local407) for local408 := range (*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times { if err := pcall(func() { (((*(*(struct { Name string Uses int16 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)[local408]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DigTime", err)) } } } func (obj *DigTime) serialize(w io.Writer) { { x := (*(*(struct { Rating int16 Time float32 }))(obj)).Rating write16(w, uint16(x)) } { x := (*(*(struct { Rating int16 Time float32 }))(obj)).Time write32(w, math.Float32bits(x)) } } func (obj *DigTime) deserialize(r io.Reader) { { p := &(*(*(struct { Rating int16 Time float32 }))(obj)).Rating *p = int16(read16(r)) } { p := &(*(*(struct { Rating int16 Time float32 }))(obj)).Time *p = math.Float32frombits(read32(r)) } }