From 971eae654f321c6aee94d87d114b5fe1a4f184dd Mon Sep 17 00:00:00 2001 From: npc-strider Date: Sun, 14 Apr 2019 23:25:10 +0800 Subject: [PATCH] 0.7.1: Bugfix: support for selection-tools with 'icons' instead of 'icon' Also a setting for the color of autogenerated shortcuts --- .gitignore | 5 ++++- Shortcuts/changelog.txt | 8 ++++++++ Shortcuts/data-updates.lua | 21 ++++++++++++++------- Shortcuts/info.json | 2 +- Shortcuts/settings.lua | 9 +++++++++ crosshairs64.png | Bin 12163 -> 0 bytes laser-turret.png | Bin 3028 -> 0 bytes resource-monitor.png | Bin 1713 -> 0 bytes 8 files changed, 36 insertions(+), 9 deletions(-) delete mode 100644 crosshairs64.png delete mode 100644 laser-turret.png delete mode 100644 resource-monitor.png diff --git a/.gitignore b/.gitignore index aa6e79f..b2734d9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ mod mod-list.json *.dat *.pdn -*.zip \ No newline at end of file +*.zip +path-remote-control.png +unit-remote-control.png +/old_assets \ No newline at end of file diff --git a/Shortcuts/changelog.txt b/Shortcuts/changelog.txt index 5637ad1..f78f999 100644 --- a/Shortcuts/changelog.txt +++ b/Shortcuts/changelog.txt @@ -1,3 +1,11 @@ +--------------------------------------------------------------------------------------------------- +Version: 0.7.1 +Date: 2019-04-14 + Features: + - Add setting to change the color (style property) for all dynamically generated shortcuts + Bugfixes: + - Dynamically generated shortcuts now no longer crash on startup if the selection-tool is composed of icons instead of an icon. (Will not make an attempt to composite the icons together - the shortcut will appear visually different from the tool in this case) + --------------------------------------------------------------------------------------------------- Version: 0.7.0 Date: 2019-04-14 diff --git a/Shortcuts/data-updates.lua b/Shortcuts/data-updates.lua index d832909..31c2d8c 100644 --- a/Shortcuts/data-updates.lua +++ b/Shortcuts/data-updates.lua @@ -240,6 +240,13 @@ if settings.startup["autogen"].value == true then end end if create == true then + local icon + local icon_size = tool.icon_size + if tool.icon then + icon = tool.icon + else + icon = tool.icons[1].icon + end local shortcut = { type = "shortcut", name = name, @@ -247,28 +254,28 @@ if settings.startup["autogen"].value == true then action = "create-blueprint-item", localised_name = {"item-name." .. name}, item_to_create = name, - style = "default", + style = settings.startup["autogen-color"].value, icon = { - filename = tool.icon, + filename = icon, priority = "extra-high-no-scale", - size = tool.icon_size, + size = icon_size, scale = 1, flags = {"icon"} }, small_icon = { - filename = tool.icon, + filename = icon, priority = "extra-high-no-scale", - size = tool.icon_size, + size = icon_size, scale = 1, flags = {"icon"} }, disabled_small_icon = { - filename = tool.icon, + filename = icon, priority = "extra-high-no-scale", - size = tool.icon_size, + size = icon_size, scale = 1, flags = {"icon"} }, diff --git a/Shortcuts/info.json b/Shortcuts/info.json index ea98b30..e8adc5f 100644 --- a/Shortcuts/info.json +++ b/Shortcuts/info.json @@ -1,6 +1,6 @@ { "name": "Shortcuts", - "version": "0.7.0", + "version": "0.7.1", "factorio_version": "0.17", "title": "Shortcuts", "author": "npc_strider(morley376)", diff --git a/Shortcuts/settings.lua b/Shortcuts/settings.lua index 0cb9491..407b113 100644 --- a/Shortcuts/settings.lua +++ b/Shortcuts/settings.lua @@ -89,6 +89,15 @@ data:extend({ allowed_values = {"both", "artillery-wagon", "artillery-turret"}, default_value = "both", order = "a" + }, + { + type = "string-setting", + name = "autogen-color", + localised_name = {"", "Auto-", {"gui-new-game.create"}, " ", {"gui-update.mod"}, " shortcuts ", {"gui-train.color"}}, + setting_type = "startup", + allowed_values = {"default", "red", "green", "blue"}, + default_value = "default", + order = "a" }, { type = "bool-setting", diff --git a/crosshairs64.png b/crosshairs64.png deleted file mode 100644 index 34143476869b66d47fe7e8fc991dd338ae004df9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12163 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 Hu0mjfRWC!F