From 273bfee9a193d0dd2e9f9b400add980c0b5202a7 Mon Sep 17 00:00:00 2001 From: paradust7 <102263465+paradust7@users.noreply.github.com> Date: Wed, 18 May 2022 03:31:49 -0700 Subject: [PATCH] Use std::map instead of core::map (#12301) --- src/client/mesh.cpp | 1 - src/irrlicht_changes/CGUITTFont.cpp | 42 ++++++++++++++--------------- src/irrlicht_changes/CGUITTFont.h | 3 ++- src/unittest/test.cpp | 6 ++--- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/client/mesh.cpp b/src/client/mesh.cpp index bec72fb5e..8a6f9b37a 100644 --- a/src/client/mesh.cpp +++ b/src/client/mesh.cpp @@ -20,7 +20,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mesh.h" #include "debug.h" #include "log.h" -#include "irrMap.h" #include #include #include diff --git a/src/irrlicht_changes/CGUITTFont.cpp b/src/irrlicht_changes/CGUITTFont.cpp index 787f4cd5a..fe86adae6 100644 --- a/src/irrlicht_changes/CGUITTFont.cpp +++ b/src/irrlicht_changes/CGUITTFont.cpp @@ -59,7 +59,7 @@ struct SGUITTFace : public virtual irr::IReferenceCounted // Static variables. FT_Library CGUITTFont::c_library; -core::map CGUITTFont::c_faces; +std::map CGUITTFont::c_faces; bool CGUITTFont::c_libraryLoaded = false; scene::IMesh* CGUITTFont::shared_plane_ptr_ = 0; scene::SMesh CGUITTFont::shared_plane_; @@ -320,11 +320,11 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia // Grab the face. SGUITTFace* face = 0; - core::map::Node* node = c_faces.find(filename); - if (node == 0) + auto node = c_faces.find(filename); + if (node == c_faces.end()) { face = new SGUITTFace(); - c_faces.set(filename, face); + c_faces.emplace(filename, face); if (filesystem) { @@ -334,7 +334,7 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia { if (logger) logger->log(L"CGUITTFont", L"Failed to open the file.", irr::ELL_INFORMATION); - c_faces.remove(filename); + c_faces.erase(filename); delete face; face = 0; return false; @@ -349,7 +349,7 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia { if (logger) logger->log(L"CGUITTFont", L"FT_New_Memory_Face failed.", irr::ELL_INFORMATION); - c_faces.remove(filename); + c_faces.erase(filename); delete face; face = 0; return false; @@ -362,7 +362,7 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia { if (logger) logger->log(L"CGUITTFont", L"FT_New_Face failed.", irr::ELL_INFORMATION); - c_faces.remove(filename); + c_faces.erase(filename); delete face; face = 0; return false; @@ -372,7 +372,7 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia else { // Using another instance of this face. - face = node->getValue(); + face = node->second; face->grab(); } @@ -415,17 +415,17 @@ CGUITTFont::~CGUITTFont() //Glyphs.clear(); // We aren't using this face anymore. - core::map::Node* n = c_faces.find(filename); - if (n) + auto n = c_faces.find(filename); + if (n != c_faces.end()) { - SGUITTFace* f = n->getValue(); + SGUITTFace* f = n->second; // Drop our face. If this was the last face, the destructor will clean up. if (f->drop()) - c_faces.remove(filename); + c_faces.erase(filename); // If there are no more faces referenced by FreeType, clean up. - if (c_faces.size() == 0) + if (c_faces.empty()) { FT_Done_FreeType(c_library); c_libraryLoaded = false; @@ -585,7 +585,7 @@ void CGUITTFont::draw(const EnrichedString &text, const core::rect& positio core::ustring utext = text.getString(); // Set up our render map. - core::map Render_Map; + std::map Render_Map; // Start parsing characters. u32 n; @@ -640,7 +640,7 @@ void CGUITTFont::draw(const EnrichedString &text, const core::rect& positio page->render_colors.push_back(colors[iter.getPos()]); else page->render_colors.push_back(video::SColor(255,255,255,255)); - Render_Map.set(glyph.glyph_page, page); + Render_Map[glyph.glyph_page] = page; } if (n > 0) { @@ -673,14 +673,12 @@ void CGUITTFont::draw(const EnrichedString &text, const core::rect& positio // Draw now. update_glyph_pages(); - core::map::Iterator j = Render_Map.getIterator(); - while (!j.atEnd()) + auto it = Render_Map.begin(); + auto ie = Render_Map.end(); + while (it != ie) { - core::map::Node* n = j.getNode(); - j++; - if (n == 0) continue; - - CGUITTGlyphPage* page = n->getValue(); + CGUITTGlyphPage* page = it->second; + ++it; if (shadow_offset) { for (size_t i = 0; i < page->render_positions.size(); ++i) diff --git a/src/irrlicht_changes/CGUITTFont.h b/src/irrlicht_changes/CGUITTFont.h index 7b04ae828..9457e5b18 100644 --- a/src/irrlicht_changes/CGUITTFont.h +++ b/src/irrlicht_changes/CGUITTFont.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include "util/enriched_string.h" #include FT_FREETYPE_H @@ -345,7 +346,7 @@ namespace gui private: // Manages the FreeType library. static FT_Library c_library; - static core::map c_faces; + static std::map c_faces; static bool c_libraryLoaded; static scene::IMesh* shared_plane_ptr_; static scene::SMesh shared_plane_; diff --git a/src/unittest/test.cpp b/src/unittest/test.cpp index f223d567e..676fe8e13 100644 --- a/src/unittest/test.cpp +++ b/src/unittest/test.cpp @@ -533,7 +533,7 @@ struct TestMapBlock: public TestBase parent.node.setContent(CONTENT_AIR); parent.node.setLight(LIGHTBANK_DAY, LIGHT_SUN); parent.node.setLight(LIGHTBANK_NIGHT, 0); - core::map light_sources; + std::map light_sources; // The bottom block is invalid, because we have a shadowing node UASSERT(b.propagateSunlight(light_sources) == false); UASSERT(b.getNode(v3s16(1,4,0)).getLight(LIGHTBANK_DAY) == LIGHT_SUN); @@ -560,7 +560,7 @@ struct TestMapBlock: public TestBase parent.position_valid = true; b.setIsUnderground(true); parent.node.setLight(LIGHTBANK_DAY, LIGHT_MAX/2); - core::map light_sources; + std::map light_sources; // The block below should be valid because there shouldn't be // sunlight in there either UASSERT(b.propagateSunlight(light_sources, true) == true); @@ -601,7 +601,7 @@ struct TestMapBlock: public TestBase } // Lighting value for the valid nodes parent.node.setLight(LIGHTBANK_DAY, LIGHT_MAX/2); - core::map light_sources; + std::map light_sources; // Bottom block is not valid UASSERT(b.propagateSunlight(light_sources) == false); }