Of the "trivial" texts that the current parser can handle, these are now being inserted in obj_events.
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import sys
|
|
|
|
from pathlib import Path
|
|
|
|
from parse import map_header
|
|
from parse import maps_blocks
|
|
from parse import tileset_constants
|
|
from parse import tileset_headers
|
|
from parse import gfx_tilesets
|
|
from parse import collision_tile_ids
|
|
from parse import map_objects
|
|
from parse import hidden_objects
|
|
from parse import map_constants
|
|
|
|
from parse import gfx_sprites
|
|
from parse import spritesheets
|
|
from parse import sprite_constants
|
|
|
|
from parse import text
|
|
from parse import scripts
|
|
|
|
prefix = Path(sys.argv[1])
|
|
|
|
def memoize(f):
|
|
value = None
|
|
def inner():
|
|
nonlocal value
|
|
if value is None:
|
|
value = f()
|
|
return value
|
|
return inner
|
|
|
|
map_constants_list = memoize(lambda: map_constants.parse(prefix))
|
|
map_headers = memoize(lambda: map_header.parse_all(prefix))
|
|
maps_blocks_list = memoize(lambda: maps_blocks.parse(prefix))
|
|
map_objects_list = memoize(lambda: map_objects.parse_all(prefix))
|
|
|
|
tileset_constants_list = memoize(lambda: tileset_constants.parse(prefix))
|
|
tileset_headers_list = memoize(lambda: tileset_headers.parse(prefix))
|
|
gfx_tilesets_list = memoize(lambda: gfx_tilesets.parse(prefix))
|
|
collision_tile_ids_list = memoize(lambda: collision_tile_ids.parse(prefix))
|
|
hidden_objects_list = memoize(lambda: hidden_objects.parse(prefix))
|
|
|
|
|
|
# need:
|
|
#data/tilesets/pair_collision_tile_ids.asm
|
|
#cut_tree_blocks.asm
|
|
|
|
# home/vcopy: animations
|
|
|
|
# sprites
|
|
gfx_sprites_list = memoize(lambda: gfx_sprites.parse(prefix))
|
|
spritesheets_list = memoize(lambda: spritesheets.parse(prefix))
|
|
sprite_constants_list = memoize(lambda: sprite_constants.parse(prefix))
|
|
|
|
# text
|
|
scripts_list = memoize(lambda: scripts.parse_all(prefix))
|
|
text_list = memoize(lambda: text.parse_all(prefix))
|