From 7d19567f1ac1cf4fd6373303e0e767a8adeb89a7 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Thu, 13 Mar 2025 12:44:05 -0400 Subject: Sort panel solve index by location ID --- util/generate_gamedata.rb | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/generate_gamedata.rb b/util/generate_gamedata.rb index 83099ad..7db06ca 100644 --- a/util/generate_gamedata.rb +++ b/util/generate_gamedata.rb @@ -30,10 +30,25 @@ mentioned_warps = Set[] painting_output = {} door_items_by_progressive_id = {} panel_items_by_progressive_id = {} +panel_location_ids = [] +solve_index_by_location = {} ids_config = YAML.load_file(idspath) - config = YAML.load_file(configpath) + +config.each do |room_name, room_data| + if room_data.include? "panels" + room_data["panels"].each do |panel_name, panel| + location_id = ids_config["panels"][room_name][panel_name] + panel_location_ids << location_id + end + end +end + +panel_location_ids.sort.each_with_index do |location_id, index| + solve_index_by_location[location_id] = index +end + config.each do |room_name, room_data| if room_data.include? "panels" room_data["panels"].each do |panel_name, panel| @@ -45,6 +60,7 @@ config.each do |room_name, room_data| ret = {} ret["id"] = "\"#{panel["id"]}\"" ret["loc"] = location_id + ret["solve_index"] = solve_index_by_location[location_id] if panel.include? "colors" if panel["colors"].kind_of? String ret["color"] = "[\"#{panel["colors"]}\"]" @@ -73,9 +89,6 @@ config.each do |room_name, room_data| if panel.include? "achievement" ret["achievement"] = "\"#{panel["achievement"]}\"" end - if panel.include? "hunt" and panel["hunt"] - ret["hunt"] = "true" - end panel_output << ret panel_ids_by_location_id[location_id] = [panel["id"]] -- cgit 1.4.1