From 04982d919cb6c8f3fb5413d99bb110cec2d063cd Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Fri, 12 Apr 2024 18:36:04 -0700 Subject: [PATCH] fix 11/2000 set data table --- src/Map.cc | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Map.cc b/src/Map.cc index 332bb3d7..190b478c 100644 --- a/src/Map.cc +++ b/src/Map.cc @@ -2184,24 +2184,25 @@ pair SetDataTableDC112000::num_free_roam_variations_for_floo string SetDataTableDC112000::map_filename_for_variation( uint8_t floor, uint32_t var1, uint32_t var2, Episode, GameMode, FilenameType type) const { - if (floor >= this->NAMES.size()) { + try { + string basename = this->NAMES.at(floor).at(var1).at(var2); + switch (type) { + case FilenameType::ENEMIES: + basename += "e.dat"; + break; + case FilenameType::OBJECTS: + basename += "o.dat"; + break; + case FilenameType::EVENTS: + basename += ".evt"; + break; + default: + throw logic_error("invalid map filename type"); + } + return basename; + } catch (const out_of_range&) { return ""; } - string basename = this->NAMES.at(floor).at(var1).at(var2); - switch (type) { - case FilenameType::ENEMIES: - basename += "e.dat"; - break; - case FilenameType::OBJECTS: - basename += "o.dat"; - break; - case FilenameType::EVENTS: - basename += ".evt"; - break; - default: - throw logic_error("invalid map filename type"); - } - return basename; } static const vector map_file_info_dc_nte = {