bool CTextureBundleXBT::HasFile(const CStdString& Filename) { if (!m_XBTFReader.IsOpen() && !OpenBundle()) return false; if (m_XBTFReader.GetLastModificationTimestamp() > m_TimeStamp) { CLog::Log(LOGINFO, "Texture bundle has changed, reloading"); if (!OpenBundle()) return false; } CStdString name = Normalize(Filename); return m_XBTFReader.Exists(name); }
bool CTextureBundleXBT::HasFile(const std::string& Filename) { if ((m_XBTFReader == nullptr || !m_XBTFReader->IsOpen()) && !OpenBundle()) return false; if (m_XBTFReader->GetLastModificationTimestamp() > m_TimeStamp) { CLog::Log(LOGINFO, "Texture bundle has changed, reloading"); if (!OpenBundle()) return false; } std::string name = Normalize(Filename); return m_XBTFReader->Exists(name); }
void CTextureBundleXBT::GetTexturesFromPath(const std::string &path, std::vector<std::string> &textures) { if (path.size() > 1 && path[1] == ':') return; if ((m_XBTFReader == nullptr || !m_XBTFReader->IsOpen()) && !OpenBundle()) return; std::string testPath = Normalize(path); URIUtils::AddSlashAtEnd(testPath); std::vector<CXBTFFile> files = m_XBTFReader->GetFiles(); for (size_t i = 0; i < files.size(); i++) { std::string path = files[i].GetPath(); if (StringUtils::StartsWithNoCase(path, testPath)) textures.push_back(path); } }
void CTextureBundleXBT::GetTexturesFromPath(const CStdString &path, std::vector<CStdString> &textures) { if (path.GetLength() > 1 && path[1] == ':') return; if (!m_XBTFReader.IsOpen() && !OpenBundle()) return; CStdString testPath = Normalize(path); CUtil::AddSlashAtEnd(testPath); int testLength = testPath.GetLength(); std::vector<CXBTFFile>& files = m_XBTFReader.GetFiles(); for (size_t i = 0; i < files.size(); i++) { CStdString path = files[i].GetPath(); if (path.Left(testLength).Equals(testPath)) textures.push_back(path); } }