summaryrefslogtreecommitdiff
path: root/src/Companion.h
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-03-29 01:07:00 -0600
committerLywx <kiritodev01@gmail.com>2024-03-29 03:03:55 -0600
commitc7c512e7a0d3f10218e251a243396a02c026c84b (patch)
tree6128873b513b2a17bd0245589dc5251aae75daef /src/Companion.h
parentd8df2a4826b6967e1263eaf017ae6e49801d8e3f (diff)
Implemented full file change detection
Diffstat (limited to 'src/Companion.h')
-rw-r--r--src/Companion.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/Companion.h b/src/Companion.h
index 07d9f20..6f687c2 100644
--- a/src/Companion.h
+++ b/src/Companion.h
@@ -86,7 +86,7 @@ public:
void Init(ExportType type);
- void PrepareCache(const std::string& string);
+ bool NodeHasChanges(const std::string& string);
void Process();
@@ -125,11 +125,11 @@ private:
TorchConfig gConfig;
YAML::Node gModdingConfig;
fs::path gCurrentDirectory;
- std::string gCurrentCacheHash;
+ std::string gCurrentHash;
std::vector<uint8_t> gRomData;
std::filesystem::path gRomPath;
- bool gNodeIsCacheable;
- YAML::Node gCacheNode;
+ bool gNodeForceProcessing = false;
+ YAML::Node gHashNode;
std::shared_ptr<N64::Cartridge> gCartridge;
std::unordered_map<std::string, std::unordered_map<int32_t, std::string>> gEnums;
@@ -146,19 +146,14 @@ private:
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::unordered_map<std::string, std::vector<uint8_t>>> gCacheData;
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 ParseEnums(std::string& file);
- void ParseCache();
+ void ParseHash();
void ParseModdingConfig();
void ParseCurrentFileConfig(YAML::Node node);
void RegisterFactory(const std::string& type, const std::shared_ptr<BaseFactory>& factory);
-
- void StoreCache(std::string path, const std::vector<uint8_t>& value);
- std::vector<uint8_t>& GetCache(std::string path);
-
void ExtractNode(YAML::Node& node, std::string& name, SWrapper* binary);
};