From e7a52305cd970c07c889101c6fb2ac42cc75b031 Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 9 Mar 2026 22:43:34 +0100 Subject: [PATCH] Tools/Map extractor: Minor optimization in MCNK parsing loop - look up end iterator once --- src/tools/map_extractor/System.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 9e02a67251..e50692820c 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -28,6 +28,7 @@ #include "Common.h" #include "MapDefines.h" +#include "IteratorPair.h" #include "StringFormat.h" #include "Util.h" #ifdef PLATFORM_WINDOWS @@ -484,9 +485,9 @@ bool ConvertADT(std::string const& inputPath, std::string const& outputPath, int bool hasHoles = false; bool hasFlightBox = false; - for (std::multimap::const_iterator itr = adt.chunks.lower_bound("MCNK"); itr != adt.chunks.upper_bound("MCNK"); ++itr) + for (auto const& [_, rawChunk] : Trinity::Containers::MapEqualRange(adt.chunks, "MCNK")) { - adt_MCNK* mcnk = itr->second->As(); + adt_MCNK* mcnk = rawChunk->As(); // Area data area_ids[mcnk->iy][mcnk->ix] = mcnk->areaid; @@ -531,7 +532,7 @@ bool ConvertADT(std::string const& inputPath, std::string const& outputPath, int } // Get custom height - if (FileChunk* chunk = itr->second->GetSubChunk("MCVT")) + if (FileChunk* chunk = rawChunk->GetSubChunk("MCVT")) { adt_MCVT* mcvt = chunk->As(); // get V9 height map @@ -560,7 +561,7 @@ bool ConvertADT(std::string const& inputPath, std::string const& outputPath, int // Liquid data if (mcnk->sizeMCLQ > 8) { - if (FileChunk* chunk = itr->second->GetSubChunk("MCLQ")) + if (FileChunk* chunk = rawChunk->GetSubChunk("MCLQ")) { adt_MCLQ* liquid = chunk->As(); int count = 0;