Implement MsgSysGetUserBinary name stub

This commit is contained in:
Andrew Gutekanst
2020-01-23 21:06:25 -05:00
parent 23838bdb78
commit 1b74b6496e
2 changed files with 19 additions and 3 deletions

View File

@@ -6,7 +6,11 @@ import (
)
// MsgSysGetUserBinary represents the MSG_SYS_GET_USER_BINARY
type MsgSysGetUserBinary struct{}
type MsgSysGetUserBinary struct {
AckHandle uint32
CharID uint32
BinaryType uint8
}
// Opcode returns the ID associated with this packet type.
func (m *MsgSysGetUserBinary) Opcode() network.PacketID {
@@ -15,7 +19,10 @@ func (m *MsgSysGetUserBinary) Opcode() network.PacketID {
// Parse parses the packet from binary
func (m *MsgSysGetUserBinary) Parse(bf *byteframe.ByteFrame) error {
panic("Not implemented")
m.AckHandle = bf.ReadUint32()
m.CharID = bf.ReadUint32()
m.BinaryType = bf.ReadUint8()
return nil
}
// Build builds a binary packet from the current data.

View File

@@ -562,7 +562,16 @@ func handleMsgSysSetUserBinary(s *Session, p mhfpacket.MHFPacket) {
}
func handleMsgSysGetUserBinary(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgSysGetUserBinary)
resp := bf.NewByteFrame()
if pkt.BinaryType == 1 {
// Stub name response with character ID
resp.WriteBytes([]byte(fmt.Sprintf("CID%d", s.charID)))
resp.WriteUint8(0) // NULL terminator.
}
doSizedAckResp(s, pkt.AckHandle, resp.Data())
}
func handleMsgSysNotifyUserBinary(s *Session, p mhfpacket.MHFPacket) {}