summaryrefslogtreecommitdiff
path: root/src/Companion.h
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-03-31 10:58:38 -0600
committerLywx <kiritodev01@gmail.com>2024-04-13 00:02:32 -0600
commit1afbbddb327e4376aa759cc21560d98620696b35 (patch)
tree22429123d3ca78c37247ef17b45d60cd1a49712a /src/Companion.h
parent8dda6f54595cf3b04a08ef13b7c799961f533b6e (diff)
[WIP] Splitted export
Diffstat (limited to 'src/Companion.h')
-rw-r--r--src/Companion.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Companion.h b/src/Companion.h
index 93b3dde..88e23c8 100644
--- a/src/Companion.h
+++ b/src/Companion.h
@@ -75,6 +75,13 @@ struct TorchConfig {
bool modding;
};
+struct ParseResultData {
+ std::string name;
+ std::string type;
+ YAML::Node node;
+ std::optional<std::shared_ptr<IParsedData>> data;
+};
+
class Companion {
public:
static Companion* Instance;
@@ -151,9 +158,12 @@ private:
std::optional<VRAMEntry> gCurrentVram;
CompressionType gCurrentCompressionType = CompressionType::None;
std::vector<Table> gTables;
+
+ std::unordered_map<std::string, std::vector<ParseResultData>> gParseResults;
+
+ 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::string> gModdedAssetPaths;
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;
@@ -167,4 +177,5 @@ private:
void ExtractNode(YAML::Node& node, std::string& name, SWrapper* binary);
void ProcessTables(YAML::Node& rom);
void LoadYAMLRecursively(const std::string &dirPath, std::vector<YAML::Node> &result, bool skipRoot);
+ std::optional<ParseResultData> ParseNode(YAML::Node& node, std::string& name);
};