shithub: pokecrystal

Download patch

ref: 5815edf382d586e84db8d08612d5f4d1c2e7ac96
parent: 63c2dc2f1ffb3ec93f8fb6b97b0b909c36ecc0bf
author: Bryan Bishop <[email protected]>
date: Sat Aug 31 06:13:17 EDT 2013

refactor preprocessor macros into a function

Remove the "macros" global and instead use a function to construct a
list of macros.

--- a/preprocessor.py
+++ b/preprocessor.py
@@ -16,21 +16,29 @@
     effect_classes,
 )
 
-even_more_macros = [
-    Warp,
-    XYTrigger,
-    Signpost,
-    PeopleEvent,
-    DataByteWordMacro,
-]
+def load_pokecrystal_macros():
+    """
+    Construct a list of macros that are needed for pokecrystal preprocessing.
+    """
+    ourmacros = []
 
-macros = command_classes
-macros += even_more_macros
-macros += [each[1] for each in text_command_classes]
-macros += movement_command_classes
-macros += music_classes
-macros += effect_classes
+    even_more_macros = [
+        Warp,
+        XYTrigger,
+        Signpost,
+        PeopleEvent,
+        DataByteWordMacro,
+    ]
 
+    ourmacros += command_classes
+    ourmacros += even_more_macros
+    ourmacros += [each[1] for each in text_command_classes]
+    ourmacros += movement_command_classes
+    ourmacros += music_classes
+    ourmacros += effect_classes
+
+    return ourmacros
+
 # show lines before preprocessing in stdout
 show_original_lines = False
 
@@ -628,4 +636,4 @@
 
 # only run against stdin when not included as a module
 if __name__ == "__main__":
-    preprocess(macros)
+    preprocess(load_pokecrystal_macros())
--- a/prequeue.py
+++ b/prequeue.py
@@ -14,4 +14,4 @@
         dest = os.path.splitext(source)[0] + '.tx'
         sys.stdin  = open(source, 'r')
         sys.stdout = open(dest, 'w')
-        preprocessor.preprocess(preprocessor.macros)
+        preprocessor.preprocess(preprocessor.load_pokecrystal_macros())