Skip to content

Commit

Permalink
Add Alternate Headers XML logger (HarbourMasters#4207)
Browse files Browse the repository at this point in the history
  • Loading branch information
Pepe20129 committed Jun 16, 2024
1 parent f99993a commit 839fcff
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ std::shared_ptr<Ship::IResource> SetAlternateHeadersFactory::ReadResource(std::s
auto headerName = reader->ReadString();
if (!headerName.empty()) {
setAlternateHeaders->headers.push_back(std::static_pointer_cast<Scene>(Ship::Context::GetInstance()->GetResourceManager()->LoadResourceProcess(headerName.c_str())));
setAlternateHeaders->headerFileNames.push_back(headerName);
} else {
setAlternateHeaders->headers.push_back(nullptr);
}
Expand All @@ -41,7 +42,7 @@ std::shared_ptr<Ship::IResource> SetAlternateHeadersFactoryXML::ReadResource(std
std::string childName = child->Name();
if (childName == "AlternateHeader") {
for (uint32_t i = 0; i < setAlternateHeaders->numHeaders; i++) {
auto headerName = std::string(child->Attribute("HeaderName"));
auto headerName = std::string(child->Attribute("Path"));
if (!headerName.empty()) {
setAlternateHeaders->headers.push_back(std::static_pointer_cast<Scene>(Ship::Context::GetInstance()->GetResourceManager()->LoadResourceProcess(headerName.c_str())));
} else {
Expand Down
6 changes: 6 additions & 0 deletions soh/soh/resource/logging/SceneCommandLoggers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ void LogAlternateHeadersAsXML(std::shared_ptr<Ship::IResource> resource) {
tinyxml2::XMLElement* root = doc.NewElement("SetAlternateHeaders");
doc.InsertFirstChild(root);

for (size_t i = 0; i < setAlternateHeaders->headerFileNames.size(); i++) {
tinyxml2::XMLElement* entry = doc.NewElement("Header");
entry->SetAttribute("Path", setAlternateHeaders->headerFileNames[i].c_str());
root->InsertEndChild(entry);
}

tinyxml2::XMLPrinter printer;
doc.Accept(&printer);

Expand Down
1 change: 1 addition & 0 deletions soh/soh/resource/type/scenecommand/SetAlternateHeaders.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class SetAlternateHeaders : public SceneCommand<void> {
size_t GetPointerSize();

uint32_t numHeaders;
std::vector<std::string> headerFileNames;
std::vector<std::shared_ptr<Scene>> headers;
};
}; // namespace LUS

0 comments on commit 839fcff

Please sign in to comment.