Rework scripts to work for single tileset
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
import json
|
||||
import os.path
|
||||
|
||||
from extract_common import *
|
||||
|
||||
writer = ExtractFileWriter("")
|
||||
|
||||
writer.include("<breeze.h>")
|
||||
writer = ExtractFileWriter("game_tileset")
|
||||
|
||||
|
||||
def extract_by_property(tiles, key):
|
||||
@@ -21,13 +20,39 @@ def extract_by_property(tiles, key):
|
||||
|
||||
content = open("../rawAssets/game.tsj").read()
|
||||
tiles = json.loads(content)["tiles"]
|
||||
terrain = extract_by_property(tiles, "terrain")
|
||||
building = extract_by_property(tiles, "building")
|
||||
entity = extract_by_property(tiles, "entity")
|
||||
print(terrain)
|
||||
|
||||
|
||||
writer.output(f"// This file was generated by: {__file__}\n\n")
|
||||
|
||||
terrain_tiles = extract_by_property(tiles, "terrain")
|
||||
building_tiles = extract_by_property(tiles, "building")
|
||||
entity_tiles = extract_by_property(tiles, "entity")
|
||||
|
||||
writer.header_guard_start()
|
||||
script_name = os.path.basename(__file__)
|
||||
writer.output(f"// This file was generated by: {script_name}\n\n")
|
||||
writer.include("<breeze.h>")
|
||||
writer.include("<string.h>")
|
||||
|
||||
writer.empty_line()
|
||||
writer.output_anim_sequence_struct()
|
||||
writer.output_anim_frame_struct()
|
||||
|
||||
terrain_writer = EnumWriter(writer, "terrain", terrain_tiles)
|
||||
building_writer = EnumWriter(writer, "building", building_tiles)
|
||||
entity_writer = EnumWriter(writer, "entity", entity_tiles)
|
||||
|
||||
terrain_writer.output_enum()
|
||||
terrain_writer.output_tile_has_anim("terrainHasAnimation")
|
||||
terrain_writer.output_tile_anim_sequence("terrainGetAnimationSequence")
|
||||
terrain_writer.output_tile_anim_frame("terrainGetAnimationFrame")
|
||||
writer.empty_line()
|
||||
|
||||
building_writer.output_enum()
|
||||
building_writer.output_tile_to_enum("getTileBuilding")
|
||||
building_writer.output_enum_to_tile("getBuildingTile")
|
||||
building_writer.output_str_to_enum("getBuildingFromStr")
|
||||
building_writer.output_enum_to_str("getBuildingStr")
|
||||
building_writer.output_enum_tile_size("getBuildingSize")
|
||||
writer.empty_line()
|
||||
|
||||
writer.header_guard_stop()
|
||||
|
||||
|
||||
writer.to_file("../game/game_tileset.h")
|
||||
|
||||
Reference in New Issue
Block a user