// 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 *ToSrvJoinModChan) 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 *ToSrvJoinModChan) 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 *ToSrvLeaveModChan) 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 *ToSrvLeaveModChan) 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 *ToSrvMsgModChan) 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 *ToSrvMsgModChan) 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 { var err error (local23), err = io.ReadAll(r) chk(err) } ((*(*(struct { //mt:raw Action string }))(obj)).Action) = string(local23) } func (obj *ToSrvChatMsg) serialize(w io.Writer) { local24 := utf16.Encode([]rune((*(*(struct { //mt:utf16 Msg string }))(obj)).Msg)) if len((local24)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((local24))) write16(w, uint16(x)) } for local25 := range local24 { { x := (local24)[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: r, N: 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) { if err := pcall(func() { ((*(*(struct { SudoAuthMethods AuthMethods }))(obj)).SudoAuthMethods).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } { local57 := [15]byte{} { _, err := w.Write((local57)[:]) chk(err) } } } func (obj *ToCltAcceptSudoMode) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { SudoAuthMethods AuthMethods }))(obj)).SudoAuthMethods).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AuthMethods", err)) } { var local58 [15]byte local59 := [15]byte{} { _, err := io.ReadFull(r, (local58)[:]) chk(err) } if local58 != local59 { chk(fmt.Errorf("const %v: %v", "[15]byte{}", local58)) } } } func (obj *ToCltDenySudoMode) serialize(w io.Writer) { } func (obj *ToCltDenySudoMode) deserialize(r io.Reader) { } func (obj *ToCltKick) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.KickReason", err)) } if !((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason < maxKickReason) { chk(errors.New("assertion failed: %s.Reason < maxKickReason")) } if dr := (*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason; dr == Custom || dr == Shutdown || dr == Crash { if len(([]byte((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Custom))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Custom)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Custom))[:]) chk(err) } } if dr := (*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason; dr == Shutdown || dr == Crash { { x := (*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reconnect if x { write8(w, 1) } else { write8(w, 0) } } } } func (obj *ToCltKick) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.KickReason", err)) } if !((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason < maxKickReason) { chk(errors.New("assertion failed: %s.Reason < maxKickReason")) } if dr := (*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason; dr == Custom || dr == Shutdown || dr == Crash { var local60 []uint8 var local61 uint16 { p := &local61 *p = read16(r) } (local60) = make([]uint8, local61) { _, err := io.ReadFull(r, (local60)[:]) chk(err) } ((*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Custom) = string(local60) } if dr := (*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).Reason; dr == Shutdown || dr == Crash { { p := &(*(*(struct { Reason KickReason //mt:if dr := %s.Reason; dr == Custom || dr == Shutdown || dr == Crash Custom string //mt:if dr := %s.Reason; dr == Shutdown || dr == Crash Reconnect bool }))(obj)).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 local62 := range (*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos { { x := ((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos)[local62] write16(w, uint16(x)) } } if err := pcall(func() { ((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blk).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err)) } } func (obj *ToCltBlkData) deserialize(r io.Reader) { for local63 := range (*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos { { p := &((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blkpos)[local63] *p = int16(read16(r)) } } if err := pcall(func() { ((*(*(struct { Blkpos [3]int16 Blk MapBlk }))(obj)).Blk).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.MapBlk", err)) } } func (obj *ToCltAddNode) serialize(w io.Writer) { for local64 := range (*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos { { x := ((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos)[local64] 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 local65 := range (*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos { { p := &((*(*(struct { Pos [3]int16 Node KeepMeta bool }))(obj)).Pos)[local65] *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 local66 := range (*(*(struct { Pos [3]int16 }))(obj)).Pos { { x := ((*(*(struct { Pos [3]int16 }))(obj)).Pos)[local66] write16(w, uint16(x)) } } } func (obj *ToCltRemoveNode) deserialize(r io.Reader) { for local67 := range (*(*(struct { Pos [3]int16 }))(obj)).Pos { { p := &((*(*(struct { Pos [3]int16 }))(obj)).Pos)[local67] *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 local68 []uint8 { var err error (local68), err = io.ReadAll(r) chk(err) } ((*(*(struct { //mt:raw Inv string }))(obj)).Inv) = string(local68) } 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) { { local69 := uint16(sha1.Size) { x := local69 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 local70 uint16 local71 := uint16(sha1.Size) { p := &local70 *p = read16(r) } if local70 != local71 { chk(fmt.Errorf("const %v: %v", "uint16(sha1.Size)", local70)) } } { _, 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 local72 []uint8 var local73 uint16 { p := &local73 *p = read16(r) } (local72) = make([]uint8, local73) { _, err := io.ReadFull(r, (local72)[:]) chk(err) } ((*(*(struct { //mt:const uint16(sha1.Size) SHA1 [sha1.Size]byte Filename string ShouldCache bool //mt:len32 Data []byte }))(obj)).Filename) = string(local72) { 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 local74 uint32 { p := &local74 *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, local74) { _, 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) { { local75 := uint8(1) { x := local75 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)) } local76 := utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender)) if len((local76)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((local76))) write16(w, uint16(x)) } for local77 := range local76 { { x := (local76)[local77] write16(w, uint16(x)) } } local78 := utf16.Encode([]rune((*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text)) if len((local78)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((local78))) write16(w, uint16(x)) } for local79 := range local78 { { x := (local78)[local79] 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 local80 uint8 local81 := uint8(1) { p := &local80 *p = read8(r) } if local80 != local81 { chk(fmt.Errorf("const %v: %v", "uint8(1)", local80)) } } 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 local82 []uint16 var local83 uint16 { p := &local83 *p = read16(r) } (local82) = make([]uint16, local83) for local84 := range local82 { { p := &(local82)[local84] *p = read16(r) } } (*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Sender = string(utf16.Decode(local82)) var local85 []uint16 var local86 uint16 { p := &local86 *p = read16(r) } (local85) = make([]uint16, local86) for local87 := range local85 { { p := &(local85)[local87] *p = read16(r) } } (*(*(struct { Type ChatMsgType //mt:utf16 Sender, Text string Timestamp int64 // Unix time. }))(obj)).Text = string(utf16.Decode(local85)) { 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 []AOAdd }))(obj)).Remove)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove))) write16(w, uint16(x)) } for local88 := range (*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove { if err := pcall(func() { (((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove)[local88]).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 []AOAdd }))(obj)).Add)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add))) write16(w, uint16(x)) } for local89 := range (*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add { if err := pcall(func() { (((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add)[local89]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAdd", err)) } } } func (obj *ToCltAORmAdd) deserialize(r io.Reader) { var local90 uint16 { p := &local90 *p = read16(r) } ((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove) = make([]AOID, local90) for local91 := range (*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove { if err := pcall(func() { (((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Remove)[local91]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } } var local92 uint16 { p := &local92 *p = read16(r) } ((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add) = make([]AOAdd, local92) for local93 := range (*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add { if err := pcall(func() { (((*(*(struct { Remove []AOID Add []AOAdd }))(obj)).Add)[local93]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOAdd", err)) } } } func (obj *ToCltAOMsgs) serialize(w io.Writer) { for local94 := range (*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs { if err := pcall(func() { (((*(*(struct { //mt:raw Msgs []IDAOMsg }))(obj)).Msgs)[local94]).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 local95 IDAOMsg err := pcall(func() { if err := pcall(func() { (local95).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), local95) 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 *ToCltLegacyKick) serialize(w io.Writer) { local96 := utf16.Encode([]rune((*(*(struct { //mt:utf16 Reason string }))(obj)).Reason)) if len((local96)) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len((local96))) write16(w, uint16(x)) } for local97 := range local96 { { x := (local96)[local97] write16(w, uint16(x)) } } } func (obj *ToCltLegacyKick) deserialize(r io.Reader) { var local98 []uint16 var local99 uint16 { p := &local99 *p = read16(r) } (local98) = make([]uint16, local99) for local100 := range local98 { { p := &(local98)[local100] *p = read16(r) } } (*(*(struct { //mt:utf16 Reason string }))(obj)).Reason = string(utf16.Decode(local98)) } 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 local101 := 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)[local101]).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)[local101]).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)[local101]).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)[local101]).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)[local101]).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)[local101]).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 local102 uint32 { p := &local102 *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 }, local102) for local103 := 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 local104 []uint8 var local105 uint16 { p := &local105 *p = read16(r) } (local104) = make([]uint8, local105) { _, err := io.ReadFull(r, (local104)[:]) 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)[local103]).Name) = string(local104) var local106 uint32 { p := &local106 *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)[local103]).Data) = make([]byte, local106) { _, 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)[local103]).Data)[:]) chk(err) } } } func (obj *ToCltNodeDefs) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { w := zlib.NewWriter(w) { local107 := uint8(1) { x := local107 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: r, N: int64(n)} { r, err := zlib.NewReader(byteReader{r}) chk(err) { var local108 uint8 local109 := uint8(1) { p := &local108 *p = read8(r) } if local108 != local109 { chk(fmt.Errorf("const %v: %v", "uint8(1)", local108)) } } { p := &(*(*(struct { // See (de)serialize.fmt. Defs []NodeDef }))(obj)).Defs { // For ToCltNodeDefs.Defs. *p = make([]NodeDef, read16(r)) r := &io.LimitedReader{R: r, N: 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 local110 := 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)[local110]).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local110]).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local110]).Name))[:]) chk(err) } if len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local110]).Base64SHA1))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local110]).Base64SHA1)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local110]).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 local111 uint16 { p := &local111 *p = read16(r) } ((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files) = make([]struct { Name string Base64SHA1 string }, local111) for local112 := range (*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files { var local113 []uint8 var local114 uint16 { p := &local114 *p = read16(r) } (local113) = make([]uint8, local114) { _, err := io.ReadFull(r, (local113)[:]) chk(err) } ((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local112]).Name) = string(local113) var local115 []uint8 var local116 uint16 { p := &local116 *p = read16(r) } (local115) = make([]uint8, local116) { _, err := io.ReadFull(r, (local115)[:]) chk(err) } ((((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).Files)[local112]).Base64SHA1) = string(local115) } var local117 []uint8 var local118 uint16 { p := &local118 *p = read16(r) } (local117) = make([]uint8, local118) { _, err := io.ReadFull(r, (local117)[:]) chk(err) } ((*(*(struct { Files []struct { Name string Base64SHA1 string } URL string }))(obj)).URL) = string(local117) } func (obj *ToCltItemDefs) serialize(w io.Writer) { { ow := w w := new(bytes.Buffer) { w := zlib.NewWriter(w) { local119 := uint8(0) { x := local119 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 local120 := 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)[local120]).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 local121 := range (*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases { if len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).Alias))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).Alias)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).Alias))[:]) chk(err) } if len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).Orig))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).Orig)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local121]).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: r, N: int64(n)} { r, err := zlib.NewReader(byteReader{r}) chk(err) { var local122 uint8 local123 := uint8(0) { p := &local122 *p = read8(r) } if local122 != local123 { chk(fmt.Errorf("const %v: %v", "uint8(0)", local122)) } } var local124 uint16 { p := &local124 *p = read16(r) } ((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Defs) = make([]ItemDef, local124) for local125 := 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)[local125]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ItemDef", err)) } } var local126 uint16 { p := &local126 *p = read16(r) } ((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases) = make([]struct { Alias string Orig string }, local126) for local127 := range (*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases { var local128 []uint8 var local129 uint16 { p := &local129 *p = read16(r) } (local128) = make([]uint8, local129) { _, err := io.ReadFull(r, (local128)[:]) chk(err) } ((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local127]).Alias) = string(local128) var local130 []uint8 var local131 uint16 { p := &local131 *p = read16(r) } (local130) = make([]uint8, local131) { _, err := io.ReadFull(r, (local130)[:]) chk(err) } ((((*(*(struct { Defs []ItemDef Aliases []struct{ Alias, Orig string } }))(obj)).Aliases)[local127]).Orig) = string(local130) } 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 local132 []uint8 var local133 uint16 { p := &local133 *p = read16(r) } (local132) = make([]uint8, local133) { _, err := io.ReadFull(r, (local132)[:]) 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(local132) { 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 local134 := range (*(*(struct { Privs []string }))(obj)).Privs { if len(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local134]))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local134])))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(((*(*(struct { Privs []string }))(obj)).Privs)[local134]))[:]) chk(err) } } } func (obj *ToCltPrivs) deserialize(r io.Reader) { var local135 uint16 { p := &local135 *p = read16(r) } ((*(*(struct { Privs []string }))(obj)).Privs) = make([]string, local135) for local136 := range (*(*(struct { Privs []string }))(obj)).Privs { var local137 []uint8 var local138 uint16 { p := &local138 *p = read16(r) } (local137) = make([]uint8, local138) { _, err := io.ReadFull(r, (local137)[:]) chk(err) } (((*(*(struct { Privs []string }))(obj)).Privs)[local136]) = string(local137) } } 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 local139 []uint8 var local140 uint32 { p := &local140 *p = read32(r) } (local139) = make([]uint8, local140) { _, err := io.ReadFull(r, (local139)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string }))(obj)).Formspec) = string(local139) } 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 local141 []uint8 var local142 uint16 { p := &local142 *p = read16(r) } (local141) = make([]uint8, local142) { _, err := io.ReadFull(r, (local141)[:]) chk(err) } ((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Name) = string(local141) { 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 local143 []uint8 { var err error (local143), err = io.ReadAll(r) chk(err) } ((*(*(struct { Name string Keep bool Len uint16 // deprecated //mt:raw Inv string }))(obj)).Inv) = string(local143) } 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 local144 []uint8 var local145 uint32 { p := &local145 *p = read32(r) } (local144) = make([]uint8, local145) { _, err := io.ReadFull(r, (local144)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formspec) = string(local144) var local146 []uint8 var local147 uint16 { p := &local147 *p = read16(r) } (local146) = make([]uint8, local147) { _, err := io.ReadFull(r, (local146)[:]) chk(err) } ((*(*(struct { //mt:len32 Formspec string Formname string }))(obj)).Formname) = string(local146) } 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 local148 := 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)[local148] write32(w, math.Float32bits(x)) } } for local149 := 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)[local149] write32(w, math.Float32bits(x)) } } for local150 := 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)[local150] 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 local151 := 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)[local151] *p = math.Float32frombits(read32(r)) } } for local152 := 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)[local152] *p = math.Float32frombits(read32(r)) } } for local153 := 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)[local153] *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 local154 []uint8 var local155 uint32 { p := &local155 *p = read32(r) } (local154) = make([]uint8, local155) { _, err := io.ReadFull(r, (local154)[:]) 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(local154) { 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 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)).Pos { 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)).Pos)[local156] { { x := (((*(*(struct { Amount uint16 Duration float32 Pos, Vel, Acc [2][3]float32 ExpirationTime [2]float32 // in seconds. Size [2]float32 Collide bool //mt:len32 Texture ID ParticleSpawnerID Vertical bool CollisionRm bool AttachedAOID AOID AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Pos)[local156])[local157] write32(w, math.Float32bits(x)) } } } for local158 := range (*(*(struct { Amount uint16 Duration float32 Pos, Vel, Acc [2][3]float32 ExpirationTime [2]float32 // in seconds. Size [2]float32 Collide bool //mt:len32 Texture ID ParticleSpawnerID Vertical bool CollisionRm bool AttachedAOID AOID AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel { 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)).Vel)[local158] { { x := (((*(*(struct { Amount uint16 Duration float32 Pos, Vel, Acc [2][3]float32 ExpirationTime [2]float32 // in seconds. Size [2]float32 Collide bool //mt:len32 Texture ID ParticleSpawnerID Vertical bool CollisionRm bool AttachedAOID AOID AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Vel)[local158])[local159] write32(w, math.Float32bits(x)) } } } for local160 := range (*(*(struct { Amount uint16 Duration float32 Pos, Vel, Acc [2][3]float32 ExpirationTime [2]float32 // in seconds. Size [2]float32 Collide bool //mt:len32 Texture ID ParticleSpawnerID Vertical bool CollisionRm bool AttachedAOID AOID AnimParams TileAnim Glow uint8 AOCollision bool NodeParam0 Content NodeParam2 uint8 NodeTile uint8 }))(obj)).Acc { 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)).Acc)[local160] { { 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)[local160])[local161] write32(w, math.Float32bits(x)) } } } 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)).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)[local162] write32(w, math.Float32bits(x)) } } 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)).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)[local163] 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 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)).Pos { 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)).Pos)[local164] { { 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)[local164])[local165] *p = math.Float32frombits(read32(r)) } } } for local166 := 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 local167 := 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)[local166] { { 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)[local166])[local167] *p = math.Float32frombits(read32(r)) } } } for local168 := 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 local169 := 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)[local168] { { 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)[local168])[local169] *p = math.Float32frombits(read32(r)) } } } for local170 := 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)[local170] *p = math.Float32frombits(read32(r)) } } for local171 := 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)[local171] *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 local172 []uint8 var local173 uint32 { p := &local173 *p = read32(r) } (local172) = make([]uint8, local173) { _, err := io.ReadFull(r, (local172)[:]) 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(local172) 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 HUD }))(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 HUD }))(obj)).HUD).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUD", err)) } } func (obj *ToCltAddHUD) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID HUDID HUD }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDID", err)) } if err := pcall(func() { ((*(*(struct { ID HUDID HUD }))(obj)).HUD).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUD", err)) } } 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.HUDField", err)) } if !((*(*(struct { ID HUDID Field HUDField //mt:if %s.Field == HUDPos Pos [2]float32 //mt:if %s.Field == HUDName Name string //mt:if %s.Field == HUDScale Scale [2]float32 //mt:if %s.Field == HUDText Text string //mt:if %s.Field == HUDNumber Number uint32 //mt:if %s.Field == HUDItem Item uint32 //mt:if %s.Field == HUDDir Dir uint32 //mt:if %s.Field == HUDAlign Align [2]float32 //mt:if %s.Field == HUDOffset Offset [2]float32 //mt:if %s.Field == HUDWorldPos WorldPos Pos //mt:if %s.Field == HUDSize Size [2]int32 //mt:if %s.Field == HUDZIndex ZIndex int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDPos { for local174 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Pos)[local174] 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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDScale { for local175 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Scale)[local175] 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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDAlign { for local176 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Align)[local176] 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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDOffset { for local177 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Offset)[local177] 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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDSize { for local178 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Size)[local178] 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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDPos { for local179 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Pos)[local179] *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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDName { var local180 []uint8 var local181 uint16 { p := &local181 *p = read16(r) } (local180) = make([]uint8, local181) { _, err := io.ReadFull(r, (local180)[:]) 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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Name) = string(local180) } if (*(*(struct { ID HUDID Field HUDField //mt:if %s.Field == HUDPos Pos [2]float32 //mt:if %s.Field == HUDName Name string //mt:if %s.Field == HUDScale Scale [2]float32 //mt:if %s.Field == HUDText Text string //mt:if %s.Field == HUDNumber Number uint32 //mt:if %s.Field == HUDItem Item uint32 //mt:if %s.Field == HUDDir Dir uint32 //mt:if %s.Field == HUDAlign Align [2]float32 //mt:if %s.Field == HUDOffset Offset [2]float32 //mt:if %s.Field == HUDWorldPos WorldPos Pos //mt:if %s.Field == HUDSize Size [2]int32 //mt:if %s.Field == HUDZIndex ZIndex int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDScale { for local182 := 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Scale)[local182] *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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDText { var local183 []uint8 var local184 uint16 { p := &local184 *p = read16(r) } (local183) = make([]uint8, local184) { _, err := io.ReadFull(r, (local183)[:]) 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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Text) = string(local183) } if (*(*(struct { ID HUDID Field HUDField //mt:if %s.Field == HUDPos Pos [2]float32 //mt:if %s.Field == HUDName Name string //mt:if %s.Field == HUDScale Scale [2]float32 //mt:if %s.Field == HUDText Text string //mt:if %s.Field == HUDNumber Number uint32 //mt:if %s.Field == HUDItem Item uint32 //mt:if %s.Field == HUDDir Dir uint32 //mt:if %s.Field == HUDAlign Align [2]float32 //mt:if %s.Field == HUDOffset Offset [2]float32 //mt:if %s.Field == HUDWorldPos WorldPos Pos //mt:if %s.Field == HUDSize Size [2]int32 //mt:if %s.Field == HUDZIndex ZIndex int32 //mt:if %s.Field == HUDText2 Text2 string }))(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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDAlign { 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Align)[local185] *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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDOffset { 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Offset)[local186] *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 int32 //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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDSize { 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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Size)[local187] *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 int32 //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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).ZIndex *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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Field == HUDText2 { var local188 []uint8 var local189 uint16 { p := &local189 *p = read16(r) } (local188) = make([]uint8, local189) { _, err := io.ReadFull(r, (local188)[:]) 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 int32 //mt:if %s.Field == HUDText2 Text2 string }))(obj)).Text2) = string(local188) } } 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 { { local190 := uint16(4) // Size of Size field. { x := local190 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 local191 uint16 local192 := uint16(4) // Size of Size field. { p := &local191 *p = read16(r) } if local191 != local192 { chk(fmt.Errorf("const %v: %v", "uint16(4) // Size of Size field.", local191)) } } { 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 local193 := 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)[local193]).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 local194 []uint8 var local195 uint16 { p := &local195 *p = read16(r) } (local194) = make([]uint8, local195) { _, err := io.ReadFull(r, (local194)[:]) 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(local194) { 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 local196 []uint8 var local197 uint16 { p := &local197 *p = read16(r) } (local196) = make([]uint8, local197) { _, err := io.ReadFull(r, (local196)[:]) 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(local196) 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 local198 uint16 { p := &local198 *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, local198) for local199 := 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)[local199]).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 local200 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle)[local200] write32(w, uint32(x)) } } for local201 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk)[local201] write32(w, uint32(x)) } } for local202 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig)[local202] write32(w, uint32(x)) } } for local203 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig { { x := ((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig)[local203] 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 local204 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Idle)[local204] *p = int32(read32(r)) } } for local205 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Walk)[local205] *p = int32(read32(r)) } } for local206 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).Dig)[local206] *p = int32(read32(r)) } } for local207 := range (*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig { { p := &((*(*(struct { Idle, Walk, Dig, WalkDig [2]int32 Speed float32 }))(obj)).WalkDig)[local207] *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 local208 := 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)[local208] 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 local209 := 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)[local209] *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 local210 := range (*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players { if len(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local210]))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local210])))) write16(w, uint16(x)) } { _, err := w.Write(([]byte(((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local210]))[:]) 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 local211 uint16 { p := &local211 *p = read16(r) } ((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players) = make([]string, local211) for local212 := range (*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players { var local213 []uint8 var local214 uint16 { p := &local214 *p = read16(r) } (local213) = make([]uint8, local214) { _, err := io.ReadFull(r, (local213)[:]) chk(err) } (((*(*(struct { Type PlayerListUpdateType Players []string }))(obj)).Players)[local212]) = string(local213) } } 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 local215 []uint8 var local216 uint16 { p := &local216 *p = read16(r) } (local215) = make([]uint8, local216) { _, err := io.ReadFull(r, (local215)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Channel) = string(local215) var local217 []uint8 var local218 uint16 { p := &local218 *p = read16(r) } (local217) = make([]uint8, local218) { _, err := io.ReadFull(r, (local217)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Sender) = string(local217) var local219 []uint8 var local220 uint16 { p := &local220 *p = read16(r) } (local219) = make([]uint8, local220) { _, err := io.ReadFull(r, (local219)[:]) chk(err) } ((*(*(struct { Channel string Sender string Msg string }))(obj)).Msg) = string(local219) } 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 local221 []uint8 var local222 uint16 { p := &local222 *p = read16(r) } (local221) = make([]uint8, local222) { _, err := io.ReadFull(r, (local221)[:]) chk(err) } ((*(*(struct { Signal ModChanSig Channel string }))(obj)).Channel) = string(local221) } 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: r, N: 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 local223 uint16 { p := &local223 *p = read16(r) } ((*(*(struct { Salt, B []byte }))(obj)).Salt) = make([]byte, local223) { _, err := io.ReadFull(r, ((*(*(struct { Salt, B []byte }))(obj)).Salt)[:]) chk(err) } var local224 uint16 { p := &local224 *p = read16(r) } ((*(*(struct { Salt, B []byte }))(obj)).B) = make([]byte, local224) { _, 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 local225 []uint8 var local226 uint16 { p := &local226 *p = read16(r) } (local225) = make([]uint8, local226) { _, err := io.ReadFull(r, (local225)[:]) chk(err) } ((*(*(struct { Prepend string }))(obj)).Prepend) = string(local225) } 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 local227 := range (*(*(struct { Armor []Group }))(obj)).Armor { if err := pcall(func() { (((*(*(struct { Armor []Group }))(obj)).Armor)[local227]).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 local228 uint16 { p := &local228 *p = read16(r) } ((*(*(struct { Armor []Group }))(obj)).Armor) = make([]Group, local228) for local229 := range (*(*(struct { Armor []Group }))(obj)).Armor { if err := pcall(func() { (((*(*(struct { Armor []Group }))(obj)).Armor)[local229]).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 local230 []uint8 var local231 uint16 { p := &local231 *p = read16(r) } (local230) = make([]uint8, local231) { _, err := io.ReadFull(r, (local230)[:]) chk(err) } ((*(*(struct { Bone string Pos AOBonePos }))(obj)).Bone) = string(local230) 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)) } { local232 := genericCAO if err := pcall(func() { (local232).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 local233 aoType local234 := genericCAO if err := pcall(func() { (local233).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err)) } if local233 != local234 { chk(fmt.Errorf("const %v: %v", "genericCAO", local233)) } } } 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 local235 := range (*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields)[local235]).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 local236 uint32 { p := &local236 *p = read32(r) } ((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields) = make([]NodeMetaField, local236) for local237 := range (*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields { if err := pcall(func() { (((*(*(struct { //mt:len32 Fields []NodeMetaField Inv Inv }))(obj)).Fields)[local237]).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 local238 []uint8 var local239 uint16 { p := &local239 *p = read16(r) } (local238) = make([]uint8, local239) { _, err := io.ReadFull(r, (local238)[:]) chk(err) } ((*(*(struct { Type MinimapType Label string Size uint16 Texture Scale uint16 }))(obj)).Label) = string(local238) { 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) { local240 := uint8(13) { x := local240 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 local241 := 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)[local241]).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)) } { local242 := uint8(6) { x := local242 write8(w, uint8(x)) } } for local243 := 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)[local243]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } for local244 := 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)[local244]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } { local245 := uint8(6) { x := local245 write8(w, uint8(x)) } } for local246 := 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)[local246]).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 local247 := 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)[local247]).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: r, N: int64(n)} { var local248 uint8 local249 := uint8(13) { p := &local248 *p = read8(r) } if local248 != local249 { chk(fmt.Errorf("const %v: %v", "uint8(13)", local248)) } } var local250 []uint8 var local251 uint16 { p := &local251 *p = read16(r) } (local250) = make([]uint8, local251) { _, err := io.ReadFull(r, (local250)[:]) 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(local250) var local252 uint16 { p := &local252 *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, local252) for local253 := 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)[local253]).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 local254 []uint8 var local255 uint16 { p := &local255 *p = read16(r) } (local254) = make([]uint8, local255) { _, err := io.ReadFull(r, (local254)[:]) 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(local254) { 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 local256 uint8 local257 := uint8(6) { p := &local256 *p = read8(r) } if local256 != local257 { chk(fmt.Errorf("const %v: %v", "uint8(6)", local256)) } } for local258 := 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)[local258]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } for local259 := 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)[local259]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.TileDef", err)) } } { var local260 uint8 local261 := uint8(6) { p := &local260 *p = read8(r) } if local260 != local261 { chk(fmt.Errorf("const %v: %v", "uint8(6)", local260)) } } for local262 := 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)[local262]).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 local263 uint16 { p := &local263 *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, 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)).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)[local264]).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 local265 []uint8 var local266 uint16 { p := &local266 *p = read16(r) } (local265) = make([]uint8, local266) { _, err := io.ReadFull(r, (local265)[:]) 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(local265) var local267 []uint8 var local268 uint16 { p := &local268 *p = read16(r) } (local267) = make([]uint8, local268) { _, err := io.ReadFull(r, (local267)[:]) 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(local267) { 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 local269 []uint8 var local270 uint16 { p := &local270 *p = read16(r) } (local269) = make([]uint8, local270) { _, err := io.ReadFull(r, (local269)[:]) 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(local269) { 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 local271 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Under { { x := ((*(*(struct { Under, Above [3]int16 }))(obj)).Under)[local271] write16(w, uint16(x)) } } for local272 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Above { { x := ((*(*(struct { Under, Above [3]int16 }))(obj)).Above)[local272] write16(w, uint16(x)) } } } func (obj *PointedNode) deserialize(r io.Reader) { for local273 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Under { { p := &((*(*(struct { Under, Above [3]int16 }))(obj)).Under)[local273] *p = int16(read16(r)) } } for local274 := range (*(*(struct { Under, Above [3]int16 }))(obj)).Above { { p := &((*(*(struct { Under, Above [3]int16 }))(obj)).Above)[local274] *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 local275 := 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)[local275] write32(w, uint32(x)) } } for local276 := 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)[local276] 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 local277 := 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)[local277] *p = int32(read32(r)) } } for local278 := 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)[local278] *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 local279 []uint8 var local280 uint16 { p := &local280 *p = read16(r) } (local279) = make([]uint8, local280) { _, err := io.ReadFull(r, (local279)[:]) chk(err) } ((*(*(struct { Name string //mt:len32 Value string }))(obj)).Name) = string(local279) var local281 []uint8 var local282 uint32 { p := &local282 *p = read32(r) } (local281) = make([]uint8, local282) { _, err := io.ReadFull(r, (local281)[:]) chk(err) } ((*(*(struct { Name string //mt:len32 Value string }))(obj)).Value) = string(local281) } 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 *KickReason) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *KickReason) 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)) } { local283 := uint8(2) // Size of param0 in bytes. { x := local283 write8(w, uint8(x)) } } { local284 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes. { x := local284 write8(w, uint8(x)) } } { w := zlib.NewWriter(w) for local285 := 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)[local285]).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) // len(map[uint16]...) always < math.MaxUint16 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()) } } { local286 := uint8(2) // version { x := local286 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 local287 uint8 local288 := uint8(2) // Size of param0 in bytes. { p := &local287 *p = read8(r) } if local287 != local288 { chk(fmt.Errorf("const %v: %v", "uint8(2) // Size of param0 in bytes.", local287)) } } { var local289 uint8 local290 := uint8(1 + 1) // Size of param1 and param2 combined, in bytes. { p := &local289 *p = read8(r) } if local289 != local290 { chk(fmt.Errorf("const %v: %v", "uint8(1 + 1) // Size of param1 and param2 combined, in bytes.", local289)) } } { r, err := zlib.NewReader(byteReader{r}) chk(err) for local291 := 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)[local291]).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 local292 uint8 local293 := uint8(2) // version { p := &local292 *p = read8(r) } if local292 != local293 { chk(fmt.Errorf("const %v: %v", "uint8(2) // version", local292)) } } } 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 local294 := range *(*([3]float32))(obj) { { x := (*(*([3]float32))(obj))[local294] write32(w, math.Float32bits(x)) } } } func (obj *Vec) deserialize(r io.Reader) { for local295 := range *(*([3]float32))(obj) { { p := &(*(*([3]float32))(obj))[local295] *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 *AOAdd) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData }))(obj)).ID).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { local296 := genericCAO if err := pcall(func() { (local296).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 { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData }))(obj)).InitData).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/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 *AOAdd) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData }))(obj)).ID).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOID", err)) } { var local297 aoType local298 := genericCAO if err := pcall(func() { (local297).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.aoType", err)) } if local297 != local298 { chk(fmt.Errorf("const %v: %v", "genericCAO", local297)) } } { var n uint32 { p := &n *p = read32(r) } r := &io.LimitedReader{R: r, N: int64(n)} if err := pcall(func() { ((*(*(struct { ID AOID //mt:const genericCAO //mt:lenhdr 32 InitData AOInitData }))(obj)).InitData).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.AOInitData", err)) } 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: r, N: 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) { local299 := uint8(6) { x := local299 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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 local300 := 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 }))(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 }))(obj)).WieldScale)[local300] 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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(obj)).Groups))) write16(w, uint16(x)) } for local301 := 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 }))(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 }))(obj)).Groups)[local301]).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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(obj)).ShortDesc))[:]) chk(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 *ItemDef) deserialize(r io.Reader) { { var n uint16 { p := &n *p = read16(r) } r := &io.LimitedReader{R: r, N: int64(n)} { var local302 uint8 local303 := uint8(6) { p := &local302 *p = read8(r) } if local302 != local303 { chk(fmt.Errorf("const %v: %v", "uint8(6)", local302)) } } 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 }))(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 local304 []uint8 var local305 uint16 { p := &local305 *p = read16(r) } (local304) = make([]uint8, local305) { _, err := io.ReadFull(r, (local304)[:]) 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 }))(obj)).Name) = string(local304) var local306 []uint8 var local307 uint16 { p := &local307 *p = read16(r) } (local306) = make([]uint8, local307) { _, err := io.ReadFull(r, (local306)[:]) 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 }))(obj)).Desc) = string(local306) 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 }))(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 }))(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 local308 := 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 }))(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 }))(obj)).WieldScale)[local308] *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 }))(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 }))(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 }))(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 }))(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 local309 uint16 { p := &local309 *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 }))(obj)).Groups) = make([]Group, local309) for local310 := 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 }))(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 }))(obj)).Groups)[local310]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } var local311 []uint8 var local312 uint16 { p := &local312 *p = read16(r) } (local311) = make([]uint8, local312) { _, err := io.ReadFull(r, (local311)[:]) 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 }))(obj)).PlacePredict) = string(local311) 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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 }))(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 local313 []uint8 var local314 uint16 { p := &local314 *p = read16(r) } (local313) = make([]uint8, local314) { _, err := io.ReadFull(r, (local313)[:]) 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 }))(obj)).ShortDesc) = string(local313) 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 local315 := 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)[local315] 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 local316 := 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)[local316] *p = read16(r) } } } if (*(*(struct { Type AnimType //mt:if %s.Type == SpriteSheetAnim AspectRatio [2]uint8 //mt:if %s.Type == VerticalFrameAnim NFrames [2]uint16 //mt:if %s.Type != NoAnim Duration float32 // in seconds }))(obj)).Type != NoAnim { { p := &(*(*(struct { Type AnimType //mt:if %s.Type == SpriteSheetAnim AspectRatio [2]uint8 //mt:if %s.Type == VerticalFrameAnim NFrames [2]uint16 //mt:if %s.Type != NoAnim Duration float32 // in seconds }))(obj)).Duration *p = math.Float32frombits(read32(r)) } } } func (obj *Content) serialize(w io.Writer) { { x := *(*(uint16))(obj) write16(w, uint16(x)) } } func (obj *Content) deserialize(r io.Reader) { { p := &*(*(uint16))(obj) *p = read16(r) } } func (obj *ParticleSpawnerID) serialize(w io.Writer) { { x := *(*(uint32))(obj) write32(w, uint32(x)) } } func (obj *ParticleSpawnerID) deserialize(r io.Reader) { { p := &*(*(uint32))(obj) *p = read32(r) } } func (obj *HUDID) serialize(w io.Writer) { { x := *(*(uint32))(obj) write32(w, uint32(x)) } } func (obj *HUDID) deserialize(r io.Reader) { { p := &*(*(uint32))(obj) *p = read32(r) } } func (obj *HUD) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(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 local317 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Pos { { x := ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Pos)[local317] write32(w, math.Float32bits(x)) } } if len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Name))[:]) chk(err) } for local318 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Scale { { x := ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Scale)[local318] write32(w, math.Float32bits(x)) } } if len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text))[:]) chk(err) } { x := (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Number write32(w, uint32(x)) } { x := (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Item write32(w, uint32(x)) } { x := (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Dir write32(w, uint32(x)) } for local319 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Align { { x := ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Align)[local319] write32(w, math.Float32bits(x)) } } for local320 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Offset { { x := ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Offset)[local320] write32(w, math.Float32bits(x)) } } if err := pcall(func() { ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(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 local321 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Size { { x := ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Size)[local321] write32(w, uint32(x)) } } { x := (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).ZIndex write16(w, uint16(x)) } if len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text2))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text2)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text2))[:]) chk(err) } } func (obj *HUD) deserialize(r io.Reader) { if err := pcall(func() { ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(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 local322 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Pos { { p := &((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Pos)[local322] *p = math.Float32frombits(read32(r)) } } var local323 []uint8 var local324 uint16 { p := &local324 *p = read16(r) } (local323) = make([]uint8, local324) { _, err := io.ReadFull(r, (local323)[:]) chk(err) } ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Name) = string(local323) for local325 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Scale { { p := &((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Scale)[local325] *p = math.Float32frombits(read32(r)) } } var local326 []uint8 var local327 uint16 { p := &local327 *p = read16(r) } (local326) = make([]uint8, local327) { _, err := io.ReadFull(r, (local326)[:]) chk(err) } ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text) = string(local326) { p := &(*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Number *p = read32(r) } { p := &(*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Item *p = read32(r) } { p := &(*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Dir *p = read32(r) } for local328 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Align { { p := &((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Align)[local328] *p = math.Float32frombits(read32(r)) } } for local329 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Offset { { p := &((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Offset)[local329] *p = math.Float32frombits(read32(r)) } } if err := pcall(func() { ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(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 local330 := range (*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Size { { p := &((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Size)[local330] *p = int32(read32(r)) } } { p := &(*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).ZIndex *p = int16(read16(r)) } var local331 []uint8 var local332 uint16 { p := &local332 *p = read16(r) } (local331) = make([]uint8, local332) { _, err := io.ReadFull(r, (local331)[:]) chk(err) } ((*(*(struct { Type HUDType Pos [2]float32 Name string Scale [2]float32 Text string Number uint32 Item uint32 Dir uint32 Align [2]float32 Offset [2]float32 WorldPos Pos Size [2]int32 ZIndex int16 Text2 string }))(obj)).Text2) = string(local331) } 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 local333 []uint8 var local334 uint16 { p := &local334 *p = read16(r) } (local333) = make([]uint8, local334) { _, err := io.ReadFull(r, (local333)[:]) chk(err) } (*(*(string))(obj)) = string(local333) } 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) { { local335 := uint8(4) { x := local335 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 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)).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)[local336] 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 local337 := 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)[local337]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } for local338 := 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)[local338] write16(w, uint16(x)) } } for local339 := 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)[local339] 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 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 { { 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)[local340] 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 local341 uint8 local342 := uint8(4) { p := &local341 *p = read8(r) } if local341 != local342 { chk(fmt.Errorf("const %v: %v", "uint8(4)", 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)).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 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)).Visual) = string(local343) for local345 := 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)[local345] *p = math.Float32frombits(read32(r)) } } var local346 uint16 { p := &local346 *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, local346) for local347 := 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)[local347]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Texture", err)) } } for local348 := 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)[local348] *p = int16(read16(r)) } } for local349 := 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)[local349] *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 local350 []uint8 var local351 uint16 { p := &local351 *p = read16(r) } (local350) = make([]uint8, local351) { _, err := io.ReadFull(r, (local350)[:]) 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(local350) var local352 uint16 { p := &local352 *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, local352) for local353 := 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)[local353] *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 local354 []uint8 var local355 uint16 { p := &local355 *p = read16(r) } (local354) = make([]uint8, local355) { _, err := io.ReadFull(r, (local354)[:]) 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(local354) { 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 local356 []uint8 var local357 uint16 { p := &local357 *p = read16(r) } (local356) = make([]uint8, local357) { _, err := io.ReadFull(r, (local356)[:]) 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(local356) var local358 []uint8 var local359 uint16 { p := &local359 *p = read16(r) } (local358) = make([]uint8, local359) { _, err := io.ReadFull(r, (local358)[:]) 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(local358) { 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 local360 := 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)[local360] 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 local361 := 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)[local361] *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 local362 := 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)[local362] 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 local363 := 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)[local363] *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 local364 []uint8 var local365 uint16 { p := &local365 *p = read16(r) } (local364) = make([]uint8, local365) { _, err := io.ReadFull(r, (local364)[:]) chk(err) } ((*(*(struct { Name string Rating int16 }))(obj)).Name) = string(local364) { p := &(*(*(struct { Name string Rating int16 }))(obj)).Rating *p = int16(read16(r)) } } func (obj *AOAnim) serialize(w io.Writer) { for local366 := 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)[local366] 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 local367 := 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)[local367] *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 local368 := range (*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot { { x := ((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot)[local368] 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 local369 := range (*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot { { p := &((*(*(struct { Pos Vec Rot [3]float32 }))(obj)).Rot)[local369] *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 local370 := 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)[local370] 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 local371 []uint8 var local372 uint16 { p := &local372 *p = read16(r) } (local371) = make([]uint8, local372) { _, err := io.ReadFull(r, (local371)[:]) chk(err) } ((*(*(struct { ParentID AOID Bone string Pos Vec Rot [3]float32 ForceVisible bool }))(obj)).Bone) = string(local371) 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 local373 := 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)[local373] *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 *aoType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *aoType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *NodeMetaField) serialize(w io.Writer) { if err := pcall(func() { ((*(*(struct { Field Private bool }))(obj)).Field).serialize(w) }); 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) { { local374 := uint8(6) { x := local374 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 local375 uint8 local376 := uint8(6) { p := &local375 *p = read8(r) } if local375 != local376 { chk(fmt.Errorf("const %v: %v", "uint8(6)", local375)) } } 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) { { local377 := uint8(6) { x := local377 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 local378 := 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)[local378]).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 local379 := 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)[local379]).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 local380 := 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)[local380]).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 local381 uint8 local382 := uint8(6) { p := &local381 *p = read8(r) } if local381 != local382 { chk(fmt.Errorf("const %v: %v", "uint8(6)", local381)) } } 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 local383 uint16 { p := &local383 *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, local383) for local384 := 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)[local384]).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 local385 uint16 { p := &local385 *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, local385) for local386 := 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)[local386]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local387 uint16 { p := &local387 *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, local387) for local388 := 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)[local388]).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 local389 []uint8 var local390 uint16 { p := &local390 *p = read16(r) } (local389) = make([]uint8, local390) { _, err := io.ReadFull(r, (local389)[:]) chk(err) } ((*(*(struct { Name string Gain, Pitch, Fade float32 }))(obj)).Name) = string(local389) { 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 *AOInitData) serialize(w io.Writer) { { local391 := uint8(1) { x := local391 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 local392 := range (*(*(struct { // For players. Name string IsPlayer bool ID AOID Pos Rot [3]float32 HP uint16 // See (de)serialize.fmt. Msgs []AOMsg }))(obj)).Rot { { x := ((*(*(struct { // For players. Name string IsPlayer bool ID AOID Pos Rot [3]float32 HP uint16 // See (de)serialize.fmt. Msgs []AOMsg }))(obj)).Rot)[local392] 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 local393 uint8 local394 := uint8(1) { p := &local393 *p = read8(r) } if local393 != local394 { chk(fmt.Errorf("const %v: %v", "uint8(1)", local393)) } } var local395 []uint8 var local396 uint16 { p := &local396 *p = read16(r) } (local395) = make([]uint8, local396) { _, err := io.ReadFull(r, (local395)[:]) 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(local395) { 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 local397 := 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)[local397] *p = math.Float32frombits(read32(r)) } } { p := &(*(*(struct { // For players. Name string IsPlayer bool ID AOID Pos Rot [3]float32 HP uint16 // See (de)serialize.fmt. Msgs []AOMsg }))(obj)).HP *p = read16(r) } { p := &(*(*(struct { // For players. Name string IsPlayer bool ID AOID Pos Rot [3]float32 HP uint16 // See (de)serialize.fmt. Msgs []AOMsg }))(obj)).Msgs { // For AOInitData.Msgs. *p = make([]AOMsg, read8(r)) for i := range *p { r := &io.LimitedReader{R: r, N: int64(read32(r))} msg, err := readAOMsg(r) chk(err) (*p)[i] = msg if r.N > 0 { chk(fmt.Errorf("%d bytes of trailing data", r.N)) } } } } } func (obj *ItemType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *ItemType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *ToolCaps) serialize(w io.Writer) { if _ = (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)); false { { x := (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(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 AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).NonNil = true}; /**/{ if (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).NonNil { { local398 := uint8(5) { x := local398 write8(w, uint8(x)) } } { x := (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).AttackCooldown write32(w, math.Float32bits(x)) } { x := (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).MaxDropLvl write16(w, uint16(x)) } if len(((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps))) write32(w, uint32(x)) } for local399 := range (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps)[local399]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCap", err)) } } if len(((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups))) write32(w, uint32(x)) } for local400 := range (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups)[local400]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } { x := uint16((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).PunchUses) 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 AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)); false { { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(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: r, N: int64(n)} if r.N > 0 { (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).NonNil = true } /**/ { if (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).NonNil { { var local401 uint8 local402 := uint8(5) { p := &local401 *p = read8(r) } if local401 != local402 { chk(fmt.Errorf("const %v: %v", "uint8(5)", local401)) } } { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).AttackCooldown *p = math.Float32frombits(read32(r)) } { p := &(*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).MaxDropLvl *p = int16(read16(r)) } var local403 uint32 { p := &local403 *p = read32(r) } ((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps) = make([]ToolGroupCap, local403) for local404 := range (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).GroupCaps)[local404]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.ToolGroupCap", err)) } } var local405 uint32 { p := &local405 *p = read32(r) } ((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups) = make([]Group, local405) for local406 := range (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups { if err := pcall(func() { (((*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).DmgGroups)[local406]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Group", err)) } } var local407 uint16 { p := &local407 *p = read16(r) } (*(*(struct { //mt:if _ = %s; false NonNil bool AttackCooldown float32 MaxDropLvl int16 //mt:len32 GroupCaps []ToolGroupCap //mt:len32 DmgGroups []Group //mt:32tou16 PunchUses int32 }))(obj)).PunchUses = int32(local407) } } 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 *HUDType) serialize(w io.Writer) { { x := *(*(uint8))(obj) write8(w, uint8(x)) } } func (obj *HUDType) deserialize(r io.Reader) { { p := &*(*(uint8))(obj) *p = read8(r) } } func (obj *Box) serialize(w io.Writer) { for local408 := range *(*([2]Vec))(obj) { if err := pcall(func() { ((*(*([2]Vec))(obj))[local408]).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 local409 := range *(*([2]Vec))(obj) { if err := pcall(func() { ((*(*([2]Vec))(obj))[local409]).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 local410 := 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)[local410]).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 local411 := 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)[local411]).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 local412 := 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)[local412]).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 local413 := 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)[local413]).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 local414 := 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)[local414]).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 local415 := 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)[local415]).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 local416 uint16 { p := &local416 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Top) = make([]Box, local416) for local417 := 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)[local417]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local418 uint16 { p := &local418 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Bot) = make([]Box, local418) for local419 := 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)[local419]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local420 uint16 { p := &local420 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Front) = make([]Box, local420) for local421 := 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)[local421]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local422 uint16 { p := &local422 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Left) = make([]Box, local422) for local423 := 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)[local423]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local424 uint16 { p := &local424 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Back) = make([]Box, local424) for local425 := 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)[local425]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } var local426 uint16 { p := &local426 *p = read16(r) } ((*(*(struct { Top, Bot []Box Front, Left, Back, Right []Box }))(obj)).Right) = make([]Box, local426) for local427 := 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)[local427]).deserialize(r) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.Box", err)) } } } func (obj *ToolGroupCap) serialize(w io.Writer) { if len(([]byte((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name))) > math.MaxUint16 { chk(ErrTooLong) } { x := uint16(len(([]byte((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name)))) write16(w, uint16(x)) } { _, err := w.Write(([]byte((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name))[:]) chk(err) } { x := int16((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Uses) write16(w, uint16(x)) } { x := (*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).MaxLvl write16(w, uint16(x)) } if len(((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)) > math.MaxUint32 { chk(ErrTooLong) } { x := uint32(len(((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times))) write32(w, uint32(x)) } for local428 := range (*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times { if err := pcall(func() { (((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)[local428]).serialize(w) }); err != nil { if err == io.EOF { chk(io.EOF) } chk(fmt.Errorf("%s: %w", "github.com/anon55555/mt.DigTime", err)) } } } func (obj *ToolGroupCap) deserialize(r io.Reader) { var local429 []uint8 var local430 uint16 { p := &local430 *p = read16(r) } (local429) = make([]uint8, local430) { _, err := io.ReadFull(r, (local429)[:]) chk(err) } ((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Name) = string(local429) var local431 int16 { p := &local431 *p = int16(read16(r)) } (*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Uses = int32(local431) { p := &(*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).MaxLvl *p = int16(read16(r)) } var local432 uint32 { p := &local432 *p = read32(r) } ((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times) = make([]DigTime, local432) for local433 := range (*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times { if err := pcall(func() { (((*(*(struct { Name string //mt:32to16 Uses int32 MaxLvl int16 //mt:len32 Times []DigTime }))(obj)).Times)[local433]).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)) } }