forked from widelands/widelands
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
4484 lines (4204 loc) · 240 KB
/
ChangeLog
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
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[TOC]
## post-1.0 until [git 0621ce2](https://github.com/widelands/widelands/commit/0621ce2fe1a3825ae6669a424a700de5312fb84f)
### Animations, Icons and Overlays
- Fix some "deprecated pictures parameter" warnings (#4908)
- Create spritesheets (#4935)
- Spritesheet cleanup & campaigns (#4974)
- Updated barbarian barracks graphics by DragonAtma (#4977)
- Spritesheets fixes and cleanups (#5049)
- Upscaled Splashscreen (#5183)
- Optimize images with PNGQuant (#5204)
- Fix pause and jump in empire mill animation (#5270)
### Sounds and Music
- Write config after sound initialization (#4940)
- Enable custom in-game music (#5138)
### Tutorials and Campaigns
- Emp02: Allow sheep farm and weaving mill with barracks (#5048)
- Add "Along the river" scenario (#5062)
- Trident of Fire Fixes (#5198)
- Fix player detection and slot usage
- Fix shipyard wasting a ware and therefore not providing a ship for AI
- Fixes workerpart of #2933
- Fixed flooding and foresting functions
- Changed the map slightly to fix #3878
- Fixed starting position
- Changed Player positions for balance
- Fixed accessibility of volcano craters
- Fixed lua volcano scripting
- No remains of lava after eruption is gone
- Rocks are not removed by lava anymore
- For each lava field a region of radius 1 is considered for removal
- Basic control tutorial: only show first object once (#5338)
- Fix legacy scenario units load order (#5350)
### Scripting
- Replenish reed in Frisian trading outpost (#4955)
- Add enhancement method for buildings to Lua (#4989)
- Added more ship names for Amazon tribes (#5034)
- Amazon encyclopedia enhancements (#5037)
- Added lore for Dressmakery
- Added help text and lore for liana cutter's hut
- Added tips for amazons
- Tips on liana cutters, wilderness keepers, water gatherers, ropes, jungle masters, rare wood plantations and gold mines.
- Last change for now, to add info for plantations to close off #4981.
- Added extra note to wilderness keeper as that is necessary info not covered elsewhere.
- Atlantean and Amazon soldier prefs (#5047): Sets military sites with 4+ soldiers to request heroes by default, and Atlantean small tower now requests rookies by default.
- Support more properties in `modify_unit` (#4866)
- Extend productionsite/worker program failure handling (#5146)
- Allow specifying `callworker` failure handling method
- Allow suppressing sending out-of-resource notifications in programs
- Decouple Registries (#5169)
- Add script to check for optional Lua parentheses (#4787, #5225, #5226)
- Clean up `descriptions` vs `wl.Descriptions()` in init.lua files (#5296)
### Maps
### Add-Ons
- Use shared_ptr for AddOnInfo (#4747)
- Fix duplicate description registries by add-ons (#4760)
- Add-Ons Webserver (#4934)
- Add-ons: Disambiguations for dither layers and registries (#4936)
- Fix add-on translation handling glitches (#4976)
- Refactor `ui_fsmenu/addons.*` (#5012)
- Add-On UI Tweaks (#5061)
- Fix add-on comment layouting glitch
- Make dependency checking more clever
- Packager enhancements
- Fix multiple-dependency logic
- Add-Ons Packager File Name Handling (#5074)
- Fix invalid file/dir names in the packager
- Add UI to set dirnames
- Enable save/discard buttons after editing displayname
- Allow loading add-ons with unit replacements first (#5141)
- Update Add-Ons Manager for Protocol Version 5 (#5039)
- Speed up add-on remote interaction window (#5076)
- Add-Ons Protocol Version 6 (#5092)
- Show server name and check add-on version before upload (#5234)
- Disable add-ons manager autoconnect and autologin (#5245)
- Update Add-On Upload to Command Version 2 (#5231)
- Fix Add-Ons Admin Menu Visibility (#5266)
- Refactor Add-Ons Postloading (#5286)
- Fix tribes postloading again and add regression test (#5323)
- v1.0 backwards compatibility for world/tribe add-ons (#5353)
### Saveloading
- In-game game/scenario loading (#4843)
- Adds a Load Game button to the in-game menu (singleplayer only) to allow loading a new game in-game
- Adds a Restart Scenario button to the in-game menu in singleplayer scenarios
- Adds a Next Mission button to the Victory message box in singleplayer campaigns and tutorials
- GameController is now handled by `shared_ptr`
- Reset Lua interface when loading games in-game (#4954)
- Fix invalid resource loading (#4918)
- Fix replay writing in savegames created from replays (#4972)
- Implement saveloading unique windows (#4823)
- Fix immovable savegame compatibility Long Long Way (#5060)
- Cleanup player end statuses on loading (#5070)
### AI
- Miscellaneous AI Fixes (#4995)
- Fix auto speed (#5149)
- Moved autospeed detection to defaultai.cc
- Changed the documentation of the commandline option --auto_speed
- Added some debug log
- Adding performance statistics for AI tasks (#5156)
- AI improvements - change of scoring, training (#5168)
- Update_all_bfCheck bf redesign (#5171)
- Introducing limit for fields to be updated (#5173)
- Introducing limit for fields to be updated
- Increasing number of checked unusable fields
- Adding expiration info, increasing max fields to check
- Training of AI (#5213, #5278)
- AI: Update bf redesign (#5216): Perfomance improvement of buildable fields check in AI code
- Considering distance to warehouse when starting new buildings (#5229)
- Malus variable introduced
- Considering only connected flags
- Training
- Misc AI Fixes (#5263)
- Fix basic_amount handling of wells, hunters and fishers
- Deduplicated magic numbers
- Made the well necessity more generic algorithm susceptible
- Moved detection of neededness by stocklevel to the appropriate part of the code
- Tried to delay first warehouse a bit
- Prioritized fruit collectors if supporter nearby
- Insert a safeguard bonus for basic wells
- Fixing wrong initialization of AI `last_seen_time` (#5284)
- Refactoring of `construct_building` (#5282)
### Gameplay
- Fixed the `SupplyList::remove_supply` crash (#4913)
- Multiplayer template game (#4884)
- Fix constructionsite enhancement race condition (#5002)
- Catch invalid cast in `Carrier::transport_update` (#5009)
- Fix race condition when changing military-constructionsite soldier capacity (#5007)
- Fix another race condition in constructionsite enhancing (#5033)
- Support having more than 2 carriers on a road (#4938)
- Intelligent worker reordering (#5099)
- Remove messages of muted buildings (#5109)
- Fix worker reordering stack overflow (#5125)
- Remove messages when muting building via "mute all" (#5130)
- Fix Port Paths Reordering On Port Removal (#5154)
- Check for unknown wares/workers when loading economy profiles (#5215)
- Ensure Notifications only reach the topmost DescriptionManager (#5184)
### User Interface
- Add Spinbox background (#4859)
- Blinking caret for EditBox and MultilineEditBox (#4860)
- Remove invisible scrollbar in dropdown (#4883)
- Option to invert map movement (#4831)
- Automatically enable themes after installing (#4734)
- Screenshot notification (#4949)
- Add soldiers overview tab to WarehouseWindow (#4901)
- Multiplayer savegame setup UI improvements (#4968)
- Show message box when a replay desyncs (#4896)
- Change tab panel hotkeys to `CTRL+<num>` (#4993)
- Fix richtext escape issues in message boxes (#4879)
- Fastplace Shortcuts (#4849)
- Mousewheel and key fixes (#5053)
- Allow textually filtering dropdowns (#5040)
- Unify arrow and +/- handling for spinbox and slider (#5054)
- Also refactors hardcoded key scancode detection
- Disable keys for fullscreen and screenshot when changing shortcuts (#5066)
- Only handle textinput when dropdown is expanded (#5065)
- Add technical info to About window (#5071)
- Add more uses for mousewheel scrolling (#5068)
- Fix race condition when resizing game window (#5067)
- Allow the same fastplace shortcut for different tribes' buildings (#5073)
- Fix segfault when no modal panel exists (#5093)
- Fix Save Game Window Layout Issues (#5105)
- Fix mouse fastclick offset for construction site windows (#5107)
- Convert Attack Box to Window (#5094)
- Fastplace Groups (#5110)
- Use `unique_ptr` for settings box in construction site window (#5116)
- Hide Empty Input Queue Displays (#5139)
- Protect map object drawing with a mutex (#5147)
- Fix spacing in warehouse window soldiers tab (#5185)
- Fix `nullptr` dereference in `BaseListselect::handle_key()` (#5212)
- Window Clicking Behaviour Fixes (#5219): Fix clicking a window not changing tool in editor. Also make the window focused.
- Keep progress window open until game is ready (#5191)
- Use correct mechanism to hide dropdown list (#5237)
- Enable Hotkeys in Dropdowns (#5238)
- Fix Race Condition in Attack Window (#5235)
- Dropdown shortcuts for ingame and editor (#5261)
- Remove OK button in non-modal story boxes (#5292)
- Fix texthandling for dropdowns (#5281)
- Show port space hint in buildhelp (#5267)
- Ships on minimap (#5297)
- No hotkey for empty dropdown entry (#5320)
- Fix Sound Options Panel Styling (#5372)
### Internationalization
- Localize certain hotkeys (#4784)
- Disambiguate productionsites' worker(s) missing/coming strings (#4971)
- Some renamings and string fixes (#4956)
- Renamed tundra/taiga terrains
- Renaming the “Statistics” labels to “Status”
- Some helptext fixes
- More missing gettext calls in emp04 (#4983)
- Improved exception reporting (#5003)
- Fix exception reporting in the game logic thread.
- Adds `--verbose-i18n` flag.
- Fix Transifex String Issues (#5072)
- Fix Lua `(n|p)gettext` ignoring textdomains (#5080)
- Properly format `size_t` type printf placeholder (#5096)
- Tx String and CLI Help Fixes (#5179)
- More Stringfixes (#5190)
- Fix unhealthy usage of `split` in language menu (#5241)
- Skip installing locales when translations are disabled (#5302)
- Tut01 String Fix (#5327)
### Help and Documentation
- Fix documentation wl (#4920)
- Add theme image `ending.png` to themes documentation (#4945)
- Lua doc enhancements (#4984)
- Add produced wares and workers to productionsites encyclopedia (#5205)
- Pulled out code and first working solution
- Use visionrange only for militarysites
- Fixed documentation for ware_help.lua
- Added example fix failure for documentation
- Fixed documentation for format_help
- Added recuited workers part to Production section
- Fixed charcoal burner and aqua farm help with dummy program
- Fixed links for documentations svg-images (#5209)
- World immovables in encyclopedia (#5077)
- Made all tribes available for lua
- Corrected grapevine size to small to be consistent with other tribe immovables
- Changed "Space required:" to "Size:" and added a walkability hint
- Cleared the list of world immovables of all immovables with size "none"
- Display only one entry per treetype
- Filter amazon tree doublettes
- Use species as title for trees
- Added menu icons for dead and felled tree to be shown as image
- Cleared tribes immovables that are fields from world immovables regardless of addon status
- Fixed Size text for immovables
- Fixed amazons resi menu icon size
- Atlantean Lore (#5271)
- `tips/singleplayer.lua`: Reduce use of "Our" (#5349)
- Add Empire Lore Texts (#5285)
### Editor
- Editor toolsize menu: use spinbox instead of custom dialog (#4990)
- Add offset to editor info windows (#5145)
- Editor: Add toggle maximum building spaces option (#5220)
- Convert all show/hide toggles to use display flags
### Graphics Engine
- Catch crash when preloading minimap (#5021)
- Fix a texture deletion from wrong thread (#5174)
- Fix linking the OpenGL library (#5299)
### Networking
- Break mutex deadlock in GameClient (#4948)
- Fix game client deletion crash (#4970)
- Keep GameController pointer alive for template game (#5128)
- Replace Boost::Asio → Asio (#5164)
- Fix Description Index Misordering from UI Code (#5288)
### Build System
- Autogenerate and compare datadir version file (#4853)
- Make `compile.sh` show help for invalid arguments (#4979)
- `compile.sh` improvements (#4980)
- Implement local default options for `compile.sh`
- Argument checking for `-j`
- Add an override for every switch
- Support custom `-D` options to CMake
- Add option to skip datadir version check (#4987)
- Modify compiler static dependencies (#4991, #4992)
- Linux: only enable backtrace when using glibc (#5011)
- cmake: add support for None build type (#5010)
- Added missing direct include (#5025)
- Fix clang compiler warnings (#5057)
- Fix compiling error introduced by boost 1.77 (#5063)
- Honour `--(no|with)-asan`-option regardless of ARGV-order (#5078)
- Fix Brotli Windows CI Error (#5079)
- Build System Update (#5085)
- Silence an undesired naming scheme warning in the SDL2 finding module
- Add a customized copy of CMake's deprecated Documentation module as recommended
- Update latest g++/clang versions in the CI
- Treat enabled compiler warnings as errors
- Allow silencing compile.sh status messages with `-q`
- Fix Clang 13 Warnings (#5088)
- Handle undefined `__WORDSIZE32_SIZE_ULONG` (#5098)
- Enable ASan in the Testsuite (#5090)
- Allow validating `appdata.xml` with `appstream-util` if `appstreamcli` is not available (#5084)
- `appdata.xml`: Add leading `~` to release names as necessary to force proper ordering (#5102)
- Deprecate Boost (#5101)
- Refactor String Assembly / Boost Format (#5081)
- Clean some more clang-tidy checks (#5108, #5131, #5289, #5319)
- Resolve thread sanitizer issues (#5114)
- Increased thread safety using atomic member variables
- New compile option to build with TSan
- Replace Boost Unit Tests (#5122, #5137)
- Compile on MacOS 11 and M1 Arm Processor (Apple Silicon) (#5112)
- Fix Frequent Testsuite Timeouts (#5129)
- Replace `boost::signals2` (#5133, #5144)
- GitHub MSVC CI Action (#5132)
- Replace Boost UUID, Boost SHA1, and `std::rand` (#5124)
- Deploy build artifacts to automated pre-release (#5143)
- Replace `boost::format` (#5118, #5163, #5178, #5207)
- Remove `graphic_text_layout` dependency from `io_filesystem` (#5161)
- Resolve MSVC warnings (#5157)
- Fix older g++ optimization segfaults (#5176)
- Fix -O3/-O2 typos (#5187)
- Dependencies: Asio include handling & Solus support (#5182)
- Don't require Homebrew to be installed at `/usr/local` (#5208)
- CMakeLists.txt: Use a list for many build flags (#5328)
### Other Issues
- Command line overhaul (#4806)
- Multithreading (#4319)
- Resolve threading race conditions by assigning mutex locking priorities (#4943)
- Fix more threading-related issues (#4966)
- Set Windows logging dir in all website main functions (#4973)
- Continue parsing commandline without datadir (#5134)
- Allow using `--script` with `--new_game_from_template` (#5153)
- Extend copyright script to update year in all files (#5188)
- Add check for missing copyright headers (#5223)
## Release 1.0
### Animations, Icons and Overlays
- Optimized pngs (#3959)
- Improve spritesheet exporting (#3756)
- Fix cropping algorithm
- Support reexporting spritesheets
- Catch mismatch with number of scales in directional animations
- Basename is redundant when it's identical to the animation name, so making it optional
- Frisian toolbar icons (#4231)
- Add Frisian toolbar icons
- Delete atlantean toolbar
- Amazon & Frisian graphics (#4554)
- Tapir & Tapir Farm (#4631)
- New empire barracks graphics by DragonAtma (#4668)
- Building animation for empire barracks by DragonAtma (#4695)
- New barbarians barracks graphics by DragonAtma (#4785)
- fix graphic glitch in Barbarian flag (#4910)
- New atlantean barracks graphics by DragonAtma (#4923)
### Sounds and Music
- Track `descriptions` instances to fix a sound handler bug (#4687)
### Tutorials and Campaigns
- `3997_emp03_messagebox` (#4012)
- changed artifact model picture to landscape
- fixed div width and alignment
- Campaign Empire 02: improved scenario continuity (#4038): Trigger mining infrastructure objective when marble mine is done.
- Fixed a file reference in atl01 scenario (#4157)
- Fix link to starting conditions for tutorial1 (#4257)
- Fix image link in first tutorial (#4261)
- Fix empire04 helptexts by changing an obsolete reference (#4267)
- Handle additional expedition items in fri01/fri02 (#4330): Allow taking certain wares and workers to fri02
- Training wheels (#4369, #4406)
- Wait for field action in flags training wheel (#4472)
- Fix crashes in seafaring tutorial (#4615)
- empire 4 script fixes (#4625)
- fixed 2 appearances where the resource was mising the resource prefix
- fixed mine location. Necessary due to changes in mine spot calculation
- Inserted Messages Table
- Disable training wheels code for v1.0 (#4644)
- Third frisian scenario (#4550)
- Fix Trident of Fire player slot detection (#4696)
- Seafaring tutorial: Explain additional expedition items feature (#4711)
- Fix hotkeys in tutorials (#4720)
- Basic Tutorial fixes (#4717)
- Fri03 Fixes (#4738)
- Fix duplicate soldier detection
- Add missing translation markups
- Fix detection of amount of starting gold in fri02 (#4797)
- Fix typo and outdated instructions in emp03 (#4836)
- Empire 04 text improvements (#4844, #4847, #4848, #4852)
- Better fri03 placeholder portraits (#4891)
- Make fri03 starting port indestructible (#4874)
### Scripting
- Parse production outputs (#3983)
- Deduce building outputs from worker and productionsite programs
- Remove outputs tables from Lua
- Replace buildferry with createbob
- Stack lua textdomains in C++ (#4006)
- Stack lua textdomains in C++
- Push and pop correct textdomains for custom scenario buildings
- Detect work area overlaps from MapObject programs (#4014)
- Use information from WorkerProgram, ImmovableProgram and ProductionSiteProgram to calculate work area overlaps
- Distinguish competing, supported and supporting productionsites
- Get rid of default attributes to unclutter the code
- Animation duration units (#4044)
- Implement more human-readable duration units for `animate` programs, e.g. `duration:1m20s500ms`.
- Only the interesting units needs to be specified, e.g. as `duration:35s`.
- Correct shipwright's work area (#4048)
- Add "success:" prefix to number parameters in "grow", "remove" and "transform" immovable programs (#4007)
- Change probability Lua specification from `[0, 255]` to percentage for `transform` and `remove` programs.
- Transform and remove by percent (#4070)
- Rename main immovable program to 'main' (#4086)
- New syntax for productionsite construct program (#4118)
- The worker experience parameter is now optional.
- Use named parameters in ActMine (#4099)
- Convert ambient sound specification to percent notation (#4081)
- Sound priorities now have the range `0.1% - 100%` with new optional parameter `allow_multiple`
- Get rid of silent sound files
- Make priority mandatory
- Rename main productionsite program to 'main' (#4119)
- Shift check for `ActCall` to after all programs are loaded, so we can call them now anything we like.
- Check that productionsites have a `main` program defined.
- New API for remaining Worker programs (#4124)
- breed
- mine
- repeatsearch
- scout
- New API for remaining Immovable programs (#4131)
- `seed=<immovable_name> proximity:<percent>`
- Fix datatypes for probability ranges
- Update documentation
- New API for trainingsite programs (#4126)
- Redesign training programd & add some checks
- Calculate min/max levels from action
- Update documentation
- Get rid of `add_animation`/`add_directional_animation` functions (#4137)
- Separate the definitions of each tribe into separate files (#4134)
- Get rid of global init and preload files
- Define each tribe separately in a `tribes/<tribe_name>` directory
- Shift starting condition and image files into each tribe's directory
- Shift wares' and workers' `default_target_quantity` and `preciousness` to tribe definitions
- Reduce number of disk reading operations in game loading screens
- fix fishermens resource name (#4200)
- Define enhancement cost in base building (#4156)
- Update eris to `1566f6cfa027694941fb34229048e9b576aaa8e5` (#4243)
- Make terrain dither layer unique to prevent hard edges (#4281)
- fix territorial messages by resetting last winning candidate values if no winner candidate available (#4333)
- Zap `luaopen_eris` compiler warning (#4351)
- Cleanup messages (#4386)
- renamed `LuaMessage` to `LuaInboxMessage`; `wl.game.Message` to `wl.game.InboxMessage`
- adjusted main scripting files
- documentation tweaks
- Unify tribes world (#4240)
- Replace `Tribes` and `World` with `Descriptions`
- Consistent function naming in `Descriptions`
- No longer distinguish tribe from world immovables
- Merge `wl.World()` and `wl.Tribes()` (#4412)
- Rename Lua `tribes` object to `descriptions` (#4416)
- Implement percent notation for animation sound probability (#4423)
- Shift asserts in ActTrain to get the log message first for debugging
- Add support for running training wheels in scenarios (#4470)
- Fix Amazons ferry program (#4492)
- Allow hiding fields that are seen by units (#4478)
- Fix argument position in `campaign_message_box` (#4517)
- Make the window's position centered when unspecified.
- This solution removes also some magic numbers for moving the window(s) to the right or to the bottom by getting the width and height of the main window through `wl.ui.MapView()`.
- Allow hiding players from the general statistics menu via Lua (#4520)
- Tweak ATL New World start (#4613)
- Show initial status message for win conditions (#4633)
- New lua methods & properties (#4584)
- Win conditions fixes (#4648)
- Expose win condition name to Lua (#4675)
- HQ Hunter fix (#4683): destroy also conquered milsites
- fix a variable conflict (#4701)
- Discovery and New World starting conditions for amazons (#4705)
- Make atlantean Discovery start easier (#4709)
- Fix artifact messages (#4727)
- Fix amazons fortified village (#4793)
- Add ordered iteration for lua tables (#4818)
- Fix scenario vision bugs (#4832): Added a new option `hide_fields` to unreveal and unexplore fields rather then completely hiding them
- Allow defining target quantity and preciousness for add-on wares and workers (#4825)
### Maps
- Update Crossing The Horizon hint (#4008)
- Fix incorrect allows_seafaring detection (#4082)
- Fix nodecaps calculation error (#4033)
- Update Long Long Way volcanoes minable areas
- Rephrase some map hints (#4211)
- Update Europa Map to v1.2 (#4506)
- Remove version numbers from all maps' file names
- Adjust field size for mountains (#4562)
- v1.0 Maps Review (#4634)
- New map Lesser Ring
- Updated map Wide World
- Deleted map Sun of Fire
- Marked Desert Tournament as unbalanced and renamed it
- Adapt maps' minimum version number (#4646)
### Saveloading
- Replace unknown programs with "work" while saveloading (#3961)
- Add some scenario savegame compabitility (#3963)
- Scenario tribes
- reveal_scenario
- Rip out savegame compatibility code (#3980)
- Fix map compatibility for MapObject Loaders (#4028)
- Fix game saving crash in spectator mode (#4095)
- Speedup player vision packet (#4113): Combine fields data into long strings
- Skip redundant information in view packet (#4144)
- Fix loading critters + resources
- Fix loading critters from map + fix an example
- Fis resources in lua_bases
- Write timestamps in zip filesystem (#4193)
- Fail gracefully on Lua PANIC (#4147)
- Fix description loading in LuaBases (#4182)
- Fix the `stol` saveloading issue (#4387)
- Rediscover kVisible fields when loading the game (#4395)
- Fix Lua savegame compatibility (#4437)
- Unify legacy lookup tables (#4415)
- Merge `WorldLegacyLookupTable` and `TribesLegacyLookupTable` into `DescriptionsCompatibilityTable`.
- Let `Descriptions` handle the lookup to make the saveloading code easier to read
- Fix savegame compatibility #4482 (#4483)
- Saveload lua textdomain stack (#4461): Persist textdomain stack in scripting packet
- Fix saveloading in economy options window (#4498)
- Fix loading saves with see_all players (#4525)
- Saveload `TrainingSite::checked_soldier_training_` to fix a crash (#4524)
- Delete a dead function that causes savegame loading errors
- Allow savegames anywhere (#4515)
- Increase player info packet version (#4581)
- Warn about replay version mismatch (#4605)
- Fix S2 map loader to load stones correctly (#4619)
- Add missing postload call for replays (#4616)
- Hotfix for savegame compatibility #4273 (#4706)
- Immovable savegame compatibility (#4690)
- Reduce crashes from missing add-on dependencies (#4710)
- Don't store Script add-ons in savegames (#4811)
- Fix missing compatibility lookups during gameloading (#4862)
- Fix additional expedition items saveloading (#4921)
### AI
- Fix a crash due to wrong AI Hint (#4191)
- Give the AI its own namespace (#4225)
- Quick AI fix to avoid crashes (#4388)
- AI quick fix (#4401)
- Read mining information for help & AI (#4489)
- Read AI mining hints from production program
- Add building name to deprecation messages
- Automate mining percentages in building help
- mines_percent is unused, so removing it
- Trainingsites only evaluate fish/meat substitutes if present in inputs (#4641)
- Delay AI initalization after scenario init (#4656)
- Fixed an unsafe AI time operation (#4749)
- AI production support (#4618)
- Deprecate `collects_ware_from_map` AI hint
- Deprecate `supports_production_of` AI hint
- Add support for multiple lumberjack/ranger pairs
- Get rid of dirty hack for rare tree cutter/plantation. `amazons_rare_tree_plantation` no longer needs supporters, but the `rare_tree_cutters_hut` still does
- Fix miscategorization of Frisian Fishers being supported by clay pits
- `frisians_reed_farm` is now detected as supporting the `frisians_beekeepers_house`
- Hotfix for Amazon trainingsites
- New property `needed_attributes` for productionsites when the immovable doesn't get removed from the map
- Get rid of hard-coded work area radius when detecting useful immovables near a building
- If a building has no input but some output wares and creates no immovables, but collects some:
- If it produces a construction material
- If it has supporters -> lumberjack
- If it has no supporters -> quarry
- If it produces ware that is not a construction material -> needs berry
- A hunter collects and bob from the map. This adds `amazons_hunter_gatherers_hut` to the list
- If needs water and collects "resource_fish" -> fisher
- If a building has no input and it produces "water" -> well
- If a building supports a lumberjack, it's a ranger
- introduce `number_of_same_nearby` to identify nearby buildings of same type
- if upgrade building needs supporters take this into consideration
- fixes some values in training to make the AI train amazons
- minor updates of basic amounts and other lua values
- Fix AI handling of amazon water gatherer (#4753)
### Gameplay
- Fix 1% too-high soldier evade (#3911)
- Set correct WorkerQueue Economy after economy split (#3939)
- Ignore multiple enhance commands (#3953)
- Fixed two desyncs in New World & Discovery (#3976)
- Clever Critters (#3718)
- Critters can reproduce
- Carnivores can eat other critters
- Herbivores can eat on farm fields, delaying their growth
- Improved critters roaming algorithm
- Critters die of old age
- Immediately-upgraded constructionsites burn no longer (#3988)
- Clear space for portdocks (#3994)
- Fix ware/worker economy mismatch in `set_target_quantity` (#4003)
- Catch economy type mismatch in `Economy::set_target_quantity`
- AI only sets default quantity targets for ware economies
- Fix a crash after cancelling an expedition when no port is left (#4027)
- Disallow enhancing conquered enemy militarysites (#4029)
- Increase critter death chance in crowded regions (#4042)
- Unblock soldiers (#4037): Allow soldiers to pass other soldiers if they are not fighting
- Refactor playerfields visibility (#4046)
- Fix carriers keeping wares (#4076)
- Increased the chance that fugitive workers return to their homeland
- Follow-up cornercase fix against carriers keeping wares (#4104)
- Remember dismantlesite's state when unseeing a field (#4114)
- Remember dismantlesite's state when unseeing a field
- Performance tweak regarding rendering of unexplored fields (#4122)
- Tribes filtering (#3693): Only load the tribes that are actually being used.
- Map object types are registered in a new class `DescriptionManager`
- Each tribe only gets loaded when a player is playing as that tribe
- Buildings and immovables can still be placed via Lua, e.g. we can place a `frisian_fortress` if nobody is playing Frisians. If they need immovables with an attribute, these are loaded dynamically via the attribute.
- Support for custom scenario wares as well as workers and buildings
- Support for overwriting default units via scenario code
- Fix subdirectory handling in zip file system
- Player statistics and allowed ware/worker types are now stored in maps rather than vectors
- Make success of `LuaFlag::set_wares` independent of wares order
- Clean up some superfluous includes
- New test scenario that places all tribes' buildings
- Added new tests to market scenario and lua_testsuite for foreign and custom units
- Added a script for bulk renaming files with `git mv`. It just somehow ended up in this branch...
- For each init.lua, there is a `register.lua` which registers the names and attributes with the engine.
- Custom scenario units to be added to a tribe are now defined via a table rather than special Lua functions
- If you're overwriting a default unit without assigning it to a different tribe, just place an `init.lua` and `register.lua` below `<scenario>/scripting/tribes`. There's no need to list it in `<scenario>/scripting/tribes/init.lua` as well.
- Load world units on demand (#4148)
- World map object descriptions are now registered via `register.lua`
- World map object descriptions are loaded on map load
- Split terrains into separate files so that they can be loaded separately
- Reorganize files according to editor category
- `world/init.lua` now defines the editor category members
- Map objects no longer know about their editor categories
- Internal map object names now need to be globally unique
- Rename all resources, e.g. `coal` -> `resource_coal` to fix conflicts with wares
- Rename `ashes` terrain to `ashes1` to fix conflict with tribe immovable
- Bottom-align icons in editor tools
- Option to let players choose their own starting position (#4158)
- Trigger economy rebalancing on warehouse policy change (#4155)
- Disallow ferries to swim on lava (#4176)
- Target workers to immovables (#4209)
- Fix heap use after free in ShipFleet (#4247)
- Optimize player vision, part 1 (#4270)
- Fix vision glitches (#4283)
- Immovable targeting fixes (#4302)
- Unload expeditions at once (#4313)
- Fix a typo in an assert introduced in #4302
- Optimize player vision, part 2 (#4287)
- Remove unneeded NEVER_HERE in Vision (#4394)
- Wares/Workers Cheats (#4376)
- Change geologist's mountain definition (#4391)
- Ware Priority Improvements (#4441): Redesigned the input queue display from scratch and tidied up the priority backend. New priorites "Very High" (always served first) and "Very Low" (served only when there are no open requests with higher priority).
- New tribe: Amazons (#4424)
- Amazon fixes (#4473)
- Fix crash after evicting a worker (#4496)
- Update partially seen buildings' visibility when placed/removed (#4521)
- Add-Ons (#4464)
- Some more add-on features (#4541)
- Add-On sub-versions in the form 1.2.3
- More modding functions
- Add-On manager layouting tweaks
- new namespace AddOns
- adding productivity threshhold to amazon stonecutter_hut (#4583)
- fix bug 4580 by adopting amazons stonecutters hut to other quarries
- fixed amazon scout gender form
- Targeted Scouting (#4493)
- Fix crash when worker's terraform program fails (#4571)
- Amazons fixes (#4621)
- Fix distribution of idle ships to ports (#4623)
- Fix two crashes with tribe add-ons (#4682)
- Allow starting game from template (#4702)
- Support custom tribes in add-ons (#4708)
- Support custom tribes in add-ons
- Make collectors at last compatible with custom tribes
- Disallow AI players for unsuited tribes
- Update tribe dropdown when setting AI
- Shorten the ripe stage of barley fields (#4712)
- doubled trainers patience due to cycles failing quicker (#4726)
- renamed Youth Gathering to Initiation Site (#4739)
- Fix duplicate description registries by add-ons (#4767)
- Fix replays and savegames with add-on tribes (#4766)
- Fix add-on compatibility issues in random match setup (#4835)
- Add some notes to the random match setup menu
- Prevent crashes with invalid add-on
- Fix several add-on cornercase crashes (#4827)
- 2 crashes with MP games with add-ons
- 1 in SP scenarios
- 1 with custom building enhancements
- 1 with custom worker enhancements
- Rename Cassava Root Field/Plantation → Cassava Field/Plantation (#4850)
- Quickfix against workers reoccupying the building they were evicted from (#4890)
- Fix workers gaining experience for idling (#4905)
### User Interface
- Fix a WException when shift-clicking constructionsite WareQueues (#3949)
- Fix UI bugs (#3970)
- Fix diverse gettext markup bugs where translations weren't being displayed
- Fix textures for stones resources
- Remove pngrewrite from PNG optimization tools, because it broke the textures
- Deactivate translation catalogue updates
- 1 new translatable string in loader UI
- Don't add a dismantle button when no wares will be returned (#3987)
- Additional Expedition Items dropdown sorting order (#4011)
- Sort additional items dropdowns by item descname
- Exclude ferries from the dropdowns
- Continue button in main menu (#4010)
- Button to toggle buildings visibility (#4017)
- Forbid destroying expedition port construction sites (#4039)
- Add buttons to mute/unmute buildings (#4034): Mute/unmute buildings' "out of resources" messages per building, or for all buildings of the same type
- Add new option: Allow diagonal scrolling with numeric keypad (#4050)
- Soldier statistics window (#4018)
- Only show MultilineTextarea scrollbar when really needed (#4068)
- Fix disappearing language stats (#4075)
- Draw window frames with a different colour when focused (#4077)
- Show buildhelp semi-transparent on PreviouslySeen nodes (#4083)
- Remember the active tab when starting/stopping a building (#4111)
- Fixes minimap revealing unseen enemy buildings
- Show partially seen buildings in main view (#4105)
- Rebuild show/hide menu when toggling via hotkeys (#4116)
- Rebuild show/hide menu when toggling via hotkeys
- Don't close menus when pressing hotkeys
- Stop text input fields consuming some hotkeys (#4117)
- Fix detecting whether dropdown fits on screen (#4123)
- Finalize ware selection when mouse leaves WareDisplay (#4129)
- Fix fullscreen switching for Internet lobby (#4128)
- FullscreenMenuInternetLobby now relayouts itself on resolution changes
- Fix focus toggling for editboxes
- Make the Widelands window resizable (#4125)
- Make the Widelands window resizable
- Increase panel size asserts to 10000
- Remove `size >= 0` asserts
- Fix ware indices in ware statistic menu (#4149)
- Extend keyboard support (#4145): Extend keyboard and focus support to most UI elements where it makes sense, and fixes some bugs in focus passing with the Tab key.
- Expose PageUp, PageDown, Home, End, and Mousewheel to BaseListSelect
- Allow checkboxes, spinners and sliders to gain focus
- Fix focus transferring
- Allow buttons to gain focus and fix duplicate calls to child elements
- Don't let dropdowns grab the focus when closing
- Load About screen tab contents on demand (#4163)
- Only show .wgf files in load/save menu (#4192)
- Only show .wgf files in load/save menu to remove incompatibility warnings for files, which clearly are no save games.
- Also works for loading replays, where a .wrpl file has to have a corresponding .wgf file.
- Improve `UI::Box` (#4188): Add support for deletion of panels for `UI::Box` and ignoring invisible panels while layouting.
- Reset dropdown list selection when toggled off (#4205)
- Add copy paste support (#4074)
- Focus tweaks (#4197)
- Fix BaseListselect key handling when no entry selected (#4213)
- Fix window resizing problems (#4183)
- Save maximized state and unmaximized window size on exit
- Set window as not resizable before resizing it
- Add Fullscreen and Maximized to Window Size dropdown
- Set window as not resizable and don't change its size when toggling fullscreen
- Disable resizable window when compiled with SDL < 2.0.5
- Map preview on selection screen (#4201)
- Show map preview in new game screen and replays
- Use faster map loading for website info
- Render starting positions
- take invisble items into account again (#4249)
- Improve debug window (#4244)
- Fix scrolling (#4167)
- Open bobs with double click
- Change structs to classes
- Redesign splash screen and main menu (#4080)
- Let splash screen fade out after a few seconds
- Redesign main menu
- Convert About and Options to modal windows
- Ugly hack to fix dropdowns
- Add some screenshots as main menu backgrounds and use photographs for loading screens.
- Fix windows moving on their own when docking is enabled (#4272)
- Toolbar fix (#4277): Fix toolbar tabbing order and issues with mixing mouse and keyboard controls
- Default show hide options (#4262)
- Default-initialize display flags when no config file exists
- Overhaul of SP and MP launch game screen (#3847)
- Faster minimap previews (#4299)
- Improve minimap rendering speed
- Cache rendered minimaps
- Handle GameDataError during preview rendering (#4315)
- Do not layout invisible items (#4260)
- Refactor string assembly in MapDetailsBox (#4301)
- Make ProgressWindow respond to window resizing (#4310)
- Cleanup LaunchSPG (#4320)
- Refactor checkbox layouting (#4321)
- improve layout in game setup (#4331)
- Draw checkbox borders on top of focus overlay (#4292)
- Clear minimap icon on multiselect (#4342)
- Categorize loadscreens with map-specific themes (#4304)
- Generalize building- and ship windows to use InteractiveBase (#4282)
- Box Layouting Fixes (#4357)
- Fast fix for the drop up menu bug #4341 (#4363)
- Open menu and show message box instantly
- Add a method that shows an item from dropdown menu.
- New method highlights menu items step by step until the target is reached.
- Change the instructions of tutorial 1 to match with its actions.
- Fix WareStatisticsMenu main box assert (#4393)
- Random matches & Editor launching convenience (#4289)
- Allow quick generating of random matches against AIs, and ask editor users to choose their first action before launching the editor
- Beautify random map menu
- Table/Tabpanel Navigation (#4385)
- Implement mousewheel support for TabPanel and fix arrow keys for Table
- Implement PageUp, PageDown, Home, End for Table
- Let TabPanel ignore Left/Right, use Ctrl(+Shift)+Tab instead
- Overhaul building statistics menu (#4390)
- Add tooltips to tablerows (#4358)
- Draw road length tooltip in road building mode (#4381)
- Focus indicator tweaks (#4366)
- Tweak focus indicator display for buttons, dropdowns, and stateboxes
- Don't darken pictorial statebox icons
- Put focus on scrollbar instead of MultilineTextarea
- Add economy options button to warehouses (#4379)
- Main Menu Redesign, Part 2 (#4274)
- Split minimap rendering into stages (#4435)
- Main Menu Redesign, Part 3 (#4425)
- Reset individual training wheels (#4408): Add Options window for deactivating/reactivating individual training wheels
- More box layouting (#4411): Introduce a small inheritance tree of classes that use nested UI::Boxes to avoid any magic numbers and make all setup screens look alike regarding basic widget alignment, padding, etc
- Tweak low productivity threshold in building statistics UI (#4436)
- Tweak low productivity display in building statistics
- Tweak spinbox padding calculations
- Change ware queue priority colors to heatmap (#4467)
- Fix missing spinbox labels in random map window (#4485)
- Fix tooltip position (#4491)
- Fixes for mark/unmark button in training wheel options (#4475)
- Option to destroy attack target instead of conquering (#4477)
- Scale minimap based on the maximum of width and height of map. (#4495)
- Minimap: Use two rows if there are less than 120 pixels available for six buttons (#4536)
- Inform about required restart after installing world add-ons (#4539)
- Refactor toolbar and overlay strings to an info panel (#4526)
- Accessibility Options (#4530)
- New option to scroll the map view when the mouse cursor is near the screen edge
- New option for sticky tooltips: Tooltips stay visible and fixed in place, and can then be made to disappear by clicking anywhere or pressing F2
- Fix two info panel crashes (#4559)
- Move mouse to the place flag button consistently (#4561)
- Main Menu Redesign, Part 4 (#4518)
- Allow configuring playercolor (#4549)
- Fix double-deletion of message previews (#4577)
- Main Menu Redesign, Part 5 (#4572)
- Color chooser enhancements (#4582)
- Color Chooser: Mouse drag support & Enter key (#4591)
- Switch UI themes (#4569)
- Ensure at least one statistics data point (#4593)
- move caret with mouse click in editbox (#4578)
- Disallow random matches if starting positions are too close (#4592)
- Fix statistics plots player colours (#4600)
- Fix Enter/Esc consistency issues (#4597)
- Fix crash in seafaring stats menu (#4609)
- Add-Ons: Screenshots and voting stats (#4552)
- Fix forwarding of keypresses in main menu (#4620)
- Move autosave messages to info panel (#4614)
- Fix game tips display (#4624)
- Configurable keyboard shortcuts (#4476)
- Indicate stock/target amount relations and trends in stock menu (#4529)
- Configurable Keyboard Shortcuts, Part 2 & 3 (#4637, #4640)
- Use Cmd instead of Ctrl as default modifier on MacOS
- implement caret positioning via mouse (#4649)
- Add-Ons Packager (#4603)
- Fix statistics string cache (#4653)
- Fix LAN shortcut in main menu (#4658)
- Disable player and tribe buttons in scenario setup (#4663)
- Select text via mouse (#4660)
- Update hero/rookie radiobuttons (#4657)
- Generalize addon packager (#4667)
- Campaign editing (#4678)
- Multiplayer setup UI fixes (#4691)
- Set minimal progress value in add-on packager (#4714)
- Toggle preserve wares default behaviour with Shift (#4719)
- Relayout stock menu on tab change (#4724)
- Fix scrolling in gamedetails and mapdetails (#4742)
- Fix save game menu buttons (#4751)
- Disable Autofix Dependencies v1.0 (#4736)
- Fix crash on invalid screenshot (#4764)
- No custom starting positions for Discovery (#4765)
- Add-Ons: Get rid of required restarts (#4758): Rebuild the texture atlas instead, and be more intelligent about detecting whether this is required.
- Fix MP dropdown conditions (#4780)
- Prevent large dropdowns dropping out of the screen (#4782)
- Add text size checks in multiline editbox (#4800)
- Add missing richtext escape for map descriptions (#4817)
- Fix initial info panel text visibility (#4810)
- Don't let invisible panels handle keys (#4826)
- Don't jump to undefined landmarks (#4855)
### Internationalization
- Fix some bugs flagged up by the translation validator
- Ship Localization (#4040)
- Localize shipnames
- Shipname consistency in network games
- Show roaming and idle ships as "empty"
- Add localedir parameter (#4112)
- Force pull and skip timestamp-only changes to po directory
- Fix problems with git lockfile during translation updates
- Get rid of duplicate translation fetching for tribes (#4170)
- Get rid of duplicate translation fetching for tribes
- Add examples to documentation
- Get rid of duplicate translation fetching for world (#4171)
- Fix poor hamlet warning message localization (#4293)
- Fix lua ngettext textdomain recognition
- Tribe descnames are already localized when loading the tribe info. (#4336)
- Fix statistics button translation (#4337): Dump the lua value untranslated and let C++ do the translation
- fix player name (#4354)
- Fix typography in tribes (#4474)
- Add missing translators comments (#4487)
- Disambiguate helptexts for soldier-related buildings (#4499)
- Disambiguate soldier strings in training site tooltips (#4501)
- Disambiguate militarysite statistics for tribes (#4502)
- Disambiguate militarysite census for tribes via Lua scripts
- Cache statistics strings to we don't have to keep running the Lua scripts
- Fix Lua npgettext
- Amazons string fixes (#4507)
- Disambiguate messages sent by military sites (#4511)
- Replace remaining occurrences of `set_textdomain` (#4512)
- Improve profile handling of translatable strings (#4547)
- Saved maps' name, descr and hint are now always marked for translation. The author is by default not translated, but if the markup is added manually it will be readded when saving.
- As a side-effect this branch allows us to remove redundant strings from add-on config files.
- Add missing textdomain calls (#4643, #4652)
- Localize timestamps of remote add-ons (#4700)
- Send localized cheating messages (#4462)
- Fixed string issues (#4005, #4723, #4728, #4731, #4752, #4770, #4808, #4846)
- Catch exception on invalid locale (#4725)
- Fix textdomains for add-on maps and support localized map set directory names (#4743)
- Fix npgettext textdomains for add-ons (#4762)
- Tribe-specific No Scout Hut Connected hint (#4770)
- Fix textdomain for keyboard shortcuts (#4799)
- Fix skipping of one-liner diffs in translation updates
- Add missing `pgettext` calls in emp04 (#4830)
### Help and Documentation
- fixed the helptext_note for frisian beekeeper (#3967)
- Corrections to Mask and Warhelm descriptions (#3896)
- Shift production program documentation to source code. (#4045)
- Shift production program documentation to source code
- Add documentation for construct and recruit
- Document animations (#4059)
- Add documentation for `duration` data type to scripting reference
- Shift `animate=` documentation to central location
- Add deprecation warnings
- Fix Empire scenario 4
- Add "becomes" to immovable help (#4071)
- Add immovable transformations to Tribes Encyclopedia
- Expose ShipDescr to Lua
- Add some checks for validating immovable transformations
- Program documentation (#4140)
- Update Production Program documentation
- Modernize program code for empire scenario 4
- Fix help for atlantean labyrinth (#4165)
- adopted mines hint to use new resource names
- Shift tribe helptexts (#4153): Shift tribe helptexts to `units.lua` in order to move the tribe-dependent information out of units.
- Delete obsolete helptexts (#4206)
- Enhance production site help (#4088)
- Add "creates" and "collects" sections to productionsites in the Encyclopedia
- Use created/collected info to add some purpose icons
- Add menu icons to rocks
- Make tree menu icons smaller
- Add regression tests for supporting/supported productionsites
- Fix typos in comments, messages, documentation (#4221)
- Fix representative images in building help (#4298)
- Removed outdated reference to number of tribes (#4312)
- Add helptexts for Frisian immovables (#4361)
- Add helptexts for berry bushes
- Add pond helptexts
- Add explanation for flowering
- Fix lua doc for custom buildings (#4371)
- Start fixing encyclopedia strings (#4551)
- Themes: Docs & Fail Safe (#4594): Fail safe on missing template images, and write documentation for theme definitions
- added info about ports vulnerability to port helptexts and empire 03 (#4665)
- added documentation for start conditions
- Clean up helptexts files (#4756)