Commit graph

70547 commits

Author SHA1 Message Date
Charles Dang
b0a510981a Updated changelog for 6f952a0dae
[ci skip]
2017-10-09 12:50:30 +11:00
Charles Dang
010237fba9 Moved main Spirit Po header into the spirit_po subdir
This is consistent with the same change made in the source cbeck88/spirit-po repo.
2017-10-09 12:40:56 +11:00
Charles Dang
6f952a0dae Update Spirit Po sources from source repo
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
2017-10-09 12:33:17 +11:00
Charles Dang
b7ac634e78 Removed trailing tabs and whitespaces from C++ source
[ci skip]

I ran the same command from 9b7b1751fd.

Excludes:
* lua/
* spirit_po/
2017-10-09 11:49:51 +11:00
Ignacio R. Morelle
2d836ddcd9 campaignd: Use base64-encoded hashes for add-on passphrases again
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.
2017-10-08 19:55:18 -03:00
doofus-01
94f3a4c2de new terrain variation - Elf castle ruins (#2064)
* elvish castle ruins terrain

* fixed some file names

* some revisions and greater variation

* revisions
2017-10-08 00:29:04 -07:00
Celtic Minstrel
1ee9a2e13d Add recent new contributors to credits 2017-10-07 03:04:51 -04:00
newfrenchy83
e047564acd fix hitpoints being restored by heal_full after modifications expire (#2029) 2017-10-07 02:58:14 -04:00
pentarctagon
449bd3f632 Fixup as requested. 2017-10-07 09:53:30 +03:00
pentarctagon
76d0cc45af Removed Optimized build, improved gcc LTO support, add clang LTO support. 2017-10-07 09:53:30 +03:00
Charles Dang
a30c59947c Removed extraneous newline from Defeat message 2017-10-07 16:00:32 +11:00
galegosimpatico
8b0d7e6799 On Boost: update build scripts and documentation.
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.
2017-10-06 20:38:50 +03:00
Alexander van Gessel
56329b197c Blacklist C1 control characters 2017-10-06 14:41:15 +02:00
Alexander van Gessel
a95567f4db Disallow characters not permitted on windows 2017-10-06 12:58:17 +02:00
Alexander van Gessel
c1bc0eaa7d Add extra filename blacklist checks
Check for invalid UTF-8, overly long filenames, surrogate pairs and all control characters.
2017-10-06 12:07:13 +02:00
Charles Dang
5d896eb6ba Editor: don't include file extension in default scenario id/name (fixes #1840) 2017-10-06 14:24:33 +11:00
Charles Dang
04175cddc6 Filesystem: added optional remove_extension parameter to base_name 2017-10-06 14:24:29 +11:00
Charles Dang
b2fcc8d862 Minor tweaks to user map/scenario default descriptions
* 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."
2017-10-06 13:50:37 +11:00
Charles Dang
85179772a6 Use config::clear over assignment to default-constructed object 2017-10-06 12:27:39 +11:00
Charles Dang
de576cd83a Saved Game: replaced some uses of boost::copy with simpler std::transform equivalents 2017-10-06 12:04:50 +11:00
Charles Dang
15d09dff07 Saved Game: formatting cleanup 2017-10-06 11:38:25 +11:00
Alexander van Gessel
b2ca410252 Remove redundant checks 2017-10-05 21:12:38 +02:00
Alexander van Gessel
b3f8a5a7c0 Disallow filenames with trailing periods 2017-10-05 21:12:05 +02:00
Paŭlo Ebermann
02907ebe75 Fix the output by --progress.
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`.
2017-10-05 19:35:38 +03:00
mattsc
70bd919631 Idle AI: remove from data/ai/dev after all
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.
2017-10-05 08:34:37 -07:00
Alexander van Gessel
be3b43c2d7 Add case conflict check 2017-10-05 15:06:31 +02:00
Alexander van Gessel
87bda82c28 Merge pull request #2074 from AI0867/mp-test-fixes
Mp test fixes
2017-10-05 14:35:08 +02:00
Charles Dang
e3db7cc225 Save custom options data in a more concise way
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.
2017-10-05 19:13:07 +11:00
Charles Dang
2535fb0ff5 Game Initialization: made use of emplace_back/std::move in a couple places 2017-10-05 17:08:41 +11:00
Charles Dang
2d3a79452b Configure Engine: removed orphaned function declaration from 2df3a09c0c 2017-10-05 17:00:31 +11:00
Charles Dang
2caf266413 Configure Engine: formatting cleanup 2017-10-05 16:58:07 +11:00
Tobias Frei
5d18b5b01c lol 2017-10-05 06:25:05 +03:00
Charles Dang
b8fe9fe7dc MP Create Game: don't allow proceeding if selected game has no sides 2017-10-05 14:20:47 +11:00
Charles Dang
d957326828 GUI2/Window: fixed behavior regression from 2416f10ddd
The on-OK-only exit hook wrapper was always returning true.
2017-10-05 14:20:46 +11:00
Ignacio R. Morelle
ffa581d88b Update changelog to account for add-ons server/client changes
[ci skip]
2017-10-04 21:49:34 -03:00
Ignacio R. Morelle
1df2985118 campaignd: Send uploading clients a list of illegal names when any are found
(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.
2017-10-05 11:32:31 +11:00
mattsc
f097c3d7f6 Idle AI: add to comment on when empty [stage] tag is needed 2017-10-04 16:48:08 -07:00
mattsc
cfb2aa8050 AIs: idle_ai is not a "Dev AI", fixes #1955
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.
2017-10-04 16:48:08 -07:00
Jyrki Vesterinen
9118330a30 Fix halo sometimes remaining when a unit is downgraded or killed
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.
2017-10-04 20:15:40 +03:00
Alexander van Gessel
fc0674bcb6 Change *_RUNNING vars to string comparisons 2017-10-04 17:00:31 +02:00
Alexander van Gessel
523f61c6e7 Set a fallback color
It will be used only if there are no sides, which shouldn't happen, but can.
See issue #2063.
2017-10-04 14:24:46 +02:00
Alexander van Gessel
fea609d309 Add missing break 2017-10-04 11:17:38 +02:00
Alexander van Gessel
2e5c5da003 MP test: treat failed init of SDL_video as a 'successful' test 2017-10-04 09:32:00 +02:00
Alexander van Gessel
7b3254964d Ensure that mp_test_executor exits 2017-10-04 09:12:32 +02:00
newfrenchy83
c6408dbd95 Fix halo remaining/duplicating in some situations
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.
2017-10-04 07:29:23 +03:00
Alexander van Gessel
45f29a247e Implement writing for RWops 2017-10-04 07:26:30 +03:00
gfgtdf
e707a916c3 Revert "add lua function to complie unit/location filters"
This reverts commit d2dc7db0d8.
That commit was accidently pushed to wesnoth master because i
pushed the wrong branch.
2017-10-04 07:11:39 +03:00
gfgtdf
92f0d82b85 add lua function to complie unit/location filters 2017-10-04 07:11:38 +03:00
mattsc
d53243daa9 Fast Micro AI: fix typo from commit 6efc5ae090 2017-10-03 20:55:34 -07:00
mattsc
c2ca21141b Merge pull request #2072 from Jozrael/master
Fix crash when unable to find closest enemy.
2017-10-03 20:10:49 -07:00