From cd67c5e24055753615f96567c87c518b7487e879 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 18 Jan 2021 23:39:05 -0500 Subject: [PATCH] Sync scaninc with pokeemerald --- tools/scaninc/scaninc.cpp | 19 +++++++++++++------ tools/scaninc/source_file.cpp | 5 +++++ tools/scaninc/source_file.h | 1 + 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index b95cbd033..dcb16c0e7 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -97,19 +97,26 @@ int main(int argc, char **argv) } for (auto include : file.GetIncludes()) { + bool exists = false; + std::string path(""); for (auto includeDir : includeDirs) { - std::string path(includeDir + include); + path = includeDir + include; if (CanOpenFile(path)) { - bool inserted = dependencies.insert(path).second; - if (inserted) - { - filesToProcess.push(path); - } + exists = true; break; } } + if (!exists && (file.FileType() == SourceFileType::Asm || file.FileType() == SourceFileType::Inc)) + { + path = include; + } + bool inserted = dependencies.insert(path).second; + if (inserted && exists) + { + filesToProcess.push(path); + } } includeDirs.pop_back(); } diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp index f23ff6db6..df31282f8 100644 --- a/tools/scaninc/source_file.cpp +++ b/tools/scaninc/source_file.cpp @@ -89,6 +89,11 @@ SourceFile::SourceFile(std::string path) } } +SourceFileType SourceFile::FileType() +{ + return m_file_type; +} + SourceFile::~SourceFile() { if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h index f7b6412bd..854b3f116 100644 --- a/tools/scaninc/source_file.h +++ b/tools/scaninc/source_file.h @@ -50,6 +50,7 @@ public: const std::set& GetIncbins(); const std::set& GetIncludes(); std::string& GetSrcDir(); + SourceFileType FileType(); private: union InnerUnion {