Store chunk header when unpacking

This commit is contained in:
ChillerDragon 2024-06-21 09:50:46 +08:00
parent 7c4a3be31c
commit db550ce86f
9 changed files with 24 additions and 24 deletions

View file

@ -9,7 +9,7 @@ import (
) )
type ClStartInfo struct { type ClStartInfo struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
Name string Name string
Clan string Clan string
@ -101,9 +101,9 @@ func (info *ClStartInfo) Unpack(u *packer.Unpacker) {
} }
func (msg *ClStartInfo) Header() *chunk7.ChunkHeader { func (msg *ClStartInfo) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *ClStartInfo) SetHeader(header *chunk7.ChunkHeader) { func (msg *ClStartInfo) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -7,7 +7,7 @@ import (
) )
type EnterGame struct { type EnterGame struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
} }
func (msg EnterGame) MsgId() int { func (msg EnterGame) MsgId() int {
@ -34,9 +34,9 @@ func (msg *EnterGame) Unpack(u *packer.Unpacker) {
} }
func (msg *EnterGame) Header() *chunk7.ChunkHeader { func (msg *EnterGame) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *EnterGame) SetHeader(header *chunk7.ChunkHeader) { func (msg *EnterGame) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -7,7 +7,7 @@ import (
) )
type Info struct { type Info struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
} }
func (msg Info) MsgId() int { func (msg Info) MsgId() int {
@ -41,9 +41,9 @@ func (msg *Info) Unpack(u *packer.Unpacker) {
} }
func (msg *Info) Header() *chunk7.ChunkHeader { func (msg *Info) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *Info) SetHeader(header *chunk7.ChunkHeader) { func (msg *Info) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -15,5 +15,5 @@ type NetMessage interface {
Unpack(u *packer.Unpacker) Unpack(u *packer.Unpacker)
Header() *chunk7.ChunkHeader Header() *chunk7.ChunkHeader
SetHeader(chunkHeader *chunk7.ChunkHeader) SetHeader(header *chunk7.ChunkHeader)
} }

View file

@ -7,7 +7,7 @@ import (
) )
type Ready struct { type Ready struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
} }
func (msg Ready) MsgId() int { func (msg Ready) MsgId() int {
@ -34,9 +34,9 @@ func (msg *Ready) Unpack(u *packer.Unpacker) {
} }
func (msg *Ready) Header() *chunk7.ChunkHeader { func (msg *Ready) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *Ready) SetHeader(header *chunk7.ChunkHeader) { func (msg *Ready) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -7,7 +7,7 @@ import (
) )
type ReadyToEnter struct { type ReadyToEnter struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
} }
func (msg ReadyToEnter) MsgId() int { func (msg ReadyToEnter) MsgId() int {
@ -34,9 +34,9 @@ func (msg *ReadyToEnter) Unpack(u *packer.Unpacker) {
} }
func (msg *ReadyToEnter) Header() *chunk7.ChunkHeader { func (msg *ReadyToEnter) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *ReadyToEnter) SetHeader(header *chunk7.ChunkHeader) { func (msg *ReadyToEnter) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -9,7 +9,7 @@ import (
) )
type SvChat struct { type SvChat struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
Mode int Mode int
ClientId int ClientId int
@ -50,9 +50,9 @@ func (msg *SvChat) Unpack(u *packer.Unpacker) {
} }
func (msg *SvChat) Header() *chunk7.ChunkHeader { func (msg *SvChat) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *SvChat) SetHeader(header *chunk7.ChunkHeader) { func (msg *SvChat) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -7,7 +7,7 @@ import (
) )
type SvClientInfo struct { type SvClientInfo struct {
header *chunk7.ChunkHeader ChunkHeader *chunk7.ChunkHeader
ClientId int ClientId int
Local bool Local bool
@ -79,9 +79,9 @@ func (info *SvClientInfo) Unpack(u *packer.Unpacker) {
} }
func (msg *SvClientInfo) Header() *chunk7.ChunkHeader { func (msg *SvClientInfo) Header() *chunk7.ChunkHeader {
return msg.header return msg.ChunkHeader
} }
func (msg *SvClientInfo) SetHeader(header *chunk7.ChunkHeader) { func (msg *SvClientInfo) SetHeader(header *chunk7.ChunkHeader) {
msg.header = header msg.ChunkHeader = header
} }

View file

@ -123,7 +123,7 @@ func (client *Connection) OnMotd(motd string) {
func (client *Connection) OnGameMsg(msg int, chunk chunk7.Chunk, u *packer.Unpacker, result *PacketResult) { func (client *Connection) OnGameMsg(msg int, chunk chunk7.Chunk, u *packer.Unpacker, result *PacketResult) {
if msg == network7.MsgGameReadyToEnter { if msg == network7.MsgGameReadyToEnter {
fmt.Println("got ready to enter") fmt.Println("got ready to enter")
result.Packet.Messages = append(result.Packet.Messages, &messages7.Ready{}) result.Packet.Messages = append(result.Packet.Messages, &messages7.Ready{ChunkHeader: &chunk.Header})
result.Response.Messages = append(result.Response.Messages, &messages7.EnterGame{}) result.Response.Messages = append(result.Response.Messages, &messages7.EnterGame{})
} else if msg == network7.MsgGameSvMotd { } else if msg == network7.MsgGameSvMotd {
motd := u.GetString() motd := u.GetString()
@ -131,7 +131,7 @@ func (client *Connection) OnGameMsg(msg int, chunk chunk7.Chunk, u *packer.Unpac
client.OnMotd(motd) client.OnMotd(motd)
} }
} else if msg == network7.MsgGameSvChat { } else if msg == network7.MsgGameSvChat {
chat := &messages7.SvChat{} chat := &messages7.SvChat{ChunkHeader: &chunk.Header}
chat.Unpack(u) chat.Unpack(u)
client.OnChatMessage(chat) client.OnChatMessage(chat)
result.Packet.Messages = append(result.Packet.Messages, chat) result.Packet.Messages = append(result.Packet.Messages, chat)