feat: Added system to handle version migrations

This commit is contained in:
WerWolv
2024-12-26 14:00:50 +01:00
parent 4784a82d51
commit b7afbf4a74
18 changed files with 178 additions and 31 deletions

View File

@@ -226,11 +226,15 @@ namespace hex::plugin::builtin {
});
EventWindowInitialized::subscribe([] {
if (ContentRegistry::Settings::read<std::string>("hex.builtin.setting.general", "hex.builtin.setting.general.prev_launch_version", "") == "") {
const auto currVersion = ImHexApi::System::getImHexVersion();
const auto prevLaunchVersion = ContentRegistry::Settings::read<std::string>("hex.builtin.setting.general", "hex.builtin.setting.general.prev_launch_version", "");
if (prevLaunchVersion == "") {
EventFirstLaunch::post();
}
ContentRegistry::Settings::write<std::string>("hex.builtin.setting.general", "hex.builtin.setting.general.prev_launch_version", ImHexApi::System::getImHexVersion());
EventImHexUpdated::post(SemanticVersion(prevLaunchVersion), currVersion);
ContentRegistry::Settings::write<std::string>("hex.builtin.setting.general", "hex.builtin.setting.general.prev_launch_version", currVersion.get(false));
});
EventWindowDeinitializing::subscribe([](GLFWwindow *window) {