Palworld-co-op-to-server-fix/lib/rawdata/debug.py

28 lines
905 B
Python

from typing import Any
from lib.archive import *
def decode(
reader: FArchiveReader, type_name: str, size: int, path: str
) -> dict[str, Any]:
if type_name != "ArrayProperty":
raise Exception(f"Expected ArrayProperty, got {type_name}")
value = reader.property(type_name, size, path, allow_custom=False)
debug_bytes = value["value"]["values"]
if len(debug_bytes) > 0:
debug_str = "".join(f"{b:02x}" for b in debug_bytes)
# if debug_str != "00000000000000000000000000000000":
print(debug_str)
# print(bytes(debug_bytes))
return value
def encode(
writer: FArchiveWriter, property_type: str, properties: dict[str, Any]
) -> int:
if property_type != "ArrayProperty":
raise Exception(f"Expected ArrayProperty, got {property_type}")
del properties["custom_type"]
return writer.property_inner(property_type, properties)