mirror of
https://github.com/Steffo99/lihzahrd.git
synced 2024-11-21 23:54:23 +00:00
Handle UNKNOWN_3 RLEEncodings, found in tModLoader worlds
This commit is contained in:
parent
81fe56469c
commit
0eec5a9fce
2 changed files with 6 additions and 1 deletions
|
@ -13,6 +13,11 @@ class RLEEncoding(enum.IntEnum):
|
||||||
DOUBLE_BYTE = 2
|
DOUBLE_BYTE = 2
|
||||||
"""The read data refers to 256-4800 tiles (2 bytes)."""
|
"""The read data refers to 256-4800 tiles (2 bytes)."""
|
||||||
|
|
||||||
|
UNKNOWN_3 = 3
|
||||||
|
"""The read data refers to unknown tiles, assuming 256-4800 (2 bytes).
|
||||||
|
|
||||||
|
Found in certain tModLoader worlds."""
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_flags(cls, flags1):
|
def from_flags(cls, flags1):
|
||||||
return cls(flags1[7] * 2 + flags1[6])
|
return cls(flags1[7] * 2 + flags1[6])
|
||||||
|
|
|
@ -254,7 +254,7 @@ class World:
|
||||||
liquid = Liquid(type_=liquid_type, volume=fr.uint1())
|
liquid = Liquid(type_=liquid_type, volume=fr.uint1())
|
||||||
else:
|
else:
|
||||||
liquid = None
|
liquid = None
|
||||||
if rle_compression == RLEEncoding.DOUBLE_BYTE:
|
if rle_compression == RLEEncoding.DOUBLE_BYTE or rle_compression == RLEEncoding.UNKNOWN_3:
|
||||||
multiply_by = fr.uint2() + 1
|
multiply_by = fr.uint2() + 1
|
||||||
elif rle_compression == RLEEncoding.SINGLE_BYTE:
|
elif rle_compression == RLEEncoding.SINGLE_BYTE:
|
||||||
multiply_by = fr.uint1() + 1
|
multiply_by = fr.uint1() + 1
|
||||||
|
|
Loading…
Reference in a new issue