From 310e049a234282e08ad28f985628189d6763a145 Mon Sep 17 00:00:00 2001 From: wish Date: Sat, 8 Jul 2023 00:35:41 +1000 Subject: [PATCH] correctly parse UpdateBeatLevel --- .../mhfpacket/msg_mhf_update_beat_level.go | 45 +++++++++---------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/network/mhfpacket/msg_mhf_update_beat_level.go b/network/mhfpacket/msg_mhf_update_beat_level.go index 84f41ae61..e00d50c93 100644 --- a/network/mhfpacket/msg_mhf_update_beat_level.go +++ b/network/mhfpacket/msg_mhf_update_beat_level.go @@ -1,45 +1,42 @@ package mhfpacket import ( - "errors" + "errors" - "erupe-ce/common/byteframe" - "erupe-ce/network" - "erupe-ce/network/clientctx" + "erupe-ce/common/byteframe" + "erupe-ce/network" + "erupe-ce/network/clientctx" ) // MsgMhfUpdateBeatLevel represents the MSG_MHF_UPDATE_BEAT_LEVEL type MsgMhfUpdateBeatLevel struct { - AckHandle uint32 - Unk1 uint32 - Unk2 uint32 - MonsterData []byte - Unk3 uint8 - Unk4 uint32 - Unk5 uint16 - Unk6 uint8 - + AckHandle uint32 + Unk1 uint32 + Unk2 uint32 + Data1 []int32 + Data2 []int32 } // Opcode returns the ID associated with this packet type. func (m *MsgMhfUpdateBeatLevel) Opcode() network.PacketID { - return network.MSG_MHF_UPDATE_BEAT_LEVEL + return network.MSG_MHF_UPDATE_BEAT_LEVEL } // Parse parses the packet from binary func (m *MsgMhfUpdateBeatLevel) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { - m.AckHandle = bf.ReadUint32() - m.Unk1 = bf.ReadUint32() - m.Unk2 = bf.ReadUint32() - m.MonsterData = bf.ReadBytes(uint(120)) - m.Unk3 = bf.ReadUint8() - m.Unk4 = bf.ReadUint32() - m.Unk5 = bf.ReadUint16() - m.Unk6 = bf.ReadUint8() - return nil + m.AckHandle = bf.ReadUint32() + m.Unk1 = bf.ReadUint32() + m.Unk2 = bf.ReadUint32() + for i := 0; i < 16; i++ { + m.Data1 = append(m.Data1, bf.ReadInt32()) + } + for i := 0; i < 16; i++ { + m.Data2 = append(m.Data2, bf.ReadInt32()) + } + return nil } // Build builds a binary packet from the current data. func (m *MsgMhfUpdateBeatLevel) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { - return errors.New("NOT IMPLEMENTED") + return errors.New("NOT IMPLEMENTED") }