Reverted gDependencies to use old system

This commit is contained in:
KiritoDv
2024-05-16 08:03:16 +00:00
parent 6a0fcac225
commit 572ea9d096
2 changed files with 7 additions and 16 deletions
+6 -9
View File
@@ -244,14 +244,14 @@ std::optional<ParseResultData> Companion::ParseNode(YAML::Node& node, std::strin
return std::nullopt;
}
for (auto& [name, node, processed] : this->gDependencies) {
if(processed) {
for (auto [fst, snd] : this->gAssetDependencies[this->gCurrentFile]) {
if(snd.second) {
continue;
}
std::string doutput = (this->gCurrentDirectory / name).string();
std::string doutput = (this->gCurrentDirectory / fst).string();
std::replace(doutput.begin(), doutput.end(), '\\', '/');
processed = true;
auto dResult = this->ParseNode(node, doutput);
this->gAssetDependencies[this->gCurrentFile][fst].second = true;
auto dResult = this->ParseNode(snd.first, doutput);
if(dResult.has_value()) {
this->gParseResults[this->gCurrentFile].push_back(dResult.value());
}
@@ -262,7 +262,6 @@ std::optional<ParseResultData> Companion::ParseNode(YAML::Node& node, std::strin
SPDLOG_INFO("Processed {}", name);
this->gDependencies.clear();
return ParseResultData {
name, type, node, result
@@ -1226,9 +1225,7 @@ std::optional<std::tuple<std::string, YAML::Node>> Companion::RegisterAsset(cons
return std::nullopt;
}
this->gDependencies.push_back(Dependency {
name, node, false
});
this->gAssetDependencies[this->gCurrentFile][name] = std::make_pair(node, false);
auto output = (this->gCurrentDirectory / name).string();
std::replace(output.begin(), output.end(), '\\', '/');
+1 -7
View File
@@ -99,12 +99,6 @@ struct ParseResultData {
}
};
struct Dependency {
std::string name;
YAML::Node node;
bool processed;
};
class Companion {
public:
static Companion* Instance;
@@ -190,12 +184,12 @@ private:
std::unordered_set<std::string> gProcessedFiles;
std::unordered_map<std::string, std::vector<ParseResultData>> gParseResults;
std::vector<Dependency> gDependencies;
std::unordered_map<std::string, std::string> gModdedAssetPaths;
std::variant<std::vector<std::string>, std::string> gWriteOrder;
std::unordered_map<std::string, std::shared_ptr<BaseFactory>> gFactories;
std::unordered_map<std::string, std::map<std::string, std::vector<WriteEntry>>> gWriteMap;
std::unordered_map<std::string, std::map<std::string, std::pair<YAML::Node, bool>>> gAssetDependencies;
std::unordered_map<std::string, std::unordered_map<uint32_t, std::tuple<std::string, YAML::Node>>> gAddrMap;
void ProcessFile(YAML::Node root);