diff --git a/preprocessor.py b/preprocessor.py index 3a3633002..f5dd205b2 100644 --- a/preprocessor.py +++ b/preprocessor.py @@ -16,20 +16,28 @@ from extras.pokemontools.crystal import ( 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 chars = { "ガ": 0x05, @@ -650,4 +658,4 @@ def preprocess(macros, lines=None): # only run against stdin when not included as a module if __name__ == "__main__": - preprocess(macros) + preprocess(load_pokecrystal_macros()) diff --git a/prequeue.py b/prequeue.py index ec6cd9e39..2c8f4cf5a 100644 --- a/prequeue.py +++ b/prequeue.py @@ -14,4 +14,4 @@ if __name__ == '__main__': 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())