Batman: Arkham Origins [Special Edition]

BLAS50649.savepatch

1. Decompress SPBATMAN (Required)

Target File: SPBATMAN

import uzlib
zip_offset = uzlib.offzip(savedata, 15)
unzip_data = uzlib.decompress(savedata[zip_offset[1][0]:], 15)
print("Zip offset: 0x{:08X}".format(zip_offset[1][0]))
print("Compressed size:", zip_offset[1][1])
print("Decompressed size:", zip_offset[1][2])

2. 9000000 XP

Target File: SPBATMAN

#search "VoiceOfThePeople"
#write next (73):0x00895440
import apollo
swcode = """
80010010 566F6963
654F6654 68655065
6F706C65 00000000
28000049 00895440
"""
apollo.apply_savewizard(unzip_data, swcode)

3. 99 Upgrade points

Target File: SPBATMAN

#search "VoiceOfThePeople"
#write next (32):0x63
import apollo
swcode = """
80010010 566F6963
654F6654 68655065
6F706C65 00000000
08000020 00000063
"""
apollo.apply_savewizard(unzip_data, swcode)

4. Compress SPBATMAN (Required)

Target File: SPBATMAN

import uzlib
print("Compressing bytes:", len(unzip_data))
print("Compress offset: 0x{:08X}".format(zip_offset[1][0]))
savedata = uzlib.packzip(savedata, zip_offset[1], unzip_data)
print("New compressed size:", zip_offset[1][1])

5. Update CRC32Big for SPBATMAN (Required)

Target File: SPBATMAN

set pointer:eof-3
set range:0x000000,pointer
set [hash]:CRC32Big
set pointer:eof-3
write next (0):[hash]