int CTextureBundleXBT::LoadAnim(const CStdString& Filename, CBaseTexture*** ppTextures, int &width, int &height, int& nLoops, int** ppDelays) { CStdString name = Normalize(Filename); CXBTFFile* file = m_XBTFReader.Find(name); if (!file) return false; if (file->GetFrames().size() == 0) return false; size_t nTextures = file->GetFrames().size(); *ppTextures = new CBaseTexture*[nTextures]; *ppDelays = new int[nTextures]; for (size_t i = 0; i < nTextures; i++) { CXBTFFrame& frame = file->GetFrames().at(i); if (!ConvertFrameToTexture(Filename, frame, &((*ppTextures)[i]))) { return false; } (*ppDelays)[i] = frame.GetDuration(); } width = file->GetFrames().at(0).GetWidth(); height = file->GetFrames().at(0).GetHeight(); nLoops = file->GetLoop(); return nTextures; }
bool CTextureBundleXBT::LoadTexture(const CStdString& Filename, CBaseTexture** ppTexture, int &width, int &height) { CStdString name = Normalize(Filename); CXBTFFile* file = m_XBTFReader.Find(name); if (!file) return false; if (file->GetFrames().size() == 0) return false; CXBTFFrame& frame = file->GetFrames().at(0); if (!ConvertFrameToTexture(Filename, frame, ppTexture)) { return false; } width = frame.GetWidth(); height = frame.GetHeight(); return true; }
bool CTextureBundleXBT::LoadTexture(const std::string& Filename, CBaseTexture** ppTexture, int &width, int &height) { std::string name = Normalize(Filename); CXBTFFile file; if (!m_XBTFReader->Get(name, file)) return false; if (file.GetFrames().empty()) return false; CXBTFFrame& frame = file.GetFrames().at(0); if (!ConvertFrameToTexture(Filename, frame, ppTexture)) { return false; } width = frame.GetWidth(); height = frame.GetHeight(); return true; }