News: Winter freeze is here
Winter freeze is here
Finally, while it’s springtime in the northern hemisphere, Winter Freeze is here! While we were busy dealing with all those network desyncs and some remaining crashes, we also indulged in a few new features on the side. These are the highlights since the First Snow freeze:
Animations, Icons and Overlays
- New wheatfield graphics by fraang
- Tweaks to solder animation timing
- Added missing animations for Barbarian Big Inn, Barbarian Wood Hardener and Atlantean Smoker Atlantean smoker
- Each tribe now has individual resource indicator graphics
Sounds and Music
- New music tracks "Scotty the Scout" by Stuart Marshall and "The beauty of the flatlands" by Klaus Halfmann
Tutorials and Campaigns
- Updated the Economy tutorial to match the new, enhanced encyclopedia
- Added roads to Player 2 in Warfare tutorial because the AI is empty
- Fixed reveal_campaign in bar_01
Scripting
- Added toggling of start/stop for productionsites via Lua
- Added Lua method to get the type of the current game, i.e., single- or multiplayer.
- Big overhaul of Territorial Lord, Territorial Time and Wood Gnome win conditions to improve performance and fix crashes and other issues
- In win conditions, notify only every hour, 10 minutes in the last 30 minutes
- Don't show points when game ended by military defeat
- Exposed port spaces and max caps to Lua interface
- Fixed desyncs in win conditions and Smugglers scenario
Saveloading
- Fixed bugs with missing files/folders in savegames by creating a temporary map save on game start
- Added various stability improvements and error checks
- Removed superfluous "postload" call from replay to improve performance
- Shifted calculation of map fields relevant to win conditions from Lua to C++. This gives us a huge performance boost during saveloading those win conditions.
AI
- Since the AI can handle only 1 expedition at a time, any extra expeditions are canceled
- Fixed endless loop in DefaultAI::dispensable_road_test
- Added one well to the Atlantean basic economy, as water is needed for crucial spidercloth production
- Replaced logic_rand() with std::rand() in seafaring code of AI to fix desyncs in network gaming
Gameplay
- Check for visibility of military buildings before permitting attack. This solves a problem with impregnable castles.
- New return value no_stats for work programs
- Increased the area where the map is recalculated after conquering by 1. This prevents buildings from sitting between borders.
- Fixeded heap-use-after-free in fleet while processing EditorGameBase::cleanup_objects() when ship has already been deleted
- Allow “return on dismantle values” without buildcost
- Fixed desyncs caused by floating point arithmetic in terrain affinity
- Reset economy serial in Game constructor. This fixes desyncs in replays.
- Stop ware dropoff when the target building has been destroyed. This fixes a crash when the enemy conquers a militarysite near a warehouse.
- Cancel Worker::fetchfromflag when the building is destroyed/dismantled/enhanced to prevent crashes
User Interface
- After deleting replays, the replays table now respects the “Show Filenames” setting.
- Directory creation in the editor can now also be triggered by pressing Enter in the name edit box.
- Do not execute zooming code when maximum/minimum is reached. This prevents Widelands from seeming to freeze when the user leans on the CTRL- keys.
- Allow hotkey usage while windows are open.
- Fixed UI bugs when loading a savegame saved from a replay
- Set focus to edit box when opening the game save menu.
- Don't provide the filename for the standard background image in the progress window. This fixes image positioning when starting multiplayer games.
- Execute map changes in Multiplayer UI after the player slots have been set. This fixes a bug with updating the client dropdowns.
Internationalization
- Completed the switchover to the new font renderer
- Fixed mix of localized / unlocalized default player names in editor
- Fixed undefined / unexpected behavior in case LANG environment is empty
Help and Documentation
- Fixed bug where advanced buildings would report the wrong worker experience in the encyclopedia
Editor
- Fixed crash when setting new 0,0 coordinates
- Fixed occasional crash in cleanup_port_spaces while saving maps.
- Limited the editor undo stack to 500 items to prevent boundless growth of memory use
Graphics Engine
- When graphics drivers report a shading language that widelands can’t use, try to show a basic SDL error message box to the user and print the shading language to console
- Fail with SDL messagebox if SDL_BYTESPERPIXEL != 4
Networking
- Diverse fixes on the communication between widelands and the metaserver
- Fixed 2 crashes
- Fixed display of map name in LAN lobby
Build system
- Support for glbinding 3 and new Boost version
- Support for LLVM 8 compiler
- Fixed revision detection
- Copy the version file instead of moving it, so that the update script can be run twice in a row.
Operating System Dependent Changes
- Fixed CMake policies and linker flags to please various operating system version requirements
Mac
- Use MacOSX.sdk if an appropriate versioned SDK can't be found.
- Modernized how Mac OS X releases are done:
Linux
- Added tags for Flatpak to appdata.xml
1 comment Posted by GunChleoc on 2019-04-15, 10:56
kaputtnik
Very nice