mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-14 16:04:38 +01:00
fix Warehouse serialisation across versions
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
package mhfitem
|
package mhfitem
|
||||||
|
|
||||||
import "erupe-ce/common/byteframe"
|
import (
|
||||||
|
"erupe-ce/common/byteframe"
|
||||||
|
_config "erupe-ce/config"
|
||||||
|
)
|
||||||
|
|
||||||
type MHFItem struct {
|
type MHFItem struct {
|
||||||
ItemID uint16
|
ItemID uint16
|
||||||
@@ -80,6 +83,7 @@ func ReadWarehouseEquipment(bf *byteframe.ByteFrame) MHFEquipment {
|
|||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
equipment.Decorations[i].ItemID = bf.ReadUint16()
|
equipment.Decorations[i].ItemID = bf.ReadUint16()
|
||||||
}
|
}
|
||||||
|
if _config.ErupeConfig.RealClientMode >= _config.G1 {
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
for j := 0; j < 3; j++ {
|
for j := 0; j < 3; j++ {
|
||||||
equipment.Sigils[i].Effects[j].ID = bf.ReadUint16()
|
equipment.Sigils[i].Effects[j].ID = bf.ReadUint16()
|
||||||
@@ -92,7 +96,10 @@ func ReadWarehouseEquipment(bf *byteframe.ByteFrame) MHFEquipment {
|
|||||||
equipment.Sigils[i].Unk2 = bf.ReadUint8()
|
equipment.Sigils[i].Unk2 = bf.ReadUint8()
|
||||||
equipment.Sigils[i].Unk3 = bf.ReadUint8()
|
equipment.Sigils[i].Unk3 = bf.ReadUint8()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if _config.ErupeConfig.RealClientMode >= _config.Z1 {
|
||||||
equipment.Unk1 = bf.ReadUint16()
|
equipment.Unk1 = bf.ReadUint16()
|
||||||
|
}
|
||||||
return equipment
|
return equipment
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,6 +113,7 @@ func (e MHFEquipment) ToBytes() []byte {
|
|||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
bf.WriteUint16(e.Decorations[i].ItemID)
|
bf.WriteUint16(e.Decorations[i].ItemID)
|
||||||
}
|
}
|
||||||
|
if _config.ErupeConfig.RealClientMode >= _config.G1 {
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
for j := 0; j < 3; j++ {
|
for j := 0; j < 3; j++ {
|
||||||
bf.WriteUint16(e.Sigils[i].Effects[j].ID)
|
bf.WriteUint16(e.Sigils[i].Effects[j].ID)
|
||||||
@@ -118,7 +126,10 @@ func (e MHFEquipment) ToBytes() []byte {
|
|||||||
bf.WriteUint8(e.Sigils[i].Unk2)
|
bf.WriteUint8(e.Sigils[i].Unk2)
|
||||||
bf.WriteUint8(e.Sigils[i].Unk3)
|
bf.WriteUint8(e.Sigils[i].Unk3)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if _config.ErupeConfig.RealClientMode >= _config.Z1 {
|
||||||
bf.WriteUint16(e.Unk1)
|
bf.WriteUint16(e.Unk1)
|
||||||
|
}
|
||||||
return bf.Data()
|
return bf.Data()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user