F4MP/codigos originales/tiltedcode/Tools/Scripts/addrlib_conv.py
2026-01-06 18:53:59 +01:00

51 lines
1.4 KiB
Python

addresses = {}
with open('out.txt') as f:
lines = f.readlines()
for l in lines:
split_string = l.split("\t")
addresses[split_string[1][:-1]] = split_string[0]
import glob
import re
def handle_file(filename):
if filename == 'Utils.h' or filename == "EventDispatcher.h":
return
with open(filename, 'r') as file :
filedata = file.read()
replace = {}
pointers = [m.start() for m in re.finditer('POINTER_FALLOUT4', filedata)]
if len(pointers) > 0:
for p in pointers:
start_loc = filedata.find('0x', p)
mid_loc = filedata.find(' ', start_loc)
end_loc = filedata.find(')', start_loc)
addr = filedata[start_loc:mid_loc].lower()
try:
id = addresses[addr]
replace[filedata[start_loc:end_loc]] = id
except:
print("Missing " + addr)
#filedata.find( 'POINTER_SKYRIMSE')
if len(replace) > 0:
for fr in replace:
filedata = filedata.replace(fr, replace[fr])
with open(filename, 'w') as file:
file.write(filedata)
# root_dir needs a trailing slash (i.e. /root/dir/)
for filename in glob.iglob('**/*.cpp', recursive=True):
handle_file(filename)
for filename in glob.iglob('**/*.hpp', recursive=True):
handle_file(filename)
for filename in glob.iglob('**/*.h', recursive=True):
handle_file(filename)