Update level data packing
parent
188c2e30a5
commit
ab2928fab9
|
@ -61,8 +61,18 @@ if not ids_tiletype_map:
|
||||||
|
|
||||||
pprint.pprint(ids_tiletype_map)
|
pprint.pprint(ids_tiletype_map)
|
||||||
|
|
||||||
|
def get_level_order(lvl) -> int:
|
||||||
|
order = 65535;
|
||||||
|
for data in lvl['fieldInstances']:
|
||||||
|
if data["__identifier"] == "Order":
|
||||||
|
order = data["__value"]
|
||||||
|
return order
|
||||||
|
|
||||||
|
all_levels = level_pack_data["levels"]
|
||||||
|
all_levels.sort(key=get_level_order)
|
||||||
|
|
||||||
# Number of levels is the length of the levels
|
# Number of levels is the length of the levels
|
||||||
n_levels = len(level_pack_data["levels"])
|
n_levels = len(all_levels)
|
||||||
print("Number of levels:", n_levels)
|
print("Number of levels:", n_levels)
|
||||||
|
|
||||||
fileparts = args.filename.split('.')
|
fileparts = args.filename.split('.')
|
||||||
|
@ -76,17 +86,20 @@ converted_filename = '.'.join(fileparts)
|
||||||
with open(converted_filename, 'wb+') as out_file:
|
with open(converted_filename, 'wb+') as out_file:
|
||||||
out_file.write(struct.pack("<I", n_levels))
|
out_file.write(struct.pack("<I", n_levels))
|
||||||
# Then loop the levels. Read the layerIndstances
|
# Then loop the levels. Read the layerIndstances
|
||||||
for level in level_pack_data["levels"]:
|
for level in all_levels:
|
||||||
n_chests : int = 0
|
n_chests : int = 0
|
||||||
# Search for __identifier for the level layout
|
# Search for __identifier for the level layout
|
||||||
level_name = level["identifier"]
|
level_name = ""
|
||||||
print("Parsing level", level_name)
|
|
||||||
|
|
||||||
level_metadata = level['fieldInstances']
|
level_metadata = level['fieldInstances']
|
||||||
level_tileset = 0;
|
level_tileset = 0;
|
||||||
for data in level_metadata:
|
for data in level_metadata:
|
||||||
if data["__identifier"] == "TileSet":
|
if data["__identifier"] == "TileSet":
|
||||||
level_tileset = data["__value"]
|
level_tileset = data["__value"]
|
||||||
|
if data["__identifier"] == "Name":
|
||||||
|
level_name = data["__value"]
|
||||||
|
|
||||||
|
print("Parsing level", level_name)
|
||||||
|
|
||||||
level_layout = {}
|
level_layout = {}
|
||||||
entity_layout = {}
|
entity_layout = {}
|
||||||
|
|
|
@ -97,10 +97,10 @@ static void level_select_do_action(Scene_t* scene, ActionType_t action, bool pre
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FONT_SIZE 30
|
#define FONT_SIZE 15
|
||||||
#define TEXT_PADDING 3
|
#define TEXT_PADDING 3
|
||||||
#define DISPLAY_AREA_HEIGHT 200
|
#define DISPLAY_AREA_HEIGHT 400
|
||||||
#define SCROLL_TOTAL_HEIGHT 300
|
#define SCROLL_TOTAL_HEIGHT 400
|
||||||
void init_level_select_scene(LevelSelectScene_t* scene)
|
void init_level_select_scene(LevelSelectScene_t* scene)
|
||||||
{
|
{
|
||||||
init_scene(&scene->scene, &level_select_do_action, 0);
|
init_scene(&scene->scene, &level_select_do_action, 0);
|
||||||
|
|
Loading…
Reference in New Issue