45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
|
# this can be used to upgrade disassemblies that aren't too annotated.
|
||
|
# won't do very well on the current zelda disasm.
|
||
|
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
def GetPrefixLine(l, a):
|
||
|
for s in a:
|
||
|
if s[0:len(l)] == l:
|
||
|
return s
|
||
|
return ""
|
||
|
|
||
|
def GetComment(l):
|
||
|
comment_start = l.find("//")
|
||
|
if comment_start < 0:
|
||
|
comment_start = l.find("->")
|
||
|
if comment_start < 0:
|
||
|
return ""
|
||
|
|
||
|
while (l[comment_start-1] == ' ') or (l[comment_start-1] == '\t'):
|
||
|
comment_start -= 1
|
||
|
|
||
|
return l[comment_start:]
|
||
|
|
||
|
|
||
|
def main():
|
||
|
old_lines = open("DSP_UC_Zelda.txt", "r").readlines()
|
||
|
# for l in old_lines:
|
||
|
# print l
|
||
|
new_lines = open("zeldanew.txt", "r").readlines()
|
||
|
|
||
|
for i in range(0, len(old_lines)):
|
||
|
prefix = old_lines[i][0:14]
|
||
|
comment = GetComment(old_lines[i])
|
||
|
new_line = GetPrefixLine(prefix, new_lines)
|
||
|
if new_line:
|
||
|
old_lines[i] = new_line[:-1] + comment[:-1] + "\n"
|
||
|
|
||
|
for i in range(0, len(old_lines)):
|
||
|
print old_lines[i],
|
||
|
|
||
|
new_file = open("output.txt", "w")
|
||
|
new_file.writelines(old_lines)
|
||
|
|
||
|
main()
|