From 9759b3481d53a70bead5069ca3e2a2cc7b349416 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Fri, 6 Jun 2014 09:57:48 +0200 Subject: [PATCH] DEVTOOLS: Skip adding duplicate items in create_neverhood Some sub rectangles point to the same message list, these are now saved only once instead of several times. --- devtools/create_neverhood/create_neverhood.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/devtools/create_neverhood/create_neverhood.cpp b/devtools/create_neverhood/create_neverhood.cpp index a1201cdaa35..fb2912f722a 100644 --- a/devtools/create_neverhood/create_neverhood.cpp +++ b/devtools/create_neverhood/create_neverhood.cpp @@ -467,7 +467,15 @@ public: std::vector lists; void add(LISTCLASS *list) { - lists.push_back(list); + bool doAppend = true; + for (typename std::vector::iterator it = lists.begin(); it != lists.end(); it++) { + if ((*it)->id == list->id) { + doAppend = false; + break; + } + } + if (doAppend) + lists.push_back(list); } void loadListVector(const uint32 *offsets) { @@ -475,7 +483,6 @@ public: LISTCLASS *list = new LISTCLASS(); list->loadList(offsets[i], offsets[i + 1]); bool doAppend = true; - // Bad for (typename std::vector::iterator it = lists.begin(); it != lists.end(); it++) { if ((*it)->id == list->id) { doAppend = false;