mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-17 21:35:11 +00:00
matched Math3D_CylVsLineSeg and fixed a Math_ error (#564)
* matched cylvsline * slight name adjustment * format * and asm * comment cleanup * fixed misspelling and added mathfixer tool * formatting Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
parent
b95643b397
commit
3727cc38b8
36 changed files with 382 additions and 1048 deletions
69
tools/mathfixer.py
Normal file
69
tools/mathfixer.py
Normal file
|
@ -0,0 +1,69 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import argparse
|
||||
|
||||
mathdict ={"Math_Rand_":"Rand_",
|
||||
"func_800CA540(":"Math_FactorialF(",
|
||||
"func_800CA63C(":"Math_Factorial(",
|
||||
"func_800CA6FC(":"Math_PowF(",
|
||||
"func_800CA720(":"Math_SinF(",
|
||||
"func_800CA774(":"Math_CosF(",
|
||||
"Math_atan2f(":"Math_FAtan2F(",
|
||||
"atan2f(":"Math_Atan2F(",
|
||||
"atan2s(":"Math_Atan2S(",
|
||||
"Math_Coss(":"Math_CosS(",
|
||||
"Math_Sins(":"Math_SinS(",
|
||||
"Math_ApproxUpdateScaledS(":"Math_ScaledStepToS(",
|
||||
"Math_ApproxS(":"Math_StepToS(",
|
||||
"Math_ApproxF(":"Math_StepToF(",
|
||||
"func_80077A90(":"Math_StepUntilAngleS(",
|
||||
"func_80077AF8(":"Math_StepUntilS(",
|
||||
"func_80077B58(":"Math_StepToAngleS(",
|
||||
"func_80077C1C(":"Math_StepUntilF(",
|
||||
"func_80077C6C(":"Math_AsymStepToF(",
|
||||
"Math_SmoothScaleMaxMinF(":"Math_SmoothStepToF(",
|
||||
"Math_SmoothScaleMaxF(":"Math_ApproachF(",
|
||||
"Math_SmoothDownscaleMaxF(":"Math_ApproachZeroF(",
|
||||
"func_800784D8(":"Math_SmoothStepToDegF(",
|
||||
"Math_SmoothScaleMaxMinS(":"Math_SmoothStepToS(",
|
||||
"Math_SmoothScaleMaxS(":"Math_ApproachS("}
|
||||
|
||||
def replace_math(file):
|
||||
with open(file,'r',encoding = 'utf-8') as infile:
|
||||
srcdata = infile.read()
|
||||
|
||||
funcs = list(mathdict.keys())
|
||||
fixes = 0
|
||||
for func in funcs:
|
||||
newfunc = mathdict.get(func)
|
||||
if(newfunc is None):
|
||||
print("How did this happen?")
|
||||
return -1
|
||||
if(func in srcdata):
|
||||
fixes += 1
|
||||
srcdata = srcdata.replace(func, newfunc)
|
||||
|
||||
|
||||
if(fixes > 0):
|
||||
print('Changed', fixes,'function' + ('' if fixes == 1 else 's') + ' in',file)
|
||||
with open(file, 'w', encoding = 'utf-8', newline = '\n') as outfile:
|
||||
outfile.write(srcdata)
|
||||
return 1
|
||||
|
||||
def replace_math_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_math(file)
|
||||
for subdir, dirs, files in os.walk(repo + os.sep + 'asm' + os.sep + 'non_matchings'):
|
||||
for filename in files:
|
||||
if(filename.endswith('.c')):
|
||||
file = subdir + os.sep + filename
|
||||
replace_math(file)
|
||||
return 1
|
||||
|
||||
if __name__ == "__main__":
|
||||
repo = os.curdir
|
||||
replace_math_all(repo)
|
Loading…
Add table
Add a link
Reference in a new issue