From 39bfed88439f6d365dc02eaf2685ac89a10b528e Mon Sep 17 00:00:00 2001 From: Robbe Bryssinck Date: Thu, 18 Nov 2021 00:15:01 +0100 Subject: [PATCH] feat: fetch es files from Data/ --- Code/es_loader/ESLoader.cpp | 14 ++++++-------- Code/es_loader/ESLoader.h | 4 ++-- Code/es_loader/main.cpp | 20 +++++++++++++++++++- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Code/es_loader/ESLoader.cpp b/Code/es_loader/ESLoader.cpp index b5993e3ab..ddbb04564 100644 --- a/Code/es_loader/ESLoader.cpp +++ b/Code/es_loader/ESLoader.cpp @@ -1,5 +1,8 @@ #include "ESLoader.h" +#include +namespace fs = std::filesystem; + ESLoader::ESLoader(String aDirectory) : m_directory(std::move(aDirectory)) { @@ -7,8 +10,6 @@ ESLoader::ESLoader(String aDirectory) bool ESLoader::BuildFileList() { - DEBUG_BREAK; - if (!FindFiles()) return false; @@ -20,19 +21,16 @@ bool ESLoader::BuildFileList() bool ESLoader::FindFiles() { - DEBUG_BREAK; - if (m_directory.empty()) { spdlog::error("Directory string is empty."); return false; } - // TODO: traverse files in directory - Vector files; - - for (String filename : files) + for (const auto& entry : fs::directory_iterator(m_directory)) { + String filename = entry.path().filename().string().c_str(); + const char* fileExtension = strrchr(filename.c_str(), '.'); if (!fileExtension) { diff --git a/Code/es_loader/ESLoader.h b/Code/es_loader/ESLoader.h index 70a8073d0..b9fb56332 100644 --- a/Code/es_loader/ESLoader.h +++ b/Code/es_loader/ESLoader.h @@ -11,11 +11,11 @@ class ESLoader bool BuildFileList(); -private: +//private: bool FindFiles(); bool SortPlugins(); -private: +//private: String m_directory; Vector m_esmFilenames; Vector m_espFilenames; diff --git a/Code/es_loader/main.cpp b/Code/es_loader/main.cpp index 46a45605a..41f8d0707 100644 --- a/Code/es_loader/main.cpp +++ b/Code/es_loader/main.cpp @@ -2,7 +2,7 @@ int main(int argc, char** argv) { - ESLoader loader("game_files"); + ESLoader loader("Data\\"); if (!loader.BuildFileList()) { spdlog::error("Failed to build file list."); @@ -11,6 +11,24 @@ int main(int argc, char** argv) spdlog::info("Build file list succeeded."); + spdlog::info("ESM filenames:"); + for (auto esmFilename : loader.m_esmFilenames) + { + spdlog::info("\t{}", esmFilename); + } + + spdlog::info("ESP filenames:"); + for (auto espFilename : loader.m_espFilenames) + { + spdlog::info("\t{}", espFilename); + } + + spdlog::info("ESL filenames:"); + for (auto eslFilename : loader.m_eslFilenames) + { + spdlog::info("\t{}", eslFilename); + } + return 0; }