mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-22 11:54:42 +01:00
More saves, launcher tweaks
Added config at char select screen Transmog saving and loading (unlocks are not yet tackled and it is global rn) Sigil saving (can break, initial pass of save) Null compression and decompression functions. First pass of the diff save function. Disabled stamp cards
This commit is contained in:
@@ -6,7 +6,9 @@ import (
|
||||
)
|
||||
|
||||
// MsgMhfAddAchievement represents the MSG_MHF_ADD_ACHIEVEMENT
|
||||
type MsgMhfAddAchievement struct{}
|
||||
type MsgMhfAddAchievement struct{
|
||||
Unk0 []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfAddAchievement) Opcode() network.PacketID {
|
||||
@@ -15,10 +17,12 @@ func (m *MsgMhfAddAchievement) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfAddAchievement) Parse(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
m.Unk0 = bf.ReadBytes(5)
|
||||
// doesn't expect a response
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfAddAchievement) Build(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
type MsgMhfSaveHunterNavi struct {
|
||||
AckHandle uint32
|
||||
DataSize uint32
|
||||
Unk0 bool
|
||||
IsDataDiff bool
|
||||
RawDataPayload []byte
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ func (m *MsgMhfSaveHunterNavi) Opcode() network.PacketID {
|
||||
func (m *MsgMhfSaveHunterNavi) Parse(bf *byteframe.ByteFrame) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.DataSize = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadBool()
|
||||
m.IsDataDiff = bf.ReadBool()
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -6,7 +6,12 @@ import (
|
||||
)
|
||||
|
||||
// MsgMhfSavePlateBox represents the MSG_MHF_SAVE_PLATE_BOX
|
||||
type MsgMhfSavePlateBox struct{}
|
||||
type MsgMhfSavePlateBox struct{
|
||||
AckHandle uint32
|
||||
DataSize uint32
|
||||
IsDataDiff bool
|
||||
RawDataPayload []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfSavePlateBox) Opcode() network.PacketID {
|
||||
@@ -15,10 +20,14 @@ func (m *MsgMhfSavePlateBox) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfSavePlateBox) Parse(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.DataSize = bf.ReadUint32()
|
||||
m.IsDataDiff = bf.ReadBool()
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfSavePlateBox) Build(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,12 @@ import (
|
||||
)
|
||||
|
||||
// MsgMhfSavePlateData represents the MSG_MHF_SAVE_PLATE_DATA
|
||||
type MsgMhfSavePlateData struct{}
|
||||
type MsgMhfSavePlateData struct{
|
||||
AckHandle uint32
|
||||
DataSize uint32
|
||||
IsDataDiff bool
|
||||
RawDataPayload []byte
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfSavePlateData) Opcode() network.PacketID {
|
||||
@@ -15,10 +20,14 @@ func (m *MsgMhfSavePlateData) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfSavePlateData) Parse(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.DataSize = bf.ReadUint32()
|
||||
m.IsDataDiff = bf.ReadBool()
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfSavePlateData) Build(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
type MsgMhfSavedata struct {
|
||||
AckHandle uint32
|
||||
AllocMemSize uint32
|
||||
Unk0 uint8 // Either 1 or 2, representing a true or false value for some reason.
|
||||
SaveType uint8 // Either 1 or 2, representing a true or false value for some reason.
|
||||
Unk1 uint32
|
||||
DataSize uint32
|
||||
RawDataPayload []byte
|
||||
@@ -24,10 +24,14 @@ func (m *MsgMhfSavedata) Opcode() network.PacketID {
|
||||
func (m *MsgMhfSavedata) Parse(bf *byteframe.ByteFrame) error {
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
m.AllocMemSize = bf.ReadUint32()
|
||||
m.Unk0 = bf.ReadUint8()
|
||||
m.SaveType = bf.ReadUint8()
|
||||
m.Unk1 = bf.ReadUint32()
|
||||
m.DataSize = bf.ReadUint32()
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
|
||||
if m.SaveType == 1 {
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.AllocMemSize))
|
||||
} else if m.SaveType == 2 {
|
||||
m.RawDataPayload = bf.ReadBytes(uint(m.DataSize))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,9 @@ import (
|
||||
)
|
||||
|
||||
// MsgMhfUpdateEquipSkinHist represents the MSG_MHF_UPDATE_EQUIP_SKIN_HIST
|
||||
type MsgMhfUpdateEquipSkinHist struct{}
|
||||
type MsgMhfUpdateEquipSkinHist struct{
|
||||
AckHandle uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
func (m *MsgMhfUpdateEquipSkinHist) Opcode() network.PacketID {
|
||||
@@ -15,10 +17,11 @@ func (m *MsgMhfUpdateEquipSkinHist) Opcode() network.PacketID {
|
||||
|
||||
// Parse parses the packet from binary
|
||||
func (m *MsgMhfUpdateEquipSkinHist) Parse(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
m.AckHandle = bf.ReadUint32()
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build builds a binary packet from the current data.
|
||||
func (m *MsgMhfUpdateEquipSkinHist) Build(bf *byteframe.ByteFrame) error {
|
||||
panic("Not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user