BioShock 2
BLES00728.savepatch
1. Decompress MAINSAVE.BSG (Required)
Target File: BLES00728-*\MAINSAVE.BSG
import uzlib
zip_offset = uzlib.offzip(savedata, 15)
zip_id = 0
unzip_data = uzlib.decompress(savedata[zip_offset[zip_id][0]:], 15)
print("Zip offset: 0x{:08X}".format(zip_offset[zip_id][0]))
print("Compressed size:", zip_offset[zip_id][1])
print("Decompressed size:", zip_offset[zip_id][2])
2. Max Money
Target File: BLES00728-*\MAINSAVE.BSG
import apollo
sw_code = """
80010008 03000000
00220000 00000000
18000008 000003E7
80010008 02000000
00220000 00000000
18000008 000003E7
"""
apollo.apply_savewizard(unzip_data, sw_code)
3. Max ADAM
Target File: BLES00728-*\MAINSAVE.BSG
import apollo
sw_code = """
80010008 03000000
00220000 00000000
18000012 0000270F
80010008 02000000
00220000 00000000
18000012 0000270F
"""
apollo.apply_savewizard(unzip_data, sw_code)
4. Compress MAINSAVE.BSG (Required)
Target File: MAINSAVE.BSG
import uzlib
print("Compressing bytes:", len(unzip_data))
print("Compress offset: 0x{:08X}".format(zip_offset[zip_id][0]))
print("Old compressed size:", zip_offset[zip_id][1])
savedata = uzlib.packzip(savedata, zip_offset[zip_id], unzip_data)
print("New compressed size:", zip_offset[zip_id][1])