#pragma once // Directory searching routines #include #include #include namespace FileSys { struct FileListEntry { std::string FileName; // file name only std::string FilePath; // full path to file std::string FilePathRel; // path relative to the scanned directory. size_t Length = 0; bool isDirectory = false; bool isReadonly = false; bool isHidden = false; bool isSystem = false; }; using FileList = std::vector; struct FCompressedBuffer; bool ScanDirectory(std::vector& list, const char* dirpath, const char* match, bool nosubdir = false, bool readhidden = false); bool WriteZip(const char* filename, const FCompressedBuffer* content, size_t contentcount); bool FS_DirEntryExists(const char* pathname, bool* isdir); inline void FixPathSeparator(char* path) { while (*path) { if (*path == '\\') *path = '/'; path++; } } }