From 6a5c2174bc7e706a02efa93b0d5cf6ec37f4e4c8 Mon Sep 17 00:00:00 2001 From: Tellow Krinkle Date: Sun, 14 Apr 2019 01:29:54 -0500 Subject: [PATCH] Add asset dumper --- scripts/AssetDumper.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 scripts/AssetDumper.py diff --git a/scripts/AssetDumper.py b/scripts/AssetDumper.py new file mode 100644 index 0000000..21f9dad --- /dev/null +++ b/scripts/AssetDumper.py @@ -0,0 +1,16 @@ +import sys +import os +from unitypack.asset import Asset + + +if len(sys.argv) < 3: + print("This tool dumps assets from asset files for use in diffing\nUsage: " + sys.argv[0] + " assetfile.assets outputFolder\nWill extract all assets from the input file and write them to outputFolder/####.dat") + exit() + +with open(sys.argv[1], "rb") as assetsFile: + asset = Asset.from_file(assetsFile) + for id, obj in asset.objects.items(): + assetsFile.seek(obj.data_offset) + data = assetsFile.read(obj.size) + with open(os.path.join(sys.argv[2], str(id) + ".dat"), "wb") as outfile: + outfile.write(data) \ No newline at end of file