Up to know the UPnP logic ignored the port a user was hosting a game on
and always added a port forwarding for the default port UDP 20595. This
commit fixes that, so a port forwarding is added for the actual port a
game is hosted on.
As it turns out we don't need that special logic for handling the "long"
locale properly and everything continues to work as before without it.
The only difference is that the number format not being the one from
en_us anymore when using the "long" locale, but the one of the
system-wide configured language, which should be an even better user
experience than before.
The debug serializer currently outputs data even for components where `Serialize = null`.
This leads to useless data being output, especially in OOS debug states which makes diffing more annoying.
Noted in #7634
Move the lines from the .txt to the .xml .
Add separate objects for each paragraph and icon.
Position the icons depending on the paragraph length in the current
language.
This eliminates potential for breakage during translation.
Fixes#7484
Gcc-14 triggers a warning for substitute_esc_chars in
json_spirit_reader_template.h if optimizations are enabled.
../../../source/third_party/jsonspirit/json_spirit_reader_template.h:138:62:
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/char_traits.h:427:56: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775808 or more bytes at offsets 0 and 0 may overlap up to 9223372036854775809 bytes at offset -1 [-Wrestrict]
427 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
for with lto enabled
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/char_traits.h:427:56: warning: ‘__builtin_memcpy’ specified bound between 9223372036854775808 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
427 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
This looks like another incarnation of bugs like:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105329https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366
Add quirk to avoid the warning
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Premake v5.0.0-beta4 replaces the LinkTimeOptimization flag with a
function linktimeoptimization, use it if available to avoid deprecation
warning.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
jquery 1 is for support of old version of browsers not even maintained
this days.
Updating prevents occasional hangs for me.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
- OARS content rating have been updated to version 1.1
- Touch Screens, Keyboard, Mouse have been marked as supported
- Laptop screens and bigger are marked as required to the minimum width of 1024 required by the game
- Fixes the device compatibility page on GNOME Software.
- added a "0AD" keyword to fix an issue with Flathub search feature where searching for "0AD" instead of "0 A.D." returns no results.
Code within CONFIG_ENABLE_BOOST is required to compile pyrogenesis.
As boost is required in many other places, making it truly optional in
the one case where there is currently a guard is meaningless.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Either a return value or an exception has to be stored. With
`std::variant` it's more explicit.
Also the return value is never empty, so there is no need for
`std::optional` anymore.
Those bugs stood out to me as I was experimenting with migrating petra
to ES6 classes. Since this give the code stronger typing, those kind of
errors stand out immediately.
For example, autoResearch is a function, thus referring to it by name
will always return the same result. In other cases the referenced
variables simply don't exist.
When marking a tag dirty, the obstruction manager checks it has not already done so. This is un-necessary when the global state is marked dirty, and this check is rather slow since we do it once per entity, effectively leading to an o(n^2) runtime.
235ea5cfb4 updated the languages supported by 0 A.D., but missed
updating them for the installer. This commit makes up for that and
updates the languages for the installer as well.
This is a workaround to avoid disabling GL storage buffers completely.
Because they might not work or might lead to a decreased performance.
We need to investigate that further when we have a local reproduce.
On Danubius removing the usages was forgotten in e01ea16ae5.
In Coast Range and Migration they were newly introduced.
There are also some whitespace changes in Coast Range.
This fixes an oversight from d655455304. During a code deduplication, a
check was removed. When looking at the lobby as a dialog (while in
gamesetup), it should be impossible to try to join a game.