diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2021-01-18 23:39:05 -0500 |
---|---|---|
committer | GriffinR <griffin.g.richards@gmail.com> | 2021-01-18 23:39:05 -0500 |
commit | cd67c5e24055753615f96567c87c518b7487e879 (patch) | |
tree | 864e6d20f90aaccfa440ef5482998f98e9f7ebcc | |
parent | ac62e8e563f9e74493a394a21c1bd8fa1570b184 (diff) |
Sync scaninc with pokeemerald
-rw-r--r-- | tools/scaninc/scaninc.cpp | 19 | ||||
-rw-r--r-- | tools/scaninc/source_file.cpp | 5 | ||||
-rw-r--r-- | 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<std::string>& GetIncbins(); const std::set<std::string>& GetIncludes(); std::string& GetSrcDir(); + SourceFileType FileType(); private: union InnerUnion { |