Commit graph

526 commits

Author SHA1 Message Date
doofus-01
033012219e
Add Exif tags to images (#9254)
Artist & copyright Exif tags track the copyright info in images, replacing what used to be tracked with "copyrights.csv".
2024-08-25 20:18:16 -07:00
Gothyoba
16c4a57556
Tutorial: AToTB is a "novice" campaign 2024-06-25 18:42:32 +02:00
Wedge009
ef13ea4565 Tutorial S2: Only trigger comment about the 'Dumbo' orc if it is still alive after the attack.
Addresses final point in #5544.
2024-05-19 10:54:16 +10:00
Steve Cotton
b313270261 Tutorial S01: Better timing for the hints
No string changes, just adjusting when the hints at the top-left of the screen
appear and disappear.

The hint about crowns now appears after recruiting both elves, so that there
are units to compare the leader to, who have the same orb color but no crown.

The hint about traits appears when told to attack the quintain with the elves.
The player will probably find a strong or dexterous trait, and Delfador already
comments about those traits after attacking. Even if neither elf has those,
speedy or robust could also influence whether to use melee or ranged attacks.

There's now no hint on screen when first choosing which village to use for
healing; previously it was the hint about crowns which didn't seem relevant.
No strings are added in this commit, but a hint about checking the quintain's
movement range would fit here, see <https://r.wesnoth.org/t54644>.

(cherry picked from commit f7a0f119de)
2024-03-29 13:38:21 +01:00
Celtic Minstrel
915fd49ae6 Tutorial: Specify the side of Li'sar in the char select
When a unit data passed to `to_map` either lacks a side or has
side zero, implementation automatically sets it to 1, thus the
existing code worked fine. However:

1. The lack of a `side` could trigger a warning in EmmyLua. It
currently doesn't trigger that, but would with Celtic Minstrel's
planned improvements in Wesnoth's lint hints.

2. The tutorial should be good example code, and the special-case
in the C++ code that made this work is a case of "assume it's a
SP situation, and choose the result that benefits side 1".
2024-02-15 09:57:17 +01:00
nemaara
9e34c3c5ab Tutorial: fix achievement description 2023-04-09 12:41:25 -07:00
Pentarctagon
2015ba0ed6 Fixup achievement wording 2023-02-22 17:31:03 -06:00
Pentarctagon
e3bb346b39 Add functionality for achievements to be partially complete.
Instead of being either complete or incomplete, achievements can now specify a value at which they will be considered complete. For such achievements that are not yet complete, a progress bar is added to the achievements dialog showing how close to completion the achievement is.
2023-02-04 15:43:28 -06:00
Tahsin Jahin Khalid
ca49d10a47
[Achievements] add correct tag (#7306)
it's `[set_achievement]` (in the Lua file)

achievements: correct content_for=
tutorial: use correct id on achievement
2023-01-21 12:54:09 -06:00
Pentarctagon
fa084677c5 Add textdomain to achievements files. 2023-01-21 10:51:25 -06:00
Pentarctagon
d1465a9eb9
Add basic achievements functionality. (#7237)
* 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!
2023-01-21 10:32:45 -06:00
Tommy
24e1da729d Tutorial: use FLASH_LIGHTNING rather than color_adjust 2022-08-07 23:11:21 +12:00
Celtic Minstrel
0ffe926b01
Make tutorial hint messages persistent (#6620)
The hint messages even persist in saved games, in case someone saves their tutorial
2022-05-20 12:23:49 -04:00
Pentarctagon
9bfd432abe Update image pages for webp extension. 2022-04-30 14:23:32 -05:00
Pentarctagon
51b58ad218 Rename converted images to webp. 2022-04-30 14:23:32 -05:00
Pentarctagon
e5d6d806bf Convert image contents to webp. 2022-04-30 14:23:32 -05:00
Celtic Minstrel
a76aa9bddc
Add wesnoth.interface.add_floating_label as a replacement for wesnoth.print (#5837)
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.
2022-04-10 13:00:29 -04:00
Iris Morelle
58f5bc3bbb
tutorial: Use Delfador's mentoring portrait for the menu 2021-10-26 16:49:15 -03:00
Alexander Lacson
8ca8bc08b1
Tutorial: Suggested Proofread Edits (#6179) 2021-10-11 12:49:49 -04:00
Wedge009
9cd5503338
Revise capitalisation (#6067)
* Revise capitalisation as per https://wiki.wesnoth.org/ProseStyle

Capitalisation of race names was inconsistent in parts, even within the same scenario in some cases.
As per https://wiki.wesnoth.org/ProseStyle, race names are generally lower-case unless part of unit or place names, or a specific group (such as 'Quenoth Elves'):
* Elf/Elves/Elvish/Elven
* Drakes
* Dwarf/Dwarves/Dwarvish/Dwarven
* Goblins
* Gryphons
* Humans
* Mer/Merfolk
* Nagas
* Ogres
* Orcs
* Saurians
* Trolls
* Woses

I substitute 'human' for 'men' on occasion, not for PC-ness, but to make it clear it's a reference to the race, not males (non-humans sometimes say 'men' when speaking to fellow male soldiers, for example).

Capitalisation of titles is a little less straightforward. Clearly cases such as King Haldric, Queen Asheviere, Prince of Wesnoth, Great Chief, etc, are capitalised.
However, use of a title alone can be valid with or without capital, eg 'the king/King'. I try to be consistent and consider the context:
* Title is used in place of the name, eg compare 'by the King's order' with 'by Garard's order'
* Would the speaker show respect to the person concerned as their leader, or a foreign dignitary? Contrast, 'Asheviere, that vile queen'.
* Compare 'my king' with 'my father' (latter is not usually capitalised in everyday English)
* Occasionally, when the speaker may not otherwise know a character's name or the correct protocol to address, may say something like 'Sir Elf'.

I apologise if I run counter to previous revisions - removal of 'princess' as a direct address in Northern Rebirth, for example, also dealt with the capitalisation issue, if I recall correctly.

Miscellaneous changes:
* Magi, as plural of mage, is not usually capitalised.
* Council may be capitalised when referring to a specific instance, such as the Elvish High Council in the Ka'lian, but not in instances such as 'making council'.

The review focused solely on campaign prose - there may be cases in other data files where capitalisation needs revising too.

* Capitalise proper noun use of 'kingdom'.

Just as England may be referred to as such on its own, it was also known as the Kingdom of England.
In the same way, Wesnoth is usually referred to simply as Wesnoth, but it would be formally called the Kingdom of Wesnoth.

* Capitalise 'majesty' when used as an address.

For consistency with existing instances of 'Your Majesty'.

* Capitalise 'Land of the Dead'.

While we might not normally refer to such as a place as a proper noun, Delfador's Memoirs seems to establish this as a specific location in Wesnoth lore.
For consistency, also capitalise a few references to this place in Northern Rebirth and Son of the Black-Eye.

(Granted, this does make Iliah-Malal's line in DM S18 seem a bit awkward, contrasting with 'land of the living', but the precedent has been set throughout the rest of the campaign.)

* Capitalise instances of the Book of Crelanu.

I leave book as lower-case when it's not yet famously known as the Book of Crelanu, such as in Legend of Wesmere, as well as in DM S15, where it is simply described as a book belonging to the old mage Crelanu.

* Harbour of Tirigaz does not appear to be a formal (capitalised) name.

In S12, Tirigaz is only described as a 'harbour'. Other instances of Tirigaz describes it as (lower-case) a port city.

[ci skip]
2021-09-22 18:15:01 +10:00
Wedge009
3fcba6aa1c Replace 'straight' apostrophes with 'curly' or 'typesetter' apostrophes or quotes as per https://wiki.wesnoth.org/Typography_Style_Guide
[ci skip]
2021-09-15 16:26:56 +10:00
Steve Cotton
25052e967e Tutorial S01: HDPI support
Remove the maximum size for the character-select dialog, the window will
automatically choose the minimum size that fits the text.

Extend the map 1 hex south. This means that, if the full map fits on screen,
the horizontal center of the map (where the print statements appear) is between
the keep and the south village, thus their labels don't overlap the print
statements.
2021-08-02 08:16:35 +02:00
Steve Cotton
3d50320369 Tutorial S01: Synchronise the choice of character
This avoids showing the dialog during replays, and thus avoids an
OOS if the person watching the replay chooses the other character.
2021-07-29 01:12:14 +02:00
Steve Cotton
3d2f15ec1e Tutorial S01: Don't let the first Quintain attack on turn 2
A player can follow Dacyn's instructions to the letter, yet get
killed if they choose a village 2 hexes away from the Quintain on
turn 2.

There are better suggestions about handling this in
https://r.wesnoth.org/t54644 , however during the string-freeze
let's simply make the Quintain stay on its starting spot on turn 1.

Add a CLEAR_PRINT because the player has just completed the
"End your turn" instruction.

(cherry picked from commit b02b1ad2ff)
2021-07-20 09:11:38 +02:00
Steve Cotton
264f90eed4 Default [print]duration= to 5 seconds, tutorial uses "unlimited"
In 1.14, the default was 50 frames, or around 1.7 seconds. In 1.15.4, commit
a9d9e48c72 changed the interpretation of that
number to milliseconds, but missed that this affected the [print] tag; this
left the default time that the text is shown as an unreadable 50ms.

All places in mainline that use [print] specify a duration, so the default
isn't used. Here I've plucked the new value from UtBS S09, where it was chosen
in f405b916a1.

The special value "unlimited" is now recognised as meaning to display the text
until it's removed by another [print] tag. The tutorial uses this special case
to display the text until the player does the requested move - originally it
displayed the text for 10000 frames (around 40 minutes), which still seemed
reasonable when it changed to 10000ms.
2021-06-19 07:08:17 +02:00
Steve Cotton
08b65b2bd7 Tutorial S02 and tips: Mention holding shift for accelerated speed
One of these uses bold for the menu's name, the other uses italic, because that
seems more consistent with the other hints in the same context.

Re-attach the comment about upkeep to the correct [event], and move the comment
about the easter-egg event to the start of its [event].
2021-06-14 09:57:26 +02:00
Celtic Minstrel
3568b5ff66 An easier way of setting special notes in the most common use-case (abilities and weapon specials)
Rebased version of e6c58fc35c, with merge conflicts resolved.
2021-06-01 14:29:57 +02:00
Iris Morelle
affb15fbac freenode suffered a horrible accident, we're moving to Libera.Chat
The problem is that right now Libera.Chat does not have a web chat
interface, and no guarantee as to what its URLs are gonna be like
; although staff have said they're probably gonna stick to the same stack
as before so we might end up with very similar looking URLs.

For the time being, we have to get rid of the webchat URLs. They will be
missed a bit. Maybe.

Before anybody asks, yes, I am aware of the po comments in German
translation catalogues including a freenode IRC protocol URL. If I do
anything about it now, somebody will helpfully revert my changes during
a message catalogue merge (it happened some time ago). So, not touching
those until release time.

Also nobody cares about Travis anymore. It's dead cruft, just leave it
alone. (What on earth is that massive base64 string anyway?)

CC #5797
2021-05-21 05:20:44 -04:00
Pentarctagon
852938519a
Run wmlindent. 2021-03-31 10:29:10 -05:00
Celtic Minstrel
cc12e342a0 tutorial: Convert character dialog to WML 2021-03-31 09:43:48 -04:00
Iris Morelle
a455aa9ce9 tutorial: Disable end credits
Closes #5543.
2021-03-20 02:42:33 -03:00
Charles Dang
73b72d2c56 Tutorial: added another newline before the "Press to continue" prompt 2021-01-06 05:31:15 +11:00
Celtic Minstrel
f57217f6c4 Convert uses of deprecated GUI2 API
This covers everything:
- SotA zombie dialog (was mostly converted already, just needed module name update)
- The remaining minor World Conquest dialogs that had yet to be converted
- Tutorial character select
- Test scenario sample dialog

This also replaces any uses of "callback" in favour of "on_xxx".
2020-09-27 16:44:28 -04:00
Charles Dang
daff648482 Campaigns: wmlindent pass
[ci skip]
2020-03-08 22:01:26 +11:00
nemaara
50e24404d4 Tutorial S2: fix coordinates in moveto event 2020-01-11 17:44:16 -05:00
Earth-Cake
1eca8258b1 Tutorial - minor improvements (#4682)
* Change victory objectives - S1

* S2 - Minor improvements

* Add a macro and add [cancel_action] tag

* Fix dialogue

* Revert objectives
2020-01-11 16:18:37 +01:00
Steve Cotton
22c7678322 Tutorial S2: When a second Shaman is recruited, say that the healing doesn't stack 2020-01-01 12:32:12 -05:00
Earth-Cake
2289bc6f31
Remove unnecessary [if] tag, fix capture event 2020-01-01 15:59:06 +01:00
Earth-Cake
d3f053fa1e
Add PRINT messages, disallow_end_turn messages
Add more reminding PRINT messages, disallow_end_turn messages, and fix a bug where player can just capture village and end turn without recruiting/recalling units.
2019-12-31 22:46:20 +01:00
Steve Cotton
a5a1fec226 Make map_file= search for a maps directory in the [binary_path] (#4633)
For both [scenario]map_file= and [replace_map]map_file=, this allows both of
these to have the same effect:

* map_file=campaigns/Heir_To_The_Throne/maps/01_The_Elves_Besieged.map
* map_file=01_The_Elves_Besieged.map

This allows a lot of copies of the campaign/add-on's name to be omitted. Thus
it's no longer necessary to change every scenario's .cfg file to rename an
add-on, or to move a campaign between UMC and mainline.

This makes [binary_path] a misnomer, as it now also handles a text-based type
of file, however that's going to be the correct path for campaigns or add-ons
that use the standard layout with images/, maps/, scenarios/, etc.

This commit has the change itself, in filesystem_common.cpp, and the updates
for most of the campaigns. DM, LoW, UtBS and WoV are omitted from this, as they
all use a macro to do the same effect:

 #define MEMOIRS_MAP NAME
-    map_file=campaigns/Delfadors_Memoirs/maps/{NAME}
+    map_file={NAME}
 #enddef
2019-12-26 19:01:28 +01:00
nemaara
ce3ac1e33d Tutorial: starting grunt should not have random traits 2019-12-19 11:50:15 -05:00
nemaara
b0aed28de1 Tutorial: reduce difficulty 2019-12-19 02:51:12 -05:00
Earth-Cake
abb85d3dbe Tutorial S2 map overhaul (#4644) 2019-12-17 23:47:41 +01:00
Earth-Cake
04973896ca
Remove unneeded [else] tag 2019-12-14 11:03:11 +01:00
Earth-Cake
32e8c710ff
Add variable 2019-12-14 00:10:21 +01:00
Earth-Cake
df2e717b24
Make UNDO_REMINDER fire only once 2019-12-14 00:06:44 +01:00
nemaara
666f3a2c78 AOI: remove from mainline 2019-12-02 11:47:50 +11:00
nemaara
87a0c917e7 Tutorial: add first time player recommendation 2019-11-16 15:11:56 -05:00
nemaara
4282d0b112 Tutorial: move from title screen to campaign menu 2019-11-16 15:11:55 -05:00
Celtic Minstrel
24b11221cf Use wml.array_variables instead of wml.array_access.get/set 2019-11-16 13:09:04 -05:00