mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-26 13:15:56 -04:00
hotfix: d2cof encoder: changed way of pushing weapon class
This commit is contained in:
parent
1010353071
commit
7d0eeb0fd3
@ -30,10 +30,6 @@ const (
|
|||||||
layerWeaponClass
|
layerWeaponClass
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
layerWeaponClassLength = 4
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
badCharacter = string(byte(0))
|
badCharacter = string(byte(0))
|
||||||
)
|
)
|
||||||
@ -196,15 +192,22 @@ func (c *COF) Marshal() []byte {
|
|||||||
|
|
||||||
sw.PushBytes(byte(c.CofLayers[i].DrawEffect))
|
sw.PushBytes(byte(c.CofLayers[i].DrawEffect))
|
||||||
|
|
||||||
weaponClassString := c.CofLayers[i].WeaponClass.String()
|
const (
|
||||||
|
maxCodeLength = 3 // we assume item codes to look like 'hax' or 'kit'
|
||||||
|
terminator = 0
|
||||||
|
)
|
||||||
|
|
||||||
for letter := 0; letter < layerWeaponClassLength; letter++ {
|
weaponCode := c.CofLayers[i].WeaponClass.String()
|
||||||
if letter < len(weaponClassString) {
|
|
||||||
sw.PushBytes(weaponClassString[letter])
|
for idx, letter := range weaponCode {
|
||||||
} else {
|
if idx > maxCodeLength {
|
||||||
sw.PushBytes(0)
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sw.PushBytes(byte(letter))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sw.PushBytes(terminator)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, i := range c.AnimationFrames {
|
for _, i := range c.AnimationFrames {
|
||||||
|
Loading…
Reference in New Issue
Block a user