Wesnoth 1.15.14 (1.16 Beta 1)

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

User avatar
Pentarctagon
Project Manager
Posts: 4790
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Wesnoth 1.15.14 (1.16 Beta 1)

Post by Pentarctagon »

Wesnoth 1.15.14 is out!
The Battle for Wesnoth team is proud to announce that 1.15.14 is the first beta for 1.16!
For players, this is a great chance to take a look at what's changed and been added since 1.14, and there is a lot! A variety of new units have been added, the Dunefolk faction has been entirely rebalanced along with many other units, unit sprites have been updated and animations added, Descent Into Darkness has been overhauled and many other campaigns have also been significantly improved, the mushroom terrain has been revamped (which was surprisingly controversial), the Plan Unit Advancement modification has been mainlined, Isar's Cross now has an amazing background, and many more besides.

For content creators, this is the start of our feature freeze, which means that you can start porting your add-ons to what will eventually become 1.16 without worrying whether each release will break your add-on. Of particular note is that uploading and downloading add-ons are now done incrementally - meaning only things that have changed between versions are uploaded or downloaded - so uploading and downloading add-ons should now be a lot faster. Additionally, you can provide one or more [translation] tags in your _server.pbl to provide a translation of your add-on's title and description into languages other than English. However, there have also been a significant number of API changes, which have resulted in a large chunk of lua especially being marked as deprecated. This is intended as a one time occurrence to clean up and reorganize Wesnoth's APIs; the goal and intention is to never repeat this or anything close to it in any future development series.

And lastly, please report any bugs you run into! With new features come new bugs, and just because we created these features doesn't mean we already know every way they can stop working.
As this is a development version, we would like to remind everyone how the testing and feedback process works for these:
  • If you download Wesnoth stand-alone, make sure to keep the latest stable release around in case the game breaks and you find yourself unable to get your daily fix of Wesnoth.
  • Playtest the game, and make sure to report any bugs you find! Even obvious bugs can be left unfixed if everyone assumes someone else has already reported it.
  • For any bugs found, or to request new features to be added, check out bug tracker here. First though, please read our instructions for reporting bugs on the wiki, which will give your bug report or feature request the best chance of being addressed.
  • Near the end of the release notes below you will find a list of the most important bugs known at the time of the release. Some items are due to be fixed in future releases of the 1.15.x series, but for others we depend on contributed patches from volunteer coders like you!

Downloads
Source code (471.7 MB)
SHA256 sum: a935ce83757d997774d424d301b22bea07ccba13c06f0cc9556495c738d94c6d
Windows installer (64-bit) (440.6 MB)
SHA256 sum: e52171c823923b601c464183e62138cc5876f1ddeed4bdd7ad67aa9f8d6adc75
macOS package (485.0 MB)
SHA256 sum: 6744304db8c403a09e4e54e234f06a129df6973dd33fefb60c28c6c9923cd4a4
Steam
Development versions of Wesnoth are available on Steam through our beta channel.
In your Steam library: right-click on Battle for Wesnoth, select Properties, go to the Betas tab, and select the 1.15.x option from the drop down.
Linux
All known Linux packagers have been contacted, and binaries for your distribution may have already been created. Information about where to get the respective binaries and how to install them, including via Flatpak, can be found on the Linux binaries page in the wiki.

Changes in this release

Read on for more details about the most notable fixes and additions since the previous development release. A full list of changes may be found in our changelog.
General
  • Unit graphics
    A portrait has been added for the Seahorse, Jinn, Fire Guardian, and Fire Wraith.
    Unit animations have been added for the Seahorse, Jinn, and Fire Wraith.
    The snowy and dead oak variants of the great tree terrain have been added, along with the icy cobbles terrain.
  • Isle of Mists
    A new single player or coop survival scenario, Isle of Mists, has been added. This plays in the same vein as Dark Forecast, where you try to survive against increasingly difficult, randomized waves of enemies.
  • Unit balancing
    Dune Apothecary experience needed to level up changed from 100 to 65.
    Dune Captain experience needed to level up changed from 86 to 75.
    Dune Herbalist cost changed form 15 to 14.
    Dune Horse Archer experience needed to level up changed form 70 to 65.
    Naga Sicarius hp changed form 55 to 53 and melee damage changed form 9 to 6; new special "deflect" added to melee attack.
    Fire Guardian can now level into Fire Wraith; experience needed to level up for Fire Guardian changed from 50 to 29.
    Revised stats of all animal horses; Bay Horse can now level into Great Horse.
  • Client/server secure communication
    In previous releases of Wesnoth, when communicating with the multiplayer and add-ons server, only the password sent during the login process was sent in a secure manner. With this release, all communication done between Wesnoth and the multiplayer or add-ons server is done securely using the standard TLS protocol.
  • Add-ons manager invalid WML error
    The in-game add-ons manager will no longer display an error when used to update add-ons or select the add-on version to download.
  • Multiplayer lobby responsiveness
    The responsiveness of the multiplayer lobby when a lot of players are online has been greatly improved.
Important changes since 1.14.x
This information applies to all 1.15.x development releases unless specified otherwise.

General
  • The minimum required version of GCC is now 7.
  • Wesnoth no longer depends on SDL_ttf 2.0 for building and the option to use FriBidi for right-to-left (RTL) text rendering has been removed in favor of using Pango. It is worth noting that RTL language support in general is currently broken (#5600), and there are no active RTL language translations either.
Windows:
  • Windows 7 is now the minimum supported version.
  • Wesnoth now supports only the 64-bit versions of Windows.
macOS:
  • Wesnoth now uses the app sandboxing feature, which means there is a new location for saves. All saves will be migrated during first launch automatically. For info about backwards compatibility see here.
  • Starting with 1.15.5, the minimum required version of macOS is 10.11, and the recommended version is 10.14.
Known Issues
General issues:
  • OneDrive can interfere with Wesnoth’s user config/data directory set-up, leading to all kinds of different manifestations of the issue. There’s no fix available yet. The recommendation for the time being is to avoid syncing the Wesnoth user directory with OneDrive.
  • Preprocessor errors corrupt cache (issue #1924). If this happens you have to wipe your cache. That can be done in Preferences → Cache.

New Contributors and Developers

Do you want to help shape the future of Wesnoth? You are always free to join us in the #development Discord channel or #wesnoth-dev IRC channel on libera.chat to ask for help with getting started!

The multiplayer and add-ons servers for this development series are up and running. Because development versions are a moving target, the development multiplayer server only accepts the latest version in the series. Add-ons may break due to changes to the WML and Lua APIs throughout development series — any problems involving them should be reported to the respective add-on maintainers.

If you find any bugs, do not hesitate to report them, but please read the instructions on how to report bugs first! As bug reports in the forums tend to be forgotten, you will get better results using our bug tracker. We require your help for finding and fixing issues, no matter how obvious, trivial, or complicated they seem!

Have fun!
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Adamant14
Posts: 947
Joined: April 24th, 2010, 1:14 pm

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Adamant14 »

[store_time_of_day] seems broken. Can someone please confirm that?

And something is wrong with sound:
{QUAKE "cave-in.ogg"}
plays cave-in.ogg two times.

Code: Select all

        [sound]
            name=fire.wav
        [/sound]
plays fire.wav two times

Code: Select all

        [message]
            speaker=narrator
            message="bla bla bla."
            image=wesnoth-icon.png
            sound=ugg.wav
        [/message]
plays ugg.ogg two times

[advancefrom] seems to be broken too.
Author of Antar, Son of Rheor ( SP Campaign) | Development Thread + Feedback Thread + Replays of ASoR
User avatar
Lord-Knightmare
Discord Moderator
Posts: 1563
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Lord-Knightmare »

Adamant14 wrote: July 4th, 2021, 4:26 pm [store_time_of_day] seems broken. Can someone please confirm that?

And something is wrong with sound:
{QUAKE "cave-in.ogg"}
plays cave-in.ogg two times.

Code: Select all

        [sound]
            name=fire.wav
        [/sound]
plays fire.wav two times

Code: Select all

        [message]
            speaker=narrator
            message="bla bla bla."
            image=wesnoth-icon.png
            sound=ugg.wav
        [/message]
plays ugg.ogg two times

[advancefrom] seems to be broken too.
the advancefrom is now superseded by [modify_unit_type]. Please remove the deprecated code and update (like the rest of us UMC people did)

yes, the sound thing does go twice and is very annoying. I switched off sound out of frustration.

as for [store_time_day]...do you have any sample code I can try out?
User avatar
Adamant14
Posts: 947
Joined: April 24th, 2010, 1:14 pm

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Adamant14 »

Code: Select all

    [event]
        name=new turn
        first_time_only=no
        [store_time_of_day]
            variable=time_of_day
            x,y=15,15
            turn=$turn_number
        [/store_time_of_day]

        {DEBUG_MSG "tod is $time_of_day.id (turn is $turn_number)"}
    [/event]
Author of Antar, Son of Rheor ( SP Campaign) | Development Thread + Feedback Thread + Replays of ASoR
User avatar
Celtic_Minstrel
Developer
Posts: 1817
Joined: August 3rd, 2012, 11:26 pm
Location: Canada
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Celtic_Minstrel »

The sound issue is known and is already fixed for the next release.

The advancefrom issue is also known. Last I heard, no-one wanted to bother figuring out how to make it work, as advancefrom is deprecated. I might give it a shot at some point, but no promises.

Your store_time_of_day example seems to work on my local copy, so it may also be fixed, but I'm not sure. I think I remember an issue with it surfacing before though.
Author of The Black Cross of Aleron campaign and Default++ era.
Maintainer of Steelhive.
User avatar
Temuchin Khan
Posts: 1745
Joined: September 3rd, 2004, 6:35 pm
Location: Player 6 on the original Agaia map

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Temuchin Khan »

Hello. I'm experiencing a bug that appears to prevent the experimental AI from recruiting any units at all. The king just sits there until he gets attacked. I'm attaching a screenshot:
Attachments
Screen Shot 2021-07-05 at 8.32.53 AM.png
User avatar
Lord-Knightmare
Discord Moderator
Posts: 1563
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Lord-Knightmare »

Temuchin Khan wrote: July 5th, 2021, 12:37 pm Hello. I'm experiencing a bug that appears to prevent the experimental AI from recruiting any units at all. The king just sits there until he gets attacked. I'm attaching a screenshot:
I don't know how you got this but the experimental AI is working fine for me in MP.
can you elaborate on the error conditions or how it can be reproduced?
4p — Morituri replay 20210705-185742.gz
Drakes+Dunefolks vs Rebels+Undead
(20.5 KiB) Downloaded 43 times
User avatar
Celtic_Minstrel
Developer
Posts: 1817
Joined: August 3rd, 2012, 11:26 pm
Location: Canada
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Celtic_Minstrel »

Temuchin Khan wrote: July 5th, 2021, 12:37 pm Hello. I'm experiencing a bug that appears to prevent the experimental AI from recruiting any units at all. The king just sits there until he gets attacked. I'm attaching a screenshot:
Open data/ai/lua/generic_recruit_engine.lua and look at line 760. It should look like this:

Code: Select all

lawful_bonus = wesnoth.schedule.get_time_of_day(nil, wesnoth.current.turn + eta).lawful_bonus / eta^2
Author of The Black Cross of Aleron campaign and Default++ era.
Maintainer of Steelhive.
User avatar
Atreides
Posts: 348
Joined: March 30th, 2019, 10:38 pm
Location: A Nude Land

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Atreides »

Works great for me. Well one very weird thing though...

First time I tried to run my addons I got a few errors. I went and fixed the first one and that worked nicely but what's very odd is that on subsequent runs I am not getting the other errors reported again even though they are still unfixed and definitely not working. I've enabled the error logging for the beta now too and it only reports unknown unit types for the still broken and unfixed addon. A third addon era that's not fixed yet does not appear as a choice unlike the one I tried that did show up on the second run when the errors failed to display.
User avatar
octalot
Developer
Posts: 580
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by octalot »

Atreides wrote: July 5th, 2021, 9:48 pm First time I tried to run my addons I got a few errors. I went and fixed the first one and that worked nicely but what's very odd is that on subsequent runs I am not getting the other errors reported again even though they are still unfixed and definitely not working.
Try the --nocache command-line option. Some of the errors only show up when the preprocessor runs and regenerates the cache.
User avatar
Pentarctagon
Project Manager
Posts: 4790
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Pentarctagon »

You can also clear the cache from within the game:
cache.png
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Atreides
Posts: 348
Joined: March 30th, 2019, 10:38 pm
Location: A Nude Land

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Atreides »

Thanks, yes I did try purging the cache but it did not work. As for the command parameter I'll have to keep that in mind in future as I ended up fixing the errors from memory (photographic) earlier.

Almost everything works with my addons now except for one minor thing.

I've got an #ifhave section which only loads a combination of eras from 2 addons if both eras are installed. For some reason only the factions of that era and the macros for default era plus dunefolk work while the includes for the other era don't work. Well 6 of 7 don't work. The one that does work is only different in that the units it references are mainline units but it is still located in the other eras directory.
User avatar
octalot
Developer
Posts: 580
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by octalot »

Atreides wrote: July 6th, 2021, 2:35 am I've got an #ifhave section which only loads a combination of eras from 2 addons if both eras are installed. For some reason only the factions of that era and the macros for default era plus dunefolk work while the includes for the other era don't work. Well 6 of 7 don't work. The one that does work is only different in that the units it references are mainline units but it is still located in the other eras directory.
That sounds like a feature added in Wesnoth 1.15.4, which disables unused add-ons. An add-on is considered unused unless one of its [campaign], [scenario], [era], [multiplayer], [modification] or [resource] tags are active.

There's more about this in https://github.com/ProditorMagnus/Agele ... /issues/27
User avatar
Lord-Knightmare
Discord Moderator
Posts: 1563
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Lord-Knightmare »

octalot wrote: July 6th, 2021, 9:19 am
Atreides wrote: July 6th, 2021, 2:35 am I've got an #ifhave section which only loads a combination of eras from 2 addons if both eras are installed. For some reason only the factions of that era and the macros for default era plus dunefolk work while the includes for the other era don't work. Well 6 of 7 don't work. The one that does work is only different in that the units it references are mainline units but it is still located in the other eras directory.
That sounds like a feature added in Wesnoth 1.15.4, which disables unused add-ons. An add-on is considered unused unless one of its [campaign], [scenario], [era], [multiplayer], [modification] or [resource] tags are active.

There's more about this in https://github.com/ProditorMagnus/Agele ... /issues/27
I faced this same issue before while making a survival scenario, but got around the issue, following octalot's solution: I'm going to use [multiplayer]allow_era= on these maps.
User avatar
Celtic_Minstrel
Developer
Posts: 1817
Joined: August 3rd, 2012, 11:26 pm
Location: Canada
Contact:

Re: Wesnoth 1.15.14 (1.16 Beta 1)

Post by Celtic_Minstrel »

octalot wrote: July 6th, 2021, 9:19 am That sounds like a feature added in Wesnoth 1.15.4, which disables unused add-ons. An add-on is considered unused unless one of its [campaign], [scenario], [era], [multiplayer], [modification] or [resource] tags are active.

There's more about this in https://github.com/ProditorMagnus/Agele ... /issues/27
Are you sure this is relevant here? It's true that this new feature exists, and the issue you linked is about loading another add-on''s units so that's definitely relevant to it; however, I would think #ifhave is a much lower-level check that wouldn't be affected by it.
Author of The Black Cross of Aleron campaign and Default++ era.
Maintainer of Steelhive.
Locked