From fd94b1d4e541df6961203c25c13f66984d80df74 Mon Sep 17 00:00:00 2001 From: Someone Date: Wed, 31 Dec 2025 01:30:18 +0100 Subject: [PATCH] RELEASE 2.0.5 - fixed a crash after installation. --- changelog.txt | 7 +++++++ control.lua | 43 ++++++++++++++++++++----------------------- info.json | 4 ++-- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/changelog.txt b/changelog.txt index eb2bf3d..cd3d853 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,10 @@ +--------------------------------------------------------------------------------------------------- +Version: 2.0.5 +Date: 2025-12-30 + + Changed: + - fixed a crash after installation. + --------------------------------------------------------------------------------------------------- Version: 2.0.4 Date: 2025-11-28 diff --git a/control.lua b/control.lua index 40d2fd9..401246a 100644 --- a/control.lua +++ b/control.lua @@ -11,15 +11,31 @@ function build_gui(player) end +function setplayerzoomlimit(player) + if player.controller_type == defines.controllers.character then + player.zoom_limits = {} + local defzoomlimit = player.zoom_limits + + player.zoom_limits = { + furthest = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value}, + furthest_game_view = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value} + } + + build_gui(player) + end +end + local function on_gui_click(event) local player = game.players[event.player_index] if event.element.name == "but_zoom_zin" then - player.zoom = player.zoom*player.mod_settings["some-zoom-zoomchangefactor"].value + setplayerzoomlimit(player) + player.zoom = player.zoom/player.mod_settings["some-zoom-zoomchangefactor"].value elseif event.element.name == "but_zoom_zout" then - player.zoom = player.zoom/player.mod_settings["some-zoom-zoomchangefactor"].value + setplayerzoomlimit(player) + player.zoom = player.zoom*player.mod_settings["some-zoom-zoomchangefactor"].value end end @@ -28,33 +44,14 @@ end local function on_runtime_mod_setting_changed(event) local player = game.players[event.player_index] - if player.connected then - player.zoom_limits = {} - local defzoomlimit = player.zoom_limits - local zoomlimitfactor = 1 - - player.zoom_limits = { - furthest = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value}, - furthest_game_view = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value} - } - end + setplayerzoomlimit(player) end local function on_init() for _, player in pairs(game.players) do - if player.connected then - player.zoom_limits = {} - local defzoomlimit = player.zoom_limits - local zoomlimitfactor = 1 - - player.zoom_limits = { - furthest = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value}, - furthest_game_view = { distance = defzoomlimit.furthest.distance*player.mod_settings["some-zoom-zoomlimitfactor"].value, max_distance = defzoomlimit.furthest.max_distance*player.mod_settings["some-zoom-zoomlimitfactor"].value} - } - build_gui(player) - end + setplayerzoomlimit(player) end end diff --git a/info.json b/info.json index 35d4554..e8439cf 100644 --- a/info.json +++ b/info.json @@ -1,8 +1,8 @@ { "name": "some-zoom", - "version": "2.0.4", + "version": "2.0.5", "title": "Zoom (works again)", - "author": "Someone (originally BinbinHfr)", + "author": "Someone", "homepage": "https://git.somenet.org/factorio/some-zoom.git", "description": "Increases the game's zoom limits by the zoomlimitfactor player-setting. By default by factor 4. The buttons remain for now for legacy reasons.", "factorio_version": "2.0", -- 2.47.3