Commit Graph

16379 Commits

Author SHA1 Message Date
668ae8a20e Increase height of middle panel to prevent icon overflow
The icon/portrait of the middle panel when a single entity was selected
was very subtly (4 px) overflowing its lane and invading that of the
entity's name. This change fixes that by:

 - Raising the top of the middle panel by 4 px to leave room for the
   portrait/icon. This avoids having to shrink it and lose quality.

 - Distributing the 4 px of difference in height in the statistics area
   by lowering 1 px the top bar, 1 px the middle bar (if any), and 3 px
   the bottom bar (if any). The rest of the elements are lowered 4 px,
   and therefore remain in the same place.

 - Increasing the height of the minimap panel by 4 px so that it remains
   aligned with the middle panel, vertically centering the minimap, and
   making the necessary adjustments to the position of its buttons.

Additionally, a couple of minor changes are applied:

 - The separators between the statistics area and the attack/resistance
   and resources area, and between the attack/resistance and resources
   area and the entity name area, which had different heights, are set
   to the same height/thickness.

 - The attack/resistance icon, which was very close to the entity
   icon/portrait, is moved 1 px to the right, and the
   resourceCarryingText (in the same area), which was very far from the
   resourceCarryingIcon, is also moved 3 px to the right.

Fixes #7029
2024-09-18 13:38:05 +02:00
b15eb6909e Remove unnecessary comments in selection_details.js
Related: #7012
2024-09-18 06:46:51 +02:00
798cff1f6f Left-click the portrait to follow the entity
- Left-clicking the portrait of a unit will make the camera follow that
   unit (before: no action). A tooltip informs the player of this
   possibility.

 - Left-clicking the portrait of a structure will make the camera focus on
   that structure (before: no action). A tooltip informs the player of
   this possibility.

 - Double-clicking a hero/treasure icon will make the camera follow that
   hero/treasure (before: just focus on that hero/treasure).

 - Some minor related changes.

Fixes #6879
2024-09-18 06:46:51 +02:00
fce48ca4be Include names of unit actions before descriptions in tooltips
Respecting the format of the tooltips of the other panels, include
a short name in bold on the first line of the tooltip to facilitate
a quick understanding of the action, and below, in normal font, a
description with relevant details.

The description of the patrol action is rewritten to make it more
understandable.

Fixes #7016
2024-09-08 10:25:59 +02:00
09f55a1afc Revising the loading screen tips and adding new ones 2024-09-06 14:53:35 +02:00
8d0af4b184
Unify Windows scripts for getting nightly binaries
The new script merges existing scripts for downloading translations and
SPIR-V shaders, and also exports game binaries from the latest nightly
build into the git repo.

This allows contributors, especially artists, to obtain a working build
of the game without learning how to build the game for Windows, refs #1814.
2024-09-04 17:20:50 +02:00
f58dc9b485
Remove unnecessary executable bits
This removes the executable bits from files which aren't supposed to
have them.

Also removes shebangs for files which aren't supposed to be executable.
2024-08-26 07:46:34 +02:00
8519eb9b86
Reduce time needed for STUN
In my tests this reduced the time necessary for starting to host a game
or joining a hosted game by ~180ms.
2024-08-23 21:00:15 +02:00
e9d1cb6cc7 Generate nightly SVN builds for end users, fixes #1819. 2024-08-20 19:15:56 +02:00
b698558102 Get rid of svnversion. 2024-08-20 19:10:54 +02:00
fcbef32f67 [Maps] Revert c839bf2ae5 's accidental deletion and rebalance deer.
This was SVN commit r28199.
2024-08-14 00:04:48 +00:00
d6bfa7dedc Fix deferred sending of game updates via XMPP
72f0fdb41b broke the deferred sending of XMPP stanzas for changes to the
game settings during game setup. This change fixes it and decreases the
interval to send game setting updates from 2000ms to 500ms to have
updates faster visible in the multiplayer lobby.

One reason why this bug might have been gone unnoticed so far is that
the traffic shaping employed by ejabberd results in a similar behavior
when just looking at the multiplayer lobby through Pyrogenesis:
After exhausting a certain amount of traffic, clients are only allowed
to send a defined amount of bytes per second. This results in game
setting changes taking a moment before they show up in the multiplayer
lobby. Contrary to the desired behavior, this however leads to all
updates being received and processed by XpartaMuPP resulting in
unnecessary load on the server. With this fix Pyrogenesis doesn't
trigger the traffic shaping on ejabberd side anymore, as there is now
much less traffic being sent by Pyrogenesis.


Patch by: @Dunedan
Accepted by: @Stan
Fixes: #6740

Differential Revision: https://code.wildfiregames.com/D5217
This was SVN commit r28196.
2024-08-12 17:48:56 +00:00
2e67c7f63d [Art] Tweaking this murder of crows actor.
This was SVN commit r28194.
2024-08-12 00:39:03 +00:00
c839bf2ae5 [Maps] Fix an imbalance of Deer on this skirmish map
This was SVN commit r28193.
2024-08-11 22:40:09 +00:00
6729acae89 [Art] Make the minor pyramid a little nicer
This was SVN commit r28192.
2024-08-11 22:39:06 +00:00
d655455304 Make messageBox return a promise
Ofthen the `messageBox` is only used for confirmation like: "Do you
really want to overwrite the savegame?"
With this patch the code paths of "overwrite savegame" and "make new
savegame" can be combined.

In some cases there is nothing done when one button is pressed. That is
changed to an early return.

Comments by: @Stan
Differential Revision: https://code.wildfiregames.com/D5274
This was SVN commit r28191.
2024-08-11 13:41:32 +00:00
a1bf7d5d23 Move files which were badly moved in 7cd980f2e1
Also take into account changed made by @wowgetoffyourcellphone
Noticed by: @vladislavbelov @sera
This was SVN commit r28189.
2024-08-10 15:05:08 +00:00
a9ea169301 Improve formatting of XMPP announcements
Previously private messages and announcements got handled the same way.
This adds a distinct handling for server announcements, which allows
formatting them in a different way. They are now not prefixed with
"Private" anymore and show the announcement subject as well, if one was
set.

Patch by: @Dunedan
Accepted by: @Stan
Differential Revision: https://code.wildfiregames.com/D5268
This was SVN commit r28186.
2024-08-10 05:08:31 +00:00
1a7107e33d Fix FCollada build on recent macOS
Refs: #6797
Patch by: @jpshack
Differential Revision: https://code.wildfiregames.com/D5092
This was SVN commit r28182.
2024-08-06 17:20:15 +00:00
56f6d76b78 Remove internationalization of log messages
As log messages aren't supposed to be translatable, this removes the
internationalization of all log messages, which had it enabled.

Patch by: @Dunedan
Accepted by: @Itms
Differential Revision: https://code.wildfiregames.com/D5314
This was SVN commit r28179.
2024-08-05 15:27:12 +00:00
0831f5d3ce Fix build with Boost 1.85
Patch by: @Cayleb-Ordo
Accepted by: @Stan
Comments by: @sera
Differential Revision: https://code.wildfiregames.com/D5267
This was SVN commit r28176.
2024-08-02 16:17:22 +00:00
dddb9d6d51 [Art] Make metal mine sparkles even more sparkly.
This was SVN commit r28171.
2024-08-01 23:26:20 +00:00
98802ab459 [Audio] Add new "lion" attack sound to the proper fauna templates.
This was SVN commit r28170.
2024-08-01 23:22:28 +00:00
513396b3af [Audio] Separate the "lion" attack sound effect into shorter soundbites.
This was SVN commit r28169.
2024-08-01 23:10:33 +00:00
38e3f5cec0 Fix build with miniupnpc 2.2.8
See
https://github.com/miniupnp/miniupnp/blob/miniupnpc_2_2_8/miniupnpc/Changelog.txt.
And https://github.com/0ad/0ad/pull/45

Patch by: @emily
Accepted: by @Stan
Comments by: @phosit, @sera
Differential Revision: https://code.wildfiregames.com/D5307
This was SVN commit r28167.
2024-07-30 18:44:38 +00:00
4256666fb1 Add an 80 meter revealer.
This was SVN commit r28165.
2024-07-27 22:55:43 +00:00
b44717b829 [Art] Make metal mine sparkles more noticeable.
This was SVN commit r28164.
2024-07-26 23:41:22 +00:00
2c2099fea6 Revert "Custom context for specific names"
dd65a4e32e had some unintended consequences. Some specific names
apparently
are indeed supposed to be translated. Also using the message context
the translator hint isn't the right place and changes the primary key
used for these strings on Transifex. Instead comments should be used.
To avoid more interruption to translators, we revert the changes for
now and come up with a better patch.

This was SVN commit r28162.
2024-07-26 09:18:43 +00:00
dd65a4e32e Custom context for specific names
Make it clear that strings for specific names usually don't have to be
translated.

Patch by: @Dunedan
Accepted by: @Stan
Fixes #5563

Differential Revision: https://code.wildfiregames.com/D5310
This was SVN commit r28160.
2024-07-26 03:43:47 +00:00
32b9a27e9b Fix references in portable object templates
Up to now the references (lines starting with `#:`) in the portable
object templates generated by `updateTemplates.py` didn't comply with
the PO file format specification. They violated the specification in two
ways:

- White spaces in file names got replaced by non-breaking spaces
  (U+00A0), instead of the file names being enclosed by First Strong
  Isolate (U+2068) and Pop Directional Isolate (U+2069)
- the references didn't just include the filename and optionally the
  line number of the string, as defined in the specification, but also a
  non-standard "breadcrumb" component, which made them unnecessary
  hard to read in certain cases and difficult to use with tools
  expecting properly formatted references

This commit fixes both of these issues by properly encoding white
spaces and removing the breadcrumb component.

Patch by: @Dunedan
Accepted by: @Stan
Differential Revision: https://code.wildfiregames.com/D5309
This was SVN commit r28159.
2024-07-25 08:53:04 +00:00
1fa6184d17 Make language names in credits translatable
Up to now the languages and their names shown in the credits came from a
static mapping in `creditTranslators.py`. The language names noted in
there weren't consistent: some where present just in English, some in
their native language and some in both. This also required adjusting the
mapping manually, whenever a new language got added on Transifex,
otherwise its translators wouldn't be credited properly.

This commit resolves both issues, by making the language names
translatable and removing the need for the static mapping in
`creditTranslators.py`.

There is one minor nuisance with this implementation: As the languages
get listed in the credits in the same order as in `translators.json` and
they are ordered by there English name in there, the order might not be
alphabetical in other languages.

Running `creditTranslators.py` for the first time with these changes
will produce a rather large diff for `translators.json`, as not just the
language names will be changed to the English name of the language in
many cases, but the order of languages in the file as well. The first
run of `updateTemplates.py` after that will then add the languages as
new translatable strings.

Patch by: @Dunedan
Accepted by: @Itms
Differential Revision: https://code.wildfiregames.com/D5300
This was SVN commit r28158.
2024-07-24 15:37:05 +00:00
6ea44f6fb4 Log rejected promises
Forgoten in f9114a87f2

Comments by: @Stan
Differential Revision: https://code.wildfiregames.com/D5305
This was SVN commit r28155.
2024-07-22 08:40:33 +00:00
b68a22ecdb Instantiate controller only for the host
This moves the check whether a player is the host out of
`LobbyGameRegistrationController` and only creates an instance of it in
`SetupWindow` if the player is the host.

This solves a problem with
`LobbyGameRegistrationController.onGameStart()` getting triggered by
players not being the host and sending unnecessary and invalid
changestate stanzas to XpartaMuPP.

Patch by: @Dunedan
Accepted by: @Stan
Differential Revision: https://code.wildfiregames.com/D5270
This was SVN commit r28148.
2024-07-10 06:20:51 +00:00
62692ca270 Add files forgotten in f9114a87f2
This was SVN commit r28146.
2024-07-08 19:46:42 +00:00
f9114a87f2 Get a promise when starting a GUIpage
When calling `Engine.PushGuiPage` a promise is returned. The promise is
settled when the "child" page is closed. That allows to `await` it
inside `async` functions.
Previously the callback was run right inside the call to
`Engine.PopGuiPage`. Now the continuation of the promise is called at
the end of the "tick".

This won't help performance. It will more likely make things worse.
Since gui pages aren't opened or closed that frequently, it doesn't
matter that much.

Refs: 86c151ebaa

For the engine side:
The promise is stored in the `CGUIManager::SGUIPage` (like previously
the callback). When the promise is fulfilled it enqueues a callback in
the `JobQueue` of the `JSContext`.

Original patch by: @wraitii
Comments by: @wraitii, @Stan, @Polakrity, @lyv, @elexis, @vladislavbelov
Differential Revision: https://code.wildfiregames.com/D3807
This was SVN commit r28145.
2024-07-08 19:07:04 +00:00
a4d9993e86 Finish implementing property "textcolor_selected" for list GUI objects
Fixes #6920
Patch by: @Vantha
Differential Revision: https://code.wildfiregames.com/D5269
This was SVN commit r28135.
2024-07-03 08:32:52 +00:00
e8908dfee8 Fix getArea
The code didn't call `this.isCircularMap` but checks if it's defined.
The function returned the wrong values for square maps.

Broken in 480228f964

Comments by: @Stan
Differential Revision: https://code.wildfiregames.com/D5288
This was SVN commit r28122.
2024-06-23 17:17:46 +00:00
9af1433995 Rename the "color" property of COlist columns to "textcolor"
Patch by: @Vantha
Differential Revision: https://code.wildfiregames.com/D5278
This was SVN commit r28120.
2024-06-22 20:18:09 +00:00
e01ea16ae5 Adopt the generator based interface by generated maps
- Adding the function signature
- Changing `g_Map.ExportMap()` to `return g_Map`
- Changing `Engine.SetProgress(NN)` to `yield NN`
- Changing `const g_Map = ...` to `globalThis.g_Map = ...`
- On some maps using the argument `mapSettings`

Comments By: @asterix, @sera, @Stan
Differential Revision: https://code.wildfiregames.com/D5258
This was SVN commit r28119.
2024-06-21 15:19:13 +00:00
a178b3fcb3 Add scope in map generation scripts
Summary:
Preparation to use the generator based interface.

Removes many globals. (but doesn't reduce their scope by much)
Refs: #4964

Comments By: @sera @elexis
Differential Revision: https://code.wildfiregames.com/D5285
This was SVN commit r28117.
2024-06-18 16:26:36 +00:00
722f10ca7c Fix some strings.
Reported on Transifex by @lecalam and @rodrigo.vegas.

This was SVN commit r28114.
2024-06-15 06:01:27 +00:00
1d114d513f [A27] [Skirmish Maps] Some minor improvements to some maps and "new" keyword added to a few
Arabian Oases: Added "new" keyword
Sporades Islands: Added "new" keyword, gave both players a free starting
Scout Ship. Added a capturable CC on the unoccupied north island. Added
2 Gaia Treasure Ships.
Syria: Added some Ruins and Shrines.
Watering Holes: Minor tweaks to grass placement.
Zagros Mountains: Added some Shrines and swapped out the Gaia fields and
farmsteads for capturable Mill_Fields and Mills.

This was SVN commit r28113.
2024-06-14 22:20:26 +00:00
3bd5cd9934 Templates | Skirmish Maps | Add a "Scout Ship" default template for skirmish maps.
This was SVN commit r28112.
2024-06-14 22:17:02 +00:00
9cec9613a1 [Fix] Replace the "Immortals" tech at the Tachara, as it had accidentally been taken out some time ago by the author.
This was SVN commit r28111.
2024-06-14 22:16:40 +00:00
95fcfeb496 Escape non-breaking space in tutorial
Patch by: materiagris via https://github.com/0ad/0ad/pull/44
This was SVN commit r28109.
2024-06-12 08:32:09 +00:00
06545f5de1 Clean code of Unknown
- Put the actual functions in `unknownMapFunctions` instead of just the
names
- Inline some functions

Comments by: elexis
Differential Revision: https://code.wildfiregames.com/D5280
This was SVN commit r28105.
2024-06-08 11:37:27 +00:00
22a8f367f8 Clean code of Caledonian Meadows
- whitespace changes
- functions were called in a way that they always used the default
arguments
- deduplicate code in initialization of `heighLimits`
- new structure in `myBiome`, so that the painting can be reduced much.
 - also initialization instead of push
- use algorithm to calculate the `areas` and the "midpoints" of the
slope.

Comments by: @elexis
Differential Revision: https://code.wildfiregames.com/D5279
This was SVN commit r28104.
2024-06-08 11:30:58 +00:00
28332b6fe6 Deprecates OpenGL ARB backend.
Differential Revision: https://code.wildfiregames.com/D5242
This was SVN commit r28103.
2024-06-07 18:47:18 +00:00
922ab00c06 Remove usage of var in map scripts
Comments by: @Stan, @sera @elexis
Differential Revision: https://code.wildfiregames.com/D5273
This was SVN commit r28101.
2024-06-04 19:39:19 +00:00
c6df8f9372 Biomes for alpine_lakes and alpine_valley
The "biomes" where duplicated between alpine_lakes and alpine_valley.
The biomes can now be selected by the game setup page.
This also remove many `var`'s.

Comments by: @Stan, @elexis
Differential Revision: https://code.wildfiregames.com/D5277
This was SVN commit r28099.
2024-06-02 17:08:28 +00:00