#!/usr/bin/python3 import os import re from pathlib import Path script_dir = os.path.dirname(os.path.realpath(__file__)) root_dir = script_dir + "/../" asm_dir = root_dir + "ver/current/asm/" asm_effects_dir = asm_dir + "nonmatchings/effects/" renames = [] # Walk through asm files and rename stuff print("Walking through asm files") for root, dirs, files in os.walk(asm_effects_dir): for f_name in files: if f_name.endswith("_render.s"): f_path = os.path.join(root, f_name) effect_num = f_name.split("_")[1] with open(f_path) as f: asm_text = f.read() funcs = [] for m in re.finditer(r"func_[0-9A-F]{8}", asm_text): func_name = m.group(0) if func_name not in funcs: funcs.append(func_name) if len(funcs) == 1: break if len(funcs) != 1: print("Error: Couldn't find all functions in effect " + effect_num) continue renames.append(f"{funcs[0]} fx_{effect_num}_appendGfx\n") with open("tools/to_rename.txt", "w", newline="\n") as f: f.writelines(renames)