Commit Graph

24811 Commits

Author SHA1 Message Date
Ralph Sennhauser fb470ffa35 Add options for sanitizers to premake5.lua
Given that Valgrind is not yet avx512 ready [1] all the more reason to
have easy access to ASAN and friends for compilers that support it.

This commit adds options for ASAN, TSAN and UBSAN. [2]

[1] https://bugs.kde.org/show_bug.cgi?id=383010
[2] https://github.com/google/sanitizers/wiki

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-21 20:44:19 +02:00
trompetin17 a1d13c1cf8 Add CJK fonts for Text Engine
This PR removes the need for separate mods that previously provided CJK
support, and reduce the step for release process as mentioned here:
https://gitea.wildfiregames.com/0ad/0ad/wiki/ReleaseProcess
2025-05-21 16:16:36 +02:00
Lancelot de Ferrière 75421ef27c Disable system libs for WxWidgets
This is needed on recent wxWidgets versions to prevent fetching native libraries on the system while we are cross-compiling for Intel bundles.
2025-05-21 08:54:45 +02:00
Ralph Sennhauser 622f477ae9 Fix eslint rule 'no-new'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-new": 1'

Make the handlers that aren't actually handlers calss functions and for
the HotkeyPage suppress the warning as the global init is prone to be
removed at some point.

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-20 14:17:13 +02:00
Ralph Sennhauser 382b732515 Update test_root path in update-workspace
After 8d993b9250 the generated test_root.cpp is no longer in the source
tree but generated in workspace. The issue of there bing no source is
still valid, so update the path.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-19 17:43:21 +02:00
Dunedan 638391d7ab Fix password change for certain usernames
This fixes the ability for users with uppercase letters in their
username to change their passwords, which wasn't possible before on
non-Windows platforms. The underlying issue for that is
https://github.com/processone/ejabberd/issues/4377 and in addition some
inconsistent normalization of usernames in password change requests
by gloox. This commit works around that by always using the local JID
part as username for password requests, which got the nodeprep string
profile already applied.

It also fixes a problem that Windows users which were able to change
their passwords, weren't able to login afterwards anymore, unless they
typed their username in all lowercase in the login form. This was caused
by using the all lowercase username as input for the password hash
function, instead of using the username in the user supplied case.

Fixes #7796
2025-05-19 17:05:41 +02:00
ShadowOfHassen 231c38d28d Improved Civ Overviews 2025-05-19 10:35:27 +02:00
Ralph Sennhauser 5445aaaf59 Allow no files for copyright checks
If a commit just removes files for cleanup purpose for example the list
of files to check would be empty. Therefore allow no files as arguments
for use in CI.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-18 20:18:08 +02:00
Dunedan f28ca5d684 Fix bold and italic fonts
A last minute change in #7787 caused the bold and italic identifiers of
fonts to be ignored once it got merged in 734386ce9f and all fonts to
be rendered as regular fonts. This commit fixes that.
2025-05-18 18:41:25 +02:00
Dunedan b1a638dfdc Remove the sprites of the player color dropdown
This makes the arrow of the player color dropdown look like in a27
again.
2025-05-17 18:54:22 +02:00
Dunedan dc156c3f24 Fix position of the ingame release label
This commit fixes the vertical position of the release label in the
in-game top menu, which broke with 734386ce9f.
2025-05-17 18:54:22 +02:00
Dunedan ec95ee96d4 Improve player color dropdown
This properly centers the colors in the player color dropdown.
2025-05-17 18:54:22 +02:00
Dunedan 58a58bc25d Improve layout of the civ and structree pages
This contains some small layout fixes and improvements for the
civilization overview and structure tree pages. Some of these fixes have
fix regressions introduced with 37065ebc71.
2025-05-17 18:54:12 +02:00
Ralph Sennhauser 4e5cdc87b9 Fix eslint rule 'spaced-comment'
Manual fixes needed for:
eslint --no-config-lookup --rule '"spaced-comment": ["warn", "always"]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-17 12:08:47 +02:00
Dunedan 52ee6ad470 Fix element positions after new font rendering
This fixes the positions of elements which changed as part of
734386ce9f.
2025-05-17 10:02:25 +02:00
Ralph Sennhauser 7b4cf11e25 Fix eslint rule 'no-shadow'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-shadow": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-17 09:48:36 +02:00
Ralph Sennhauser dcda4187be Fix parsing of graph.js for eslint
The perl script extract.pl just checks for a line matching
'-- include data json--', so making it valid js is can be done just
fine.

Also fix eslint warning is graph.js.

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-17 06:29:29 +02:00
trompetin17 734386ce9f Use freetype for font rendering
Replace premade bitmap fonts with FreeType2 and dynamic texture atlas.

Switched from static, premade bitmap fonts to runtime-generated glyphs using FreeType2.
Glyphs are rendered on demand into a dynamic texture atlas, improving scalability,
font quality, and support for internationalization.

Currently using RGBA format for compatibility across all render
paths while initial support for R8_UNORM is being added.
This prepares for future optimizations in VRAM and performance

Includes groundwork for gamma-corrected blending and future swizzling support.
2025-05-16 14:57:59 -05:00
Dunedan 45340a2e32 Don't store consecutive console commands twice
This adds an option to disable storing consecutive console commands
twice and enables it by default.
2025-05-16 17:38:41 +02:00
Dunedan d549cbeeaa Make the console font configurable 2025-05-16 17:38:41 +02:00
Dunedan 13c00d1869 Add missing console.history.size to default.cfg 2025-05-16 17:38:29 +02:00
Kate a91a8594c2 remove whitespace on line 317 through 321 2025-05-16 12:11:18 +02:00
Kate 750b10a966 Update binaries/data/mods/public/simulation/ai/petra/config.js 2025-05-16 01:51:06 +02:00
Kate 517916c4d6 Update binaries/data/mods/public/simulation/ai/petra/config.js 2025-05-16 00:50:49 +02:00
Itms 416ba3fc2b Fix Gitea actions syntax on push events
The Github documentation is difficult to parse, but there is an
asymmetry in the API:
- for a PR event, the event object contains a `pull_request` object
  containing `base` and `head` objects
- for a push event, the `before` and `after` SHAs are immediate
  children of the event object

<https://docs.github.com/en/webhooks/webhook-events-and-payloads>

Fixes #7730.
2025-05-15 11:45:25 +02:00
Itms 83674e1d1b Fix lfscheck action syntax on push 2025-05-15 10:54:46 +02:00
Itms 2889170a09 Check LFS pointers integrity in an action
Running the checks here instead of in repository hooks will prevent
Gitea from hanging during pushes.
2025-05-15 09:33:50 +02:00
Ralph Sennhauser a9987868c4 Fix eslint rule 'no-use-before-define'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-use-before-define": ["error", "nofunc"]

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-14 16:35:58 +02:00
Ralph Sennhauser 3a2d75af65 Fix eslint rule 'no-irregular-whitespace'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-irregular-whitespace": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-14 13:52:12 +02:00
Itms 56e268d82b Update the issue template for release processes 2025-05-14 11:14:13 +02:00
Itms 51ab929926 Implement pipeline for generating patch releases
The new patch-release pipeline takes a git branch originating from a
release tag, applies the changes since the tag onto the nightly build of
the release, and rebuilds the Windows binary.

All resulting changes are sent to the bundling pipeline which builds for
macOS and creates the tarballs and installers.

There will be two instances of the bundles pipeline: the main one will
keep tracking the main branch and providing biweekly bundles of the next
release, while a new patched-bundles pipeline will be manually used to
generate patch releases.
2025-05-14 10:49:02 +02:00
Itms c38b40cda8 Allow downloading Windows libraries into nightly 2025-05-14 10:48:43 +02:00
Ralph Sennhauser 74f475f9fd Fix eslint rule 'no-return-assign'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-return-assign": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 20:12:35 +02:00
phosit 429fb672a0 Move the argument validation to PlayerPlacement
Only `PlayerPlacement` itself should know how to validate it's value.
Fix: #7686
2025-05-13 17:52:57 +02:00
Ralph Sennhauser 406d0c90ca Fix eslint rule 'operator-linebreak'
eslint --no-config-lookup --fix --rule '"operator-linebreak": ["warn", "after"]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 16:06:50 +02:00
Ralph Sennhauser bc2e16afc2 Fix eslint rule 'no-mixed-spaces-and-tabs'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-mixed-spaces-and-tabs": ["warn", "smart-tabs"]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 15:48:23 +02:00
Ralph Sennhauser 40f1340e60 Fix eslint rule 'space-before-function-paren'
eslint --no-config-lookup --fix --rule '"space-before-function-paren": ["warn", "never"]'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 15:21:57 +02:00
Ralph Sennhauser 8e71be511b Fix eslint rule 'space-in-parens'
eslint--no-config-lookup --fix --rule '"space-in-parens": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 14:29:29 +02:00
Ralph Sennhauser 76a50d1828 Fix eslint rule 'no-floating-decimal'
eslint --no-config-lookup --fix --rule '"no-floating-decimal": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-13 14:09:58 +02:00
Ralph Sennhauser d2222ee0ac Fix eslint rule 'prefer-const'
The remaining ones that can be fixed automatically.

eslint --no-config-lookup --fix --rule '"prefer-const": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 18:44:28 +02:00
Ralph Sennhauser c24bf321d6 Fix eslint rule 'prefer-const' in gui/[c-p]
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/gui/[c-p]*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 14:15:40 +02:00
Ralph Sennhauser e7f1406c37 Fix eslint rule 'prefer-const' in components/[T-V]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/[T-V]*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 13:12:45 +02:00
Ralph Sennhauser 4b3124e364 Fix eslint rule 'prefer-const' in components/unitai
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/UnitAI.js

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 08:23:10 +02:00
Ralph Sennhauser 9d791de2eb Fix eslint rule 'prefer-const' in components/[R-S]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/[R-S]*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 08:02:53 +02:00
Ralph Sennhauser fd27f39c20 Fix eslint rule 'prefer-const' in components/[H-P]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/[H-P]*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-11 19:24:03 +02:00
Ralph Sennhauser eb75835ce4 Fix eslint rule 'prefer-const' in components/G*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/G*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-11 17:53:23 +02:00
Ralph Sennhauser b80c222b96 Fix eslint rule 'prefer-const' in components/[C-F]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/C* \
    binaries/data/mods/public/simulation/components/D* \
    binaries/data/mods/public/simulation/components/E* \
    binaries/data/mods/public/simulation/components/F*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-11 14:27:12 +02:00
Dunedan ea4de39faa Direct support requests to the forums
This disables the default issue type in Gitea and replaces it with a
link to the help and feedback section in the forums. That's a measure to
discourage players to use Gitea as a tool to seek support.
2025-05-11 12:24:49 +02:00
Lancelot de Ferrière dd74892463 Fix no-pch build following #7829 2025-05-11 11:24:50 +02:00
Ralph Sennhauser 4c4f787c63 Fix eslint rule 'prefer-const' in components/[A-B]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/A* \
    binaries/data/mods/public/simulation/components/B* \

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-11 10:40:23 +02:00