Remove unnecessary blank lines and debugging comments
- Adds a preferences entry in the multiplayer/alerts menu so sounds and desktop notifications can be toggled.
Reformat a few points for consistency
Have desktop notification show name and scenario of new game
Have desktop notification show name and scenario of new game
Update desktop notifications to use VGETTEXT for translations
(cherry picked from commit af71dbf1b1)
(cherry picked from commit a2d9943286)
* Where a translation is provided, I remove the description prefix.
* Where a translated string exactly matches the en_US source, or is otherwise still clearly English and doesn't match Google Translate's suggestions, I make it blank to indicate a non-translated string.
* Interestingly, there were some prefixes left-over in en_GB, presumably from before I took over.
[ci skip]
previously the clint woudl send a [update_game] to the
server before sending [store_next_scenario] whcih set
game::started_ to false and this disabled game::save_replay()
Now we instead set started_ to false after save_replay() is called
I also don't really see the point of calling update_side_data()
and describe_slots() before the new level data is available so i just
removed these calls. (the call to game::update_game())
since the recent changes to overlays= in particular 1a7724e547,
e71033374c and b2cd1cf6c [unit]overlays= is no longer the
recommended way to add an overlay and the use of the
apply_to=overlay effect is reccomended instead, so adding it
to the [trait] is the most natural option here.
this in particular fixes#4058 . Also people simply forgetting the
IS_LOYAL macro was a not-so-uncommon cause of bugs.
In some cases people want to give the LOYAL trait without giving the
loyal overlays for those cases i added a optional OVERLAY parameter to
the {TRAIT_LOYAL} macro, also heroes should now use {TRAIT_LOYAL_HERO}
instead which uses the hero overlay. The IS_LOYAL and IS_HERO macros are
no longer needed in combination with those traits.
this just prevents the units wml from getting cuttered with many [objects]
(generated by the [unit_overlay] implementation) that cancel each other out.
(in the cases here it shouldn't really be a problem though, i still did it
because it feels clener this way)
this in particular makes it compatible the umc code that uses [remove_object]
It also makes the implementation a bit easier since we don't have to compute
things manually anymore, also duration=scenario takes care of cleanup at
scenario end.
now wesnoth.require is able to detect when the same file is
required two times using different names (like a/../a/b.lua
a/b.lua) and will only execute it once.
for this a new function wesnoth.canonical_path was added
While I understand the reason it's here, it's been over a decade, no other user handlers have been added, and there's no indication any others will be added. Therefore, it doesn't seem like there's much of a reason to keep this code around.