big revamp
This commit is contained in:
136
packet.go
136
packet.go
@@ -109,6 +109,11 @@ type PacketAdminUpdateFrequency struct {
|
||||
UpdateFrequency uint16
|
||||
}
|
||||
|
||||
type PacketAdminPoll struct {
|
||||
Packet
|
||||
UpdateType uint8
|
||||
UpdateID uint32
|
||||
}
|
||||
type PacketServerDate struct {
|
||||
Packet
|
||||
Date uint32
|
||||
@@ -134,12 +139,52 @@ type PacketServerClientInfo struct {
|
||||
CompanyID uint8
|
||||
}
|
||||
|
||||
type PacketServerClientUpdate struct {
|
||||
Packet
|
||||
ClientID uint32
|
||||
Name string
|
||||
CompanyID uint8
|
||||
}
|
||||
|
||||
type PacketServerClientError struct {
|
||||
Packet
|
||||
ClientID uint32
|
||||
ErrorID uint8
|
||||
}
|
||||
|
||||
type PacketServerCompanyNew struct {
|
||||
Packet
|
||||
CompanyID uint8
|
||||
}
|
||||
|
||||
type PacketServerCompanyInfo struct {
|
||||
Packet
|
||||
CompanyID uint8
|
||||
Name string
|
||||
President string
|
||||
Color uint8
|
||||
Inauguration uint32
|
||||
AI bool
|
||||
Protected bool
|
||||
Bankruptcies uint8
|
||||
}
|
||||
|
||||
type PacketServerCompanyUpdate struct {
|
||||
Packet
|
||||
CompanyID uint8
|
||||
Name string
|
||||
President string
|
||||
Color uint8
|
||||
Protected bool
|
||||
Bankruptcies uint8
|
||||
}
|
||||
|
||||
type PacketServerCompanyRemove struct {
|
||||
Packet
|
||||
CompanyID uint8
|
||||
Reason uint8
|
||||
}
|
||||
|
||||
type PacketServerChat struct {
|
||||
Packet
|
||||
ActionID uint8
|
||||
@@ -206,6 +251,18 @@ func (p *PacketAdminUpdateFrequency) Bytes() []byte {
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
||||
func (p *PacketAdminPoll) Bytes() []byte {
|
||||
buf := new(bytes.Buffer)
|
||||
p.PLength = 8
|
||||
|
||||
binary.Write(buf, binary.LittleEndian, p.PLength)
|
||||
binary.Write(buf, binary.LittleEndian, p.PType)
|
||||
binary.Write(buf, binary.LittleEndian, p.UpdateType)
|
||||
binary.Write(buf, binary.LittleEndian, p.UpdateID)
|
||||
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
||||
func (p *PacketServerWelcome) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
@@ -285,6 +342,18 @@ func (p *PacketServerClientInfo) Read(b []byte) {
|
||||
p.CompanyID = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerClientUpdate) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
bs := make([]byte, 4)
|
||||
_, _ = r.Read(bs)
|
||||
p.ClientID = binary.LittleEndian.Uint32(bs[0:])
|
||||
p.Name, _ = r.ReadString(0)
|
||||
p.Name = p.Name[:len(p.Name)-1]
|
||||
c, _ := r.ReadByte()
|
||||
p.CompanyID = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerClientError) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
@@ -303,6 +372,73 @@ func (p *PacketServerClientQuit) Read(b []byte) {
|
||||
p.ClientID = binary.LittleEndian.Uint32(bs[0:])
|
||||
}
|
||||
|
||||
func (p *PacketServerCompanyNew) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
c, _ := r.ReadByte()
|
||||
p.CompanyID = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerCompanyInfo) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
c, _ := r.ReadByte()
|
||||
p.CompanyID = uint8(c)
|
||||
p.Name, _ = r.ReadString(0)
|
||||
p.Name = p.Name[:len(p.Name)-1]
|
||||
p.President, _ = r.ReadString(0)
|
||||
p.President = p.Name[:len(p.Name)-1]
|
||||
c, _ = r.ReadByte()
|
||||
p.Color = uint8(c)
|
||||
c, _ = r.ReadByte()
|
||||
if c > 0 {
|
||||
p.Protected = true
|
||||
} else {
|
||||
p.Protected = false
|
||||
}
|
||||
bs := make([]byte, 4)
|
||||
_, _ = r.Read(bs)
|
||||
p.Inauguration = binary.LittleEndian.Uint32(bs[0:])
|
||||
c, _ = r.ReadByte()
|
||||
if c > 0 {
|
||||
p.AI = true
|
||||
} else {
|
||||
p.AI = false
|
||||
}
|
||||
c, _ = r.ReadByte()
|
||||
p.Bankruptcies = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerCompanyUpdate) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
c, _ := r.ReadByte()
|
||||
p.CompanyID = uint8(c)
|
||||
p.Name, _ = r.ReadString(0)
|
||||
p.Name = p.Name[:len(p.Name)-1]
|
||||
p.President, _ = r.ReadString(0)
|
||||
p.President = p.Name[:len(p.Name)-1]
|
||||
c, _ = r.ReadByte()
|
||||
p.Color = uint8(c)
|
||||
c, _ = r.ReadByte()
|
||||
if c > 0 {
|
||||
p.Protected = true
|
||||
} else {
|
||||
p.Protected = false
|
||||
}
|
||||
c, _ = r.ReadByte()
|
||||
p.Bankruptcies = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerCompanyRemove) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
c, _ := r.ReadByte()
|
||||
p.CompanyID = uint8(c)
|
||||
c, _ = r.ReadByte()
|
||||
p.Reason = uint8(c)
|
||||
}
|
||||
|
||||
func (p *PacketServerChat) Read(b []byte) {
|
||||
r := bufio.NewReader(bytes.NewReader(b))
|
||||
r.Discard(3)
|
||||
|
||||
Reference in New Issue
Block a user