From 78670dfdda3f33c4151890747e6ef8624e7181b8 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 9 Aug 2018 14:31:17 +0200 Subject: [PATCH] Fixed: Compilation with VC++ 2010 --HG-- branch : develop --- code/nel/include/nel/misc/types_nl.h | 3 +++ .../src/interface_v3/chat_text_manager.cpp | 16 +++++++++++++++- code/ryzom/client/src/item_group_manager.cpp | 10 ++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index 71702bce5..2851759de 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -79,6 +79,9 @@ # elif _MSC_VER >= 1600 # define NL_COMP_VC10 # define NL_COMP_VC_VERSION 100 +# ifdef _HAS_CPP0X +# undef _HAS_CPP0X // VC++ 2010 doesn't implement C++11 stuff we need +# endif # elif _MSC_VER >= 1500 # define NL_COMP_VC9 # define NL_COMP_VC_VERSION 90 diff --git a/code/ryzom/client/src/interface_v3/chat_text_manager.cpp b/code/ryzom/client/src/interface_v3/chat_text_manager.cpp index e21872018..a9a682bf1 100644 --- a/code/ryzom/client/src/interface_v3/chat_text_manager.cpp +++ b/code/ryzom/client/src/interface_v3/chat_text_manager.cpp @@ -187,7 +187,21 @@ static inline bool isUrlTag(const ucstring &s, ucstring::size_type index, ucstri if (isUrl && i > 0 && !markdown) { // '}' is in the list because of color tags, ie "@{FFFF}http://..." - const vector chars {' ', '"', '\'', '(', '[', '}'}; +#ifdef NL_ISO_CPP0X_AVAILABLE + const vector chars{ ' ', '"', '\'', '(', '[', '}' }; +#else + static std::vector chars; + + if (chars.empty()) + { + chars.push_back(' '); + chars.push_back('"'); + chars.push_back('\''); + chars.push_back('('); + chars.push_back('['); + chars.push_back('}'); + } +#endif isUrl = std::find(chars.begin(), chars.end(), s[i - 1]) != chars.end(); } return isUrl; diff --git a/code/ryzom/client/src/item_group_manager.cpp b/code/ryzom/client/src/item_group_manager.cpp index d4a7a4ba0..fddba873f 100644 --- a/code/ryzom/client/src/item_group_manager.cpp +++ b/code/ryzom/client/src/item_group_manager.cpp @@ -547,6 +547,7 @@ bool CItemGroupManager::equipGroup(std::string name, bool pullBefore) uint32 maxEquipTime = 0; +#ifdef NL_ISO_CPP0X_AVAILABLE std::map possiblyDual = { {ITEM_TYPE::ANKLET, false}, @@ -554,6 +555,15 @@ bool CItemGroupManager::equipGroup(std::string name, bool pullBefore) {ITEM_TYPE::EARING, false}, {ITEM_TYPE::RING, false}, }; +#else + std::map possiblyDual; + + possiblyDual[ITEM_TYPE::ANKLET] = false; + possiblyDual[ITEM_TYPE::BRACELET] = false; + possiblyDual[ITEM_TYPE::EARING] = false; + possiblyDual[ITEM_TYPE::RING] = false; +#endif + std::vector duals; std::vector items = matchingItems(group, INVENTORIES::bag); for(int i=0; i < items.size(); i++)