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.json b/cybersyn/info.json index e1a036f..06ebe55 100644 --- a/cybersyn/info.json +++ b/cybersyn/info.json @@ -1,6 +1,6 @@ { "name": "cybersyn", - "version": "1.2.14", + "version": "1.2.15", "title": "Project Cybersyn", "author": "Mami", "factorio_version": "1.1", 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..7628c42 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,6 +147,9 @@ end function manager_gui.on_migration() + for i, v in pairs(global.manager.players) do + manager_gui.reset_player(i, v) + end init_items(global.manager) end diff --git a/cybersyn/scripts/migrations.lua b/cybersyn/scripts/migrations.lua index 94488ac..51d406a 100644 --- a/cybersyn/scripts/migrations.lua +++ b/cybersyn/scripts/migrations.lua @@ -296,28 +296,36 @@ local migrations_table = { end end end, - ["1.2.14"] = function() - ---@type MapData + ["1.2.15"] = function() + ---@type MapData local map_data = global - map_data.manager = { - players = {}, - } - for i, v in pairs(game.players) do - manager_gui.on_player_created({player_index = i}) + if not global.manager then + global.manager = { + players = {}, + } + for i, v in pairs(game.players) do + manager_gui.on_player_created({player_index = i}) + end end for _, e in pairs(map_data.refuelers) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag then + e.network_mask = e.network_flag + e.network_flag = nil + end end for _, e in pairs(map_data.stations) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag then + e.network_mask = e.network_flag + e.network_flag = nil + end end for _, e in pairs(map_data.trains) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag then + e.network_mask = e.network_flag + e.network_flag = nil + end end end, } @@ -330,10 +338,6 @@ function on_config_changed(data) flib_migration.on_config_changed(data, migrations_table) - for i, v in pairs(global.manager.players) do - manager_gui.reset_player(i, v) - end - IS_SE_PRESENT = remote.interfaces["space-exploration"] ~= nil if IS_SE_PRESENT and not global.se_tele_old_id then global.se_tele_old_id = {}