Merge pull request #10 from Andoryuuta/minor-cleanup

Minor cleanup
This commit is contained in:
Andrew Gutekanst
2020-03-03 10:14:11 -05:00
committed by GitHub
305 changed files with 614 additions and 500 deletions

View File

@@ -6,8 +6,10 @@ import (
) )
// MsgMhfAddAchievement represents the MSG_MHF_ADD_ACHIEVEMENT // MsgMhfAddAchievement represents the MSG_MHF_ADD_ACHIEVEMENT
type MsgMhfAddAchievement struct{ type MsgMhfAddAchievement struct {
Unk0 []byte Unk0 uint8
Unk1 uint16
Unk2 uint16
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -17,7 +19,9 @@ func (m *MsgMhfAddAchievement) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfAddAchievement) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfAddAchievement) Parse(bf *byteframe.ByteFrame) error {
m.Unk0 = bf.ReadBytes(5) m.Unk0 = bf.ReadUint8()
m.Unk1 = bf.ReadUint16()
m.Unk2 = bf.ReadUint16()
// doesn't expect a response // doesn't expect a response
return nil return nil
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfAddKouryouPoint represents the MSG_MHF_ADD_KOURYOU_POINT // MsgMhfAddKouryouPoint represents the MSG_MHF_ADD_KOURYOU_POINT
type MsgMhfAddKouryouPoint struct{ type MsgMhfAddKouryouPoint struct {
AckHandle uint32 AckHandle uint32
KouryouPoints uint32 KouryouPoints uint32
} }
@@ -20,7 +20,7 @@ func (m *MsgMhfAddKouryouPoint) Opcode() network.PacketID {
func (m *MsgMhfAddKouryouPoint) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfAddKouryouPoint) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.KouryouPoints = bf.ReadUint32() m.KouryouPoints = bf.ReadUint32()
return nil; return nil
} }
// Build builds a binary packet from the current data. // Build builds a binary packet from the current data.

View File

@@ -6,8 +6,11 @@ import (
) )
// MsgMhfEnumerateGuacot represents the MSG_MHF_ENUMERATE_GUACOT // MsgMhfEnumerateGuacot represents the MSG_MHF_ENUMERATE_GUACOT
type MsgMhfEnumerateGuacot struct{ type MsgMhfEnumerateGuacot struct {
AckHandle uint32 AckHandle uint32
Unk0 uint16 // Hardcoded 0 in binary
Unk1 uint16 // Hardcoded 0 in binary
Unk2 uint16 // Hardcoded 0 in binary
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -18,6 +21,9 @@ func (m *MsgMhfEnumerateGuacot) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfEnumerateGuacot) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfEnumerateGuacot) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint16()
m.Unk1 = bf.ReadUint16()
m.Unk2 = bf.ReadUint16()
return nil return nil
} }

View File

@@ -6,8 +6,11 @@ import (
) )
// MsgMhfEnumerateRengokuRanking represents the MSG_MHF_ENUMERATE_RENGOKU_RANKING // MsgMhfEnumerateRengokuRanking represents the MSG_MHF_ENUMERATE_RENGOKU_RANKING
type MsgMhfEnumerateRengokuRanking struct{ type MsgMhfEnumerateRengokuRanking struct {
AckHandle uint32 AckHandle uint32
Unk0 uint32
Unk1 uint16 // Hardcoded 0 in the binary
Unk2 uint16 // Hardcoded 00 01 in the binary
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -18,7 +21,10 @@ func (m *MsgMhfEnumerateRengokuRanking) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfEnumerateRengokuRanking) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfEnumerateRengokuRanking) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
return nil; m.Unk0 = bf.ReadUint32()
m.Unk1 = bf.ReadUint16()
m.Unk2 = bf.ReadUint16()
return nil
} }
// Build builds a binary packet from the current data. // Build builds a binary packet from the current data.

View File

@@ -6,7 +6,8 @@ import (
) )
// MsgMhfGetAdditionalBeatReward represents the MSG_MHF_GET_ADDITIONAL_BEAT_REWARD // MsgMhfGetAdditionalBeatReward represents the MSG_MHF_GET_ADDITIONAL_BEAT_REWARD
type MsgMhfGetAdditionalBeatReward struct{ type MsgMhfGetAdditionalBeatReward struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint32
Unk1 uint32 Unk1 uint32

View File

@@ -6,10 +6,13 @@ import (
) )
// MsgMhfGetMyhouseInfo represents the MSG_MHF_GET_MYHOUSE_INFO // MsgMhfGetMyhouseInfo represents the MSG_MHF_GET_MYHOUSE_INFO
type MsgMhfGetMyhouseInfo struct{ type MsgMhfGetMyhouseInfo struct {
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint32
Unk1 uint16
// No idea why it would send a buffer of data on a _GET_, but w/e.
DataSize uint8
RawDataPayload []byte
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -21,7 +24,8 @@ func (m *MsgMhfGetMyhouseInfo) Opcode() network.PacketID {
func (m *MsgMhfGetMyhouseInfo) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfGetMyhouseInfo) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32() m.Unk0 = bf.ReadUint32()
m.Unk1 = bf.ReadUint16() m.DataSize = bf.ReadUint8()
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
return nil return nil
} }

View File

@@ -7,6 +7,7 @@ import (
// MsgMhfGetPaperData represents the MSG_MHF_GET_PAPER_DATA // MsgMhfGetPaperData represents the MSG_MHF_GET_PAPER_DATA
type MsgMhfGetPaperData struct { type MsgMhfGetPaperData struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint32
Unk1 uint32 Unk1 uint32

View File

@@ -6,9 +6,9 @@ import (
) )
// MsgMhfGetRengokuBinary represents the MSG_MHF_GET_RENGOKU_BINARY // MsgMhfGetRengokuBinary represents the MSG_MHF_GET_RENGOKU_BINARY
type MsgMhfGetRengokuBinary struct{ type MsgMhfGetRengokuBinary struct {
AckHandle uint32 AckHandle uint32
Unk0 uint8 Unk0 uint8 // Hardcoded 0 in binary
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.

View File

@@ -7,6 +7,7 @@ import (
// MsgMhfGetSeibattle represents the MSG_MHF_GET_SEIBATTLE // MsgMhfGetSeibattle represents the MSG_MHF_GET_SEIBATTLE
type MsgMhfGetSeibattle struct { type MsgMhfGetSeibattle struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint8 Unk0 uint8
Unk1 uint8 Unk1 uint8

View File

@@ -6,12 +6,12 @@ import (
) )
// MsgMhfGetTenrouirai represents the MSG_MHF_GET_TENROUIRAI // MsgMhfGetTenrouirai represents the MSG_MHF_GET_TENROUIRAI
type MsgMhfGetTenrouirai struct{ type MsgMhfGetTenrouirai struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint16 Unk0 uint16
Unk1 uint32 Unk1 uint32
Unk2 uint16 Unk2 uint16
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.

View File

@@ -6,7 +6,8 @@ import (
) )
// MsgMhfGetTinyBin represents the MSG_MHF_GET_TINY_BIN // MsgMhfGetTinyBin represents the MSG_MHF_GET_TINY_BIN
type MsgMhfGetTinyBin struct{ type MsgMhfGetTinyBin struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint16 Unk0 uint16
Unk1 uint8 Unk1 uint8

View File

@@ -17,6 +17,7 @@ const (
// MsgMhfGetTowerInfo represents the MSG_MHF_GET_TOWER_INFO // MsgMhfGetTowerInfo represents the MSG_MHF_GET_TOWER_INFO
type MsgMhfGetTowerInfo struct { type MsgMhfGetTowerInfo struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
InfoType uint32 // Requested response type InfoType uint32 // Requested response type
Unk0 uint32 Unk0 uint32

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfGetUdTacticsFollower represents the MSG_MHF_GET_UD_TACTICS_FOLLOWER // MsgMhfGetUdTacticsFollower represents the MSG_MHF_GET_UD_TACTICS_FOLLOWER
type MsgMhfGetUdTacticsFollower struct{ type MsgMhfGetUdTacticsFollower struct {
AckHandle uint32 AckHandle uint32
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfListMember represents the MSG_MHF_LIST_MEMBER // MsgMhfListMember represents the MSG_MHF_LIST_MEMBER
type MsgMhfListMember struct{ type MsgMhfListMember struct {
AckHandle uint32 AckHandle uint32
Unk0 uint16 // Hardcoded 01 00 in the JP client. Unk0 uint16 // Hardcoded 01 00 in the JP client.
} }

View File

@@ -6,12 +6,14 @@ import (
) )
// MsgMhfLoadHouse represents the MSG_MHF_LOAD_HOUSE // MsgMhfLoadHouse represents the MSG_MHF_LOAD_HOUSE
type MsgMhfLoadHouse struct{ type MsgMhfLoadHouse struct {
AckHandle uint32 AckHandle uint32
Unk0 uint8 Unk0 uint32
Unk1 uint32 Unk1 uint8
Unk2 uint8 Unk2 uint8
Unk3 uint32 Unk3 uint16 // Hardcoded 0 in binary
DataSize uint8
RawDataPayload []byte
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -22,10 +24,12 @@ func (m *MsgMhfLoadHouse) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfLoadHouse) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfLoadHouse) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint8() m.Unk0 = bf.ReadUint32()
m.Unk1 = bf.ReadUint32() m.Unk1 = bf.ReadUint8()
m.Unk2 = bf.ReadUint8() m.Unk2 = bf.ReadUint8()
m.Unk3 = bf.ReadUint32() m.Unk3 = bf.ReadUint16()
m.DataSize = bf.ReadUint8()
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
return nil return nil
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfLoadOtomoAirou represents the MSG_MHF_LOAD_OTOMO_AIROU // MsgMhfLoadOtomoAirou represents the MSG_MHF_LOAD_OTOMO_AIROU
type MsgMhfLoadOtomoAirou struct{ type MsgMhfLoadOtomoAirou struct {
AckHandle uint32 AckHandle uint32
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfLoadPartner represents the MSG_MHF_LOAD_PARTNER // MsgMhfLoadPartner represents the MSG_MHF_LOAD_PARTNER
type MsgMhfLoadPartner struct{ type MsgMhfLoadPartner struct {
AckHandle uint32 AckHandle uint32
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfPostBoostTime represents the MSG_MHF_POST_BOOST_TIME // MsgMhfPostBoostTime represents the MSG_MHF_POST_BOOST_TIME
type MsgMhfPostBoostTime struct{ type MsgMhfPostBoostTime struct {
AckHandle uint32 AckHandle uint32
BoostTime uint32 BoostTime uint32
} }

View File

@@ -6,7 +6,8 @@ import (
) )
// MsgMhfPostTowerInfo represents the MSG_MHF_POST_TOWER_INFO // MsgMhfPostTowerInfo represents the MSG_MHF_POST_TOWER_INFO
type MsgMhfPostTowerInfo struct{ type MsgMhfPostTowerInfo struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint32
Unk1 uint32 Unk1 uint32

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSaveDecoMyset represents the MSG_MHF_SAVE_DECO_MYSET // MsgMhfSaveDecoMyset represents the MSG_MHF_SAVE_DECO_MYSET
type MsgMhfSaveDecoMyset struct{ type MsgMhfSaveDecoMyset struct {
AckHandle uint32 AckHandle uint32
DataSize uint32 DataSize uint32
RawDataPayload []byte RawDataPayload []byte

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSaveOtomoAirou represents the MSG_MHF_SAVE_OTOMO_AIROU // MsgMhfSaveOtomoAirou represents the MSG_MHF_SAVE_OTOMO_AIROU
type MsgMhfSaveOtomoAirou struct{ type MsgMhfSaveOtomoAirou struct {
AckHandle uint32 AckHandle uint32
DataSize uint16 DataSize uint16
RawDataPayload []byte RawDataPayload []byte

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSavePlateBox represents the MSG_MHF_SAVE_PLATE_BOX // MsgMhfSavePlateBox represents the MSG_MHF_SAVE_PLATE_BOX
type MsgMhfSavePlateBox struct{ type MsgMhfSavePlateBox struct {
AckHandle uint32 AckHandle uint32
DataSize uint32 DataSize uint32
IsDataDiff bool IsDataDiff bool

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSavePlateData represents the MSG_MHF_SAVE_PLATE_DATA // MsgMhfSavePlateData represents the MSG_MHF_SAVE_PLATE_DATA
type MsgMhfSavePlateData struct{ type MsgMhfSavePlateData struct {
AckHandle uint32 AckHandle uint32
DataSize uint32 DataSize uint32
IsDataDiff bool IsDataDiff bool

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSavePlateMyset represents the MSG_MHF_SAVE_PLATE_MYSET // MsgMhfSavePlateMyset represents the MSG_MHF_SAVE_PLATE_MYSET
type MsgMhfSavePlateMyset struct{ type MsgMhfSavePlateMyset struct {
AckHandle uint32 AckHandle uint32
DataSize uint32 DataSize uint32
RawDataPayload []byte RawDataPayload []byte

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfSaveRengokuData represents the MSG_MHF_SAVE_RENGOKU_DATA // MsgMhfSaveRengokuData represents the MSG_MHF_SAVE_RENGOKU_DATA
type MsgMhfSaveRengokuData struct{ type MsgMhfSaveRengokuData struct {
AckHandle uint32 AckHandle uint32
DataSize uint32 DataSize uint32
RawDataPayload []byte RawDataPayload []byte

View File

@@ -6,17 +6,19 @@ import (
) )
// MsgMhfStampcardStamp represents the MSG_MHF_STAMPCARD_STAMP // MsgMhfStampcardStamp represents the MSG_MHF_STAMPCARD_STAMP
type MsgMhfStampcardStamp struct{ type MsgMhfStampcardStamp struct {
// probably not actual format, just lined up neatly to an example packet // Field-size accurate.
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint16
Unk1 uint32 Unk1 uint16
Unk2 uint32 Unk2 uint16
Unk3 uint32 Unk3 uint16 // Hardcoded 0 in binary
Unk4 uint32 Unk4 uint32
Unk5 uint32 Unk5 uint32
Unk6 uint32 Unk6 uint32
Unk7 uint32 Unk7 uint32
Unk8 uint32
Unk9 uint32
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -27,14 +29,16 @@ func (m *MsgMhfStampcardStamp) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfStampcardStamp) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfStampcardStamp) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32() m.Unk0 = bf.ReadUint16()
m.Unk1 = bf.ReadUint32() m.Unk1 = bf.ReadUint16()
m.Unk2 = bf.ReadUint32() m.Unk2 = bf.ReadUint16()
m.Unk3 = bf.ReadUint32() m.Unk3 = bf.ReadUint16()
m.Unk4 = bf.ReadUint32() m.Unk4 = bf.ReadUint32()
m.Unk5 = bf.ReadUint32() m.Unk5 = bf.ReadUint32()
m.Unk6 = bf.ReadUint32() m.Unk6 = bf.ReadUint32()
m.Unk7 = bf.ReadUint32() m.Unk7 = bf.ReadUint32()
m.Unk8 = bf.ReadUint32()
m.Unk9 = bf.ReadUint32()
return nil return nil
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfStateFestaG represents the MSG_MHF_STATE_FESTA_G // MsgMhfStateFestaG represents the MSG_MHF_STATE_FESTA_G
type MsgMhfStateFestaG struct{ type MsgMhfStateFestaG struct {
AckHandle uint32 AckHandle uint32
Unk0 uint32 // Shared ID of something. Unk0 uint32 // Shared ID of something.
Unk1 uint32 Unk1 uint32

View File

@@ -6,13 +6,14 @@ import (
) )
// MsgMhfTransferItem represents the MSG_MHF_TRANSFER_ITEM // MsgMhfTransferItem represents the MSG_MHF_TRANSFER_ITEM
type MsgMhfTransferItem struct{ type MsgMhfTransferItem struct {
AckHandle uint32 AckHandle uint32
// looking at packets, these were static across sessions and did not actually // looking at packets, these were static across sessions and did not actually
// correlate with any item IDs that would make sense to get after quests so // correlate with any item IDs that would make sense to get after quests so
// I have no idea what this actually does // I have no idea what this actually does
Unk0 uint32 Unk0 uint32
Unk1 uint32 Unk1 uint16 // Hardcoded
Unk2 uint16 // Hardcoded
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -24,7 +25,8 @@ func (m *MsgMhfTransferItem) Opcode() network.PacketID {
func (m *MsgMhfTransferItem) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfTransferItem) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32() m.Unk0 = bf.ReadUint32()
m.Unk1 = bf.ReadUint32() m.Unk1 = bf.ReadUint16()
m.Unk2 = bf.ReadUint16()
return nil return nil
} }

View File

@@ -6,9 +6,10 @@ import (
) )
// MsgMhfUpdateCafepoint represents the MSG_MHF_UPDATE_CAFEPOINT // MsgMhfUpdateCafepoint represents the MSG_MHF_UPDATE_CAFEPOINT
type MsgMhfUpdateCafepoint struct{ type MsgMhfUpdateCafepoint struct {
AckHandle uint32 AckHandle uint32
Unk0 uint32 Unk0 uint16 // Hardcoded 0 in binary
Unk1 uint16 // Hardcoded 0 in binary
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -19,7 +20,8 @@ func (m *MsgMhfUpdateCafepoint) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfUpdateCafepoint) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfUpdateCafepoint) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32() m.Unk0 = bf.ReadUint16()
m.Unk1 = bf.ReadUint16()
return nil return nil
} }

View File

@@ -6,8 +6,10 @@ import (
) )
// MsgMhfUpdateEquipSkinHist represents the MSG_MHF_UPDATE_EQUIP_SKIN_HIST // MsgMhfUpdateEquipSkinHist represents the MSG_MHF_UPDATE_EQUIP_SKIN_HIST
type MsgMhfUpdateEquipSkinHist struct{ type MsgMhfUpdateEquipSkinHist struct {
AckHandle uint32 AckHandle uint32
Unk0 uint8
Unk1 uint16
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -18,6 +20,8 @@ func (m *MsgMhfUpdateEquipSkinHist) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfUpdateEquipSkinHist) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfUpdateEquipSkinHist) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint8()
m.Unk1 = bf.ReadUint16()
return nil return nil
} }

View File

@@ -5,9 +5,43 @@ import (
"github.com/Andoryuuta/byteframe" "github.com/Andoryuuta/byteframe"
) )
// GuacotUpdateEntry represents an entry inside the MsgMhfUpdateGuacot packet.
type GuacotUpdateEntry struct {
Unk0 uint32
Unk1 uint16
Unk2 uint16
Unk3 uint16
Unk4 uint16
Unk5 uint16
Unk6 uint16
Unk7 uint16
Unk8 uint16
Unk9 uint16
Unk10 uint16
Unk11 uint16
Unk12 uint16
Unk13 uint16
Unk14 uint16
Unk15 uint16
Unk16 uint16
Unk17 uint16
Unk18 uint16
Unk19 uint16
Unk20 uint16
Unk21 uint16
Unk22 uint16
Unk23 uint32
Unk24 uint32
DataSize uint8
RawDataPayload []byte
}
// MsgMhfUpdateGuacot represents the MSG_MHF_UPDATE_GUACOT // MsgMhfUpdateGuacot represents the MSG_MHF_UPDATE_GUACOT
type MsgMhfUpdateGuacot struct{ type MsgMhfUpdateGuacot struct {
AckHandle uint32 AckHandle uint32
EntryCount uint16
Unk0 uint16 // Hardcoded 0 in binary
Entries []*GuacotUpdateEntry
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -18,6 +52,42 @@ func (m *MsgMhfUpdateGuacot) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfUpdateGuacot) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfUpdateGuacot) Parse(bf *byteframe.ByteFrame) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.EntryCount = bf.ReadUint16()
m.Unk0 = bf.ReadUint16()
for i := 0; i < int(m.EntryCount); i++ {
// Yikes.
e := &GuacotUpdateEntry{}
e.Unk0 = bf.ReadUint32()
e.Unk1 = bf.ReadUint16()
e.Unk2 = bf.ReadUint16()
e.Unk3 = bf.ReadUint16()
e.Unk4 = bf.ReadUint16()
e.Unk5 = bf.ReadUint16()
e.Unk6 = bf.ReadUint16()
e.Unk7 = bf.ReadUint16()
e.Unk8 = bf.ReadUint16()
e.Unk9 = bf.ReadUint16()
e.Unk10 = bf.ReadUint16()
e.Unk11 = bf.ReadUint16()
e.Unk12 = bf.ReadUint16()
e.Unk13 = bf.ReadUint16()
e.Unk14 = bf.ReadUint16()
e.Unk15 = bf.ReadUint16()
e.Unk16 = bf.ReadUint16()
e.Unk17 = bf.ReadUint16()
e.Unk18 = bf.ReadUint16()
e.Unk19 = bf.ReadUint16()
e.Unk20 = bf.ReadUint16()
e.Unk21 = bf.ReadUint16()
e.Unk22 = bf.ReadUint16()
e.Unk23 = bf.ReadUint32()
e.Unk24 = bf.ReadUint32()
e.DataSize = bf.ReadUint8()
e.RawDataPayload = bf.ReadBytes(uint(e.DataSize))
m.Entries = append(m.Entries, e)
}
return nil return nil
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgMhfUpdateMyhouseInfo represents the MSG_MHF_UPDATE_MYHOUSE_INFO // MsgMhfUpdateMyhouseInfo represents the MSG_MHF_UPDATE_MYHOUSE_INFO
type MsgMhfUpdateMyhouseInfo struct{ type MsgMhfUpdateMyhouseInfo struct {
AckHandle uint32 AckHandle uint32
Unk0 []byte Unk0 []byte
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgSysHideClient represents the MSG_SYS_HIDE_CLIENT // MsgSysHideClient represents the MSG_SYS_HIDE_CLIENT
type MsgSysHideClient struct{ type MsgSysHideClient struct {
Hide bool Hide bool
Unk0 uint16 // Hardcoded 0 in binary Unk0 uint16 // Hardcoded 0 in binary
Unk1 uint8 // Hardcoded 0 in binary Unk1 uint8 // Hardcoded 0 in binary

View File

@@ -6,8 +6,8 @@ import (
) )
// MsgSysLogout represents the MSG_SYS_LOGOUT // MsgSysLogout represents the MSG_SYS_LOGOUT
type MsgSysLogout struct{ type MsgSysLogout struct {
Unk0 uint8 Unk0 uint8 // Hardcoded 1 in binary
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgSysPositionObject represents the MSG_SYS_POSITION_OBJECT // MsgSysPositionObject represents the MSG_SYS_POSITION_OBJECT
type MsgSysPositionObject struct{ type MsgSysPositionObject struct {
ObjID uint32 ObjID uint32
X, Y, Z float32 X, Y, Z float32
} }

View File

@@ -6,7 +6,7 @@ import (
) )
// MsgSysWaitStageBinary represents the MSG_SYS_WAIT_STAGE_BINARY // MsgSysWaitStageBinary represents the MSG_SYS_WAIT_STAGE_BINARY
type MsgSysWaitStageBinary struct{ type MsgSysWaitStageBinary struct {
AckHandle uint32 AckHandle uint32
BinaryType0 uint8 BinaryType0 uint8
BinaryType1 uint8 BinaryType1 uint8

File diff suppressed because one or more lines are too long