This reverts commit 4f3ce6865cdd628634fc3ffe2154093d6ccbfba4.
This reverts commit 20128ac9914c971d759399dff6f7ed8edcb960c8.
see issue #3454, there were problems caused by simple_wml when
joining/observing games and this commit is the obvious suspect
so i'm reverting it until we can fix that one.
(cherry-picked from commit 6b58ce7c04d7f369f8fc5dd5cba0b58def2c2697)
previously attempting to place a starting location for side 10 or higher would result in a "invalid location id" error.
(cherry-picked from commit cbf078a030305ac523ecd7472d3c7f32d566d20b)
* bugfix: https://github.com/wesnoth/wesnoth/issues/3469
* wmlxgettext: removed a debug comment forgotten on the previous bugfix
(cherry-picked from commit 4b79c263d357fb23e4531ad8fbd37b2bfbc85c55)
Otherwise people will keep complaining that it doesn't reflect the
latest 1.14 version since the original number was valid for 1.14.0 and
1.14.4.
[ci skip]
(cherry-picked from commit c589e39098614b2180b4043db6b9faa71afe6c84)
So it may not be saved in ~/.xession-errors
or cluttering up disk space another way
(cherry-picked from commit c998f13a4526d89840b3bf7e36e6a4ffd57d7c80)
All mainline chance-to-hit weapon specials have ids, but it is not required for UMC specials.
(cherry-picked from commit d4213371b1cc1ae1b7575e082b7edc69f6236db0)
The current implementation of the [music] tag sets the title after adding the track, however the title field was read only. This makes the field writable.
(cherry-picked from commit 0f5899b16301a22efaeab3bdc8f97c808596429f)
and implement it using wesnoth.terrain_mask.
This also fixes an issue where [terrain_mask] would not remove
removed villages from the teams villages list after [terrain_mask].
This also adds an alignment parameter to [terrain_mask].
(cherry-picked from commit 09c56ef2fe40eaec53311918288431256aac63ff)
`[terrain_mask]` had multiple unexpected behviours, see for example #3364
in parituclar `wesnoth.wml_actions.terrain_mask { x =2, y=2, mask="Ww"}`
will change the tile at (1,2) instead of (2,2), so instead of reusing
the old terrain mask code i wrote a new function that behaves as one
would expect. `wesnoth.terrain_mask` does not have a `border=` parameter
but a `is_odd` parameter that specifies that a map is in the odd format
__ __
/00\__/20\__
\__/10\__/30\
/01\__/21\__/
\__/11\__/31\
/02\__/22\__/
\__/ \__/
instead of the even map format
__ __
__/10\__/30\
/00\__/20\__/
\__/11\__/31\
/01\__/21\__/
\__/12\__/32\
\__/ \__/
(Monospaced font required to see ascii images.)
The lua function also has a lua interfacte, meaning it does not take wml
tables but normal lua tables making it easier to use from lua code.
(cherry-picked from commit a3367ee8489608a6fff42a69fb026933571848b7)
boost::ptr_vector has some nice features, but vector<unique_ptr> is still
easier to use for most people basicially becasue people know it better.
Also boost::ptr_vector does not support move ctors and also does not
use std::unique_ptr, probably because it tries to stay compatible with
c++03 so one has to use 'ptr_vector::auto_type' with it instead which
has a different interface than std::unique_ptr
(cherry-picked from commit 7e2dc296ba2fd3900a46ab3a0bbb120e856e0ada)
for extra safety we add code to ensure undo=no for [speak] commands to the client aswell, this is not really needed as i just added a code that sets undo=yes to the server code, but it's an advantage to be able to safely connect to older servers aswell.
(cherry-picked from commit c685031d1c41d89897bbd380b50ef3e02984bcde)
previously the server would send [speak] commands that had no undo=no attributes so that the game would remove the speak command from the replay instead of the actual undoable action when undoing an action.
(cherry-picked from commit 02bed5c0335893542f5f3732ea013ab1ca705c55)