fallout2-ce/src/file_find.cc

64 lines
1.2 KiB
C++
Raw Normal View History

2022-05-19 01:51:26 -07:00
#include "file_find.h"
// 0x4E6380
bool fileFindFirst(const char* path, DirectoryFileFindData* findData)
{
#if defined(_MSC_VER)
findData->hFind = FindFirstFileA(path, &(findData->ffd));
if (findData->hFind == INVALID_HANDLE_VALUE) {
return false;
}
#elif defined(__WATCOMC__)
findData->dir = opendir(path);
if (findData->dir == NULL) {
return false;
}
findData->entry = readdir(findData->dir);
if (findData->entry == NULL) {
closedir(findData->dir);
return false;
}
#else
#error Not implemented
#endif
return true;
}
// 0x4E63A8
bool fileFindNext(DirectoryFileFindData* findData)
{
#if defined(_MSC_VER)
if (!FindNextFileA(findData->hFind, &(findData->ffd))) {
return false;
}
#elif defined(__WATCOMC__)
findData->entry = readdir(findData->dir);
if (findData->entry == NULL) {
closedir(findData->dir);
return false;
}
#else
#error Not implemented
#endif
return true;
}
// 0x4E63CC
bool findFindClose(DirectoryFileFindData* findData)
{
#if defined(_MSC_VER)
FindClose(findData->hFind);
#elif defined(__WATCOMC__)
if (closedir(findData->dir) != 0) {
return false;
}
#else
#error Not implemented
#endif
return true;
}