ArchiveFilePtr Doom3FileSystem::openFile(const std::string& filename) { if (filename.find("\\") != std::string::npos) { rError() << "Filename contains backslash: " << filename << std::endl; return ArchiveFilePtr(); } for (ArchiveList::iterator i = _archives.begin(); i != _archives.end(); ++i) { ArchiveFilePtr file = i->archive->openFile(filename); if (file != NULL) { return file; } } // not found return ArchiveFilePtr(); }
bool AudiereArchiveFile::Open( const String& fileName ) { mArchiveFile.SetNull(); mArchiveFile = ArchiveFilePtr( ArchiveManager::GetSingleton().CreateArchiveFile( fileName ) ); return !mArchiveFile.IsNull(); // if ( mFileStream.is_open() ) // mFileStream.close(); // mFileStream.open( filename.c_str(), std::ios::in | std::ios::binary ); // return mFileStream.is_open(); }
ArchiveFilePtr Doom3FileSystem::openFileInAbsolutePath(const std::string& filename) { DirectoryArchiveFilePtr file(new DirectoryArchiveFile(filename, filename)); if (!file->failed()) { return file; } return ArchiveFilePtr(); }
ArchiveFilePtr DirectoryArchive::openFile(const std::string& name) { UnixPath path(_root); path.push_filename(name); DirectoryArchiveFilePtr file(new DirectoryArchiveFile(name, path)); if (!file->failed()) { return file; } return ArchiveFilePtr(); }
AudiereArchiveFile::AudiereArchiveFile( const String& fileName ) : mArchiveFile( ArchiveFilePtr( ArchiveManager::GetSingleton().CreateArchiveFile( fileName ) ) ) { //ctor Open( fileName ); }