Commit Graph

24703 Commits

Author SHA1 Message Date
Ralph Sennhauser 2b67499e05 Fix eslint rule 'no-trailing-spaces'
eslint --no-config-lookup --fix --rule '"no-trailing-spaces": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 17:31:47 +02:00
Ralph Sennhauser 1da93a6d2f Fix eslint rule 'object-curly-spacing'
eslint --no-config-lookup --fix --rule '"object-curly-spacing": ["warn", "always"]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 17:17:35 +02:00
Ralph Sennhauser 12640ad63e Fix eslint rule 'brace-on-same-line'
eslint --no-config-lookup --fix --plugin eslint-plugin-brace-rules \
    --rule '"brace-rules/brace-on-same-line": [
                "warn",
                {
                    "FunctionDeclaration": "never",
                    "FunctionExpression": "ignore",
                    "ArrowFunctionExpression": "always",
                    "IfStatement": "never",
                    "TryStatement": "ignore",
                    "CatchClause": "ignore",
                    "DoWhileStatement": "never",
                    "WhileStatement": "never",
                    "ForStatement": "never",
                    "ForInStatement": "never",
                    "ForOfStatement": "never",
                    "SwitchStatement": "never",
                },
                {
                    "allowSingleLine": true,
                }
            ]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 16:16:44 +02:00
Ralph Sennhauser 27c70de8ae Fix eslint rule 'key-spacing'
eslint --no-config-lookup --fix --rule '"key-spacing": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 15:44:04 +02:00
Ralph Sennhauser fd0f7cc270 Fix eslint rule 'comma-spacing'
eslint --no-config-lookup --fix --rule '""comma-spacing: 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 15:12:53 +02:00
Ralph Sennhauser 7ab9416acc Fix eslint rule 'quote-props'
eslint --no-config-lookup --fix --rule '"quote-props": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 14:31:11 +02:00
Ralph Sennhauser 81c119bf39 Fix eslint rule 'semi'
eslint --no-config-lookup --fix --rule '"semi": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 14:13:14 +02:00
Ralph Sennhauser ddba1ceabd Fix eslint rule 'no-extra-semi'
eslint --no-config-lookup --fix --rule '"no-extra-semi": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 11:18:16 +02:00
Ralph Sennhauser 24c47c81c7 Fix eslint rule 'no-multi-spaces'
eslint --no-config-lookup --fix --rule '"no-multi-spaces": ["warn", { "ignoreEOLComments": true, }]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 10:50:50 +02:00
Ralph Sennhauser b6df170303 Fix eslint indent rule
eslint --no-config-lookup --fix --rule 'indent:  ["warn", "tab", { "outerIIFEBody": 0, }]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 09:39:58 +02:00
Ralph Sennhauser 57cf9578a7 Fix schema for TurretHolder
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 09:39:58 +02:00
Lancelot de Ferrière 1f2156adcc Fix library build on MacOS Sonoma 2025-05-02 21:05:31 +02:00
Stan 00793d2918 Add rooster model and template. 2025-05-02 14:41:29 +02:00
Ralph Sennhauser 9038b555fe Eslint auto-fix JS in profiler2 webui
This fixes all issues eslint can safely do automatically. Drastically
reducing the number of open style issues reported.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-02 13:25:23 +02:00
Ralph Sennhauser 545cf99a0c Add JS to editorconfig
Uses tabs for JS files

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-02 13:25:23 +02:00
abian 853ae057dd Do not require Traders for Diaspora
Remove the need to train 3 Traders before researching Diaspora, which
will now be researched directly from the Market instead of the Civic
Center. To compensate, increase cost by +100 food, +200 metal, and
+10 research time, matching the three resources used to produce
Traders, but in smaller quantities.

Fixes #7381
2025-05-01 22:01:32 +02:00
Pio 7f684cbcd3 Fix incorrect shaders path in LICENSE.md
The two shaders are actually located in mods/mod/shaders/glsl
2025-05-01 17:13:37 +02:00
fiftydinar 26acb9df22 Add StartupWMClass to desktop file
This fixes the potential edge-cases of icon not showing, like in Gnome's dash for example.
2025-04-29 15:18:41 +02:00
Dunedan d79c05f10e Allow loading multiple profiling reports at once
This allows selecting multiple reports to load at once in the file
chooser dialog. Reports will be loaded in parallel and the last one to
finish loading will be the active one.
2025-04-29 12:40:31 +02:00
Dunedan 1e276bb4ad Remove duplicate call of on_report_loaded()
This removes a duplicate call of on_report_loaded() when loading a
profiling report. This second call caused loading reports to fail,
whenever it took longer than 5 seconds. While that was probably a
measure to prevent reports loading too long and taking up too much
resources, it didn't achieve that goal, as the actual loading of the
report din't get aborted.
2025-04-29 12:40:31 +02:00
Ralph Sennhauser 19d568d506 Add linter to check for copyright year
This replaces the previous arclint linter for checking the copyright
year in license headers with a gitea workflow job.

As the date of last edit might differ from commit date due to reverts
the copyright linter is run against a base commit.

The python script doing the heavy lifting is written by @Dunedan.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Co-Authored-by: Dunedan <dunedan@phoenitydawn.de>
2025-04-28 16:14:34 +02:00
Ralph Sennhauser 263b481442 Cmake-4 support for nvtt
Fix nvtt build to support cmake-4, while at it also fix other
related outstanding cmake issues in nvtt.

Fixes: #7538
Fixes: #7764
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-04-27 09:58:23 +02:00
Vladislav Belov 7275f590e9 Fixes wxWidgets on 64bits. 2025-04-26 20:53:24 +02:00
Vladislav Belov d049a09f81 Adds libraries/win64 to .gitignore. 2025-04-26 20:53:22 +02:00
Vladislav Belov f2fcc12859 Restores iconv dependency for collada. 2025-04-26 20:53:20 +02:00
Vladislav Belov c46593149b Adds amd64 support to get-windows-libs. 2025-04-26 20:53:18 +02:00
Vladislav Belov 479cdbfc82 Removes unapplied arch_suffix for now. 2025-04-26 20:53:16 +02:00
Vladislav Belov b0160d0ece Adds 64bits support. 2025-04-26 20:53:09 +02:00
Lancelot de Ferrière 8a40673dab Avoid overflow in silhouette occluder bounds
This triggered a debug_warn in some cases.
2025-04-26 16:48:06 +02:00
Vladislav Belov 2264807ad0 Fixes runtime switch of the GPU skinning.
Fixes #7572, #7630.
2025-04-25 20:13:59 +02:00
Vladislav Belov 0180faa1f2 Adds fixed frame frequency.
Adds possibility to control the frame time by setting the frame
frequency by a command line argument (`-fixed-frame-frequency`). It's
mostly useful for a trailer recording and graphics debugging.
2025-04-25 19:15:57 +02:00
Dunedan d78e46ba26 Fix positioning of bottom minimap tooltips 2025-04-24 18:49:11 +02:00
Dunedan 680efb147d Unify tooltip style of top menu items 2025-04-24 18:49:10 +02:00
Dunedan dee2b73c7d Remove pointless content from counter tooltips
This removes the static text "Gatherers: current" from the
resource and population counter tooltips. This string was static and
only changed its color depending on whether units were assigned to
collect a certain resource. That information is however already
available in the counter display itself.
2025-04-24 18:49:10 +02:00
Vladislav Belov 0bf3ff5ad6 Reduce allocations for GUI and Hotkeys.
It allows to reduce the number of allocations per-frame for GUI and
during initialization for Hotkeys.
2025-04-24 15:11:22 +02:00
Vladislav Belov bdd3cac051 Reduces allocations for ShaderDefines.
It allows to reduce the number of allocations per-frame for
ShaderDefines. For example, on Acropolis Bay it goes down from
2.7k to 0.9k for the whole map view.
We don't really need std::vector for it. Because materials and
particularly shaders shouldn't have so many parameters.
2025-04-24 01:05:34 +02:00
Ralph Sennhauser 25ef6107e0 Make get-windows-libs fail on error
Don't try to muddle through, if the files expected to be present can't
be copied it's a hard failure.

Further abort with error code for failed commands so it can be caught by
the CI.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-04-22 19:34:18 +02:00
Ralph Sennhauser e2511cfbac Propagate error for failed update-workspace.bat
If running premake fails during update workspace then update workspace
needs to exit with an error as well so the CI will actually report an
error.

According to Itms testing with powershell passing the original error is
unreliable, so just exit with one.

Fixes: #7642
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-04-22 19:34:11 +02:00
Lancelot de Ferrière af32d386b9 Stop running shrinking gcs & simplify GC logic.
Shrinking GCs dump the JITted code, which leads to redundant recompilations, lowers performance, and makes profiling JS more difficult.
They may still happen if the runtime is at risk of OOM.
2025-04-22 17:03:29 +02:00
Lancelot de Ferrière d262eb8757 Remove log scale in profiler2
It showed incorrect values and was simply not very useful.
2025-04-21 09:05:34 +02:00
Vladislav Belov 9306aae297 Fixes PS::StaticVector insert and adds more tests
There was an incorrect mutable iterator construction missed in
ca242239f1.
2025-04-20 17:13:40 +02:00
Lancelot de Ferrière ea5a350f83 Cache JS component wrappers 2025-04-19 14:41:45 +02:00
Lancelot de Ferrière 0a4bfefb1e Fix modifiersManager cache incorrectly storing values with player-wide modifier
The cache would take the value post-player-modification, which is incorrect. This would usually just make caching fail, but could trigger worse problems if the post-player value is also used in other situations.

One such situation leads to an OOS for britons.

Thanks to elexis for the thorough investigation.

Fixes #7634
2025-04-19 12:37:24 +02:00
Vladislav Belov e65879bdbf Fixes non-PCH compilation after 0b33921c06. 2025-04-17 23:26:23 +02:00
Dunedan 280dcd3a1c Tweak probabilities of tip categories
With the introduction of multiplayer loading screen tips, categories of
tips and probabilities of how often to show tips from a certain category
got introduced. The original probabilities ended up showing multiplayer
tips in 60% of the cases. As the number of multiplayer tips is still
fairly small, this resulted in very repetitive occurrence of the same
multiplayer tips over and over when loading multiplayer matches.

This commit changes that to give single-player tips a higher probability
for multiplayer matches. It also adds showing tips from the "Beginner"
category for multiplayer games, as there are regularly new players who
start their experience with 0 A.D. by playing multiplayer matches with
friends, instead of playing single-player matches and who'll therefore
benefit from those tips being shown for multiplayer matches as well.
2025-04-17 17:15:43 +02:00
phosit 44605c1297 Add a class to register stateful callbacks to JS
Use the class in autostart as an example.
2025-04-17 15:02:05 +02:00
phosit 0afb5f3d06 Use std::string_view in ConfigDB
Now no `std::string` has to be constructed to get a config-value.
To accomplish that the map has to have a "transparent" comparator.
2025-04-17 12:35:40 +02:00
Vladislav Belov 0b33921c06 Removes GL code from the common GPU profiler. 2025-04-16 22:38:34 +02:00
Vladislav Belov 6ef6a87287 Adds queries implementation to renderer backends. 2025-04-16 22:38:32 +02:00
Vladislav Belov 0e7d193fcc Adds an interface for queries. 2025-04-16 22:38:24 +02:00