1
0
forked from mirrors/0ad
Commit Graph

25144 Commits

Author SHA1 Message Date
Itms 74bbdca25f Remove default dtors of IGUIObject derived classes 2025-08-11 18:38:01 +02:00
Stan 6a8366b99a Add more libraries to the report 2025-08-11 14:00:14 +02:00
Itms 2fc12e9fe9 Remove obsolete comment, closes #5128
The wish I expressed there was fulfilled in D3210 / 0406c4dfde
2025-08-10 23:32:07 +02:00
real_tabasco_sauce 55c17a905d Use footprint for fish selection box
The addition of seagulls made fish selection boxes large, leading to clumbsiness when trying to select fish. Using the footprint for the selection box makes for a more intuitive selection.
2025-08-10 13:00:51 +02:00
Ralph Sennhauser 45afefa961 Rename wcsnlen and strnlen to C11 names
Those functions were added to the C11 standard as an extension under the
name wcsnlen_s and strnlen_s. Also supported under that name in Windows.

Renaming avoids a possible name conflict with the posix functions of the
same name. Further this new name follows the pattern of names of the
other "secure" functions.

Fixes: #8274
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-10 07:33:00 +02:00
Ralph Sennhauser fbc74482db Fix some includes in atlas
Make include-what-you-use happy with some files in source/tools/atlas
and fix what needs to be fixed.

Drop the wxWidgets specific handling of precompiled headers in some
places, it isn't consistently used which it would have to to have meaning
and was mostly for early VS implementation of precompiled headers and a
lot of time has gone by since.

Drop Borland C++ compiler specific quirk, that compiler was
discontinued long ago and doesn't support modern C++.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-09 18:28:46 +02:00
Stan 0dc9477109 Fix missing this call
Reported by: @trompetin17
Pull Request: #8265
Fixes: e35fce8524
2025-08-09 16:32:09 +02:00
Ralph Sennhauser 73ca3d303b Fix some includes in atlas
Make include-what-you-use happy with some files in source/tools/atlas
and fix what needs to be fixed.

Add "source" to include path for AtlasUI target to allow for absolute
includes. In the future all but one should be removed.

Drop check for at least boost 1.40.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-09 06:52:41 +02:00
Ralph Sennhauser cc7a165365 Fix includes in source/simulation2
Make include-what-you-use happy with some files in source/simulatation2
and fix what needs to be fixed.

source/simulation2/system/ComponentTest.h uses cxxtest, so add cxxtest
to the deps for simulation2 target.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-08 07:10:11 +02:00
Ralph Sennhauser 2bad15b4c2 Fix includes in source/simulation2
Make include-what-you-use happy with some files in source/simulation2
and fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-07 20:00:49 +02:00
Ralph Sennhauser b066bb0b99 Fix includes in source/scriptinterface
Make include-what-you-use happy with files in source/scriptinterface and
fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-07 11:45:19 +02:00
Ralph Sennhauser 32fd10691d Fix includes in source/simulation2
Make include-what-you-use happy with some files in source/simulation2
and fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-07 08:38:40 +02:00
Stan 94a7dbacdc Build molten vk instead of relying on a prebuilt version 2025-08-06 21:21:30 +02:00
Jonny McCullagh aee2aa4cfd Add new historical quotes 2025-08-05 22:27:12 +02:00
Kate 96ab6ecb41 Rename "Join game" to "Connect by IP" in main menu 2025-08-05 22:04:13 +02:00
phosit b1196fc94f Use promises to update the colormixer
Callbacks introduce indirections which are harder to understand.
2025-08-05 19:15:01 +02:00
phosit 17338daaaa Groupe a chanels in the collor-mixer
It's easyier to construct and iterate chanel by chanel instead of
iterating three arrays at once.
2025-08-05 19:15:01 +02:00
phosit 6c481d4811 Make the colormixer a module
Modules don't expose global symbols. Because of that not all functions
have to be cramed in to one class. The functions can now be split in a
more readable way.

Ref: #8081
2025-08-05 19:15:01 +02:00
Ralph Sennhauser 46d44bbc14 Fix includes in source/ps
Make include-what-you-use happy with some files in source/ps and fix
what needs to be fixed.

Delete source/ps/FutureForward.h as it is no longer used.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-05 07:21:22 +02:00
Itms 03fff3572f Use conforming preprocessor with modern MSVC
https://learn.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview
2025-08-04 17:35:48 +02:00
trompetin17 251f6bfc86 Enhance language selection by applying CJK font styles 2025-08-04 09:35:46 -05:00
trompetin17 690838e3dc Add [locale] inline tag for per-locale fonts
New `[locale='xx']...[/locale]` markup lets GUI text sections render
with a locale-specific font (e.g. CJK) while the rest of the caption
keeps the current game font.

guiObject.caption = "Hello [locale='ja']世界[/locale], how do you
[locale='zh']感覺[/locale]" This is ideal for language pickers and
similar UI where you want the language name shown in its own script.

This commit unlocks richer, self-explanatory international UI while
keeping the legacy text behaviour unchanged.
2025-08-04 09:35:41 -05:00
trompetin17 47454a592e Fix casing for debug box configuration keys in default.cfg and TextRenderer.cpp 2025-08-04 07:44:12 -05:00
Itms ed55976c6c Set pyrogenesis as start project in Visual Studio
Fixes #7218
Refs #3729, #404
2025-08-04 12:39:55 +02:00
phosit 9f15df2831 Calculate baseResourceConstraint only once
`baseResourceConstraint` was calculated for every resource.
2025-08-03 21:05:14 +02:00
phosit 0cf1697594 Allow maps to not specify BaseResourceClass
There was already a check to handle no `BaseResourceClass` but it's
handled in a way that could lead to errors later on.
2025-08-03 21:05:14 +02:00
phosit 0c96ef7906 Add stronghold placement to Cantabrian Highlands
With stronghold each team is placed on a hill.

With stronghold placement the hills are bigger. On tiny maps the ramps
might overlap and enemies might not be reachable. To prevent that the
ramps are shortened and the angle is changed to point more towards the
center of the map.

Refs: #7717
2025-08-03 19:08:04 +02:00
phosit ecb2db1dcd Return objects from placement-functions
An alternative to 6a43f91630 which doesn't restrict
`playerPlacementByPattern` to return exactly two values.
2025-08-03 19:08:04 +02:00
Ralph Sennhauser 86255ed66f Fix includes in source/simulation2
Make include-what-you-use happy with some files in source/simulation2
and fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-03 17:16:27 +02:00
phosit eee48b74dd Store IGUIObjects in std::unique_ptr in CGUI
The object are automatically deleted. The destructor can now be
defaulted.
2025-08-03 16:55:43 +02:00
phosit 6eac128f12 Pass IGUIObject as reference
Where nullptr isn't allowed references should be used.
2025-08-03 16:55:43 +02:00
phosit f2dfb94b88 Return void from CGUI::Xeromyces_ReadObject
The returned value was never used.
Now all CGUI::Xeromyces_Read* functions return void.
2025-08-03 16:55:43 +02:00
phosit 50b76acdd5 Restrict foundations on survival of the fittest
Units which are able to build can't reach the center, to build the
placed foundation and the collectors can't build.

This might help Petra a bit and avoid players placing foundations that
cannot be built.
2025-08-03 16:50:43 +02:00
Ralph Sennhauser 8a6d7b6c65 Fix includes in source/ps
Make include-what-you-use happy with some iles in source/ps and fix what
needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-03 15:57:56 +02:00
Ralph Sennhauser 7dece41990 Fix includes in source/lib
Make include-what-you-use happy with some files in source/lib and fix
what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-03 10:15:37 +02:00
rene 35db768ae5 Remove incorrect tech requirement for Kushites
Naval Ballistae cannot be researched by the Kushites, who don't have
access to siege ships. Hence their unique Flaming Projectiles technology
cannot depend upon Naval Ballistae.

This removes the dependency and increases the cost of the unique tech.

Fixes: #8046
Patch-By: rene
Reviewed-By: Itms
Reviewed-At: https://gitea.wildfiregames.com/0ad/0ad/pulls/8056
2025-08-03 00:29:51 +02:00
Ralph Sennhauser 621a9c422f Fix includes in source/graphics
Make include-what-you-use happy with files in source/graphics and fix
what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-02 21:39:39 +02:00
phosit 07309450fc Make also dap respect 'no-useless-assignment'
Forgotten in #8163 due to rebase.
2025-08-01 15:57:27 +02:00
phosit 582541ea80 Enable eslint rule 'no-useless-assignment'
Enable rule 'no-useless-assignment' [1] and fix violations.

[1] https://eslint.org/docs/latest/rules/no-useless-assignment
2025-08-01 11:26:40 +02:00
phosit 27a0c22a23 Remove TIMER debug_filter
There are now no "TIMER" messages printed anymore. So the filter can be
removed.

Refs: #1003
2025-07-29 18:19:59 +02:00
phosit 971525a41b Remove TIMER_BEGIN and TIMER_END
`TIMER` messages where printed to stdout which lead to noise.

Refs: #1003
2025-07-29 18:19:59 +02:00
phosit f721f56ad4 Replace TIMER with PROFILE2
`TIMER` messages where printed to stdout which lead to noise.

Refs: #1003
2025-07-29 18:19:49 +02:00
Ralph Sennhauser aed1570040 Fix some includes in source/ps
Make include-what-you-use happy with some files in source/ps and fix
what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-28 16:59:04 +02:00
phosit 08d8f0f61c Remove UNUSED2
The remaining uses can be changed to `std::ignore`.
Fix #7760
2025-07-28 13:16:37 +02:00
phosit eb3f0166f8 Prefer [[maybe_unused]] over UNUSED2
`[[maybe_unused]]` is in the C++ standard.
2025-07-28 13:16:37 +02:00
phosit 5be02743fa Don't use UNUSED2 on always unused variables
Not introducing a variable enforces that the variable is not used.
`UNUSED2` on the other hand is used to silence the warning.
2025-07-28 13:16:37 +02:00
phosit c0f20171f8 Remove wrong UNUSED2
Some variable are marked unused even though they are used.
2025-07-28 13:16:37 +02:00
Stan e35fce8524 Move globals to the PopCapManager prototype. 2025-07-27 19:00:04 +02:00
Ralph Sennhauser f9e1e742bf Fix includes in source/renderer
Make include-what-you-use happy with files in source/renderer and
fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-27 16:07:14 +02:00
Ralph Sennhauser 27f7216be7 Use proper units for time conversion
On *nix the conversion of timeval and timespec to double needs to use
the actual unit in use instead of the unrelated clock resolution.

Fixes: aa3bd08513
Fixes: #8215
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-27 14:11:52 +02:00