From ab2928fab9703e058c40436e8ba642a485590240 Mon Sep 17 00:00:00 2001 From: En Yi Date: Sat, 9 Nov 2024 15:02:51 +0800 Subject: [PATCH] Update level data packing --- res/ldtk_repacker.py | 21 +++++++++++++++++---- scenes/level_select_scene.c | 6 +++--- 2 files changed, 20 insertions(+), 7 deletions(-) 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);