From 3f8a6d2f687f81e2b57587aa12668314007bf517 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Thu, 22 Oct 2015 15:19:32 +0200 Subject: [PATCH] Fixed resource preloading when format is invalid --- src/game/Core/ResourceManager.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/game/Core/ResourceManager.cpp b/src/game/Core/ResourceManager.cpp index e498a43..adc56a1 100644 --- a/src/game/Core/ResourceManager.cpp +++ b/src/game/Core/ResourceManager.cpp @@ -125,11 +125,14 @@ dd::Resource* dd::ResourceManager::Load(std::string resourceType, std::string re } else { LOG_WARNING("Hot-loading resource \"%s\"", resourceName.c_str()); - if (m_Preloads.find(std::make_pair(resourceType, resourceName)) == m_Preloads.end()) { - std::ofstream f("PreloadResources", std::ofstream::app); - f << resourceType << " " << resourceName << std::endl; - f.close(); - m_Preloads.insert(std::make_pair(resourceType, resourceName)); + if (!resourceType.empty() && !resourceName.empty()) { + std::replace(resourceName.begin(), resourceName.end(), '\\', '/'); + if (m_Preloads.find(std::make_pair(resourceType, resourceName)) == m_Preloads.end()) { + std::ofstream f("PreloadResources", std::ofstream::app); + f << resourceType << " " << resourceName << std::endl; + f.close(); + m_Preloads.insert(std::make_pair(resourceType, resourceName)); + } } } @@ -141,7 +144,7 @@ dd::Resource* dd::ResourceManager::CreateResource(std::string resourceType, std: auto facIt = m_FactoryFunctions.find(resourceType); if (facIt == m_FactoryFunctions.end()) { - LOG_ERROR("Failed to load resource \"%s\" of type \"%s\": type not registered", resourceName.c_str(), resourceType); + LOG_ERROR("Failed to load resource \"%s\" of type \"%s\": type not registered", resourceName.c_str(), resourceType.c_str()); return nullptr; }