Fixed resource preloading when format is invalid

This commit is contained in:
2015-10-22 15:19:32 +02:00
parent bdb5a76e24
commit 3f8a6d2f68
+4 -1
View File
@@ -125,6 +125,8 @@ dd::Resource* dd::ResourceManager::Load(std::string resourceType, std::string re
} else { } else {
LOG_WARNING("Hot-loading resource \"%s\"", resourceName.c_str()); LOG_WARNING("Hot-loading resource \"%s\"", resourceName.c_str());
if (!resourceType.empty() && !resourceName.empty()) {
std::replace(resourceName.begin(), resourceName.end(), '\\', '/');
if (m_Preloads.find(std::make_pair(resourceType, resourceName)) == m_Preloads.end()) { if (m_Preloads.find(std::make_pair(resourceType, resourceName)) == m_Preloads.end()) {
std::ofstream f("PreloadResources", std::ofstream::app); std::ofstream f("PreloadResources", std::ofstream::app);
f << resourceType << " " << resourceName << std::endl; f << resourceType << " " << resourceName << std::endl;
@@ -132,6 +134,7 @@ dd::Resource* dd::ResourceManager::Load(std::string resourceType, std::string re
m_Preloads.insert(std::make_pair(resourceType, resourceName)); m_Preloads.insert(std::make_pair(resourceType, resourceName));
} }
} }
}
return CreateResource(resourceType, resourceName, parent); return CreateResource(resourceType, resourceName, parent);
} }
@@ -141,7 +144,7 @@ dd::Resource* dd::ResourceManager::CreateResource(std::string resourceType, std:
auto facIt = m_FactoryFunctions.find(resourceType); auto facIt = m_FactoryFunctions.find(resourceType);
if (facIt == m_FactoryFunctions.end()) 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; return nullptr;
} }