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 // 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. // Opcode returns the ID associated with this packet type.
func (m *MsgSysGetUserBinary) Opcode() network.PacketID { func (m *MsgSysGetUserBinary) Opcode() network.PacketID {
@@ -15,10 +19,13 @@ func (m *MsgSysGetUserBinary) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgSysGetUserBinary) Parse(bf *byteframe.ByteFrame) error { 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. // Build builds a binary packet from the current data.
func (m *MsgSysGetUserBinary) Build(bf *byteframe.ByteFrame) error { func (m *MsgSysGetUserBinary) Build(bf *byteframe.ByteFrame) error {
panic("Not implemented") panic("Not implemented")
} }

View File

@@ -562,7 +562,16 @@ func handleMsgSysSetUserBinary(s *Session, p mhfpacket.MHFPacket) {
} }
func handleMsgSysGetUserBinary(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) {} func handleMsgSysNotifyUserBinary(s *Session, p mhfpacket.MHFPacket) {}