Not sure if this is used anywhere... might break something
Added by Octalot: it was a typo fix, but during the review Soliton and I
decided it was better to just delete it. Reasoning:
* Still expects configure.ac and Makefile.am
* Only knows part of what to do for .lua files
* Could have the entire overwrite function replaced by sed's --in-place option
* Probably easier to just `git grep olddomain` than to update the script
The old query was:
* Selecting data from 2 months ago instead of 1 month ago for some reason, presumably left over from when I was testing the query out for different time periods.
* Counting non-new players who used a new download source as new players.
This is a complement to #7416 where it replaces opening the replay's download URL in a browser with directly downloading it into the player's save folder.
Ensures that files either use tabs for indentation or spaces for indentation,
but don't switch between the two within the same file.
This doesn't fix the whitespace, it's a simple check to flag it up
on the assumption that it's better to use an editor or code formatter
to clean up the file.
Elsewhere in the CI we use the luacheck tool - while that can detect
mixing tabs and spaces in a single line's indent, it doesn't check for
inconsistent indentation within a file.
* Add basic achievements functionality.
This reads the mainline achievements.cfg and then all the achievements of each installed add-on.
This is intentionally handled separately from other WML loading so that:
a) All achievements and their status are able to be displayed on the main menu right after Wesnoth starts and regardless of which add-ons are active.
b) Add-ons can add additional achievements to other content, whether UMC or mainline. For example, a modification that adds more achievements for mainline campaigns.
Marking something as achieved is handled by the new [set_achieved] tag and whether an achievement has been completed can be checked via [has_achievement].
There is no attempt to prevent people from manually editing which achievements they've accomplished.
NOTE: These are *not* in any way related to Steam achievements!
* Add ability to allow secondary authors to upload an add-on.
The secondary_authors attribute is a comma-delimited list of forum accounts that can also upload updates to an add-on. Secondary authors can't change the primary/secondary authors and can't delete the add-on.
The primary author can also make someone else the primary author by:
* Putting their username in the secondary_authors attribute
* Putting someone else's username in the author attribute
* Uploading the add-on while selecting themselves
This works since they are still (until the upload is done) the primary author in the database, so they are allowed to change the authors list, including in this case.
Required for the updated primary key - the max allowed primary key length is 3072 bytes which isn't enough when there are three VARCHAR(255) columns and each character uses 4 bytes. The max length of the data in these columns so far is also well under 100 characters.
The cause is that somehow, during regular play, MP campaigns can end up with duplicate values in the [content] data for each [addon]. A very similar issue was fixed in 6c980d12dc, but there's apparently some other way to trigger it that I haven't been able to reproduce. Since the error itself is harmless, it'll just be avoided server-side to avoid the spurious errors in the server log file.
* Add new [screen_fade] WML action
It takes (for now) the arguments:
* red, green, blue = values between 0 and 255
* alpha = value between 0 and 255
* duration = time in ms over which to fade
The game display is faded to the given colour over the duration.
It will be left with an overlay of that colour and alpha until
a screen_fade to 0 alpha is performed.
The idea being that this could then also be included as a sheet in the multiplayer activity report, which would then be an easy way to view add-on downloads over time. This would of course not be especially useful until 1.18, since for 1.17 the database count would be starting at 0 even though existing add-ons would have a non-zero download count.
This returns a label handle which allows you to remove, reposition, or replace the label later.
In addition to all the features of wesnoth.print, you can now specify where the label appears onscreen, as well as a fadeout time separate from the duration.
You can also anchor the text to an edge or corner instead of centering in on the screen,
specify the maximum width it can occupy as an absolute width or a percentage,
and specify a background colour and transparency.
It includes a demo scenario that demonstrates many of the capabilities of the API.
To play the demo scenario, run with -toverlay_text_demo or select it from the in-game test list.
Unlike rwgrim/msys2-cross this Dockerfile doesn't require manual setup
as it downloads msys2 itself. Though it uses archlinux as image base
instead of debian in order to reuse archlinux's own pacman.
The failure mode caused it to overwrite the es_ES stats
with the es_419 ones. Skipping the CI step, as this script
is only run by the pot-update targets.
[ci_skip]
(cherry picked from commit ec7bd83721)
The candidate commits are needed to to figure out project manager prospects
and eligible voters for a wesnoth project manager election according to the
constitution.
Run from a wesnoth checkout to generate commit logs per candidate.
Steam's scout image provides way too old openssl library version which doesn't
doesn't properly handle recent expiry of one of root Let's Encrypt
certs.
- The t_string type is now a schema built-in type and no longer attempts a regex match.
- You can also specify that non-t_string types may be optionally-translatable; this case supports a regex match on the string (but note that the translation mark is not part of the match).
- Error messages involving keys with very large values ( > 128 characters) will now truncate the value.
- To account for occasional cases where the schema is intentionally violated, the --validate command-line option now automatically defines the SCHEMA_VALIDATION preprocessor define.
A key validates as type t_string if one of the following is true:
- The key is not present
- The key has at least one segment with a translation mark
- The key is blank (an empty string)
Any type other than t_string is not allowed to be translatable by default, unless you specify allow_translatable=yes in the [type] tag.
An optionally-translatable string could also be defined as a union of t_string and some other type.
If a tool made the image bigger, the debug message was the same as if the tool
had made the image's pixel change. Clarify that into two separate messages.
As each verify_images() call checks that the file became smaller, the removed
print statement would never be reached.
A Python version was added in b3fe980d70, the
main reason for removing the old one is that it's inconsistent to have two
tools where one does almost (but not quite) the same as the other.
Both versions check that the old and new images look the same. However, if any
tool changed the pixels' values then old script would discard the changes from
the other tools too. The new script checks the image after each tool is run, so
that the optimisations from the other tools can still be kept.
The indexed2rgb.sh script had a call to utils/wesnoth-optipng. It's deleted
instead of updated because both wesnoth-optipng itself (since 17c242a9f) and
the new woptipng both do what indexed2rgb.sh did (they all run ImageMagick with
option "png:color-type=6").
As with git-subtree, it creates reproducible SHA1 ids for the new branch, the
history of An Orcish Incursion will appear as:
* master branch (pre-removal) 2637115bd92334444f1e03d9387266a92ae478da
* master branch (removal) 3d4a4b06 and 8deac9bb
* 1.14 branch 6b5ccb5fd12e7bb4795b25d1aa10d6f0c88a7490
Wesnoth's po/<textdomain> folder is copied into the subtree as "translations".
If there already was a "translations" in the subtree, it's renamed to
"umc_translations_dir".
The campaign will still need a few fixups for paths in _main.cfg, and
the scenarios' map_data or map_file attributes. The map_file paths
were made more portable in a5a1fec2, but this was after AOI's removal.
Many thanks to Lord Knightmare for porting AOI to 1.15 without this script,
which provided a reference to check the script against. LK's 1.0.0 matches
this script's output from the 1.14 branch, including the fix in b9f93cf that
was applied to 1.14 after the removal in master, and with the rank (but not the
"Rookie") from cc01ccae.
* Add a Wesnoth natvis file
The change to t_string is just to make the textdomain map visible to the debugger, since it can't see variables with static linkage.
* Update tstring.hpp
* Update tstring.cpp
The gcc-9 shipped with the Scout runtime forces the use of -static-libstdc++ which is what allows this to work. However, LTO is not yet able to be enabled since as of right now it simply crashes immediately with `free(): invalid pointer`.
NOTE: This does not do any validation of the existing documentation for whether it's correct or complete. That would be the job of someone who actually knows the code being documented. This is simply a format conversion to have everything now use the doxygen format.