This incorporates changes from cbeck88/spirit-po as of 111402d716b48486b7952bfe58b49fddbdcd9969 and
covers a period of approximately 16 months since the addition of this code to the Wesnoth repo in
June 2016. This also bumps our included Spirit Po version from 1.0.1 to 1.1.2.
I've retained our own changes from:
* fd671b1132
The following changes have been discarded in favor of changes made in the source repo:
* 69b070afb4
* 65dacf6bc7
* ae60ff80e6
* b4dc11ce36
Fixes#2068.
As pointed out in the ticket, commit
98648ddf63 changed the implementation of
hex_digest() to use hexadecimal numbers instead of base64, causing new
calculated hashes during [upload] and other authenticated operations to
not match what campaignd already had on record.
This commit fixes that by using utils::md5::base64_digest() as
recommended by celticminstrel (which had already been done for wesnothd
but not campaignd, of course). It also matches the 1.12 version of the
campaignd hashing code this way.
Additionally, new uploads/passphrases since the deployment of that change
will need to be re-set by hand to get their base64 versions into the
server config.
At branch 'doc-from-discord-boost-discussion-20170926'.
The build documentation and scripts were slightly out of date about
Boost. This commit makes a (probably interim) update to them.
(CMakeLists.txt|SConstruct): `wesnoth` won't build using Boost earlier
than '1.50.0'. Boost 1.50.0 changed the location of version 3 of Boost
filesystem, from 'boost/filesystem/v3/' (e.g. for
'using boost::filesystem::v3::path;') to 'boost/filesystem/' (e.g. for
'using boost::filesystem::path;', enforced since the very introduction
of 'src/filesystem_boost.cpp'), making it incompatible unless using
precompiler directives for supporting backwards versions of Boost
filesystem prior than '1.50.0'. Using Boost 1.50.0 (and 51, 52 etc.)
`wesnoth` is able build and run. I checked using `ldd` that I am right
about the run time environment.
INSTALL.md: Requirement of Boost libraries version up to date.
projectfiles/VC12/README.md: Requirement of Boost libraries up to
date, only the statement of which one is the minimum version, not the
rest of the build guide for Boost as requirement.
.gitignore: Add KDevelop backup documents.
* Added period to "No description available." Technically this is just the default no-description text, but it
appears most often for custom scenarios.
* "User made map" -> "Custom map."
Previously, this just printed the last file name again and again.
Now we are printing the file name we are currently looking at.
This can be observed e.g. by `wmlscope --progress`.
It was left there in cfb2aa8050 for backward compatibility. However,
this causes a “duplicate AI” error at start-up in debug mode.
Furthermore, the file is not included in any current 1.12 or 1.13
add-on, so it should be safe to remove it. Using
[ai]ai_algorithm=idle_ai is the preferred option to include the Idle AI.
Previously, each option's data was saved in its own [option] tag with id= and value= keys:
```
[option]
id = id
value = value
[/option]
```
Now they all get saved in a single [options] tag with the id as the key and value as the
key value:
```
[options]
id = value
[/options]
```
Compatibility with the old format is retained.
(See issue #2043.)
It wouldn't be proper to stuff the full list into the conventional error
response, so in order to provide clients with the means to report it in
a better fashion in the future (a la WML load errors report dialog, with
a fancy scrolling box and an option to copy the report to clipboard and
stuff), we're attaching it as an extra_data attribute in the [error]
response. Naturally, only clients that are aware of its existence can
handle it, so this whole patch is completely unsuitable for 1.12.
Still, some level of backwards compatibility is retained -- the [error]
continues to be perfectly functional for incompatible clients (e.g.
1.13.10), and the details are simply missing for them.
The list would currently look like this:
Test_Addon_420/~illegalname
Test_Addon_420/testdir/illegal name 2
Test_Addon_420/testdir/illegal~dir~name/
The required client-side changes for handling the extra_data attribute
and displaying its contents are included in this patch, but the GUI
changes are very rudimentary and should be considered more of a
proof-of-concept than a final solution, which I'll leave to someone who
actually groks GUI2 as it is right now and is an active developer in
the first place, which I am not.
Also note that the only reason the second parameter for
check_names_legal() is optional is that the function is also used
client-side by addons_client::install_addon(), which really doesn't need
to waste time building a full report of invalid names -- add-ons
containing those aren't supposed to make it to the server in the first
place, and the client-side check only exists as an extra safeguard.
As indicated in the comment of the idle_ai config file, an AI needs to
contain at least one stage, otherwise the default AI will be injected
under certain circumstances. Unlike indicated in the comment, this now
also applies to loading a mid-scenario save. (I will add that to the
comment in the next commit.)
As this AI was in data/ai/dev/, it was previously only loaded when
Wesnoth was started in debug mode. The config was thus not available
when playing in no-debug mode, causing the default AI to be injected on
reload. This caused issue #1955.
While not strictly necessary, we keep a redirect in data/ai/dev for
backward compatibility, in case the file is included in add-ons.
This is the rest of pull request #2028. Credit for these changes belongs to
@newfrenchy83.
I initially rejected these changes, but
* for advancement, @Arcanister pointed out that {ADVANCE_UNIT} is sometimes
used to *downgrade* an unit. Thus, it's plausible that "advancing" can
remove a halo.
* for killing, @newfrenchy83 said that it's *possible* (although unlikely)
that the halo can remain. Even though I haven't reproduced the problem
myself, it's good to ensure that the whiteboard releases its reference to
the unit anyway.
Pull request #2028 has now been fully merged.
Fixes halo remaining when a unit is killed with [put_unit] or replaced by
creating a new unit over it with the context menu, and duplicate halo when a
developer changes the properties with :unit.