From 59eb580eb562d36eeb1659fe3aa4831f99bf2f57 Mon Sep 17 00:00:00 2001 From: mamoniot Date: Mon, 1 May 2023 06:26:20 -0400 Subject: [PATCH] moved migration logic into manager --- cybersyn/changelog.txt | 1 + cybersyn/info.lua | 2 +- cybersyn/scripts/gui/main.lua | 13 ++++++++++--- cybersyn/scripts/migrations.lua | 13 ------------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/cybersyn/changelog.txt b/cybersyn/changelog.txt index b909d26..11e4a85 100644 --- a/cybersyn/changelog.txt +++ b/cybersyn/changelog.txt @@ -4,6 +4,7 @@ Date: 2023-4-30 Bugfixes: - Fixed UPS spikes in Space Exploration related to expensive remote calls into their modding interface. - Fixed missing cybersyn manager translation key. + - Added a fix for a crash related to using the beta branch of cybersyn --------------------------------------------------------------------------------------------------- Version: 1.2.14 Date: 2023-4-30 diff --git a/cybersyn/info.lua b/cybersyn/info.lua index 90cefac..639a3a2 100644 --- a/cybersyn/info.lua +++ b/cybersyn/info.lua @@ -3,4 +3,4 @@ --- It is used in migrations.lua to determine if any migrations need to be run for beta testers. --- It is expected these are only meaningful between releases during beta testing. --- It should be set to nil for any release version. -return 2 +return nil diff --git a/cybersyn/scripts/gui/main.lua b/cybersyn/scripts/gui/main.lua index 277810c..ac3df56 100644 --- a/cybersyn/scripts/gui/main.lua +++ b/cybersyn/scripts/gui/main.lua @@ -50,9 +50,9 @@ function manager_gui.on_lua_shortcut(e) if e.prototype_name == "cybersyn-toggle-gui" or e.input_name == "cybersyn-toggle-gui" or e.element then if e.element then if e.element.name == "manager_window" then - manager.wrapper(e, manager.handle.manager_toggle) + manager.wrapper(e, manager.handle.manager_toggle) end - else + else manager.wrapper(e, manager.handle.manager_toggle) end end @@ -147,7 +147,14 @@ end function manager_gui.on_migration() - init_items(global.manager) + if global.manager then + for i, v in pairs(global.manager.players) do + manager_gui.reset_player(i, v) + end + init_items(global.manager) + else + manager_gui.on_init() + end end function manager_gui.on_init() diff --git a/cybersyn/scripts/migrations.lua b/cybersyn/scripts/migrations.lua index 90ed9df..f004736 100644 --- a/cybersyn/scripts/migrations.lua +++ b/cybersyn/scripts/migrations.lua @@ -328,19 +328,6 @@ function on_config_changed(data) global.tick_data = {} global.perf_cache = {} - if global.manager then - for i, v in pairs(global.manager.players) do - manager_gui.reset_player(i, v) - end - else - global.manager = { - players = {}, - } - for i, v in pairs(game.players) do - manager_gui.on_player_created({player_index = i}) - end - end - flib_migration.on_config_changed(data, migrations_table) IS_SE_PRESENT = remote.interfaces["space-exploration"] ~= nil