From c004d0ca36c4c3befc49ed9523b5aa737fae6221 Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Sat, 6 Apr 2024 03:53:47 +0800 Subject: [PATCH] fix: don't error out on not reading eof for item containers (#171) --- palworld_save_tools/rawdata/item_container.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/palworld_save_tools/rawdata/item_container.py b/palworld_save_tools/rawdata/item_container.py index 3d45b98..2b4036c 100644 --- a/palworld_save_tools/rawdata/item_container.py +++ b/palworld_save_tools/rawdata/item_container.py @@ -27,7 +27,7 @@ def decode_bytes( "item_static_ids": reader.tarray(lambda r: r.fstring()), } if not reader.eof(): - raise Exception("Warning: EOF not reached") + data["trailing_unparsed_data"] = [b for b in reader.read_to_end()] return data @@ -51,5 +51,7 @@ def encode_bytes(p: dict[str, Any]) -> bytes: writer.tarray( lambda w, d: (w.fstring(d), None)[1], p["permission"]["item_static_ids"] ) + if "trailing_unparsed_data" in p: + writer.write(bytes(p["trailing_unparsed_data"])) encoded_bytes = writer.bytes() return encoded_bytes