summaryrefslogtreecommitdiff
path: root/ZAPD/ZFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ZAPD/ZFile.cpp')
-rw-r--r--ZAPD/ZFile.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/ZAPD/ZFile.cpp b/ZAPD/ZFile.cpp
index a1d9978..4626473 100644
--- a/ZAPD/ZFile.cpp
+++ b/ZAPD/ZFile.cpp
@@ -800,19 +800,22 @@ void ZFile::GenerateSourceHeaderFiles()
{
OutputFormatter formatter;
- formatter.Write("#pragma once\n");
+ formatter.Write("#pragma once\n\n");
+ formatter.Write("#include \"align_asset_macro.h\"\n");
std::set<std::string> nameSet;
for (ZResource* res : resources)
{
std::string resSrc = res->GetSourceOutputHeader("", &nameSet);
- formatter.Write(resSrc);
-
- if (resSrc != "")
- formatter.Write("\n");
+ if (!resSrc.empty())
+ {
+ formatter.Write(resSrc.front() == '\n' ? resSrc : "\n" + resSrc);
+ formatter.Write(res == resources.back() ? "" : "\n");
+ }
}
for (auto& sym : symbolResources)
{
+ formatter.Write("\n\n");
formatter.Write(sym.second->GetSourceOutputHeader("", &nameSet));
}
@@ -823,8 +826,12 @@ void ZFile::GenerateSourceHeaderFiles()
if (Globals::Instance->verbosity >= VerbosityLevel::VERBOSITY_INFO)
printf("Writing H file: %s\n", headerFilename.c_str());
+ std::string output = formatter.GetOutput();
+ while (output.back() == '\n')
+ output.pop_back();
+
if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory)
- File::WriteAllText(headerFilename, formatter.GetOutput());
+ File::WriteAllText(headerFilename, output);
else if (Globals::Instance->sourceOutputPath != "")
{
std::string xmlPath = xmlFilePath.string();
@@ -849,7 +856,7 @@ void ZFile::GenerateSourceHeaderFiles()
outPath += "/";
}
- File::WriteAllText(outPath, formatter.GetOutput());
+ File::WriteAllText(outPath, output);
}
}