diff options
author | johndoe123 | 2014-06-06 09:57:48 +0200 |
---|---|---|
committer | johndoe123 | 2014-06-06 09:59:40 +0200 |
commit | 9759b3481d53a70bead5069ca3e2a2cc7b349416 (patch) | |
tree | bdaee86cd74f0bc97d80859e5f417f82e6b34121 | |
parent | 59cd6d4b6626f9f7a40a7c9b14a7ac18b2fb6f09 (diff) | |
download | scummvm-rg350-9759b3481d53a70bead5069ca3e2a2cc7b349416.tar.gz scummvm-rg350-9759b3481d53a70bead5069ca3e2a2cc7b349416.tar.bz2 scummvm-rg350-9759b3481d53a70bead5069ca3e2a2cc7b349416.zip |
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.
-rw-r--r-- | devtools/create_neverhood/create_neverhood.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/devtools/create_neverhood/create_neverhood.cpp b/devtools/create_neverhood/create_neverhood.cpp index a1201cdaa3..fb2912f722 100644 --- a/devtools/create_neverhood/create_neverhood.cpp +++ b/devtools/create_neverhood/create_neverhood.cpp @@ -467,7 +467,15 @@ public: std::vector<LISTCLASS*> lists; void add(LISTCLASS *list) { - lists.push_back(list); + bool doAppend = true; + for (typename std::vector<LISTCLASS*>::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<LISTCLASS*>::iterator it = lists.begin(); it != lists.end(); it++) { if ((*it)->id == list->id) { doAppend = false; |