summaryrefslogtreecommitdiff
path: root/tools/regconvert.py
diff options
context:
space:
mode:
authorMMDecomp <mmdecomp@anon.tld>2020-06-23 01:08:52 +0200
committerKenix3 <kenixwhisperwind@gmail.com>2020-06-23 10:55:11 -0400
commit7d61d4e6ff2e15dc3c7f166d407a203594a9c90b (patch)
tree50afd8556a5521ba8a7b62320a5e8ae6d40ff824 /tools/regconvert.py
parent2d191e301a4d6a4a49b62b31b17110c17df2afb5 (diff)
Decompile `game.c`
Diffstat (limited to 'tools/regconvert.py')
-rw-r--r--tools/regconvert.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/regconvert.py b/tools/regconvert.py
new file mode 100644
index 000000000..fdc1090b6
--- /dev/null
+++ b/tools/regconvert.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+import argparse
+
+GROUP_SIZE = 0x60
+DATA_OFFSET = 0x14
+
+REGISTER_NAMES = " SOPQMYDUIZCNKXcsiWAVHGmnBdkb"
+
+def get_reg_macro(offset):
+ reg = (offset - DATA_OFFSET) // 2
+ group = reg // GROUP_SIZE
+ reg_in_group = reg % GROUP_SIZE
+ return "%cREG(%d)\n" % (REGISTER_NAMES[group], reg_in_group)
+
+def main():
+ parser = argparse.ArgumentParser(description="Converts a GameInfo offset to a REG macro.")
+ parser.add_argument("offset", help="offset to GameInfo in hexadecimal")
+ args = parser.parse_args()
+ print(get_reg_macro(int(args.offset, 16)))
+
+if __name__ == "__main__":
+ main()