Commit Graph

30223 Commits

Author SHA1 Message Date
Dalas121
9b4f4aba3c
TDG S11x: fix typo 2025-03-25 19:01:33 -05:00
Dalas121
b7085a51ce
TSG S03: free Ethiliel upon scenario completion 2025-03-25 18:37:14 -05:00
amakriLexa04
2d472aaa8f add gold_cost for spells 2025-03-25 16:03:12 -05:00
Subhraman Sarkar
b6ca35a9fa show plague type in UI 2025-03-25 18:39:50 +05:30
Charles Dang
3d316a5705 GUI2/Help Browser: refined layout 2025-03-24 11:26:21 -04:00
OrekOrek
3d243c934e HttT 5a clearer objective
Signpost is moved and highlighted to make the main objective clearer.
2025-03-23 14:17:12 +11:00
Charles Dang
a907af7e55 Display: port FPS viewer to GUI2
Splits the FPS viewer out of the display class and into its own modeless dialog. This serves as a proof-of-concept for further modeless GUI in-game dialogs. Admittedly, it only works because I explicitly disconnect it from the UI event context, since it doesn't need to receive events.

This also introduces a new tracked_drawable interface that encapsulates the fps logic. Any class that inherits from it can have its render stats displayed using the new fps_report dialog.
2025-03-21 22:51:28 -04:00
OrekOrek
a46bae0f80 NR carryover gold fix
Makes carryover gold from old 80% to new 40%. Adds missing [endlevel] to S6.
2025-03-22 08:48:59 +11:00
Wedge009
02f8110420
TDG: Correct Orcish Sorceress description (#10040)
[ci skip]
2025-03-21 16:10:27 +11:00
Gunter Labes
4123e8f4ea
PUA: Access only the right unit type ID attribute 2025-03-20 23:40:43 +01:00
Dalas121
df93229ccd
TSG help.cfg: improve translatability of "ranged attack" help message (#10043)
As pointed out by @Wedge009 / @stevecotton in #9682, this string may need to be translated differently depending on the type of unit being attacked.

Also removes the message when attacking a Thief - Rogues (which IIRC are the only thief-line unit you fight in this campaign) have a ranged attack.
2025-03-19 19:37:03 -05:00
Subhraman Sarkar
877ac69366 rich label: support setting table bgcolors from definition 2025-03-19 17:00:36 +05:30
Subhraman Sarkar
6d05fb1f8d rich_label: table width=fill and customizable global padding
* Stops table from growing beyond the max width due to padding.
* <table width='full'> causes table to grow to available width.
* Add a `padding` key to `[rich_label]` that allows setting the internal padding to a custom value.
2025-03-18 09:59:32 +05:30
Oleksii
9f70d37189
Move TDG's spells to a separate file + bug fix (#10036)
This pull request separates TDG's magic system and its spells, making it easier to create your own sets. I also fixed a bug with spell unlocking that I reported to @Dalas121 last year.
2025-03-17 14:40:43 -05:00
pentarctagon
e7a7960cee 1.19.10+dev 2025-03-16 23:30:13 -05:00
pentarctagon
8266a078ea 1.19.10 2025-03-16 23:29:07 -05:00
pentarctagon
f532c3852a pot-update and regenerate doc files 2025-03-16 23:26:03 -05:00
Pentarctagon
a900508835
Add queue-like functionality to the multiplayer lobby (#9819)
This allows defining an [game_presets] tag which contains [game] tags describing how to show the game in the lobby and what settings the game should use.

Functionally this adds an entry per [game] into the Matchmaking section of the MP lobby:
* If a player clicks Join and there are no previously created games from this "queue" that are open, then the server instead responds telling the client to create the game. The game is created directly using the settings defined in its [game] tag, so for the player it looks like they clicked join and then go straight to the MP staging screen.
* If a player clicks Join and there is an open game created from this "queue", then the server instead responds telling the client the actual ID of the game to join and the client then joins that game just as if they had clicked Join on a normal game.

Currently only implemented for mainline.
2025-03-16 12:49:10 -05:00
amakriLexa04
2a28ebd2d0 spacer fix 2025-03-15 22:44:03 -04:00
Elvish_Hunter
8dc12cfea2 GUI.pyw: use the Windows API to detect the user's language
Fixes #9972.
2025-03-15 16:53:34 +01:00
Dalas121
4b84de63f3
Revert "Use troll-hero-alt.webp portrait for Great Troll (#10025)" (#10028)
This reverts commit 9737595d95, following comments by Soliton in #10025.
2025-03-14 07:52:01 -05:00
Dalas121
ddb0e83c2b
EI S14: undefine GOLD_PICKUP macro 2025-03-13 09:19:25 -05:00
GreenScarab
9737595d95
Use troll-hero-alt.webp portrait for Great Troll (#10025) 2025-03-13 09:18:54 -05:00
OrekOrek
6184817458
HttT S19c: Fix and improve drake spawn algorithm (#10014)
Drake spawn algorithm is fixed and improved. A drake nest is added to the map. Drake nests are separated into 2 types.
2025-03-13 09:16:59 -05:00
Subhraman Sarkar
9850b49b81 help: fix unknown unit page 2025-03-13 18:54:56 +05:30
Charles Dang
5377ed7d9f GUI2/Label: set default width for title screen tip label
This seems to mitigate #9885, but I could not tell you why...
2025-03-13 01:24:28 -04:00
AlexanderLu98
df718c2ef5 Fix shadow inconsistencies in Lancer/Horseman breeze and peasant attack frames 2025-03-12 19:49:21 +01:00
Charles Dang
1f4e164e41 GUI2/Help Browser: set a default width for topic labels
Prevents them from reducing in width when searching topics
2025-03-12 01:06:12 -04:00
Charles Dang
987004d09c Font: remove old workaround for light weight fonts
Testing now, pango weight markup correctly works with the Lato weight variant files present and breaks with them missing. Seems the issue I documented back in 2018 is noo longer the case, and thus we don't need this workaround.
2025-03-11 21:45:51 -04:00
rodolphecombe
f68c4e8163
Add [have_side] tag 2025-03-11 20:11:40 +01:00
Subhraman Sarkar
bd6f250c12
canvas: draw circle using cairo (#10007)
the circle is now antialiased using cairo.
2025-03-10 16:04:49 -04:00
Dalas121
55c228fcbb
TDG S06: clarify scenario objectives (#10017)
TDG S06 requires the player to both rescue Asheviere and also survive until turns run out.

With this commit, re-show objectives after rescuing Asheviere, and strikethrough the completed ones.
2025-03-10 11:36:43 -05:00
Gothyoba
14fbe59049 AToTB S3 Map: Aesthetic Revision 2025-03-09 09:22:00 -04:00
Gunter Labes
49564ed86c
Fix some indentation and make CI abort if wmlindent errors
Indentation was fixed by adding a newline to constructs with excessive density
and running wmlindent again. While the constructs were not particularly
readable it wouldn't hurt if wmlindent would cope a bit better.
2025-03-08 09:48:53 +01:00
Subhraman Sarkar
feb9bdac45 help browser: add search functionality 2025-03-07 20:43:23 +05:30
Subhraman Sarkar
24d3ba375a help: use heavy font weight for emphasis instead of serif 2025-03-07 11:45:24 +05:30
Tahsin Jahin Khalid
cf3eaff74c TSG: sg_help.cfg: use correct variable call
closes #10003
2025-03-06 14:01:21 -05:00
Charles Dang
0d407eacd0 GUI2/Label: remove title_script definition
The help browser now uses the standard title definition. This makes its appearance consistent with other title elements in that theme. Before, it had the wrong color in the celes theme and was the only title in the parchment theme using the script font.
2025-03-06 13:12:49 -05:00
Charles Dang
b655186ec4 GUI2/Story Screen: bump title size 2025-03-06 11:47:27 -05:00
Charles Dang
46be4a2bcc Fix duplicate file suffixes 2025-03-06 11:35:17 -05:00
Charles Dang
ebffc334ee GUI2: remove GUI_WINDOW_PERC_FIXED_SIZE_CENTERED 2025-03-05 13:13:09 -05:00
Subhraman Sarkar
0d43a49c71 unit: add dismissable and block_dismiss_message
Used in conjunction with `Dismiss` button on Unit Recall Dialog.
2025-03-05 21:55:53 +05:30
Tahsin Jahin Khalid
96e32d8dae
THoT-S3: make AI sides smarter (#9992)
- Side 2 will be less reckless and more defensive
- Side 3 will avoid making stupid moves, like placing units on water for easy kills

Co-authored-by: Tahsin Jahin Khalid <5283677+knyghtmare@users.noreply.github.com>
2025-03-05 22:22:39 +06:00
Charles Dang
3fa8f38a9c GUI2/Help: bump text area width 2025-03-02 23:12:27 -05:00
Charles Dang
da414d75e3 GUI2/Help: set max width for topic names (resolves #9886)
Not a perfect fix by any means (I really don't like having to add new label definitions just to set max_width), but this is currently the canonical way to do so that doesn't involve characters_per_line.
2025-03-02 21:47:28 -05:00
Charles Dang
4c6bbe1342 MP/Lobby: alow profile and match history buttons to grow
Was fine on the old theme (in English, at least), but there was weird empty space on the new modern theme.
2025-03-02 16:01:17 -05:00
Subhraman Sarkar
ec765138ac
Editor Adjustments (#9957)
Map/Scenario Editor: Adds a "Convert to Scenario" option to File menu. Adds enough sides based on starting positions on map.
Update help: Save As Scenario -> Convert to Scenario
2025-03-02 21:01:07 +05:30
Charles Dang
55dc0a8215
GUI2: harden theme definition parsing (#9974)
- Ensure current_gui is a valid iterator after calling init(). It should match default_gui
- Ensure current_gui is always set to guis.end() if the requested theme isn't found in switch_theme().
  It's initialized as such in gui_definition.cpp, but we shouldn't rely on that always being the case,
  especially in a function that changes it.
- Only create one schema validator for all themes. Previously, it would have been created anew for
   each addon with a custom theme.
- Add explicit exception handling for an invalid schema path or invalid gui2 entry point
- Add explicit warning for addon themes with the id "default"
- Catch `wml_exception` when creating gui_definition objects for all themes (previously, this was only
   caught for add-on themes)
- Adjust error messages
- Fix duplicate theme errors when reloading cache (addresses one part of #9781). GUI2 definition
  changes now take effect without the need to restart the entire game. A cache reload is sufficient.
- Use `_main.cfg` for core theme entry points
- Include macros at global core GUI2 score instead of only in the default theme (they were always
  available to both themes, this just makes that clearer)
2025-03-02 00:12:32 -05:00
Charles Dang
e8c164d377 Fix schema whitespace 2025-03-01 11:41:21 -05:00
Gunter Labes
3db91fc0d2
Typo fix 2025-03-01 11:18:59 +01:00