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:
SirFist
2020-02-27 23:42:46 +00:00
parent 2999fb14d6
commit 4f67e3de67
10 changed files with 418 additions and 147 deletions

View File

@@ -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
}