mirror of
https://github.com/Steffo99/lihzahrd.git
synced 2024-11-23 08:34:23 +00:00
Fix some incompatibilities
This commit is contained in:
parent
8a500ca1d5
commit
3e00bb77b8
3 changed files with 28 additions and 18 deletions
|
@ -5508,6 +5508,9 @@ class ItemType(enum.IntEnum):
|
||||||
RAINBOW_MOSS_BLOCK_WALL = 5450
|
RAINBOW_MOSS_BLOCK_WALL = 5450
|
||||||
JIMS_DRONE = 5451
|
JIMS_DRONE = 5451
|
||||||
JIMS_DRONE_VISOR = 5452
|
JIMS_DRONE_VISOR = 5452
|
||||||
|
DONT_HURT_CRITTERS_BOOK_INACTIVE = 5453
|
||||||
|
DONT_HURT_NATURE_BOOK_INACTIVE = 5454
|
||||||
|
DONT_HURT_COMBO_BOOK_INACTIVE = 5455
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"{self.__class__.__name__}.{self.name}"
|
return f"{self.__class__.__name__}.{self.name}"
|
||||||
|
|
|
@ -353,6 +353,5 @@ class WallType(enum.IntEnum):
|
||||||
VIOLET_MOSS_BLOCK_WALL = 345
|
VIOLET_MOSS_BLOCK_WALL = 345
|
||||||
RAINBOW_MOSS_BLOCK_WALL = 346
|
RAINBOW_MOSS_BLOCK_WALL = 346
|
||||||
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"{self.__class__.__name__}.{self.name}"
|
return f"{self.__class__.__name__}.{self.name}"
|
||||||
|
|
|
@ -279,17 +279,16 @@ class World:
|
||||||
flags4 = fr.bits() if has_flags4 else INT_TO_BITS_CACHE[0]
|
flags4 = fr.bits() if has_flags4 else INT_TO_BITS_CACHE[0]
|
||||||
|
|
||||||
has_block = flags1[1]
|
has_block = flags1[1]
|
||||||
has_wall = flags1[2]
|
|
||||||
|
|
||||||
has_extended_block_id = flags1[5]
|
has_extended_block_id = flags1[5]
|
||||||
has_extended_wall_id = flags3[6]
|
|
||||||
|
|
||||||
is_block_active = not flags3[2]
|
|
||||||
is_block_painted = flags3[3]
|
is_block_painted = flags3[3]
|
||||||
is_wall_painted = flags3[4]
|
is_block_active = not flags3[2]
|
||||||
is_block_echo = flags4[1]
|
is_block_echo = flags4[1]
|
||||||
is_wall_echo = flags4[2]
|
|
||||||
is_block_illuminant = flags4[3]
|
is_block_illuminant = flags4[3]
|
||||||
|
|
||||||
|
has_wall = flags1[2]
|
||||||
|
has_extended_wall_id = flags3[6]
|
||||||
|
is_wall_painted = flags3[4]
|
||||||
|
is_wall_echo = flags4[2]
|
||||||
is_wall_illuminant = flags4[4]
|
is_wall_illuminant = flags4[4]
|
||||||
|
|
||||||
liquid_type = LiquidType.from_flags(flags1, flags3)
|
liquid_type = LiquidType.from_flags(flags1, flags3)
|
||||||
|
@ -325,14 +324,29 @@ class World:
|
||||||
|
|
||||||
# Parse wall
|
# Parse wall
|
||||||
if has_wall:
|
if has_wall:
|
||||||
if has_extended_wall_id:
|
wall_type_l = fr.uint1()
|
||||||
wall_type = WallType(fr.uint2())
|
|
||||||
else:
|
|
||||||
wall_type = WallType(fr.uint1())
|
|
||||||
if is_wall_painted:
|
if is_wall_painted:
|
||||||
wall_paint = fr.uint1()
|
wall_paint = fr.uint1()
|
||||||
else:
|
else:
|
||||||
wall_paint = None
|
wall_paint = None
|
||||||
|
else:
|
||||||
|
wall_type_l = 0
|
||||||
|
wall_paint = None
|
||||||
|
|
||||||
|
# Parse liquid
|
||||||
|
if liquid_type != LiquidType.NO_LIQUID:
|
||||||
|
liquid = Liquid(type_=liquid_type, volume=fr.uint1())
|
||||||
|
else:
|
||||||
|
liquid = None
|
||||||
|
|
||||||
|
# Parse wall, again
|
||||||
|
if has_extended_wall_id:
|
||||||
|
wall_type_g = fr.uint1()
|
||||||
|
else:
|
||||||
|
wall_type_g = 0
|
||||||
|
|
||||||
|
if has_wall:
|
||||||
|
wall_type = WallType(wall_type_g * 256 + wall_type_l)
|
||||||
wall = Wall(
|
wall = Wall(
|
||||||
type_=wall_type,
|
type_=wall_type,
|
||||||
paint=wall_paint,
|
paint=wall_paint,
|
||||||
|
@ -342,12 +356,6 @@ class World:
|
||||||
else:
|
else:
|
||||||
wall = None
|
wall = None
|
||||||
|
|
||||||
# Parse liquid
|
|
||||||
if liquid_type != LiquidType.NO_LIQUID:
|
|
||||||
liquid = Liquid(type_=liquid_type, volume=fr.uint1())
|
|
||||||
else:
|
|
||||||
liquid = None
|
|
||||||
|
|
||||||
# Find RLE Compression multiplier
|
# Find RLE Compression multiplier
|
||||||
if rle_compression == RLEEncoding.DOUBLE_BYTE:
|
if rle_compression == RLEEncoding.DOUBLE_BYTE:
|
||||||
multiply_by = fr.uint2() + 1
|
multiply_by = fr.uint2() + 1
|
||||||
|
|
Loading…
Reference in a new issue