| 328 | } |
| 329 | |
| 330 | void CLocatorAPI::ProcessArchive(LPCSTR _path, LPCSTR base_path) |
| 331 | { |
| 332 | // find existing archive |
| 333 | shared_str path = _path; |
| 334 | |
| 335 | for (auto& archive : archives) |
| 336 | if (archive.path == path) |
| 337 | return; |
| 338 | |
| 339 | // open archive |
| 340 | auto& A = archives.emplace_back(); |
| 341 | A.vfs_idx = archives.size() - 1; |
| 342 | A.path = path; |
| 343 | |
| 344 | A.open(); |
| 345 | |
| 346 | LoadArchive(A, base_path); |
| 347 | } |
| 348 | |
| 349 | void CLocatorAPI::ProcessOne(LPCSTR path, const _finddata_t& F, bool bNoRecurse) |
| 350 | { |