pokecrystal-board/preprocessor.py

77 lines
1.6 KiB
Python
Raw Normal View History

2012-03-04 23:05:36 -08:00
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
2013-09-26 15:26:00 -07:00
import extras.pokemontools.configuration as configuration
import extras.pokemontools.preprocessor as preprocessor
from extras.pokemontools.crystal import (
2013-01-10 13:07:36 -08:00
command_classes,
Warp,
XYTrigger,
Signpost,
PeopleEvent,
DataByteWordMacro,
text_command_classes,
movement_command_classes,
2013-01-27 15:45:23 -08:00
music_classes,
2013-03-29 15:54:13 -07:00
effect_classes,
ChannelCommand,
OctaveCommand,
)
from extras.pokemontools.audio import (
Note,
Noise,
SoundCommand,
2013-01-10 13:07:36 -08:00
)
2012-04-26 12:14:46 -07:00
2013-12-19 01:49:20 -08:00
from extras.pokemontools.battle_animations import (
BattleAnimWait,
2013-12-19 01:49:20 -08:00
battle_animation_classes,
)
def load_pokecrystal_macros():
"""
Construct a list of macros that are needed for pokecrystal preprocessing.
"""
ourmacros = []
even_more_macros = [
Warp,
XYTrigger,
Signpost,
PeopleEvent,
DataByteWordMacro,
ChannelCommand,
OctaveCommand,
Note,
Noise,
SoundCommand,
]
2013-01-27 15:45:23 -08:00
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
ourmacros += battle_animation_classes + [BattleAnimWait]
2012-04-26 12:14:46 -07:00
return ourmacros
2012-04-26 12:14:46 -07:00
def setup_processor():
config = configuration.Config()
macros = load_pokecrystal_macros()
2013-09-02 08:41:50 -07:00
processor = preprocessor.Preprocessor(config, macros)
return processor
2013-08-31 10:12:09 -07:00
def main():
processor = setup_processor()
processor.preprocess()
# only run against stdin when not included as a module
if __name__ == "__main__":
2013-08-31 10:12:09 -07:00
main()