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; }
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); }
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; }
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; }