Wesnoth 1.13.0

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

Moderator: Forum Moderators

User avatar
Iris
Site Administrator
Posts: 6798
Joined: November 14th, 2006, 5:54 pm
Location: Chile
Contact:

Wesnoth 1.13.0

Post by Iris »

Wesnoth 1.13.0 is out!

Screenshot Screenshot Screenshot Screenshot

This is the first release of the new 1.13.x development series, delivering an assortment of shiny new additions and improvements developed in parallel to the 1.12.x series. As it has been a while since our last alpha-quality development release, we would like to remind everyone how the testing and feedback process works:
  • Download and install this development version, making 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, try out some of the API additions for content creators, and write down your observations on a notebook.
  • If you encounter issues, don’t panic, grab some bug spray and protective gear, and head directly to our instructions for reporting bugs. Most importantly, keep in mind that we can’t know about any bugs you encounter unless you report them to us!
  • 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 version 1.13.1, but for others we depend on contributed patches from volunteer coders like you!
  • Check our bug tracker for a full list of bugs and feature requests, including other bugs found after the release was published.
Since the release of 1.12 beta 2, the development version of Wesnoth has seen a myriad of improvements: the SP/MP unification effort brings support for eras and modifications to single-player campaigns; required add-ons may now be automatically installed when attempting to join a multiplayer game; the new Lua interpreter console allows for easy debugging and testing of Lua code in scenarios; a number of WML and Lua API additions confer more power to content creators; screenshots are now saved in the PNG image format to save disk space; and the new RNG implementation may or may not help unlucky players feel less unlucky (chances are it won’t, sorry!).

There is a lot more to this release than this heavily condensed summary. Read on for more details on these and other notable changes.
General
Compared to Wesnoth 1.12.x, this version includes the following changes in build requirements:

Required libraries:
  • Boost.Random 1.48.0 or later is now required.
  • Boost.Filesystem 1.44.0 or later is now required.
  • Boost.Locale 1.48.0 is required, but libintl may be used on platforms other than Windows instead by passing the -DENABLE_LIBINTL=ON (CMake) or libintl=true (SCons) options at build time.
  • SDL_mixer version 1.2.12 or later is now required. While this was merely a recommendation in Wesnoth 1.12.x, 1.13.x drops all remaining support code for previous versions, which means that the build will fail otherwise.
Optional libraries:
  • libpng is now an optional direct dependency. Do note the “direct” part — Wesnoth has always required SDL_image to be built with libpng support for it to work at all. Satisfying Wesnoth’s direct dependency on libpng enables saving game and map screenshots as PNG instead of BMP files.
  • libhistory (part of the GNU Readline library) is now an optional dependency. Satisfying this dependency enables command line history support in the new Lua interpreter console.
  • Support for versions of FriBiDi less than 0.10.9 has been dropped.
Wesnoth’s random number generator implementation has been replaced, now using the modern Mersenne Twister generator included in Boost instead of the dated C rand() function. The server and client also generate seeds using /dev/urandom or your platform’s equivalent.

This means that the WML [set_variable] rand= option should now be much more random and seeded properly. Lua on the other hand still uses the C rand() function, so it is advised not to use that anymore.
The colors applied to unit movement orbs and the minimap display (when the Unit Coding option is not selected) can now be configured under Preferences → Display → Colors. It is also possible to enable or disable orbs for certain statues.
  • Unit overlays are now aligned to the unit sprite rather than its containing hex.
  • New standing animation (NE and SE) for the Revenant
  • New standing animation for the Dwarvish Stalwart and Sentinel
  • Unit movement over terrains with elevation (e.g. keeps and bridges) is smoother (bug #20635 [Gna.org]).
  • Added Brazier and Lit Brazier embellishment terrains.
  • New beach waves terrain animation.
  • New images for the dummy, barrel, and green cloak items.
  • Updated Snowy Orcish Castle and Keep terrain images.
A new dialog providing access to options and information about the WML parser cache can be accessed from Preferences → General → Cache. At the moment, it is possible to launch a file browser on the cache location, copy its path to clipboard, and clean or purge the cache contents. The last two options are intended as both a debugging aid and a tool to keep the cache from taking up excessive disk space. Additional options for automatic cache size control may be added to this dialog in the future.
The game now ships with bold and oblique font variants of the DejaVu Sans font used for English and many other languages. These variants are used in menus and text such as the in-game help for styling text where we previously used SDL_ttf’s vastly inferior synthetic font variants (see bug #22376 [Gna.org]).
In preparation for updating Wesnoth’s codebase to use a newer version of SDL (still a work in progress), all unmaintained compatibility code for AmigaOS, BeOS, and OS/2 has been removed. It is highly likely that it was already broken by the sheer number of changes in previous stable series since it has not been tested by anyone during this time.

Since Wesnoth is a volunteer-driven project, it is highly unlikely that support for these or other platforms will be (re)added in the future unless people step up to test and maintain any necessary compatibility code.
  • Added a “Disable automatic moves” preference to disable automatic movements at the beginning of a turn.
  • The initial title screen music track is now Journey’s End by Mattias Westlund (introduced in version 1.7.4).
  • Made the file chooser dialog (used for e.g. loading maps in the editor) use uniform path delimiters on Windows, fixing issues with browsing to parent directories (bug #23224 [Gna.org]).
  • CMake build type now defaults to “Release” to ensure builds are optimized unless explicitly requested otherwise (bug #23445 [Gna.org])
  • A new command-line switch, --noaddons, has been added to disable loading add-ons entirely, for testing or debugging purposes.
  • Wesnoth now has its own WML/Lua unit testing framework, currently used in conjunction with engine unit tests to detect and prevent regressions during development.
For Players
Single-player campaign initialization and progression now shares a substantial amount of code with multiplayer games setup. Among other things, this means eras, modifications, and game creation options are now available in single-player campaigns. Most of the work for this was done by RiftWalker as part of his project for GSoC 2014.

Additionally, the following campaign-specific changes were made:
  • The game tutorial campaign was rewritten for clarity and to allow more interactivity on the part of the player.
  • Northern Rebirth: The first six scenarios have been significantly improved, with several map redraws and two new cutscene scenarios.
  • Eastern Invasion: The first seven scenarios of this campaign also received improvements, including the addition of the Skeleton Rider line, and revamped maps for the alternate branch in “An Elven Alliance”.
  • The Hammer of Thursagan: The scenarios “The Court of Karrag” and “Epilogue” feature a new map.
The following changes to unit balance and stats are included in this release:
  • Increased the experience requirement for the Rami from 32 to 39.
  • Increased the experience requirement for the Saree from 56 to 64.
  • The Mudcrawler line now has the ‘elemental’ trait, rendering these units immune to poison, drain, and plague.
In previous versions of Wesnoth, if a game using add-ons is hosted on the multiplayer server, players must somehow determine which add-ons are required (which is not always evident from the game’s description), then log out of the MP lobby, navigate to the Add-ons Manager, search for these add-ons by name or author, download them, and rejoin the server.

Now, a player can simply double click on the game entry and they will be prompted to download all of the necessary add-ons and their dependencies.
In previous versions of Wesnoth, games hosted on the multiplayer server requiring missing add-ons to play appear grayed out, and the player is not allowed to join. However, the client would still allow players to join these games with outdated add-ons, resulting in OOS errors and other anomalies. This may discourage players from using user-made content in multiplayer games unless they make sure to constantly update their add-ons each time before joining the server.

Now all games carry metadata which documents which add-ons are needed to play them, and at what versions. UMC authors may specify for each [era] or [modification] what the minimum add-on version is with which this content is backwards compatible, by adding addon_min_version attributes to these tags; these should be version strings (e.g. 1.2.3) to be compared with the add-on version in the .pbl file of the add-on. If no minimum version is specified, it is assumed that there is no backwards compatibility! The game client will take all this information into account, and when a player tries to join a game with add-on content, it will prompt the player to automatically update the relevant add-ons if it will make it possible to play the game. The game will also warn the player when the host has out-of-date add-ons, a situation which can only be resolved by the host updating their own installed add-ons.
A new option has been added to the MP game setup screen to allow controlling random faction assignments. This can be set to “Independent” (default), “No Mirror”, or “No Ally Mirror”.
Start-of-scenario saves of multiplayer games work properly again (bug #22068 [Gna.org]).
  • Several sections have been rewritten or restructured.
  • Every unit page now includes a list of possible traits for that unit type.
  • A new Defense Cap column is included under the Terrain Modifiers section for units which have their defense capped on certain terrains (e.g. mounted units on forest hexes). Units with a defense cap also include a link to an explanation in their special notes.
  • Mixed terrain types are now explained in the main topic under the Terrains section. Entries accessed via the Terrain Description context menu option will also display information about the best/worst movement/defense attributes for mixed terrains.
  • All MP eras now have automatically-generated entries in the help browser (bug #22107 [Gna.org]).
  • Mainline MP factions now include proper descriptions in the help, as well as automatically-generated lists of races and alignments.
  • A new automatically-generated section for ToD schedules has been added.
A new set of options for more fine-grained control of sound and desktop notifications in multiplayer mode has been added under Preferences → Multiplayer → Alerts. Individual events, such as players joining or leaving, whispers, messages from friends, etc., may now prompt a sound or notification, and may be handled differently in the lobby vs. in game. The Lobby Sounds and Disable Notifications entries in Preferences → Advanced have been removed, having been subsumed by this new screen. The particular sound files which are played for each of these events may be reconfigured by changing some attributes in <game data dir>/data/game_config.cfg.
A button that allows playing only one move at a time in replay mode has been added. Thanks to Zappaman for this.
Support for hyperlinks to GUI2 dialogs has been added. In particular, this means that the Chat Log window and add-on descriptions support rendering and clicking on hyperlinks.
If Wesnoth is configured to use libpng directly at build time, the in-game window and map screenshots functionality will save screenshots in the PNG format instead of large uncompressed bitmap (BMP) files. This also applies to the --screenshot and --render-image command line switches.
For Content Creators
Compatibility for the following legacy WML/Lua features from previous series has been removed in this release:
  • 1.10.x-style ability/weapon special descriptions with an “ability/weapon special name:” heading on the first line.
  • [filter_side] in [gold] and [modify_ai] action tags. Place the Standard Side Filter directly under the action tag instead.
  • [object] duration=level. Use [object] duration=scenario instead.
By default, all Lua in Wesnoth is now executed using “strict globals”. This means that you must assign a value (such as nil) to a global variable before using it, otherwise this will result in a runtime error. While this is strictly speaking a compatibility-breaking change, it is quite uncommon that you would require the default behavior for your script to work, and this change greatly improves the maintainability of Lua in add-ons by giving an error message in case of a programmer typo, rather than pretending that everything is fine. This change also improves the behavior of the Lua interpreter console.

The implementation is based on a module called "ilua" (interactive lua) available here: http://lua-users.org/files/wiki_insecur ... d/ilua.lua

If you must, you can disable the feature in one of the following ways:
  • setmetatable(_G, nil) to disable, and ilua.set_strict() to re-enable.
  • result, err = pcall ( possible_global_var ~= nil )
  • result = rawget(_G, "possible_global_var")
Note that this change already revealed a bug in our core WML API as soon as it was implemented (commit d31253f585bd1e111705f59bdc37012ff6675f38).
In Lua, the print function no longer writes to Wesnoth’s stdout, meaning its output will not appear in log files. Instead, its output only appears in the logs accessible via the in-game Lua console.

For backwards compatibility, the old print function is still included renamed as std_print. So if you need to print to standard out you can use that one. You also have the option of course to undo the change with print = std_print, but then the Lua console log will not work. Another option is to combine them using a closure:

Code: Select all

function make_print()
  local new_print = print
  local old_print = std_print
  return function(...)
    old_print(...)
    new_print(...)
  end
end

print = make_print()
Additionally, you can use --log-debug=scripting/lua in Wesnoth’s command line, so that all Lua print commands will be routed to the debug log.
The map_generation= syntax in [multiplayer] was changed to match the semantics of map_generation= in campaigns. This means map_generation= will only generate the map and preserve anything but map_data= while scenario_generation= can be used to generate the complete scenario.
The use of incorrect WML variable references like my_array[1][5].my_value, my_array..my_value or my_array[].my_value will now result in error messages.
Tags:
  • [lua] is now accepted under [modification] and [era].
  • [sync_variable] allows to synchronize a variable between, multiple clients in a mp game. This can for example be a variable that was previously set in a select or a preload event.
  • [result] inside [endlevel] allows to give side specific results in a mp game.
  • [elseif] inside [if] simplifies WML control flow by not having to nest [if] tags in [else] blocks.
  • [do_command] allows to execute attacks, moves, recalls, recruits and so on from WML, having the same effects as if a player had performed the action.
  • [put_to_recall_list] moves a unit from the map to its side’s recall list.
  • [store_relative_direction] gets the direction of a location relative to another.
  • [remove_event] removes an event handler identified by id, equivalent to [event] id=foo remove=yes in previous versions.
  • The number of menu items that may be registered using [set_menu_item] is no longer limited to 7. Additional entries are now accessed through previous/next page options in the menu. The number of entries per page is controlled by an option in Preferences → Advanced.
Attributes and filter options:
  • [unit] and [unit_type] now take a recall_cost= attribute (defaults to -1 to not override side recall costs) specifying a custom recall cost for specific units or unit types (bug #13074 [Gna.org]). Thanks to Aishiko for the pull request adding this feature.
  • [music] shuffle=yes/no (default yes) enables or disables music playlist shuffling (bug #19653 [Gna.org]). Thanks to Zappaman for the pull request adding this feature.
  • MP scenarios, eras, and modifications now support the define= from [campaign].
  • Standard Unit Filters now accept a status= attribute with a comma-separated list of statuses (‘poisoned’, ‘slowed’, etc.) that any matched units must have.
  • [scenario] force_lock_settings= now defaults to yes.
  • [scenario] and [multiplayer] now take a require_scenario=yes/no attribute.
  • [delay] now takes an accelerate=yes/no attribute (default no) specifying whether the effective delay timing should depend on the animation speed options set in Preferences → General.
  • [message] now accepts side_for= even if user input is required ([option], [text_input]).
  • [modify_side] controller= now works in networked multiplayer games. If a null-controlled side is activated by [modify_side] controller=ai/human, then the currently active client will be assigned control of that side.
  • [side] disallow_shuffle=yes/no (default no) allows exempting a side from shuffling when the Shuffle Sides option is selected during MP game creation.
  • The ellipse= attribute in stored units (e.g. $unit.ellipse) can now be overridden directly via variable assignment even if the attribute is set by [unit_type] or [effect] modifications.
  • wesnoth.synchonize_choice is now able to query information from sides other than the currently playing one.
  • wesnoth.get_all_vars retrieves a copy of the whole set of WML variables.
  • wesnoth.*dialog* GUI2 functions now support tree view widgets.
  • wesnoth.wml_conditionals is a new table similar to wesnoth.wml_actions. It can be used to define new conditional WML tags. For instance after running this Lua code:

    Code: Select all

    function wesnoth.wml_conditionals.can_make_archon(cfg)
    	local x = cfg.x or error("[can_make_archon] missing x")
    	local y = cfg.y or error("[can_make_archon] missing y")
    
    	local adj = wesnoth.get_units( { x = x,
    					 y = y,
    					 type = "Spearman",
    					 side = wesnoth.current.side,
    						{ "filter_adjacent" , 
    							{
    								side = wesnoth.current.side ,
    								type = "Spearman"
    							} 
    						}
    					} )
    
    	if #adj == 0 then
    		return false
    	end
    
    	return true
    end
    
    function wesnoth.wml_actions.make_archon(cfg)
    	local x = cfg.x or error("[make_archon] missing x")
    	local y = cfg.y or error("[make_archon] missing y")
    
    	local u = wesnoth.get_unit(x,y)
    	local adj = wesnoth.get_units( { type = "Spearman",
    					 side = wesnoth.current.side,
    						{ "filter_adjacent" , 
    							{
    								side = wesnoth.current.side ,
    								type = "Spearman",
    								x = x,
    								y = y
    							} 
    						}
    					} )
    
    	if not u or not adj or #adj == 0 then
    		return
    	end
    
    	a = adj[1]
    
    	if not a then
    		error("That's wierd")
    	end
    
    	u.hitpoints = u.hitpoints + a.hitpoints
    	u.name = u.name .. ' + ' .. a.name
    
    	wesnoth.put_unit(a.x, a.y, nil) -- kill the unit that was absorbed
    end
    
    The following becomes a valid WML menu item definition:

    Code: Select all

    		[set_menu_item]
    			id = make_archon
    			description = "Make a Spearman Archon"
    			[show_if]
    				[can_make_archon]
    					x = $x1
    					y = $y1
    				[/can_make_archon]
    			[/show_if]
    
    			[command]
    				[make_archon]
    					x = $x1
    					y = $y1
    				[/make_archon]
    			[/command]
    		[/set_menu_item]
    
  • ~SEPIA() passes the image through a sepia tone filter, giving it an aspect similar to old pictures.
  • ~NEG() negates the color values of the image, giving it an effect similar to a photographic negative.
  • ~XBRZ() scales an image using the xBRZ scaling algorithm added in this release.
  • ~SCALE_SHARP() scales an image using the nearest-neighbor method instead of the default interpolating algorithm.
As a debugging aid for content creators, a Lua interpreter console has been added to the game. At this time, it is accessible from a button in the Gamestate Inspector window, but it may also be brought up directly using the default hotkey ` (grave accent).

The interpreter console optionally supports command-line history using the “History” library provided by GNU Readline, if available at build time.
Wesnoth now supports a new random map generator type using Lua. To use it, select either map_generation=lua or scenario_generation=lua in your scenario. You should then have a generator tag which includes either the create_map or create_scenario attributes, which should be set to the contents of a Lua script which will perform the map generation.

Here is a trivial example:

Code: Select all

[multiplayer]
    id=lua_map_gen
    name= _ "Lua Map Gen Test Scenario"
    description= _ "test test test of lua map gen"
    map_generation="lua"
    [generator]
        id="test"
        config_name="Test Lua Map Generator"
        create_map = << 
			local rng = Rng:create()

			print(rng:draw())
			print(rng:draw())
			print(rng:draw())

			local w = 50
			local h = 40

			map=""

			for y=1,h do
				local r = rng:draw() % 2

				for x=1,w do
					if x == 10 and y == 10 then
						map = map .. " 1 "
					end

					if x == (w-10) and y == (h-10) then
						map = map .. " 2 "
					end

					if ((x + y) % 2) == r then
						map = map .. "Gg"
					else
						map = map .. "Md"
					end

					if x ~= w then
						map = map .. ","
					end
				end

				map = map .. "\n"
			end

			return map
		>>
    [/generator]

    id = foo
    random_start_time=yes

    {DEFAULT_SCHEDULE}
    [event]
        name=prestart
        [label]
            x = 25
            y = 20
            text = "Lua map generator"
        [/label]
    [/event]

    [side]
         [ai]
             villages_per_scout=8
         [/ai]
         id=RBY_Side1
         side=1
         save_id=RBY_Side1
         persistent=yes
         color=red
         team_name=Red
         user_team_name= _ "teamname^Red"
         controller=human
         canrecruit=yes
         shroud=no
         fog=no
         gold=1000000
    [/side]
    [side]
         [ai]
             villages_per_scout=8
         [/ai]
         id=RBY_Side2
         side=2
         save_id=RBY_Side2
         persistent=yes
         color=blue
         team_name=Blue
         user_team_name= _ "teamname^Blue"
         controller=human
         canrecruit=yes
         shroud=no
         fog=no
         gold=1000000
    [/side]
[/multiplayer]
Note that:
  • For map generation, simply return a string containing the map data. For scenario generation, return the entire WML for the scenario as a Lua table (see LuaWML).
  • You cannot use any of the wesnoth.* API functions because you are not in a game at the time that the script is running. The script runs in an entirely separate Lua environment from the one used in-game, and from every other map generator script.
  • You can instantiate Wesnoth’s new high-quality RNG (mt19937, much better than the rand()-based generator used by
    Lua’s math.random function) by using the table Rng to create an rng object, with seed and draw methods.
The bit32 library, which was added in Lua 5.2, is now enabled. This means that Lua scripts can now perform bitwise operations if desired. Check the Bitwise Operations section from the Lua 5.2 Reference Manual for more information about this library.
Instead of checking whether the [trait] id equals fearless or healthy, these are now [effect] options set by the trait. This means that UMC add-ons that use their own fearless/healthy traits must add the required [effect] tags to them.
A new command-line switch --render-image has been added. It is similar to --screenshot, but instead of a map, it takes a Wesnoth image path and generated an output image with all image path functions from the source applied.

Example usage:

Code: Select all

$ wesnoth --render-image 'units/undead-skeletal/banebow-bow-attack-1.png~SCALE(144,144)' 'banebow.png'
Known bugs in this release
  • The game sometimes chooses wrong default values for attributes in [scenario] and [side]. A known workaround for these bugs is to reload from the start-of-scenario save for every scenario:
    • Shroud sticks when transitioning to scenarios without shroud (bug #23461 [Gna.org]).
    • Initial time-of-day is randomized for scenarios that shouldn’t (bug #23462 [Gna.org]).
    • Leader genders are randomized when they shouldn’t (bug #23496 [Gna.org]).
  • The MP server has trouble with “Local” player types in campaigns (bug #21965 [Gna.org]). We have decided to postpone dealing with this. In the meantime, you might try assigning such sides to the host, or running multiple instances of Wesnoth.
  • Shroud can’t be placed on hexes where units on allied teams have vision (bug #23458 [Gna.org]).
General bugs:
  • HP/XP bars of allied units are drawn over shroud with some side configurations (bug #23460 [Gna.org]).
  • Wesnoth may occasionally crash to desktop when/while music is enabled. Thus far, this has been observed on Windows XP SP3 (bugs #23203 [Gna.org] and #23026 [Gna.org]) and Debian GNU/Linux 8 “jessie” (report pending).
    More information is needed to help us determine the cause of this issue — in particular, your Wesnoth build configuration (if compiling from source), and OS and library versions, as well as any customizations you may have made to your install. Backtraces and semi-reliable steps to reproduce are highly desirable due to the nature of this bug.
  • It’s not possible to clear some default hotkeys with the Clear Hotkey option (bug #21983 [Gna.org]).
  • Attempting to assign hotkeys including both the Ctrl and Alt modifiers does not work (bug #22219 [Gna.org]).
Bugs specific to Microsoft Windows:
  • ClearType font rendering is disabled as it causes glitches (bug #21648 [Gna.org]).
    This is likely caused by outdated libraries in the packaging process.
  • Consecutive line breaks (paragraph breaks) are not rendered as expected (bug #21649 [Gna.org]).
    This is likely caused by outdated libraries in the packaging process. There is no built-in workaround available yet.
Bugs specific to Apple OS X:

The following issues affecting Wesnoth on Apple OS X are known and they are pending fixes. Many of them require significant re-engineering that can only be done in 1.13.x development releases later, or cannot be properly addressed due to a lack of experienced OS X coders in our team. Thus, unless someone can contribute patches to address them, it is unlikely that these bugs will be fixed.
  • Color cursors are forcibly disabled on this platform due to severe performance issues (bug #18112 [Gna.org]).
  • Fullscreen mode does not fill the entire screen when maximum resolution is selected in Preferences → Display, and user interface elements are scaled and distorted.
  • System commands do not work while Wesnoth is running in fullscreen mode (bug #21943 [Gna.org]).
  • The mouse cursor is not mapped correctly to the game screen contents on Retina displays due to problems with detected vs. real screen resolution mismatches (bug #20332 [Gna.org]).
    A workaround is in place making Wesnoth default to 800x600 on OS X regardless of the incorrectly-detected maximum resolution.
  • Trackpad tap clicking is sometimes not recognized (forum post).
  • Unofficial builds with OpenMP support enabled randomly freeze (bug #18144 [Gna.org]).
  • Consecutive line breaks (paragraph breaks) are not rendered as expected (bug #21649 [Gna.org]).
    This is likely caused by outdated libraries in the packaging process. There is no built-in workaround available yet.
[/list]
As is to be expected with development releases, there may be many, many more changes in addition to the aforementioned, including WML and Lua API additions for user-made content creators, translation updates, and fixes for recent and long-standing issues. Most of these items are listed in the full changelog. If that seems too overwhelming, you might be glad to know we also provide an alternative players changelog including only those changed deemed to be relevant for the average player. Be warned that both changelogs are extremely long this time around, since this is the very first development release in the series and many changes have piled up since 1.12 beta 2 (version 1.11.11) was released.

Do not be disappointed if the game crashes every now and then! Development versions are not the best for those in need of a stable gaming experience, who should stick to the current stable 1.12.x series instead. However, if you want to help us test what will eventually become the next stable 1.14.x series, you definitely should check it out and report to us any problems you find so they can be fixed in a timely fashion. Content authors are also especially encouraged to port and test their content under new development versions to detect any problems with their add-ons or Wesnoth in advance.


New Contributors and Developers

This release includes contributions from 8680, abacabadabacaba, Aishiko, ancestral, aquileia, awleffew, Kevin-Xi, LovCAPONE, mstrebel, naclander, Randypk, Rift-Walker, RolandHoGH, techtonik, and Zappaman, submitted via pull request on GitHub.

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


Downloads
A package for Microsoft Windows is already available:
UPDATE 2015-04-29: Packages for Apple OS X are now available. There is a compatibility issue with OS X 10.10 Yosemite. A separate package is available for OS X 10.10 users until it can be resolved.
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 or how to install them can be found on the Linux binaries page in the wiki.

Downloads for other platforms may be found on the Download page in the wiki as they become available.
The multiplayer server for 1.13.x is up and running. This server can only be used to play with other players running the latest development version.

The add-ons server for 1.13.x is already running. It was started for 1.13.0 and it serves all development releases from this series.
If you encounter any problems involving add-ons not working as expected, please notify the content’s author or maintainer.

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!
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
Gallaecio
Translator
Posts: 15
Joined: January 1st, 2009, 9:31 pm

Re: Wesnoth 1.13.0

Post by Gallaecio »

The “new” entry does not link to this furm thread. It links to http://forums.wesnoth.org/viewtopic.php?t=0 instead.
User avatar
Iris
Site Administrator
Posts: 6798
Joined: November 14th, 2006, 5:54 pm
Location: Chile
Contact:

Re: Wesnoth 1.13.0

Post by Iris »

Fixed.
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
User avatar
Pentarctagon
Project Manager
Posts: 5564
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 1.13.0

Post by Pentarctagon »

shadowm wrote:Among other things, this means eras, modifications, and game creation options are now available in single-player campaigns.
Is there anything that needs to be done for this to work? I have a modification that shows up in Multiplayer but not for campaigns:
mod.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
gfgtdf
Developer
Posts: 1432
Joined: February 10th, 2013, 2:25 pm

Re: Wesnoth 1.13.0

Post by gfgtdf »

You need to ad type=mp/sp/hybrid to the modification.
Scenario with Robots SP scenario (1.11/1.12), allows you to build your units with components, PYR No preperation turn 1.12 mp-mod that allows you to select your units immideately after the game begins.
User avatar
Pentarctagon
Project Manager
Posts: 5564
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 1.13.0

Post by Pentarctagon »

And this goes inside the [modification] tag? The key is only listed on the wiki under the [campaign] tag.
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
Ravana
Forum Moderator
Posts: 3002
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Wesnoth 1.13.0

Post by Ravana »

I suspect it goes there, since I added it before I thought to remove #ifdef MULTIPLAYER, and this key didnt break anything, I didnt test if that key was required.
Konrad2
Forum Moderator
Posts: 3340
Joined: November 24th, 2010, 6:30 pm

Re: Wesnoth 1.13.0

Post by Konrad2 »

some bugs i found while playing a bit:

A Tale of Two Brothers
Mordak is described as male in the story, but is as unit (and portrait) female

An Orcish Incursion
A monolog of Erlornas in “Valley of Trolls” instead of a dialog (the “recalled” unit doesn’t speak)
same in “Lineara the Quick”
Lomarfel (the Elvish Rider who was sent to the Ka'lian in “Defend the Forest”) was loyal but is not loyal in “Showdown”

General
health bars of Knights, Paladins, Grand Knights, Cavaleryman, Dragoon, Cavalier are to far from their sprites away
User avatar
Iris
Site Administrator
Posts: 6798
Joined: November 14th, 2006, 5:54 pm
Location: Chile
Contact:

Re: Wesnoth 1.13.0

Post by Iris »

Konrad2 wrote:A Tale of Two Brothers
Mordak is described as male in the story, but is as unit (and portrait) female
This is bug #23496 [Gna.org], mentioned in the Known Bugs section above.
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
Konrad2
Forum Moderator
Posts: 3340
Joined: November 24th, 2010, 6:30 pm

Re: Wesnoth 1.13.0

Post by Konrad2 »

Scenario objectives do not update most times
(e. g. The South Guard “Tidings, Good and Ill” when you kill Queen Xeila (naga queen) or when you pay the troll leader after meeting up with him in “Into the Depths”)

The South Guard
in “Into the Depths” if the trolls give you vision on Mal M´Brin, then there is no dialog between him and Ethiliel

Liberty
in “Civil Disobedience” the enemy leader does not recruit
User avatar
Implementor37
Posts: 121
Joined: February 22nd, 2015, 12:41 am
Location: The Internet

Re: Wesnoth 1.13.0

Post by Implementor37 »

Love the new title-screen music! Transience is (i hear) the classic Wesnoth title-screen music. I haven't been playing Wesnoth long enough to remember it :(, but it definitely says "Wesnoth" to me more than the old main menu track! I liked it so much i just had to compliment you guys on it!
Author of End of the Legion, available now on the 1.12 and 1.13 servers!
Supporter of the addition of the Aragwaithi into mainline.
Konrad2
Forum Moderator
Posts: 3340
Joined: November 24th, 2010, 6:30 pm

Re: Wesnoth 1.13.0

Post by Konrad2 »

The Sceptre of Fire
after everyone died in "Caverns of Flame", there is the message
<Lua> Repeated [endlevel] execution, ignoring

it didnt seem to affect the game though
User avatar
Kraus
Posts: 74
Joined: January 30th, 2008, 9:32 am
Location: Finland

Re: Wesnoth 1.13.0

Post by Kraus »

Bug report:

In Northern Rebirth scenario 2 the scenario won't end even though I reach the dwarf lord. Bringin Tallin next to him or within his LoS won't help.

I'm thorougly enjoying the new maps for NR though. It's such an excellent campaign. I was just hoping for - finally - new character portraits... Too bad Valk never got into finishing them.
"Oh, to the hades with the manners - he's a complete [censored], and calling him that insults bastards everywhere!"
-Nalia De'Arnise
User avatar
beetlenaut
Developer
Posts: 2825
Joined: December 8th, 2007, 3:21 am
Location: Washington State
Contact:

Re: Wesnoth 1.13.0

Post by beetlenaut »

Konrad2 wrote:health bars of Knights, Paladins, Grand Knights, Cavaleryman, Dragoon, Cavalier are to far from their sprites away
This is intentional I think, but it does look like a bug since it happens for just a few units. I'm definitely not a fan of the change.
Campaigns: Dead Water,
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
Konrad2
Forum Moderator
Posts: 3340
Joined: November 24th, 2010, 6:30 pm

Re: Wesnoth 1.13.0

Post by Konrad2 »

Under the Burning Suns
in “Across the Harsh Sands” Lost Souls appeared at the second dawn and didn’t disappear even though it became day and they didn’t appear at the short dark(this happened not just once)
(same scenario) is it intended that healers cant heal at daytimes? (like being negated by dehydration)
there are two “Black Lieutenant” at the second oasis, is that intended?
When you kill all undead except who were chasing Elyssa except Go'Hag then the dialogue is triggered, even though clearly not all undead were defeated yet
“Desert Star” has as base unit “Desert Shyde” which makes no real sense
As mentioned before, the scenario Objectives do not update, even though they should (I killed the Outlaw Leader, then the scenario objectives pop up again, but they are still the same, that means they still include me having to kill the Outlaw Leader)
in “A Subterranean Struggle” after choosing dwarves or trolls as allies, the scenario objectives change into “Defeat troll leaders” or “Defeat dwarf leaders”
I think it should be “ Defeat all/the [enemy side] leaders”

General
when you try to chose the scenario you want to play by using :cl, you can only chose scenarios that come after the one you are playing right now and you can only chose the “a” scenarios is there are “a” and “b” scenarios
Locked