mirror of
https://github.com/zeldaret/mm.git
synced 2024-12-01 00:30:45 +00:00
parent
cf1da451aa
commit
aae6d9d364
54
tools/actorfixer.py
Executable file
54
tools/actorfixer.py
Executable file
@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import argparse
|
||||
|
||||
# "old": "new"
|
||||
animdict ={
|
||||
"Actor_GetSwitchFlag": "Flags_GetSwitch",
|
||||
}
|
||||
|
||||
def replace_anim(file):
|
||||
with open(file,'r',encoding = 'utf-8') as infile:
|
||||
srcdata = infile.read()
|
||||
|
||||
funcs = list(animdict.keys())
|
||||
fixes = 0
|
||||
for func in funcs:
|
||||
newfunc = animdict.get(func)
|
||||
if(newfunc is None):
|
||||
print("How did this happen?")
|
||||
return -1
|
||||
if(func in srcdata):
|
||||
fixes += 1
|
||||
print(func)
|
||||
srcdata = srcdata.replace(func, newfunc)
|
||||
|
||||
if(fixes > 0):
|
||||
print('Changed', fixes,'entr' + ('y' if fixes == 1 else 'ies') + ' in',file)
|
||||
with open(file, 'w', encoding = 'utf-8', newline = '\n') as outfile:
|
||||
outfile.write(srcdata)
|
||||
return 1
|
||||
|
||||
def replace_anim_all(repo):
|
||||
for subdir, dirs, files in os.walk(repo + os.sep + 'src'):
|
||||
for filename in files:
|
||||
if(filename.endswith('.c')):
|
||||
file = subdir + os.sep + filename
|
||||
replace_anim(file)
|
||||
for subdir, dirs, files in os.walk(repo + os.sep + 'asm' + os.sep + 'non_matchings'):
|
||||
for filename in files:
|
||||
if(filename.endswith('.s')):
|
||||
file = subdir + os.sep + filename
|
||||
replace_anim(file)
|
||||
return 1
|
||||
|
||||
parser = argparse.ArgumentParser(description='Update to the new animation names')
|
||||
parser.add_argument('file', help="source file to be processed. use . to process the whole repo", default = None)
|
||||
|
||||
if __name__ == "__main__":
|
||||
args = parser.parse_args()
|
||||
if(args.file == '.'):
|
||||
replace_anim_all(os.curdir)
|
||||
else:
|
||||
replace_anim(args.file)
|
Loading…
Reference in New Issue
Block a user