Update templates
This commit is contained in:
@@ -42,7 +42,7 @@ class Object(recordclass.RecordClass, use_weakref=True): # type: ignore
|
|||||||
CRC: Optional[int] = None
|
CRC: Optional[int] = None
|
||||||
PCode: Optional[tmpls.PCode] = None
|
PCode: Optional[tmpls.PCode] = None
|
||||||
Material: Optional[tmpls.MCode] = None
|
Material: Optional[tmpls.MCode] = None
|
||||||
ClickAction: Optional[int] = None
|
ClickAction: Optional[tmpls.ClickAction] = None
|
||||||
Scale: Optional[Vector3] = None
|
Scale: Optional[Vector3] = None
|
||||||
ParentID: Optional[int] = None
|
ParentID: Optional[int] = None
|
||||||
# Actually contains a weakref proxy
|
# Actually contains a weakref proxy
|
||||||
@@ -243,6 +243,7 @@ def normalize_object_update(block: Block, handle: int):
|
|||||||
"NameValue": block.deserialize_var("NameValue", make_copy=False),
|
"NameValue": block.deserialize_var("NameValue", make_copy=False),
|
||||||
"TextureAnim": block.deserialize_var("TextureAnim", make_copy=False),
|
"TextureAnim": block.deserialize_var("TextureAnim", make_copy=False),
|
||||||
"ExtraParams": block.deserialize_var("ExtraParams", make_copy=False) or {},
|
"ExtraParams": block.deserialize_var("ExtraParams", make_copy=False) or {},
|
||||||
|
"ClickAction": block.deserialize_var("ClickAction", make_copy=False),
|
||||||
"PSBlock": block.deserialize_var("PSBlock", make_copy=False).value,
|
"PSBlock": block.deserialize_var("PSBlock", make_copy=False).value,
|
||||||
"UpdateFlags": block.deserialize_var("UpdateFlags", make_copy=False),
|
"UpdateFlags": block.deserialize_var("UpdateFlags", make_copy=False),
|
||||||
"State": block.deserialize_var("State", make_copy=False),
|
"State": block.deserialize_var("State", make_copy=False),
|
||||||
@@ -435,8 +436,8 @@ class FastObjectUpdateCompressedDataDeserializer:
|
|||||||
"PCode": pcode,
|
"PCode": pcode,
|
||||||
"State": state,
|
"State": state,
|
||||||
"CRC": crc,
|
"CRC": crc,
|
||||||
"Material": material,
|
"Material": tmpls.MCode(material),
|
||||||
"ClickAction": click_action,
|
"ClickAction": tmpls.ClickAction(click_action),
|
||||||
"Scale": scale,
|
"Scale": scale,
|
||||||
"Position": pos,
|
"Position": pos,
|
||||||
"Rotation": rot,
|
"Rotation": rot,
|
||||||
|
|||||||
@@ -980,6 +980,7 @@ class MCode(IntEnum):
|
|||||||
# What's in the high nybble, anything?
|
# What's in the high nybble, anything?
|
||||||
STONE = 0
|
STONE = 0
|
||||||
METAL = 1
|
METAL = 1
|
||||||
|
GLASS = 2
|
||||||
WOOD = 3
|
WOOD = 3
|
||||||
FLESH = 4
|
FLESH = 4
|
||||||
PLASTIC = 5
|
PLASTIC = 5
|
||||||
@@ -1688,6 +1689,24 @@ class SoundFlags(IntFlag):
|
|||||||
STOP = 1 << 5
|
STOP = 1 << 5
|
||||||
|
|
||||||
|
|
||||||
|
@se.enum_field_serializer("ObjectClickAction", "ObjectData", "ClickAction")
|
||||||
|
@se.enum_field_serializer("ObjectUpdate", "ObjectData", "ClickAction")
|
||||||
|
class ClickAction(IntEnum):
|
||||||
|
# "NONE" is also used as an alias for "TOUCH"
|
||||||
|
TOUCH = 0
|
||||||
|
SIT = 1
|
||||||
|
BUY = 2
|
||||||
|
PAY = 3
|
||||||
|
OPEN = 4
|
||||||
|
PLAY = 5
|
||||||
|
OPEN_MEDIA = 6
|
||||||
|
ZOOM = 7
|
||||||
|
DISABLED = 8
|
||||||
|
IGNORE = 9
|
||||||
|
# I've seen this in practice, not clear what it is.
|
||||||
|
UNKNOWN = 255
|
||||||
|
|
||||||
|
|
||||||
class CompressedFlags(IntFlag):
|
class CompressedFlags(IntFlag):
|
||||||
SCRATCHPAD = 1
|
SCRATCHPAD = 1
|
||||||
TREE = 1 << 1
|
TREE = 1 << 1
|
||||||
@@ -1722,7 +1741,7 @@ class ObjectUpdateCompressedDataSerializer(se.SimpleSubfieldSerializer):
|
|||||||
"State": ObjectStateAdapter(se.U8),
|
"State": ObjectStateAdapter(se.U8),
|
||||||
"CRC": se.U32,
|
"CRC": se.U32,
|
||||||
"Material": se.IntEnum(MCode, se.U8),
|
"Material": se.IntEnum(MCode, se.U8),
|
||||||
"ClickAction": se.U8,
|
"ClickAction": se.IntEnum(ClickAction, se.U8),
|
||||||
"Scale": se.Vector3,
|
"Scale": se.Vector3,
|
||||||
"Position": se.Vector3,
|
"Position": se.Vector3,
|
||||||
"Rotation": se.PackedQuat(se.Vector3),
|
"Rotation": se.PackedQuat(se.Vector3),
|
||||||
|
|||||||
Reference in New Issue
Block a user