Exemple #1
0
ResourceManager::ChangeID ResourceManager::addResourceDir(const Common::UString &dir,
		const char *glob, int depth, uint32 priority) {

	// Find the directory
	Common::UString directory = Common::FilePath::findSubDirectory(_baseDir, dir, true);
	if (directory.empty())
		throw Common::Exception("No such directory \"%s\"", dir.c_str());

	// Find files
	Common::FileList files;
	files.addDirectory(directory, depth);

	ChangeID change = newChangeSet();

	if (!glob) {
		// Add the files
		addResources(files, change, priority);
		return change;
	}

	// Find files matching the glob pattern
	Common::FileList globFiles;
	files.getSubList(glob, globFiles, true);

	// Add the files
	addResources(globFiles, change, priority);
	return change;
}
Exemple #2
0
void ResourceHandler::add(std::string fileRef)
{
	if(mLoadables.count(fileRef) < 1)
	{

		switch(type(fileRef))
		{
		case Resource_Type::TEXTURE:
			mLoadables.insert(std::pair<std::string, Loadable&>(fileRef, mTexStore.add(fileRef)));
			break;
		case Resource_Type::AUDIO:
			mLoadables.insert(std::pair<std::string, Loadable&>(fileRef, mSBufStore.add(fileRef)));
			break;
		case Resource_Type::BUNDLE:
			addResources(fileRef);
			break;
		case Resource_Type::UNKNOWN:
			SError("fileRef check failed", "fileRef was UNKNOWN with type: " + fileRef);
			break;
		default:
			SError("fileRef check failed", "type not in list!");
			break;
		}
	} else 
	{
		// TODO add warning
	}
}
void CSMWorld::ResourcesManager::listResources()
{
    static const char * const sMeshTypes[] = { "nif", 0 };

    addResources (Resources ("meshes", UniversalId::Type_Mesh, sMeshTypes));
    addResources (Resources ("icons", UniversalId::Type_Icon));
    addResources (Resources ("music", UniversalId::Type_Music));
    addResources (Resources ("sound", UniversalId::Type_SoundRes));
    addResources (Resources ("textures", UniversalId::Type_Texture));
    addResources (Resources ("videos", UniversalId::Type_Video));
}
Exemple #4
0
void CSMWorld::ResourcesManager::setVFS(const VFS::Manager *vfs)
{
    mVFS = vfs;
    mResources.clear();

    addResources (Resources (vfs, "meshes", UniversalId::Type_Mesh, getMeshExtensions()));
    addResources (Resources (vfs, "icons", UniversalId::Type_Icon));
    addResources (Resources (vfs, "music", UniversalId::Type_Music));
    addResources (Resources (vfs, "sound", UniversalId::Type_SoundRes));
    addResources (Resources (vfs, "textures", UniversalId::Type_Texture));
    addResources (Resources (vfs, "video", UniversalId::Type_Video));
}