mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 06:26:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include <iostream>
 | 
						|
#include <OgreRoot.h>
 | 
						|
#include <OgreResourceGroupManager.h>
 | 
						|
 | 
						|
/*
 | 
						|
  This isn't really a test of our implementation, but a test of using
 | 
						|
  the Ogre resource system to find files. If the Ogre interface
 | 
						|
  changes and you have to change this test, you will have to change
 | 
						|
  the servers/ogre_vfs.cpp implementation equivalently.
 | 
						|
 | 
						|
 */
 | 
						|
 | 
						|
using namespace std;
 | 
						|
using namespace Ogre;
 | 
						|
 | 
						|
ResourceGroupManager *gm;
 | 
						|
String group;
 | 
						|
 | 
						|
void find(const std::string &fileName)
 | 
						|
{
 | 
						|
  cout << "\nFile: " << fileName << endl;
 | 
						|
 | 
						|
  if(!gm->resourceExists(group, fileName))
 | 
						|
    {
 | 
						|
      cout << "Does not exist\n";
 | 
						|
      return;
 | 
						|
    }
 | 
						|
 | 
						|
  DataStreamPtr data = gm->openResource(fileName, group);
 | 
						|
 | 
						|
  cout << "Size: " << data->size() << endl;
 | 
						|
  cout << "First line: " << data->getLine() << "\n";
 | 
						|
}
 | 
						|
 | 
						|
int main()
 | 
						|
{
 | 
						|
  // Disable logging
 | 
						|
  new LogManager;
 | 
						|
  Log *log = LogManager::getSingleton().createLog("");
 | 
						|
  log->setDebugOutputEnabled(false);
 | 
						|
 | 
						|
  // Set up Ogre
 | 
						|
  Root root("","","");
 | 
						|
 | 
						|
  root.addResourceLocation("./", "FileSystem", "General");
 | 
						|
 | 
						|
  gm = ResourceGroupManager::getSingletonPtr();
 | 
						|
  group = gm->getWorldResourceGroupName();
 | 
						|
 | 
						|
  find("Makefile");
 | 
						|
  find("ogre_resource_test.cpp");
 | 
						|
  find("bleh");
 | 
						|
 | 
						|
  cout << "\nAll source files:\n";
 | 
						|
  FileInfoListPtr list = gm->findResourceFileInfo(group, "*.cpp");
 | 
						|
  FileInfoList::iterator it, end;
 | 
						|
  it = list->begin();
 | 
						|
  end = list->end();
 | 
						|
  for(; it != end; it++)
 | 
						|
    cout << "  " << it->filename << endl;
 | 
						|
}
 |