F4MP/codigos originales/tiltedcode/Tools/Scripts/address_patcher.py

44 lines
1.2 KiB
Python
Raw Normal View History

import os
from pathlib import Path
# run this script from Tools/Scripts/, and put the 'new_addresses.txt' file there
rootdir = Path(__file__).parent.parent.parent.joinpath("Code").joinpath("client")
# collect all paths in the Client/ folder
paths = []
for subdir, dirs, files in os.walk(rootdir):
for file in files:
if ".h" in file or ".cpp" in file:
paths.append(os.path.join(subdir, file))
with open('new_addresses.txt') as new_addresses:
for address_pair in new_addresses:
address_pair = address_pair.strip().split(',')
is_address_rewritten = False
for path in paths:
with open(path, 'r') as source_file:
file_data = source_file.read()
if address_pair[0] in file_data:
print("found address " + address_pair[0])
file_data = file_data.replace(address_pair[0], address_pair[1])
with open(path, 'w') as source_file:
source_file.write(file_data)
is_address_rewritten = True
# don't break cause the address might be in multiple places
# it obviously shouldnt be, but it be like that rn
#break
if not is_address_rewritten:
print("Address was not found and has not been rewritten! " + address_pair[0])
continue
print("Done patching!")