Commit graph

447 commits

Author SHA1 Message Date
Vladislav Belov
c4fb0eed3a
Adds slider to developer overlay
Also adds PBR config values. Refs #8535
2026-04-29 19:25:03 +02:00
guerringuerrin
6ca52a0b23 Reassign default hotkeys and add unit/building selection shortcuts
Add default hotkeys for unit selection by class and for placing common buildings,
building on the previous buildings and units hotkeys work.
Several existing bindings are reassigned to avoid conflicts and group related actions
on consistent key combinations.
2026-02-27 10:54:04 +01:00
phosit
b67faf35c3
Switch main branch to Release 29 2025-12-18 18:16:11 +01:00
Atrik
426693ebef Default hotkeys changes
Reassign 'Toggle mouse grab' to F3 to avoid conflicts with gameplay hotkeys

Unassign 'Show status bars' often toggled by mistake by new players and confused for a selection bug

Assign 'Bird eye view' to Shift+Tab
2025-11-26 16:42:18 +01:00
Vladislav Belov
485200342d
Disables Vulkan devices sorting by default
Currently we always choose the best device. But it's not always
desirable. A more safe approach is to use the default device (with
index 0). The only downside of that is if a user didn't adjust
settings then the game might run on an integrated GPU instead of a
discrete one. In the future it'll be solved by selecting GPU in
options: #8529

Fixes #8455
2025-11-11 01:50:58 +01:00
Vladislav Belov
c4bc6c9627
Adds an option to destroy Vulkan old swapchain before
Now it's possible to destroy the old swapchain before creating a new
one. It might make the swapchain creation a bit slower but with a
lower memory peak.
2025-11-10 00:06:52 +01:00
Vladislav Belov
e1d5e92c2a
Restores minimap entities size and adds options.
Restores minimap entities size to size they have in A25.
Adds minimap options.

Fixes #6782.
2025-10-05 12:04:21 +02:00
trompetin17
47454a592e
Fix casing for debug box configuration keys in default.cfg and TextRenderer.cpp 2025-08-04 07:44:12 -05:00
trompetin17
678a33c100
Dap Interface with Spidermonkey debug
Spidermonkey provide a mechanics to debug all comportaments and real
from a different place with JS code this allow us to reuse the current
scriptinterface but addind the new Debugger object definition only for
debugging without change any code from other place like GUI &
simulation.

Debugger Adapter Interface is a protocol that commons IDE implement to
being able for debugging, the concept is to provide sockets connections
with c++ but the Dap implementation in JS that allow us to extend for
more Request / Events that DAP provide.

Because Dap Interface its implemented with JS we need to handle message
in the main thread so we are calling in the main loop before GUI
messages
2025-07-11 11:06:04 -05:00
Mentula 0 A.D.
cb2717faba Add support for bird's eye camera view
A new hotkey "hotkey.camera.togglebirdseyeview" allows to switch
between regular view and bird's eye (top-down) view.

When bird's eye view gets toggled on, the camera moves above the scene;
When bird's eye view gets toggled off, the camera moves back to the
default vertical rotation angle;
When bird's eye view is on, vertical rotation is disallowed.
2025-06-16 20:01:07 +02:00
Ralph Sennhauser
58219b974c
Fix trailing whitespace and add pre-commit hook
Some have their editor configured to remove trailing whitespace and
editing such a file would "fix" it, adding an unrelated change.

Fix whitespace violations excluding third party libs and generated files
like glad or patches.

Enable pre-commit hook trailing-whitespace to enforce it in the future.

Fixes: #8016
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-06-15 20:08:48 +02:00
Vantha
7938a120d1 Rename the 'Objectives' dialog to 'Match Settings' 2025-06-15 19:24:03 +02:00
trompetin17
d323797d98
Add glyph debug box rendering for font system
This commit introduces optional debugging visuals for font glyph
rendering. When enabled, each glyph is drawn with a surrounding debug
box to aid in visual inspection of glyph layout, spacing, and atlas
behavior.

Usage examples (via console):

// Enable debug box rendering
Engine.ConfigDB_CreateValue("user","fonts.debugBox", true);

// Set debug box color (R G B)
Engine.ConfigDB_CreateValue("user","fonts.debugBoxColor", "35 0 35");

This feature is intended for developers working on font layout or atlas
generation logic, and has no effect on normal gameplay or UI rendering
when disabled.
2025-05-29 06:23:20 -05:00
trompetin17
2781d9a6a3
Add Fallback Font support
In previous fontbuilder.py we have the capacity to specified chain fonts
when a glyph is missed from one font.

This commit enable that behavior.
2025-05-28 01:01:03 -05:00
Dunedan
6c85951d53
Combine duplicate profiler2 config sections
default.cfg contained two sections named "profiler2". That's something
which might be confusing and is not supported by all implementations of
ini file parsers. To remove that ambiguity, this combines these two
sections into one.
2025-05-25 11:21:47 +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
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
Vladislav Belov
0b33921c06
Removes GL code from the common GPU profiler. 2025-04-16 22:38:34 +02:00
Dunedan
f68a8c2532
Verify the lobby certificate by default
When TLS for XMPP connections to the multiplayer lobby got implemented,
there was a bug in gloox [1] preventing the certificate verification to
succeed. This bug got fixed in gloox 1.0.22 five years ago, so it's safe
to enable certificate verification by default now.

[1]: https://web.archive.org/web/20200522184941/https://bugs.camaya.net/ticket/?id=280
2025-03-18 08:58:45 +01:00
scuti
a9819e9865 Created hotkey to grab and release mouse.
Addresses #6790
2025-02-14 20:18:49 +01:00
drh
03ceb27e90 Add camera pan inversion option
Fixes: #6539
2025-01-30 18:42:59 +01:00
Daniel Roschka
274500eb37
Always use STUN for hosting games using the lobby
This makes using STUN mandatory for games hosted using the multiplayer
lobby. The motivation for that is a reduction in complexity, because
right now if STUN is disabled we use a home-grown STUN-like logic, which
got implemented before Pyrogenesis got STUN support.

That home-grown logic relies on a custom ejabberd module (mod_ipstamp),
which inserts the external IP-address of a host in the response messages
when a host registers a game. Originally mod_ipstamp was also used to
inform all potential players of a hosts IP-address, however that has
already been removed to let hosts to only share their IP-address with
players actually joining their game.

Removing the home-grown logic and instead always relying on STUN removes
complexity in Pyrogenesis and the lobby server and also eases hosting
games for players, as they don't have to figure out anymore whether they
need to enable STUN or not.

These changes shouldn't negatively impact the ability of Pyrogenesis to
handle different types of NAT or broken networks. There is one
difference though: While the custom logic using mod_ipstamp utilized TCP
as transport protocol, the STUN implementation in Pyrogenesis currently
uses UDP. That doesn't allow hosts with UDP-connectivity issues to
resolve their external IP-address anymore, however without
UDP-connectivity they aren't able to successfully host games anyway, as
the actual game updates are transferred using UDP as well.
2025-01-20 06:52:14 +01:00
Itms
dc830ccf55
Switch main branch to Release 28 2025-01-12 01:27:02 +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
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
Dunedan
b0cc1488a7
Update the mod.io API URL
mod.io updated their API URLs, and the old one is being deprecated.
Therefore, this updates our config to point to the new one.
2024-12-14 09:16:08 +01:00
Ralph Sennhauser
ead62bba78
Update trac links with gitea links
This replaces all links pointing to trac with their corresponding links
to gitea. Also replace http with https while at it.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2024-12-10 11:29:48 +01:00
Vladislav Belov
5d4df9cbe4
Enables GPU skinning by default. 2024-12-09 22:47:18 +01:00
Dunedan
67cf07b897
Update URLs to the terms to point to Gitea 2024-11-14 19:58:40 +01:00
Vantha
a1796ed71f Enable observers to see and send flares
This patch gives observers the possibility to see and send flares.
Players keep their color after resigning and "true" observers flare in white.
Observers render all flares; the ones sent by any player or observer.
Player continue to only see their allies' flares.
The flare notification option is converted into a dropdown.
-> adding the possibility to only receive them as observer.
2024-11-14 11:58:15 +01:00
Vantha
64b1efddf4 Add chat notifications for flares
- Players now receive flare chat notifications mentioning the sender's name.
- Clicking the notification moves the camera to the flare's location.
- The feature can be toggled in the game options and is enabled by default.

Fixes #6212
2024-10-19 10:07:30 +02:00
Vantha
38b71c1bac Add a Tips and Tricks page containing the loading screen tips
- Small popup page accessible from the main menu via Learn to Play.
- Lets the player read through the tips with 'Previous' and 'Next' buttons.
- Tips continue to be shown on the loading screen.
-> but there without the scrolling ability.

- Added two new hotkeys for quicker tip changing (item.prev and item.next)
-> set to the left and right arrows respectively by default.

- Responsible scripts are placed in gui/reference/tips/.
- The tip text files have been moved to gui/reference/tips/texts/.
- Tip image files have been moved to art/textures/ui/tips/.

- Added a series of new sprites (textures in art/textures/ui/tipdisplay/)
-> comprises a title decoration, a bullet point sprite, and a new button
style.
2024-09-30 06:22:47 +02:00
Dunedan
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
vladislavbelov
e3f46bb809 Adds compute shaders support and scaling with FSR.
Fixes #6842

Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D5218
This was SVN commit r28010.
2024-01-17 19:40:27 +00:00
vladislavbelov
9707931878 Fixes Vulkan hazards reported by validation layers.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D5024
This was SVN commit r27665.
2023-06-05 16:32:18 +00:00
vladislavbelov
cd8eb70859 Disables framebuffer invalidating by default for GL as some drivers perform it incorrectly.
Fixes #6805

Tested By: Itms
Differential Revision: https://code.wildfiregames.com/D5003
This was SVN commit r27654.
2023-05-29 20:53:10 +00:00
vladislavbelov
a28fddcf72 Adds an option to disable mouse grab in fullscreen.
Refs #6649
Refs #545

Differential Revision: https://code.wildfiregames.com/D4974
This was SVN commit r27603.
2023-04-12 06:59:37 +00:00
Itms
ef71533d70 Use a lower default MTU for ENet hosts, and make it configurable.
This fixes packet loss issues on some VPN solutions.

Patch By: sera
Differential Revision: https://code.wildfiregames.com/D4967
This was SVN commit r27599.
2023-04-10 08:21:07 +00:00
Freagarach
34765a4664 Use different default hotkey for capturing.
Conflicted with garrisoning, which is used more often.
Reported by @minohaka at D4697, after 82e2619ece.

Differential revision: https://code.wildfiregames.com/D4908
Accepted by: @real_tabasco_sauce
This was SVN commit r27506.
2023-01-30 08:17:05 +00:00
vladislavbelov
b573993000 Reverts mistaken changes in default.cfg from 7c84c23114.
This was SVN commit r27419.
2023-01-11 16:29:41 +00:00
vladislavbelov
7c84c23114 Adds Vulkan backend.
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4876
This was SVN commit r27412.
2023-01-10 20:22:20 +00:00
Freagarach
82e2619ece Switch default behavior from capture to attack.
Discussed countless times on the forum.
We try this out this release.

Patch by: @marder
Differential revision: https://code.wildfiregames.com/D4697
Idea accepted by: @asterix, @wowgetoffyourcellphone, @chrstgtr
Comments by: ^ + @Stan
This was SVN commit r27399.
2023-01-09 14:29:06 +00:00
vladislavbelov
192585008a Removes skycolor from GL framebuffer.
Differential Revision: https://code.wildfiregames.com/D4822
This was SVN commit r27220.
2022-11-11 23:03:01 +00:00
Stan
f68528777f Bump version to alpha 27.
Last alpha 26 commit was [[SVN:27104]]

Accepted by: @asterix, @vladislavbelov
Discussed with: @Freagarach, @wraitii, @implodedok, @Itms

Refs: #6625

Differential Revision: https://code.wildfiregames.com/D4789
This was SVN commit r27105.
2022-10-04 17:05:11 +00:00
Stan
acb939e7bc Don't wait for observers by default and let them lag as much as needed.
Discussed with: @alre, @wraitii, @real_tabasco_sauce, @chrstgtr, @Sevda
Thread:
https://wildfiregames.com/forum/topic/18003-suggestions-for-0-ad/page/157/#comment-516302

This was SVN commit r27069.
2022-08-24 12:08:46 +00:00
marder
3d47232ec8 [graphics] Adjust default config to give a better first impression
comments by @vladislavbelov
accepted by : @Stan

Differential revision: https://code.wildfiregames.com/D4706
This was SVN commit r26976.
2022-06-20 19:50:45 +00:00
Stan
9c3d725d8b Update the mod.io key so I and other team members can sign mods.
This was SVN commit r26953.
2022-06-18 09:50:46 +00:00