correctly parse UpdateBeatLevel

This commit is contained in:
wish
2023-07-08 00:35:41 +10:00
parent ab83e64f84
commit 310e049a23

View File

@@ -1,45 +1,42 @@
package mhfpacket package mhfpacket
import ( import (
"errors" "errors"
"erupe-ce/common/byteframe" "erupe-ce/common/byteframe"
"erupe-ce/network" "erupe-ce/network"
"erupe-ce/network/clientctx" "erupe-ce/network/clientctx"
) )
// MsgMhfUpdateBeatLevel represents the MSG_MHF_UPDATE_BEAT_LEVEL // MsgMhfUpdateBeatLevel represents the MSG_MHF_UPDATE_BEAT_LEVEL
type MsgMhfUpdateBeatLevel struct { type MsgMhfUpdateBeatLevel struct {
AckHandle uint32 AckHandle uint32
Unk1 uint32 Unk1 uint32
Unk2 uint32 Unk2 uint32
MonsterData []byte Data1 []int32
Unk3 uint8 Data2 []int32
Unk4 uint32
Unk5 uint16
Unk6 uint8
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
func (m *MsgMhfUpdateBeatLevel) Opcode() network.PacketID { 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 // Parse parses the packet from binary
func (m *MsgMhfUpdateBeatLevel) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { func (m *MsgMhfUpdateBeatLevel) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk1 = bf.ReadUint32() m.Unk1 = bf.ReadUint32()
m.Unk2 = bf.ReadUint32() m.Unk2 = bf.ReadUint32()
m.MonsterData = bf.ReadBytes(uint(120)) for i := 0; i < 16; i++ {
m.Unk3 = bf.ReadUint8() m.Data1 = append(m.Data1, bf.ReadInt32())
m.Unk4 = bf.ReadUint32() }
m.Unk5 = bf.ReadUint16() for i := 0; i < 16; i++ {
m.Unk6 = bf.ReadUint8() m.Data2 = append(m.Data2, bf.ReadInt32())
return nil }
return nil
} }
// Build builds a binary packet from the current data. // Build builds a binary packet from the current data.
func (m *MsgMhfUpdateBeatLevel) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { func (m *MsgMhfUpdateBeatLevel) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
return errors.New("NOT IMPLEMENTED") return errors.New("NOT IMPLEMENTED")
} }