diff --git a/res/ldtk_repacker.py b/res/ldtk_repacker.py index 85d918d..239d23f 100644 --- a/res/ldtk_repacker.py +++ b/res/ldtk_repacker.py @@ -61,8 +61,18 @@ if not 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 -n_levels = len(level_pack_data["levels"]) +n_levels = len(all_levels) print("Number of levels:", n_levels) fileparts = args.filename.split('.') @@ -76,17 +86,20 @@ converted_filename = '.'.join(fileparts) with open(converted_filename, 'wb+') as out_file: out_file.write(struct.pack("scene, &level_select_do_action, 0);