Commit d7b81613e1463d726805473d936896815f7bc07c
1 parent
c6cb1d22
Minor fixed - release as 0.18.2
Showing
5 changed files
with
63 additions
and
10 deletions
CHANGELOG.md
| ... | ... | @@ -6,6 +6,25 @@ and this project adheres to the versioning of Factorio, so 0.18.x will be at lea |
| 6 | 6 | |
| 7 | 7 | ## [Released] |
| 8 | 8 | |
| 9 | +## [0.18.2] - 2020-06-06 | |
| 10 | +Based on user feedback updated the mod | |
| 11 | +### Added | |
| 12 | +- new easter egg :-) | |
| 13 | +- added more math.lib functions | |
| 14 | + - atan2() -> math.atan2() | |
| 15 | + - cosh() -> math.cosh() | |
| 16 | + - sinh() -> math.sinh() | |
| 17 | + - tanh() -> math.tanh() | |
| 18 | + - log10() -> math.log10() | |
| 19 | + - fmod() -> math.fmod() | |
| 20 | + - frexp() -> math.frexp() | |
| 21 | + - ldexp() -> math.ldexp() | |
| 22 | + - pow() -> math.pow() | |
| 23 | + | |
| 24 | +### Fixed | |
| 25 | +- Interpreting ";" as "," in the equation, because of the fix in 0.18.1, so that math functions with more than 1 parameter work. They have to use ";" as a separator for inputs | |
| 26 | +- Fixed sqrt(-1) equaling "na" because of the rounding fix from 0.18.1. It does now show "NaN" again | |
| 27 | + | |
| 9 | 28 | ## [0.18.1] - 2020-06-06 |
| 10 | 29 | Based on user feedback updated the mod |
| 11 | 30 | ### Added | ... | ... |
calcui-styles.lua
| ... | ... | @@ -64,6 +64,13 @@ data:extend({ |
| 64 | 64 | }, |
| 65 | 65 | { |
| 66 | 66 | type = "sprite", |
| 67 | + name = "sprite_calcui_think", | |
| 68 | + filename = "__calculator-ui__/graphics/nilausThink.png", | |
| 69 | + width = 56, | |
| 70 | + height = 56 | |
| 71 | + }, | |
| 72 | + { | |
| 73 | + type = "sprite", | |
| 67 | 74 | name = "sprite_calcui_calculator", |
| 68 | 75 | filename = "__calculator-ui__/graphics/calculator.png", |
| 69 | 76 | width = 64, | ... | ... |
calculator.lua
| ... | ... | @@ -6,6 +6,19 @@ local function get_gui_root(player) |
| 6 | 6 | end |
| 7 | 7 | |
| 8 | 8 | -- ---------------------------------------------------------------- |
| 9 | +function show_think(player, enabled) | |
| 10 | + local root = get_gui_root(player) | |
| 11 | + | |
| 12 | + if enabled then | |
| 13 | + root.calcui.calcui_table.calcui_table_col2.calcui_rant.sprite = "sprite_calcui_think" | |
| 14 | + root.calcui.calcui_table.calcui_table_col2.calcui_scroll_pane.style.height = 196 | |
| 15 | + else | |
| 16 | + root.calcui.calcui_table.calcui_table_col2.calcui_rant.sprite = nil | |
| 17 | + root.calcui.calcui_table.calcui_table_col2.calcui_scroll_pane.style.height = 252 | |
| 18 | + end | |
| 19 | +end | |
| 20 | + | |
| 21 | +-- ---------------------------------------------------------------- | |
| 9 | 22 | function show_rant(player, enabled) |
| 10 | 23 | local root = get_gui_root(player) |
| 11 | 24 | |
| ... | ... | @@ -218,21 +231,30 @@ function fix_equation(equation) |
| 218 | 231 | ["acos"] = "math.acos", |
| 219 | 232 | ["asin"] = "math.asin", |
| 220 | 233 | ["atan"] = "math.atan", |
| 234 | + ["atan2"] = "math.atan2", | |
| 221 | 235 | ["ceil"] = "math.ceil", |
| 222 | 236 | ["floor"] = "math.floor", |
| 223 | 237 | ["cos"] = "math.cos", |
| 238 | + ["cosh"] = "math.cosh", | |
| 224 | 239 | ["sin"] = "math.sin", |
| 240 | + ["sinh"] = "math.sinh", | |
| 225 | 241 | ["tan"] = "math.tan", |
| 242 | + ["tanh"] = "math.tanh", | |
| 226 | 243 | ["deg"] = "math.deg", |
| 227 | 244 | ["rad"] = "math.rad", |
| 228 | 245 | ["exp"] = "math.exp", |
| 229 | 246 | ["log"] = "math.log", |
| 247 | + ["log10"] = "math.log10", | |
| 230 | 248 | ["min"] = "math.min", |
| 231 | 249 | ["max"] = "math.max", |
| 232 | 250 | ["modf"] = "math.modf", |
| 251 | + ["fmod"] = "math.fmod", | |
| 252 | + ["frexp"] = "math.frexp", | |
| 253 | + ["ldexp"] = "math.ldexp", | |
| 233 | 254 | ["sqrt"] = "math.sqrt", |
| 234 | 255 | ["huge"] = "math.huge", |
| 235 | - ["pi"] = "math.pi" | |
| 256 | + ["pi"] = "math.pi", | |
| 257 | + ["pow"] = "math.pow" | |
| 236 | 258 | } |
| 237 | 259 | for key, val in pairs(math_lib) do |
| 238 | 260 | result = result:gsub(key, val) |
| ... | ... | @@ -243,6 +265,7 @@ function fix_equation(equation) |
| 243 | 265 | |
| 244 | 266 | -- fix danish keyboard |
| 245 | 267 | result = result:gsub(",", ".") |
| 268 | + result = result:gsub(";", ",") | |
| 246 | 269 | |
| 247 | 270 | return result |
| 248 | 271 | end |
| ... | ... | @@ -263,13 +286,17 @@ function process_equal_key(player, button) |
| 263 | 286 | return load("return " .. equation)() |
| 264 | 287 | end) |
| 265 | 288 | root.calcui.calcui_table.calcui_table_col2.calcui_display_result.tooltip = retval |
| 266 | - status, retval_show = pcall(function() | |
| 267 | - local result = string.format("%0." .. settings.get_player_settings(player)["calcui-decimal-places"].value .. "f", retval) | |
| 268 | - if result:len() > tostring(retval):len() then | |
| 269 | - result = retval | |
| 270 | - end | |
| 271 | - return result | |
| 272 | - end) | |
| 289 | + if not (retval == math.huge or retval ~= retval) then | |
| 290 | + status, retval_show = pcall(function() | |
| 291 | + local result = string.format("%0." .. settings.get_player_settings(player)["calcui-decimal-places"].value .. "f", retval) | |
| 292 | + if result:len() > tostring(retval):len() then | |
| 293 | + result = retval | |
| 294 | + end | |
| 295 | + return result | |
| 296 | + end) | |
| 297 | + else | |
| 298 | + status = false | |
| 299 | + end | |
| 273 | 300 | if retval_show == nil or retval_show == "" then |
| 274 | 301 | status = false |
| 275 | 302 | end |
| ... | ... | @@ -278,7 +305,7 @@ function process_equal_key(player, button) |
| 278 | 305 | show_rant(player, true) |
| 279 | 306 | else |
| 280 | 307 | if retval <= 0 then |
| 281 | - show_rant(player, true) | |
| 308 | + show_think(player, true) | |
| 282 | 309 | else |
| 283 | 310 | show_rant(player, false) |
| 284 | 311 | end | ... | ... |
graphics/nilausThink.png
0 → 100644
7.77 KB