← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/changelog-2018-03 into lp:widelands

 

GunChleoc has proposed merging lp:~widelands-dev/widelands/changelog-2018-03 into lp:widelands.

Commit message:
Updated changelog up to bzr8630.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/changelog-2018-03/+merge/342177
-- 
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/changelog-2018-03 into lp:widelands.
=== modified file 'ChangeLog'
--- ChangeLog	2017-05-18 06:37:25 +0000
+++ ChangeLog	2018-03-27 07:37:29 +0000
@@ -1,8 +1,11 @@
-## Post Build 19 until bzr8352
+## Post Build 19 until bzr8630
 
 ### Animations, Icons and Overlays
 
   - Implemented scaling support for animations
+  - New graphics for field selectors and field action tabs
+  - Special field selector for road building mode
+  - Added missing call to get_rand_anim when a soldier is dying
 
 
 ### Sounds and Music
@@ -12,25 +15,30 @@
     Woodcutter, Sawmill, Stonecutter, Goldspinner.
   - Modified smithies sounds to dimmer versions; added tree-falling sounds,
     substituted Timber shouting with tree-falling.
-  - New music tracks: "Silkweaver's Song", "Hypathia's Theme" and "We Work in
-    the Vineyards".
+  - New music tracks: "Silkweaver's Song", "Hypathia's Theme", "We Work in
+    the Vineyards" and "Running out of Coal"
   - Allocate 32 mixing channels instead of the default 8.
 
 
 ### Tutorials and Campaigns
 
-  - Tweaked timings in tutorials and scenarios.
+  - 2 new missions for the Empire campaign
+  - 2 new missions for the new Frisians tribe
+  - Tweaked timings in tutorials and scenarios
   - Changes and additions to Lua methods and objects:
     - New method player:get_produced_wares_count()
     - New object LuaMap  -> LuaEconomy.
-    - Added option to Lua function player:hide_fields to mark them as unexplored.
+    - Added option to Lua function player:hide_fields to mark them as unexplored
+    - New scripting functions for random and concentric revealing/hiding of fields
   - Remove unused parameters of message_box_objective.
-  - Fixed bug #1656192: Economy tutorial assumes window is open.
+  - Removed unused parameter 'req_suitability' from function
+    place_building_in_region in infrastructure.lua
+  - Added capability to add custom scenario buildings
+  - Fixed bug #1639514: Barbarian campaign, scenario 2: yellow brother bails out
+  - Fixed bug #1656192: Economy tutorial assumes window is open
   - Fixed bug #1670065: Random tree growth can block building sites needed to
-    progress in scenario.
-  - Fixed bug #1688655: lua func "place_building_in_region" not work for mines.
-    Removed unused parameter 'req_suitability' from function
-    place_building_in_region in infrastructure.lua.
+                        progress in scenario
+  - Fixed bug #1688655: lua func "place_building_in_region" not work for mines
 
 
 ### Maps
@@ -41,6 +49,10 @@
     Rendez-vous maps.
   - Increased maximum number of players from 8 to 16, to be used for testing
     purposes.
+  - Minor fixes to Last Bastion map where a player's expansion could become
+    completely blocked across the sea
+  - Fixed bug in Crossing the Horizon map where an artifact couldn't be
+    conquered by a player
 
 
 ### Saveloading
@@ -48,48 +60,92 @@
   - Old scenario save games will no longer work due to changes to the map
     scrolling functions.
   - Savehandler: Avoid reading config more than once per game
+  - Corrupt zip files now appear as "incompatible" on game loading/saving
+    screens. This fixes stack-buffer-overflows.
+
 
 ### AI
 
-  - Improved ship exploration decisions for AI.
-  - AI also continues exploring when the last port is lost to prevent crashes.
+  - The AI now uses a genetic algorithm. The genetic parameters are trained and
+    then kept in .wai files.
+  - New command line switch --ai_training: Dumps new AI files in home folder and
+    uses higher mutation ratios
+  - New command line switch --auto_speed: Activates auto-speed in multiplayer games
+  - Various refactorings of AI hints
+  - Multiple changes to the logic
+  - Improvements to training sites
+  - Add support for productionsites that are also supporting site to the AI.
+    One productionsite can now support multiple wares/productionsites.
+  - Allow resetting of teams via LUA during game
+  - Improved selection of which fields to build something on
   - AI now calculates military strength based on the actual init.lua files
     rather than hard-coding the values. This also removes the tribe name
     restriction for modders.
+  - When considering a quarry, the AI makes sure there is at least one rock in
+    the vicinity
+  - Improved ship exploration decisions for AI.
+  - AI nows considers whether possible sea direction leads to unknown territories
+  - AI also continues exploring when the last port is lost to prevent crashes.
+  - Prohibit seafaring buildings for AI on non-seafaring maps. AI can still
+    handle ships and shipyards that already exist when a map does not allow
+    seafaring at the moment.
+  - AI now scans entire map for portspaces
+  - Fixed bug #1724073: AI crashes when some AI slots are empty
 
 
 ### Gameplay
 
-  - Improvements to various production sites' logic
-  - New "Barracks" (casern) building for recruiting soldiers. Solders are no
+  - New Frisian tribe
+  - New "Village" starting condition
+  - New "Barracks" (casern) building for recruiting soldiers. Soldiers are no
     longer created by warehouses. Production sites can now have workers as input
     to consume.
+  - Started implementing new "Market" building with a Barbarian prototype.
+    Not functional yet.
+  - Balancing: Halved needed experience for Barbarian brewer and blacksmith
+  - Balancing: Buffed Barbarian and Empire soldiers
+  - Balancing: Added more trainers to headquarters at game start
+  - Balancing: Removed meat default target quantity for Barbarians and Atlanteans
+  - Balancing: Lowered productivity threshold for lumberjacks to 60%.
+  - Balancing: Depleted Atlantean crystal (and iron) mines work slightly better
+    when depleted
+  - Balancing: Improvements to various production sites' logic
+  - The worker program "plant" no longer takes "tribe:" as a parameter;
+    immovables are now identified via their attributes only, and both world and
+    tribe immovables are searched. As a side effect, tribe immovables can now
+    have terrain affinity.
+  - Forester/Ranger now prefers good soil, and is thus more efficient
+  - Make the scout aware of nearby military sites. The scout now switches
+    between random walking and doing an excursion to enemy military sites
   - When a Fish Breeder's fishing grounds are full, display a special tooltip
-    instead of sending an "Out of Resources" message.
+    instead of sending an "Out of Resources" message
   - When a warehouse is destroyed, the maximum number of fleeing units is now
-    limited to 500 per unit type.
+    limited to 500 per unit type
   - Only cancel expedition if there is a reachable portdock. Show a warning
     message to owner.
-  - Shifted ware hotspot definition from WorkerDescr to CarrierDescr.
+  - Shifted ware hotspot definition from WorkerDescr to CarrierDescr
   - Fixed bug for Wood Gnome in which a destroyed player would gain infinite
     points. Also, no longer calculate score for a defeated player.
   - Fixed a bug where higher-level workers wouldn't occupy lower-level workers'
-    working position slots in productionsites.
+    working position slots in productionsites
   - The port now conquers every location where its military influence is higher
     than the influence of other players. This fixes a segfault when all
     potential portdock fields are owned by another player, but there is a
     portdock location available where the player owning the port has highest
     influence.
   - Fixed bug in collectors script where a broken message was sent after the
-    game ended.
+    game ended
+  - Fixed bug  #963799: shortsighted shipwright (ship in pond)
+  - Fixed bug #1611323: ships can be built in non-floating spaces (shipyard)
+  - Fixed bug #1636966: Segfault in battle
+  - Fixed bug #1637386: Militarysites warn about allies
+  - Fixed bug #1639444: Workers with wares inside ships can crash the game
   - Fixed bug #1643209: No-cost workers are not removed correctly
-  - Fixed bug #1639444: Workers with wares inside ships can crash the game
-  - Fixed bug #1656671: Wares are not always transported to construction site.
-  - Fixed bug #1637386: Militarysites warn about allies.
-  - Fixed bug  #963799: shortsighted shipwright (ship in pond)
-  - Fixed bug  #1611323: ships can be built in non-floating spaces (shipyard)
+  - Fixed bug #1643284: Ships of a fleet can have the same name
+  - Fixed bug #1656671: Wares are not always transported to construction site
   - Fixed bug #1658456: Imperials: Soldier target quantity not changeable
-  - Fixed bug #1643284: Ships of a fleet can have the same name
+  - Fixed bug #1749586: Fish breeder can't breed fish if the game is loaded
+                        after all fish is caught
 
 
 ### User Interface
@@ -98,7 +154,7 @@
     to in-/decrease, and CTRL+0 to reset. This also removes 0 as a possible
     landmark number.
   - All map transitions like jumping in messages and in the buildings menu are
-    now animated.
+    now animated. New commandline option "animate_map_panning".
   - Moved smooth animation of cursor and MapView from Lua into C++. This fixes
     the transitions in tutorials, which were broken when zoomed.
   - Show census information on destroyed building with the former building's
@@ -121,23 +177,35 @@
   - Fullscreen background images are now tiled rather than stretched.
   - Stopped fullscreen toggle from flickering.
   - The following menus now relayout themselves when fullscreen mode is toggled:
-    main, multiplayer, single player, about, map selection, options.
+    main, multiplayer, single player, about, map selection, options, load game,
+    save game.
+  - For multiplayer game setup, use dropdowns instead of buttons to select
+    player options
   - Improved scrollbar and table header layout.
+  - Remove buttons from economy options window for spectators
+  - Improvements to StoryMessageBox, keyboard navigation and UI focusing
+  - Updating all ware priorities of a building when CTRL is pressed while clicking
+  - Sorting IRC users behind the players in the lobby
   - Replaced get_key_state with SDL_GetModState() to fix keyboard mappings.
   - Actionconfirm now uses Box layout and resizes according to text size.
   - Display loading times on the console while loading the tribes.
   - Simplified the UI::Align enum and various alignment-related cleanup and
     fixes.
   - Replaced booleans in UI::Box::add() with enum classes for better readability
+  - Converted all text to new font renderer. Formatting functions for the new
+    renderer live in data/scripting/richtext.lua
+  - A more principled fix to dangling object pointers in the UI using Optr<>
+  - Fixed bug #1191295: Seafaring: builder not listed in expedition list in port
   - Fixed bug #1635808: Display of worker in training sites is not updated.
-  - Fixed bug #1191295: Seafaring: builder not listed in expedition list in port
+  - Fixed bug #1653254: Action window of Road stays open under some
+                        circumstances
+  - Fixed bug #1653460: UI::Panel::get_inner_h() const: Assertion `tborder_ +
+                        bborder_ <= h_' failed
   - Fixed bug #1658489: Expedition tab in Port window messed up some times
-  - Fixed bug #1653460: UI::Panel::get_inner_h() const: Assertion `tborder_ +
-    bborder_ <= h_' failed
-  - Fixed bug #1653254: Action window of Road stays open under some
-    circumstances
+  - Fixed bug #1644553: Crash when buildhelp icon is clicked twice
   - Fixed bug #1687043: Memory leak in Multilineeditbox
-  - Fixed bug #1644553: Crash when buildhelp icon is clicked twice
+  - Fixed bug #1695701: Crash when a militarysite window is open while the
+                        enemy conquers it by sending a notification.
 
 
 ### Internationalization
@@ -151,7 +219,14 @@
   - Added a Python script to do automated glossary checks for translations. It
     enlists the help of Hunspell and 'misuses' the Transifex note field in order
     to reduce noise.
-  - Fixed various string issues and added some translators' comments.
+  - Implemented glossary generation for the Transifex glossary with help from
+    the Translate Toolkit (http://toolkit.translatehouse.org/).
+  - Show translation stats next to the language selection menu and invite
+    translators if a translation is incomplete, with the help of the Translate
+    Toolkit. New utils script "update_translation_stats.py" that will write
+    translation statistics to data/i18n/translation_stats.conf and is called
+    on every translation pull.
+  - Fixed various string issues and added some translators' comments
 
 
 ### Help and Documentation
@@ -159,17 +234,29 @@
   - Convert editor/game tips to Lua and display them in the in-editor/in-game
     help. Added new tips.
   - Restructured, enhanced and added to the Lua scripting reference for Tribes.
+  - Added/Improved documentation for animations, worker programs, worker
+    helptexts, AI hints, World units and the Richtext system
+  - Added immovables to in-game help
   - Fixed some wrong indentation for the documentation in the website.
   - Added toptopple sound documentation in .ods spreadsheet format (LibreCalc)
     into 'doc' folder
+  - Fixed and improved documentation for LuaMapObjectDescription::get_type_name.
+  - More cross-linking between map object classes and their description objects.
+  - Fixed some miscellaneous bugs in the LuaMap documentation.
+  - Use mathjax for latex in docs instead of imgmath
+  - Enable building documentation with warnings as errors on Travis
 
 
 ### Editor
 
   - Overhauled the selection menu for critters to give them categories
   - Added an option "items per row" and rearranged the terrains and immovables
+  - Display of bobs ,immovables and resources can now be toggled individually
+  - Fixed drag and drop
+  - Removed dead code for make infrastructure tool that was never finished
   - Fixed bug #1627537: Release mouse button does not work when placing things
-    and mouse gets under a window
+                        and mouse gets under a window
+  - Fixed bug 1738641#: Resources can be replaced only once in editor
 
 
 ### Graphics Engine
@@ -177,29 +264,86 @@
   - Renamed "sub" tag to "div" in new font renderer.
   - The new font renderer now sets the width properly and supports player color
     for images. Added width property to img tag
-  - Buildings and ships now send their messages with the new font renderer.
+  - The new font renderer now creates a set of textures that will be blitted
+    separately by the new class RenderedText. This avoids issues with texture
+    sizes exceeding the maximum size supported by graphics drivers when
+    MultilineTextareas get arbitrarily long.
+  - Fixed incorrect layout of divs with width=fill when the previous div is
+    wider than 50%
+  - Fixed superfluous space characters at beginning and end of lines
+  - Implemented text floating around images
   - Messages try to render with the new font renderer first, then fall back to
     the old font renderer for layouting messages that haven't been converted yet
     (and from savegames).
   - All images with player color now receive their color by a common
     playercolor_image function. Available player colors are kept in an array.
+  - Replaced raw pointers in the font renderer with shared_ptr
   - Split graphics into multiple Cmake libraries.
-
-
-### Other Issues
+  - Got rid of EdgeOverlayManager and FieldOverlayManager and shifted their
+    functionality to local draw() functions in individual classes. Gave the
+    Interactive* classes their own draw() functions.
+  - Refactored Tcoords, Fcoords and TriangleIndex
+  - Fixed bug #1674243: Assign owners to neighbors in Player::rediscover_node.
+                        The lack of owners was causing crashes with the road
+                        program, which no longer knew which texture to pick.
+  - Fixed bug #1711816: Black terrains on fullscreen switch.
+
+
+### Networking
+
+  - Implemented a relay server - opening a router port is no longer necessary
+    for the host
+  - Added IPv6 support for non-metaserver games
+  - Deliver received network packets even when the TCP connection is already
+    closed
+  - Improved the relogin code by adding semi-constant user ids that are valid
+    for 12 hours, and doubled logins with registered accounts
+  - Increasing password security by no longer storing and transmitting it in
+    plaintext
+  - Replaced SDL-Net with Boost.Asio
+  - Fixed bug #1691335: Multiplayer client crashes when the host hasn't selected
+                        a map yet
+
+### Build System
 
   - Windows builds now have a unique app id for every build. This allows
     parallel installation of several versions.
   - Modernized how Mac OS X releases are done.
+  - Added support for gcc7.
+  - Removed "redundant-decls" flag for Windows builds due to conflict between
+    SDL and MinGW.
+  - New Macro FALLS_THROUGH; for use in switch statements.
+  - Let Travis build each commit on MacOS in addition to our Linux builds. Note
+    that the regression test suite is only run for Linux.
+  - Allow compiling with AddressSanitizer, and choosing between gcc and clang on
+    the first compile.
+  - Deactivated the rich text testing project, as it's currently unmaintained.
+  - Moved website related binaries to base dir in compile.sh
+
+
+### Other Issues
+
   - Moved utils/fix_lua_tabs.py to utils/fix_formatting.py and added calls to
     clang-format and pyformat.
   - Fixed a series of compiler warnings for clang and Windows.
   - The ProductionSiteDescr constructor still contained some checks from the
     time when they used to inherit from MilitarysiteDescr. Removed this obsolete
     code and made working_positions and programs mandatory.
-  - Moved website related binaries to base dir in compile.sh
   - Used the Notification system to reduce some code interdependency.
   - Various code cleanups to make the code more readable.
+  - Fixed diverse crashes and memory leaks with the help of AddressSanitizer
+  - Diverse refactorings to use composition over inheritance and to get rid of
+    multiple inheritance
+  - Replaced SyncCallback through a std::function<void()>.
+  - More widespread use of smart pointers
+  - Detangled MapView and InteractiveBase.
+  - Cleaned up map handling in EditorGameBase
+  - Removed some dead code and reduced dependency cycles
+  - Options screen now saves immediately so that the changes are persistent even
+    if Widelands crashes afterwards.
+  - Added 2 new functions to Lua interface: list_directory and is_directory
+  - Split new function cleanup_portspaces() from allows_seafaring(), and
+    refactored port spaces checks.
   - Fixed bug #1648178: Fatal Exception: Bad Cast
 
 


Follow ups