Merge pull request #15 from Ellie42/improve-chat

Improve chat and additional small fixes for party interaction
This commit is contained in:
Andrew Gutekanst
2020-03-10 18:30:16 -04:00
committed by GitHub
7 changed files with 242 additions and 53 deletions

View File

@@ -0,0 +1,48 @@
package binpacket
import (
"github.com/Andoryuuta/Erupe/network"
"github.com/Andoryuuta/byteframe"
)
type ChatTargetType uint16
const (
CHAT_TARGET_PRIVATE = 0x05
CHAT_TARGET_PARTY = 0x04
)
type MsgBinTargetedChatMessage struct {
// I can't see a reason if this is indeed the number of targets, that
// it should use 2 bytes
TargetCount uint16
TargetCharIDs []uint32
TargetType uint16
RawDataPayload []byte
}
// Opcode returns the ID associated with this packet type.
func (m *MsgBinTargetedChatMessage) Opcode() network.PacketID {
return network.MSG_SYS_CAST_BINARY
}
func (m *MsgBinTargetedChatMessage) Parse(bf *byteframe.ByteFrame) error {
m.TargetCount = bf.ReadUint16()
i := uint16(0)
m.TargetCharIDs = make([]uint32, m.TargetCount)
for ; i < m.TargetCount; i++ {
m.TargetCharIDs[i] = bf.ReadUint32()
}
m.TargetType = bf.ReadUint16()
m.RawDataPayload = bf.DataFromCurrent()
return nil
}
// Build builds a binary packet from the current data.
func (m *MsgBinTargetedChatMessage) Build(bf *byteframe.ByteFrame) error {
panic("Not implemented")
}

View File

@@ -6,7 +6,9 @@ import (
)
// MsgSysDeleteUser represents the MSG_SYS_DELETE_USER
type MsgSysDeleteUser struct{}
type MsgSysDeleteUser struct {
CharID uint32
}
// Opcode returns the ID associated with this packet type.
func (m *MsgSysDeleteUser) Opcode() network.PacketID {
@@ -20,5 +22,7 @@ func (m *MsgSysDeleteUser) Parse(bf *byteframe.ByteFrame) error {
// Build builds a binary packet from the current data.
func (m *MsgSysDeleteUser) Build(bf *byteframe.ByteFrame) error {
panic("Not implemented")
bf.WriteUint32(m.CharID)
return nil
}