Commit Graph
24454 Commits
Author SHA1 Message Date
Dunedan 1aeb19b535 Improve alignment of in-game top menu
This improves the alignment of the items of the top menu in-game. Icons
are now better centered and don't overflow anymore and the build label
text doesn't stack on low resolutions anymore either.
2024-12-30 18:47:05 +01:00
phosit fb9b02a9ba Never change the names in the "Player Name" column
The intent of this branch was to not change the names when a saved game
is loaded. So that one can see who was where in the saved game.
It was implemented wrong: The names didn't change when no savegame was
loaded and changed when a saved game was loaded.

This commit make the soved game case and no saved game case consistent.

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
phosit 5c860c3121 Respect the enabledness in PlayerColor
There is no way to show the `PlayerColor` as disabled. As the player
color is vilible without this it can simble be hidden when it is
disabled.

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
phosit b52c1c137f Load the PlayerNames dependant on their origin
`PlayerData` didn't contain the playerNames when serialized because they
should not be loaded when a new game is made. This lead to the issue
that client didn't receive the initial player names of saved games.

Now `fromInitAttributes` gets as a second parameter whether the
initAttributus are from persistent settings.

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
phosit 199aa8ac35 Rebuild the selection list when rendering an ai
When a saved game gets loaded ai's aren't always selectable. This lead
to errors when an ai actually gets selected.

Defect introduced in b90280855f
2024-12-30 15:23:31 +01:00
phosit 8636e4d0fd Render GameSettingsWarning on construction
`GameSettingsWarning` where only rendered when the settings change. When
a saved game is loaded it's possible this setting is enablet without the
setting being changed.

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
phosit 4c48661b4f Disable mapbrowser when a saved game is loaded
Make it consistent with the "Browse Maps" buttow which is also
unavailable when a saved game is loaded.

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
phosit 96aa283e6a Make MapPreview always listen to map changes
When loading a saved game the user can't change the maps but when
receiving the initAttributes from the host the map is "changed".

Defect introduced in b90280855f.
2024-12-30 15:23:31 +01:00
Stan f14a98e26f Bump minimum macOS SDK to 10.15
According to https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html Firefox doesn't support anything lower than 10.15 at runtime. So neither do we.
Fixes #7370
2024-12-30 11:14:59 +01:00
Lancelot de Ferrière a6693e8c1f Fix samply profiling of SM JS code 2024-12-30 09:13:06 +01:00
Ralph Sennhauser 28b0801e82 Print diff for ruff-format if check fails
It's a bit hard for contributors to figure out what ruff-format is
unhappy about if all they get is a return status of non zero. Enable
printing a diff with suggested changes with the pre-commit hook.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-30 06:23:22 +01:00
Vantha 33111dc816 Fix phase names not updating on the structure tree
Reload all cached phase data when switching civ.
Add missing query for the generic phase technologies to the phase idents.
2024-12-29 22:21:28 +01:00
Vantha 314bc4185b Fix incorrect SpecificName syntax introduced in 94baa560b1 2024-12-29 22:21:28 +01:00
Dunedan 8a9813234e Remove GetFileMTime() 2024-12-29 09:32:17 +01:00
Dunedan 894e349ebf Add a deprecation warning for using GetFileMTime() 2024-12-29 09:32:17 +01:00
Dunedan ab0aee4cfa Use MD5 hash for splash screen version check
Instead of using the file modification date, this uses the MD5 hash of
the file holding the content of the splash screen for the version check.
This ensures the splash screen isn't unintentionally shown again when
just the modification date of the file changes.

Fixes #4399
2024-12-29 09:32:17 +01:00
Lancelot de Ferrière c2bb61fffc Fix terrain normals to account for angle 2024-12-28 13:25:07 +01:00
Dunedan 1268854587 Improve layout of the match summary screen
This improves the layout of the summary screen, so text and displayed
values fit better. By doing so this also removed the need to specify a
"verticalOffset" for values, as they get vertically centered now.
2024-12-28 12:10:07 +01:00
Dunedan fc7e4ae69e Small UI adjustments for better text fitting
When running 0ad with a language other than English, there are various
places where text doesn't properly fit. This adjusts the UI in a bunch
of these places to better accommodate longer strings as they appear in
other languages than English and to make the UI look more uniform in
general.
2024-12-28 08:52:13 +01:00
Lancelot de Ferrière 099a718e62 Fix pre A25 savegame compatibility 2024-12-28 08:47:35 +01:00
wowgetoffyourcellphone ba24b46693 Fix normal map orientation for terrains
Fix normal map orientation for Terrains

- Terrains use "OpenGL" style normal maps, while 3D assets use "DirectX" style normal maps. So, fix all of the normal maps I can find with incorrect style normal maps.
- Set most terrains to angle="0" for more accurate shading. This negatively affects "tile" terrains, which we want to have a 45 degree angle, but helps all other terrains. aegean_paving_01 is an example of a permanent fix for this, which I will work on with Stan for R28.
- Adds a couple of really nice paving terrains for a new "Italy" terrain set.
- Adds a nicer "furrows" normal map for farmland terrain
- Improved persian city tile normal by @wraitii
2024-12-28 00:34:14 +01:00
wowgetoffyourcellphone 67bed64fd1 Last minute art changes and fixes.
New AO maps for statues by @nifa (which fixes the Discobolus ao error)
New quiver for Persian Immortal
Remove bad smoothing for Chinese rice hat
Remove some noise from a couple of structure skins
Add garrison flag prop points to Greek theaters
Make garrisoned flags unselectable. Requested by @real_tabasco_sauce
Update han_ricehat.dae
2024-12-28 00:33:50 +01:00
phosit e04506814a Multicast chat messages
Only the sender and the recipients receive the chat messages.
This commit only has an affecto on messages where the addressee(s) are
selected through the dropdown. Addressee(s) selected with a "/" command
are still sent to evevyone and filteret by the receiver.
2024-12-27 19:32:03 +01:00
elexis 023527e56e Prevent players to reveal the map from GUI script
`Engine.SetViewedPlayer` and `Engine.SetPlayerID` could be used to
reveal the map from GUI scripts and the in game console.

This is prevented by querying the simulation whether this player is
allowed to call thous functions.

These two vulnerabilities were introduced with their respective
features:
20e7d2224a introduced SetPlayerID to allow controlling other players
	using the developer overlay.
a2f7d4d82a introduced SetViewedPlayer to allow observers to change the
	perspective.
2024-12-27 19:01:53 +01:00
Lancelot de Ferrière 40d3ea33d8 Fix tutorial autostart 2024-12-27 09:37:00 +01:00
scuti faa063ee42 Add myself to credits. 2024-12-26 16:14:38 +01:00
scuti a81c38bab9 Skip playing audio of corrupted files.
Prints a warning instead of crashing.

Fixes #7150
2024-12-26 16:14:38 +01:00
Ralph Sennhauser fb24d75f0e Bump release version to 0.27.0
Also drop build version component as we never used it in earlier
releases either. This will also make replays et al be stored in a
directory 0.27.0 similar to earlier releases.

The build version component was introduced in 028ec40165

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-26 14:11:43 +01:00
Dunedan 870b356ad9 Fix font size of error for incompatible save games
The font size in the error message dialog for incompatible save games
was way larger than usual. This fixes that, by removing the arbitrarily
applied font size.
2024-12-25 19:20:35 +01:00
real_tabasco_sauce a4541a1745 Add "new" keyword to migration, foothills, and coast range
Fixes #7362
2024-12-25 15:56:55 +01:00
Stan b579e68d5d Fix casting autostart-size 2024-12-24 12:30:23 +01:00
elexis d12c015d43 Erase client state hash on disconnect
Fix `NetServerTurnManager` from pausing the simulation forever after a
client sent a bad hash to it and disconnects before the bad hash has
been processed.

A client that sends a wrong simulation hash to the `NetServer` and
disconnects before the server compares that hash causes a message box to
appear and the game to be paused forever.
94e5d88169 introduced the bug by missing to delete `m_ClientStateHashes
upon `UninitialiseClient.
This causes `m_ClientData[hashPair.first].isOOS = true` to insert a
client with blank values that the `NetServerTurnManager` will wait
forever and hence the message box about an OOS with no players being OOS
is shown (the playername is emptystring).

5ebf2020b0 exposed the bug by making observers able to lag behind,
providing a longe enough timeframe for this to occur.

Fix:
Deleting `m_ClientStateHashes` upon disconnect solves the broken
message box and the pausing.
2024-12-23 08:09:18 +01:00
elexis 5b33dd0143 Exclude fireships and scoutships from Danubius
These ship types were introduced in d51b4687e9. Danubius isn't designed
to use these ship types, as it uses ships to garrison 30 units.
2024-12-23 08:00:41 +01:00
Ralph Sennhauser 3c8760aa43 Add option categories to premake
Adding a category to newoption calls groups our options together instead
of mixing them with premake General options in --help output.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-23 06:15:32 +01:00
Itms ba0e2d0217 Self-host gloox tarball
Upstream seems less and less reliable, with the bug tracker inaccessible
and the website now entirely down.
2024-12-22 11:19:05 +01:00
Itms 9f6699d964 Adapt bundles pipeline to the git environment 2024-12-21 23:03:25 +01:00
Itms c9e4eb1539 Fix amd64 cross-compilation on macOS 2024-12-21 23:03:24 +01:00
real_tabasco_sauce 6b7dfb005e Balance non-random arrows
-Increase default arrow firepower for buildings, decrease garrisoned firepower.
-Add a 20% building damage by by phase.
-Give the fortress a minimum range.
-Allow murder holes to be researched from the fort.
-Sentries uses a multiplicative bonus instead of adding 1 arrow.
-adds a new tech to the fort to increase its default arrows by 6.
2024-12-21 22:48:01 +01:00
real_tabasco_sauce 7c95b6700b Add non-random building AI
-lets building arrows target the closest unit by default.
-adds player control of building arrows.
-adds a tooltip to explain how to control arrows.
-Uses "F" for focus fire and concurrently use "F" for force-attack, since "C" is capture.
2024-12-21 22:48:01 +01:00
Vantha bae50fe4f7 More SpecificName improvements 2024-12-21 22:35:24 +01:00
Carl-O 94baa560b1 Enrichment of SpecificNames
- Fix pinyin on The Art of War technology
- Add Doric SpecificName of the Agoge
- Add SpecificNames of Town and City phases, as well as of overlooked
Village phase (the latter for Structure Tree purposes)
- Add SpecificName for the Mauryan wonder
2024-12-21 22:20:09 +01:00
Lancelot de Ferrière f3f695b90e Fix aura/overlay visibility in FOW 2024-12-21 21:24:11 +01:00
Stan f27afa5c17 Update Windows libs reference commit
Fixes: #6991
Refs: #3004
2024-12-21 18:31:09 +01:00
Itms 62f67f5870 Match structree size with civ overview
Refs #7316
2024-12-21 14:36:19 +01:00
Dunedan 0092640024 Move the lobby menu item to the top
This moves the lobby menu item to the top of the multiplayer menu to
make it easier to find for new players and as it's probably to most used
item in that menu anyway.
2024-12-21 14:14:37 +01:00
Ralph Sennhauser 00813ff99a Backport premake extra arch support
Grab upstream patches adding support for building premake on riscv64
[1], loongarch64 [2], and e2k [3].

[1] 82c9d90495940e2d0d574e1c7849e9698f23b090
[2] 928397f72c00979d57ec4688cb1fb26ec7f2449b
[3] 5c524b6d53307bcb4ba7b02c9dba20100df68943

Fixes: #7346
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-21 12:10:03 +01:00
real_tabasco_sauce 409ba0bab5 Add art to complete the visuals of the roman reforms
Instead of removing units from the roster, we provide actors so they can be reskinned into more historically accuracte units.
Add an auxiliary spear cavalry actor and portrait
Improve the auxiliary javelin cavalry actor and portrait
Add a levy auxiliary spearman actor and portrait to replace triari
Add a champion "first cohort legionary" to replace the extraordinarius and its portrait
2024-12-21 11:45:09 +01:00
real_tabasco_sauce da8551e419 Fix Onager and make the roman reforms cheaper
-Part one of updates to roman reforms.
-account for the use of antesignanus instead of lanciarius
-train the onager from the army camp and add non-random arrow balance.
2024-12-21 11:45:09 +01:00
Ralph Sennhauser 949d5f8c0b Check for WX in premake and rename atlas option
The option --atlas is oddly different than any other feature flag,
change it to be in line with the others and enable it by default. The
new option is --without-atlas.

As the WX binaries aren't precompiled for Windows automagically disable
atlas there for users running the batchfile through filemanger if WX is
missing.

On *nix not providing a valid wx-config whith enabled atlas is
considered an error.

Fixes: #6401
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-21 10:03:12 +01:00
Ralph Sennhauser c09d12a959 Add missing wildcard in gitignore
In a5fec576f9 the reqired wildcard wasn't added.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-21 10:03:12 +01:00