示例#1
0
HRESULT convert_directory(std::wstring pathName)
{
	HRESULT hr = S_OK;

	std::vector<std::wstring> arFiles = NSDirectory::GetFiles(pathName, false);

	for (size_t i = 0; i < arFiles.size(); i++)
	{
		convert_single(arFiles[i]);
	}
	return S_OK;
}
示例#2
0
void convert(const char *porname, const char *rimname)
{
  FILE *por, *rim;
  rvulong   por_size, il;
  rvushort  rim_size, is;
  POR_Entry por_entry;

  por=fopen(porname,"rb");
  if(por==NULL)
    {
      printf("Can't open file %s: %s\n",
	     porname, strerror(errno));
      return;
    };

  riments.clear();

  fread(&por_size, sizeof(rvulong), 1, por);

  for(il=0;il<por_size;il++)
    {
      fread(&por_entry, sizeof(POR_Entry), 1, por);

      if(por_entry.type == 0)
	{
	  printf("  (converting portal %d/%d)\n",por_entry.id[0],por_entry.id[1]);
	  convert_single(por_entry);
	}
      else
	printf("  (skipping region %d)\n",por_entry.id[0]);
    };

  fclose(por);

  rim_size=riments.size();


  rim=fopen(rimname,"wb");

  if(rim==NULL)
    {
      printf("Can't write file %s: %s\n",
	     rimname, strerror(errno));
      return;
    };


  fwrite(&rim_size, sizeof(rvushort), 1, rim);
  for(is=0;is<rim_size;is++)
    fwrite(riments[is], sizeof(RIM_Entry), 1, rim);
  fclose(rim);
}
示例#3
0
int _tmain(int argc, _TCHAR* argv[])
{
	if (argc < 2) return 1;

	HRESULT hr = -1;
	if (NSFile::CFileBinary::Exists(argv[1]))
	{	
		hr = convert_single(argv[1]);
	}
	else if (NSDirectory::Exists(argv[1]))
	{
		hr = convert_directory(argv[1]);
	}

	return hr;
}
示例#4
0
int _tmain(int argc, _TCHAR* argv[])
{
//#ifdef _DEBUG
//		_CrtDumpMemoryLeaks();
//#endif

	if (argc < 2) return 1;

	HRESULT hr = -1;
	if (NSFile::CFileBinary::Exists(argv[1]))
	{	
		hr = convert_single(argv[1]);
	}
	else if (NSDirectory::Exists(argv[1]))
	{
		hr = convert_directory(argv[1]);
	}

	return hr;
}