-
Notifications
You must be signed in to change notification settings - Fork 22
/
changelog.txt
412 lines (412 loc) · 21.9 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
---------------------------------------------------------------------------------------------------
Version: 0.16.1
Date: ????
Changes:
---------------------------------------------------------------------------------------------------
Version: 0.16.0
Date: 2024-12-16
Features:
- Added `flib_locale` module with various utilities for deducing the localised names of prototypes in the prototype stage.
- Added `flib_prototypes` module with various utilities for getting prototypes from data.raw.
- Added `flib_position.abs()`.
Bugfixes:
- Removed icon mipmaps properties from `data-util`; icon mipmaps are now automatically deduced by the game engine.
- Fixed a crash when attempting to use the `gui-templates` module due to an outdated require path. (#72)
- Fixed that `flib_direction.from_positions` did not work correctly. (#74)
- Fixed that `flib_migration.on_config_changed` would run migrations unnecessarily. (#71, #73)
---------------------------------------------------------------------------------------------------
Version: 0.15.0
Date: 2024-10-14
Features:
- Added support for ronna and quetta SI prefixes to `flib_format.number`.
Changes:
- Updated to Factorio 2.0.
- Removed `flib_direction.north` etc. constants. Use `defines.direction` instead.
- Renamed `gui-lite` to `gui`, and `dictionary-lite` to `dictionary`.
- Removed deprecated modules.
---------------------------------------------------------------------------------------------------
Version: 0.14.2
Date: 2024-07-28
Bugfixes:
- [dictionary-lite] Fixed that the first translation in a re-requested batch would be skipped.
- [math] Fixed that the `sum` function was ignoring the first element. (#69)
- Fixed that the `flib_tool_button_light_green` GUI style had a built-in tooltip. (#68)
---------------------------------------------------------------------------------------------------
Version: 0.14.1
Date: 2024-05-10
Changes:
- Adjusted technology slot GUI template to work with Ultimate Research Queue.
Bugfixes:
- Fixed that the technology slot GUI styles did not have selected styles.
---------------------------------------------------------------------------------------------------
Version: 0.14.0
Date: 2024-03-29
Features:
- Added `gui-lite.format_handlers` function.
- Added `gui-templates` module for building various common and/or annoying GUI components. Currently just makes technology slots.
- Added `table.binary_search` function.
- Added `technology` module with various runtime technology-related utilities.
- Added technology slot styles.
- Added require guards to allow requiring flib modules with any syntax without breaking upvalues.
Changes:
- `data_util.create_icons` no longer defines default icon size or scale. (#64)
Bugfixes:
- Fixed `data_util.get_energy_value` not accepting capital `K` as a unit suffix. (#59)
- Fixed that dictionary-lite translation batches would not always be re-requested in their entirety due to undefined Lua next() behavior.
---------------------------------------------------------------------------------------------------
Version: 0.13.0
Date: 2023-10-14
Features:
- [position] Added `position.ge`, `position.gt`, and `position.lerp` functions.
Bugfixes:
- [bounding-box] Fixed `bounding_box.recenter_on()` not properly preserving box dimensions.
---------------------------------------------------------------------------------------------------
Version: 0.12.9
Date: 2023-06-01
Bugfixes:
- Fixed Chinese translation making the mod unloadable (#53)
---------------------------------------------------------------------------------------------------
Version: 0.12.8
Date: 2023-05-29
Bugfixes:
- [dictionary-lite] Fixed that the total strings count did not include "initial_contents" strings
---------------------------------------------------------------------------------------------------
Version: 0.12.7
Date: 2023-04-30
Features:
- Added `flib_nav_(backward|forward)_(black|white|disabled)` sprites
- Added `flib_titlebar_separator_line` and `flib_titlebar_search_textfield` styles
Changes:
- Updated base dependency to 1.1.80
---------------------------------------------------------------------------------------------------
Version: 0.12.6
Date: 2023-03-20
Bugfixes:
- [gui-lite] Fixed that drag_target was not restored to GUI elem definitions after being used in gui.add
---------------------------------------------------------------------------------------------------
Version: 0.12.5
Date: 2023-03-09
Features:
- `dictionary-lite` and `gui-lite` modules are now compatible with the core `event_handler`
Bugfixes:
- [bounding-box] Fixed `bounding_box.from_dimensions()` returning a 0x0 area at left_top (#49)
- Fixed `selected` button styles having an extra vertical offset when clicked
---------------------------------------------------------------------------------------------------
Version: 0.12.4
Date: 2022-12-30
Changes:
- flib_selected_frame_action_button and flib_selected_tool_button styles now have a vertical offset
- Improved slot style coloring to be more consistent
- Updated table module to use more generics for callback return values
Bugfixes:
- Fixed missing clicked graphical sets on slot styles
- Fixed missing return types in table module callback functions
- Fixed that long mod names would cut off in the dictionary-lite progress window
---------------------------------------------------------------------------------------------------
Version: 0.12.3
Date: 2022-12-14
Bugfixes:
- Fixed a crash when calling `bounding_box.rotate()`
- The base mod dependency is no longer optional - it was causing the game to download flib versions that it could not run
---------------------------------------------------------------------------------------------------
Version: 0.12.2
Date: 2022-12-06
Changes:
- [queue] If the queue is empty, returns nil instead of throwing an error
- [queue] Renamed functions to be much more clear, updated types to use generics
- Updated types to work with recent FMTK releases
Bugfixes:
- [dictionary-lite] Fixed an occasional crash related to Lua memory management internals
---------------------------------------------------------------------------------------------------
Version: 0.12.1
Date: 2022-12-06
Bugfixes:
- [dictionary-lite] Fixed a crash when re-requesting a missed translation batch
---------------------------------------------------------------------------------------------------
Version: 0.12.0
Date: 2022-12-06
Features:
- Added 'bounding-box' module
- A cleaned up version of the 'area' module that treats bounding boxes as immutable and does not use metatables
- Since the cleanup was a breaking change, a new module was created
- Added 'dictionary-lite' module
- Takes advantage of new Factorio API features to drastically simplify the process
- Increases translation speed in singleplayer by a factor of 10
- Added 'format' module with various string formatting functions
- Added 'gui-lite' module
- Removes redundant features, simplifies the building process, and enhances type-checking and autocomplete
- Added 'migration.handle_on_configuration_changed()'
- Added 'position' module with various position manipulation functions
Changes:
- Changed preferred require syntax to '/' instead of '.'
- Deprecated 'area' module in favor of the 'bounding-box' module
- Deprecated 'dictionary' module in favor of the 'dictionary-lite' module
- Deprecated 'event' module - type checking did not work and it didn't provide much over using 'script' directly
- Deprecated 'gui' module in favor of the 'gui-lite' module
- Deprecated 'misc' module in favor of the 'format' and 'position' modules
- Removed 'queue.load()' and queue metatables
- Updated type definitions to use generics where possible
Bugfixes:
- [dictionary] Fixed translations getting stuck on Factorio 1.1.73+
---------------------------------------------------------------------------------------------------
Version: 0.11.2
Date: 2022-09-18
Bugfixes:
- [dictionary] Fixed a crash when a player left the game under certain circumstances
---------------------------------------------------------------------------------------------------
Version: 0.11.1
Date: 2022-09-12
Changes:
- [dictionary] Added tooltip to GUI header explaining what it is
Bugfixes:
- [dictionary] Fixed that translations would stop being requested under certain circumstances
---------------------------------------------------------------------------------------------------
Version: 0.11.0
Date: 2022-09-04
Features:
- [area] Added `area.square()` to turn the area into a square
- [area] Added `starting_offset` argument to `area.iterate()`
- [dictionary] Added a GUI that shows translation progress
- [math] Added `floored` and `ceiled` for flooring and ceiling to N decimal places.
- [math] Added `sign` to return the signedness of a number as a multiplier
- [math] Added `sum`, `maximum`, `minimum`, `midrange`, `range` for sets of numbers
Changes:
- [math] Deprecated `round_to`, `ceil_to`, `floor_to`
- [math] `clamp` defaults to clamping between 0, 1 when min or max are not set
- [dictionary] Removed string nesting to significantly reduce network traffic
- This makes translation take significantly longer
Bugfixes:
- Fixed missing annotations in math and table libraries
- [dictionary] Fixed that an empty translation would cause the translation after it to be skipped
- [migration] Fixed a crash when loading the tutorial scenario
---------------------------------------------------------------------------------------------------
Version: 0.10.1
Date: 2022-02-24
Bugfixes:
- [event] Fixed a crash when passing `nil` to `event.on_nth_tick`
---------------------------------------------------------------------------------------------------
Version: 0.10.0
Date: 2022-02-24
Features:
- [direction] Added `direction.from_positions()`
- [table] Added `table.get_or_insert()`
Changes:
- Converted from LDoc to EmmyLua annotations, enabling language server intellisense, but removing the docs website
- A new website or other solution for online docs will be added someday. For now, in-line documentation was decided to be more beneficial.
- [area] All constructor functions will automatically call `area.load()` to add the metatable
- [area] All functions will ensure that any passed areas have `left_top` and `right_bottom` keys, and will automatically convert ones that do not
- [migration] `migration.on_config_changed()` version migrations table is now optional
---------------------------------------------------------------------------------------------------
Version: 0.9.2
Date: 2021-11-18
Bugfixes:
- Fixed the dictionary module not separating dictionaries from separate mods properly
---------------------------------------------------------------------------------------------------
Version: 0.9.1
Date: 2021-11-16
Bugfixes:
- Fixed a crash when calling dictionary.load() before dictionary.init() has been able to fire
- Fixed table.slice() and table.splice() stop-n-from-end being one position off
---------------------------------------------------------------------------------------------------
Version: 0.9.0
Date: 2021-11-11
Features:
- Added `queue` module
- Added `table.array_merge()` and `table.retrieve()`
- Added `flib_pin` and `flib_settings` sprites in black, white, and disabled variants
- These are for use with frame action buttons
- Added `gui.flib-keep-open` and `gui.flib-settings` locales for use with the aforementioned sprites
---------------------------------------------------------------------------------------------------
Version: 0.8.4
Date: 2021-09-19
Features:
- Added `flib-dictionary-levels-per-batch` setting
Changes:
- Children may now be defined in `gui.add()`
- If you need to return refs to children, use `gui.build()` instead
- `flib-translations-per-tick` setting is now hidden
---------------------------------------------------------------------------------------------------
Version: 0.8.3
Date: 2021-08-20
Bugfixes:
- Fixed that math.round() was incorrect for some negative numbers
- Fixed that the on-tick-n module was not documented and not mentioned in the v0.8.0 changelog
---------------------------------------------------------------------------------------------------
Version: 0.8.2
Date: 2021-08-10
Bugfixes:
- Fixed the dictionary module not handling if the language detection string was lost across save/load
---------------------------------------------------------------------------------------------------
Version: 0.8.1
Date: 2021-08-09
Changes:
- The dictionary module no longer provides an event to hook, instead returning the finished dictionaries directly from `process_translation`
- This is to allow a single-source-of-truth for the language's dictionaries, which was the original intention, but returning them in an event broke that intention
---------------------------------------------------------------------------------------------------
Version: 0.8.0
Date: 2021-08-08
Features:
- Added `area.from_shorthand` and `area.to_shorthand`
- Added `dictionary` module, which is a fast and easy-to-use dictionary system for localised string translations
- Added `flib_widthless_textfield` style
- Added `gui.add`, `gui.set_action`, and `gui.get_action`
- Added `on-tick-n` module, which allows you to schedule tasks to be executed on a specific tick
- Added support for tags and actions in `gui.update`
- Children in a `GuiBuildStructure` or `GuiUpdateStructure` can now be defined in the array portion, instead of in a `children` or `tabs` table
- The subtables are still accepted for situations where they are appropriate (i.e. dynamically generated children)
- `misc.delineate_number()` now supports decimal numbers
Changes:
- `area.load` will now automatically convert from a shorthanded area to a proper area if needed
- Deprecated the old `gui` module and replaced it with the contents of `gui-beta`
- Mods can still require `gui-beta`, but it will simply redirect to `gui` instead
- Mods that depended on the old GUI module will need to update to the new one or download a copy of it to their mod - it is no longer supported whatsoever
- Deprecated the `translation` module, replaced by the new `dictionary` module
- The `translation` module still exists and can be used, but is no longer documented and its use is recommended against
Bugfixes:
- Fixed a crash when calling `gui.read_action()` when the element was invalid
- Fixed `area.from_position` not actually creating a 1x1 area
---------------------------------------------------------------------------------------------------
Version: 0.7.0
Date: 2021-02-12
Features:
- Added `area` module
- Added `flib_titlebar_flow` style
- Added `divisor` argument to `math.round()`, allowing rounding to the nearest multiple of N
- Added `math.max_double` and `math.min_double`
- Added argument to `misc.ticks_to_timestring` to preserve leading zeroes
Optimizations:
- Significant performance improvements to `gui-beta.build()`
Bugfixes:
- Fixed `math.max_uint` being one number too large
- Fixed `data-util.create_icons()` not using all of the icon specifications
---------------------------------------------------------------------------------------------------
Version: 0.6.1
Date: 2021-01-02
Features:
- Added proper documentation for the `gui-beta` module
---------------------------------------------------------------------------------------------------
Version: 0.6.0
Date: 2020-11-23
Features:
- Added WIP `gui-beta` module
- This module is experimental, but is currently relatively stable. Use at your own risk. See the source code for documentation.
- Additional arguments may be passed to `migration.on_config_changed()` to be available in the migration functions
- Added `data-util.dark_red_button_tileset`
- Added `flib_tool_button_dark_red` button style
Changes:
- Updated to Factorio 1.1
- Modified `flib_selected_frame_action_button` style to better match the vanilla buttons
- Made `new_layers` argument to `data-util.create_icons()` optional
- Removed deprecated require paths for `data-util` and `reverse-defines` modules
---------------------------------------------------------------------------------------------------
Version: 0.5.0
Date: 2020-10-22
Features:
- Added indicator sprites
- Added `flib_indicator` image style
Changes:
- Updated thumbnail
- Changed `table.reduce()` to work with non-arrays
- Changed `misc.ticks_to_timestring()` to use `game.ticks_played` by default, instead of `game.tick`
Bugfixes:
- Fixed a crash with serialise_localised_string (credit to dbeckwith)
---------------------------------------------------------------------------------------------------
Version: 0.4.1
Date: 2020-09-22
Features:
- Added a third return value to `table.for_n_of` signifying whether or not the end of the table was reached
- Added a third return value to the callback of `table.for_n_of`, which is a flag requesting an immediate iteration abort
- Added `flib_tool_button_light_green` button style
Changes:
- `table.for_n_of` now checks against the first (key) return of `next()` rather than the second (value) return
- This changes how custom `next()` functions will behave, and brings it into consistency with the rest of Lua
---------------------------------------------------------------------------------------------------
Version: 0.4.0
Date: 2020-09-13
Features:
- Added `direction.to_vector_2d`
- Additional arguments passed to `migration.run` will be passed on to the version functions within the migrations table
- Added `math` module
Bugfixes:
- Fixed that using `gui.init()` to reset all filters did not update lookup tables
---------------------------------------------------------------------------------------------------
Version: 0.3.3
Date: 2020-08-31
Features:
- Added a map setting to adjust translation speed (avoid multiplayer drops for those with slow internet speeds)
---------------------------------------------------------------------------------------------------
Version: 0.3.2
Date: 2020-08-30
Features:
- Added `table.array_copy()`
- Added `table.partial_sort()` for sorting an array over multiple ticks
Changes:
- Passing a custom `next` function to `table.for_n_of()` will bypass the key existence check
---------------------------------------------------------------------------------------------------
Version: 0.3.1
Date: 2020-08-24
Features:
- Added event.register_on_entity_destroyed()
- Added flib_naked_scroll_pane_no_padding GUI style
Changes:
- Updated to Factorio 1.0
- Renamed data_util to data-util and reverse_defines to reverse-defines
- The old paths will still work until v0.4.0, but will print deprecation warnings
- Removed vertically_stretchable from the flib_naked_scroll_pane GUI style to fix zero-height issue in non-fixed-height containers
---------------------------------------------------------------------------------------------------
Version: 0.3.0
Date: 2020-08-11
Features:
- Added "grey" and "orange" colored slot button styles
- Added two new scroll-pane GUI styles
- Added "table" module for working with tables
Changes:
- translation.init() is now required to be run during on_configuration_changed, in addition to on_init
- This is to prevent the module translating and returning strings for things that may not exist anymore
---------------------------------------------------------------------------------------------------
Version: 0.2.0
Date: 2020-07-26
Features:
- Added gui.check_filter_validity(), which is a new REQUIRED setup function for the GUI module
- Added translation.is_translating(), which checks whether the given player is actively translating
- Added translation.translating_players_count(), which returns the number of players that are actively translating
- Added several button and empty-widget styles, see "styles.md" topic in docs
Changes:
- The base mod is now marked as optional, to allow compatibility with total overhaul mods
Bugfixes:
- Fixed a crash with the GUI module when a handler was removed between mod versions while being registered in global
- Fixed that gui.remove_player_filters() would not update lookup tables
---------------------------------------------------------------------------------------------------
Version: 0.1.5
Date: 2020-06-30
Changes:
- Moved styles into prototypes/styles
Bugfixes:
- Fixed nonexistent sound file error by inheriting from parent #13
---------------------------------------------------------------------------------------------------
Version: 0.1.4
Date: 2020-06-18
Bugfixes:
- Fixed a crash with the translation module related to old code having incorrect variable names
---------------------------------------------------------------------------------------------------
Version: 0.1.3
Date: 2020-06-18
Features:
- Added a myriad of colored slot styles; see "slot-styles.md" topic in docs
---------------------------------------------------------------------------------------------------
Version: 0.1.2
Date: 2020-06-10
Bugfixes:
- get_energy_value didn't parse energy strings with no SI prefix or deka
---------------------------------------------------------------------------------------------------
Version: 0.1.1
Date: 2020-06-10
Features:
- get_energy_value supports exponents from 10^-24 to 10^24
Bugfixes:
- get_energy_value returned string, string instead of nil when unable to parse exponent
---------------------------------------------------------------------------------------------------
Version: 0.1.0
Date: 2020-05-24
Features:
- Initial release