1
0
forked from 0ad/0ad
Commit Graph

21201 Commits

Author SHA1 Message Date
082bd8bd44 [Gameplay A24] - Differentiate domestic animals.
Since 8cb7c4ec34 they had the same cost/health/food, this fixes that.
- Enables all four animals at all corrals; the Mauryas have a zebu
instead of an ordinary cow, and cart, kush, ptol sanga cattle, since in
reality the big four (goat, sheep, pig, cattle) had already spread
throughout the Old World in the Stone Age and in our time frame were
available practically everywhere; it was not an either-or situation;
each animal had a somewhat different function.
- Gave them different stats:
-- 1:1 cost:health ratio
-- 1:2 cost:meat ratio
-- Four goats approximately equal three sheep or two pigs or one cow.

Patch by: @Nescio
Differential revision: D3301
Reviewed by: @borg-
Comments by: @Angen, @wraitii
This was SVN commit r24527.
2021-01-10 07:08:12 +00:00
Angen
8aff581691 Update action-gather-fish with new visual
Created by @Stan.

This was SVN commit r24526.
2021-01-09 19:44:14 +00:00
5fbd5fbd95 Avoid an error when calling createObjectGroupsByAreas or createAreasInAreas with areas argument being empty or containing an empty (sub) area.
Differential Revision: D1492
	Fixes #5112
	Original patch by smiley
	Commandeered, edited and tested by @FeXoR
	Discussed by @smiley, @elexis, @vladislavbelov and @FeXoR

This was SVN commit r24525.
2021-01-09 18:22:47 +00:00
Angen
e48f7f4aa5 Fix wrong technology token
Introduced in eb1163b872.

Differential revision: D3308
Patch by: Nescio
This was SVN commit r24524.
2021-01-09 15:19:38 +00:00
eb1163b872 [Gameplay A24] - Unify garrison heal rates.
Makes all (standard) structures don't heal at first, execept for the
wonder (heal rate of `5`) and temple (`3`).
Replaces the barracks healing technology by one that allows healing in
all structures (`+1`).

Summarising:
This patch makes the 0 rate the default and merges the technologies to a
single one, researchable at the temple, but affecting garrisoned units
in all structures, except for outposts and walls (i.e. those with
visible turret points). The new situation is:
```
0: structures by default
1: structures with technology
3: temple by default
4: temple with technology
5: wonder by default
6: wonder with technology
```

Patch by: @Nescio
Differential revision: D3264
Reviewed by: @borg-
This was SVN commit r24523.
2021-01-09 06:50:15 +00:00
ebcf9b9ff5 Fix promoting entities not reacting to nearby enemies.
When an entity promotes it autogarrisons in the turret position but
because `GARRISONE.enter` returns early a turret never reaches the
`IDLE`-state and thus won't automatically react on nearby enemies.
This is explicitly a temporary fix.

Differential revision: D3293
Reviewed by: @wraitii
This was SVN commit r24521.
2021-01-07 15:30:25 +00:00
3747b42f02 Add a pipeline to generate test coverage.
Fixes: #5739

This was SVN commit r24520.
2021-01-07 15:05:24 +00:00
a7b74fc41e Delete unused and deprecated scaffolds.
Patch by: @Nescio
Differential Revision: https://code.wildfiregames.com/D3019
This was SVN commit r24519.
2021-01-06 17:23:43 +00:00
2d40068cd1 Thread the NetClient session.
This threads the netclient session, which avoids timeouts when the
main-thread is not polling (map creation, very long simulation frames).

Unlike the NetServer, which should be as independent as possible from
the main thread, the NetClient is fundamentally tied to the game thread.
Therefore, this only threads the session object.
To ensure good performance and ease-of-use, lock-free queues for
in/out-going messages are used.

This fixes artificial timeouts, while also improving actual ping reports
(since frame-time is no longer a factor).
It effectively reverts D1513/eda236522c and 2e7e1c0b2b, all hacks around
lag-timeouts (and bits of 1a3fb29ff3).

Based on a patch by: Stan
Comments by: Vladislavbelov
Fixes #3700, refs #3373

Differential Revision: https://code.wildfiregames.com/D2848
This was SVN commit r24518.
2021-01-06 15:26:11 +00:00
8ae3c09dc0 Fix renderer crash in GCC 7.5.
The 'arena' allocator does not take memory alignment into account, which
can result in crashes at -O3 with gcc 7.5 (presumably because of SSE
instructions).

This accounts for alignment issues, fixing the issue.
Also do various cleanup in lib/allocators.

Reported by: Bellaz89, Freagarach
Comments by: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D3181
This was SVN commit r24517.
2021-01-06 14:56:17 +00:00
58d98c9a5f Fix oversights in recent commits.
- Sounds of macemen (2847eb2a20, 85f46d6d66).
- Kushite healer start unit on (most) skirmish maps (2452e3fb97).
- Fortress tooltips (014c2922f2 and c4eeb82d83).
- Rome siege wall foundations (934025b2fb).
- Removed IshtarGate visible class.
- Move Ishtar Gate of Babylon from Persians (it is Neo-Babylonian)
(1a6f155780).
- Rename `barracks.png` -> `military.png` (c4eeb82d83) and
`ishtar_gate.png` -> `bull.png` icons (refs D2551).
- Insert placeholder icons for free and autoresearched technologies
(D3262#145001).
- Update balancing credits (de3ed2cd19).

Patch by: @Nesio
Differential revision: D3292
This was SVN commit r24515.
2021-01-06 06:45:33 +00:00
284bf20d97 [Gameplay A24] - Change Parade of Daphne tech.
Change description.
Affect Champions training time instead of fortress' batch time modifier.

Patch by: @borg-
Differential revision: D3273
Reviewed by: @Nescio
This was SVN commit r24514.
2021-01-06 06:18:22 +00:00
b5243cd574 Fix compilation error on FreeBSD. MAP_NO_RESERVE was never implemented, and as such had no effect there.
Reported by: @madpilot
Refs: https://reviews.llvm.org/D7485, #5255

Differential Revision: https://code.wildfiregames.com/D1594
This was SVN commit r24513.
2021-01-05 19:06:36 +00:00
0221e70e51 Fix two Clang warnings.
This was SVN commit r24512.
2021-01-05 11:49:24 +00:00
f34fb5614c Improve behaviour of formations stuck within other units.
Large units risk being stuck between other units. This is true in
general, but particularly weird with formations, since individual units
may well not be stuck, only the invisible formation controller.
This alleviates the issue by ordering units to move individually when
the controller appears stuck.

It introduces a new "VERY_OBSTRUCTED" unit motion message, which
triggers when a unit has failed to move for several turns.

Reported By: Angen
Reviewed By: Freagarach
Fixes #4935

Differential Revision: https://code.wildfiregames.com/D3209
This was SVN commit r24511.
2021-01-05 10:12:47 +00:00
d28a91b83d Deprecate template_helpers folder.
And move the damage_types to simulation/data (i.e. one level up).

Differential revision: D3276
Idea accepted by: @wraitii
Tested by: @Stan
This was SVN commit r24509.
2021-01-04 14:43:44 +00:00
a24c8419c5 [Gameplay A24] - Add a poisoned status effect to the maurya champion infantry archer
Reviewed by: @borg-
Comments by: @Freagarach
Fixes #5768
Refs: https://code.wildfiregames.com/D3276

Differential Revision: https://code.wildfiregames.com/D3279
This was SVN commit r24508.
2021-01-04 13:50:51 +00:00
bc00a6b8df Replace CLOCK_REALTIME by CLOCK_MONOTONIC as suggested by @janwas.
Add sanity checks
Fixes #5760

Tested by: @wraitii, @OptimusShepard
Differential Revision: https://code.wildfiregames.com/D3066
This was SVN commit r24507.
2021-01-04 11:08:19 +00:00
8de6d85127 Allow ejecting single entities from non-owned garrisonHolder when allowed to control all.
Found by @wraitii in D1960.

Differential revision: D3065
This was SVN commit r24505.
2021-01-04 06:31:29 +00:00
d06ff05fc4 Fix hotkey tooltips not showing the correct keys.
Follows D2814 / a4852c4c01
Hotkey tooltips used 'untranslated' hotkeys instead of the accurate
ones, as they directly pulled from config values.

Noted & tested by: Stan

Differential Revision: https://code.wildfiregames.com/D3277
This was SVN commit r24504.
2021-01-03 10:14:07 +00:00
c79222cfc0 Fix stable not being able to train war dogs and chariots.
When committing c4eeb82d83 a rebase was missed.

Patch by: @borg-
Differential revision: D3282
This was SVN commit r24503.
2021-01-03 05:35:19 +00:00
3851a48298 Store the garrisonHolder in cmpGarrisonable instead of iterating orders.
Refs. f6c9db33d6, 4fadd75ace
Differential revision: D2376
Comments by: @elexis, @Stan, @wraitii
This was SVN commit r24502.
2021-01-02 07:34:52 +00:00
32583008a0 Combine "EntityCommand" and "AllyEntityCommand".
By specifying the players which are allowed to use(/see) a command
button and adding an enabled/disabled property to the info.

Differential revision: D2343
Comments by: @Angen, @Stan
This was SVN commit r24501.
2021-01-02 07:19:17 +00:00
7f7a3edfae Get attack effects from JSON.
Reads attack effects from JSON files to allow easier introduction (one
still needs to modify other components).

Differential revision: D2661
Comments by: @Angen, @bb, @Stan, @wraitii
This was SVN commit r24500.
2021-01-02 07:09:08 +00:00
2847eb2a20 Clean up sound groups in unit templates.
Moves attack sound groups to where the weapon is defined (where it was
not already the case).
Removed sounds from entities that can't use the sound.

Patch by: @Nescio
Differential revision: D2855
This was SVN commit r24499.
2021-01-02 06:56:45 +00:00
43fd7c91a3 [Gameplay A24] - Add visible garrison points to Roman siege wall tower.
Allows four `Ranged+Infantry` to occupy turrets on the tower.
Also gives all siege wall segments the same cost-to-health ratio.

Patch by: @Nescio
Differential revision: D2993
Reviewed by: @borg-
This was SVN commit r24498.
2021-01-02 06:53:14 +00:00
de3ed2cd19 [Gameplay A24] - Permadeath for heroes.
Part of:
https://wildfiregames.com/forum/index.php?/topic/27214-borg-expansion-pack-mod-implementation-in-0ad-alpha-24-release/.
Refs. #1432

Differential revision: D3265
Reviewed by: @borg-, @Nescio
This was SVN commit r24496.
2021-01-01 07:39:24 +00:00
ababc796b4 Remove unneeded bonus info from {civ}.json files
This commit removes two things from the `{civ}.json files, for the
following
reasons:

1. The team-bonus information, as the only thing that was reading it
(the
   `civinfo` page) no longer does so.

2. Information about civ-bonuses that have been implemented via a single
   auto-researchable technology, as the `civinfo` page is now capable of
   displaying information from technology files and, in fact, now does
so.

This was SVN commit r24494.
2021-01-01 05:58:34 +00:00
ad6263a5a6 Remove entity information from {civ}.json files
As of 190d6e7cf5, the `civinfo` page no longer reads information about
Heroes and Special Structures/Technologies from the `{civ}.json` files,
but
from relevant templates.

Nothing else uses the entity/tech descriptive information contained in
the
`{civ}.json` files, so we can safely remove it.

Note: The Team and Civilisation Bonus information contained within the
      `{civ}.json` files are not touched in this commit.

This was SVN commit r24493.
2021-01-01 02:58:21 +00:00
190d6e7cf5 Adapt the civinfo page to read from templates
Instead of loading information about heroes, special buildings, et al.,
from the
`{civ}.json` files, load the information desired from templates.

Determination of "specialness" works as follows:

 * Heroes are detected via the `Hero` class.
 * Special Structures are detected via the `SpecialBuilding` or `Wonder`
class.
 * Technologies are determined to be "special" when they can be
researched by
   the currently selected civ, but are not open to be researched by
every civ.
 * Team Bonuses are any applicable aura that reside in the appropriate
folder.


Accepted by: Freagarach
Comments by: Stan
Differential Revision: https://code.wildfiregames.com/D759
This was SVN commit r24492.
2021-01-01 01:55:13 +00:00
3ec8a91f30 Fix incorrect prop height for floating objects.
Differential Revision: https://code.wildfiregames.com/D3033
This was SVN commit r24491.
2020-12-31 16:17:58 +00:00
1bb336829d Add initial support for MCST Elbrus 2000 (e2k) CPU architecture
patch by: @r-a-sattarov
Reviewed by: @Stan
Fixes #5877, Refs #5869

Differential Revision: https://code.wildfiregames.com/D3162
This was SVN commit r24490.
2020-12-31 15:52:12 +00:00
d28d17e96c Remove SSE detection duplication in Colors and ModelRenderer
- Rename macros to be more explicit
 - Move detection code to a separate file
 - Remove a lot of checks in ARB mode (ModelDef.cpp would check for sse
multiple times per frame)
 - Make explicit the SSE2 dependency for Windows

Comments by: @vladislavbelov @wraitii @OptimusShepard
Differential Revision: https://code.wildfiregames.com/D3212
This was SVN commit r24489.
2020-12-31 15:37:28 +00:00
e009d322cc Add missing files in 4942cabab5
This was SVN commit r24488.
2020-12-31 14:27:02 +00:00
4942cabab5 Fix most Clang 10 Warnings
Refs: #5550, #5294

Remove dead code from f71be3c764
Fix buggy code from ff50b0b74c
Comments by: @wraitii, @vladislavbelov
Differential Revision: https://code.wildfiregames.com/D3177
This was SVN commit r24487.
2020-12-31 14:25:37 +00:00
a395a0ab66 [BOOST 1.75 2/2] Update binaries for windows (1.65 → 1.75).
Refs #3004

This was SVN commit r24484.
2020-12-31 12:13:25 +00:00
e3c5cc83b7 Fix oversight in 0d28281485
This was SVN commit r24482.
2020-12-31 11:07:10 +00:00
0d28281485 Update JSON_SPIRIT from 4.06 to 4.08
This was SVN commit r24481.
2020-12-31 10:25:34 +00:00
59d0885d68 Allow picking a default formation for walk (and walk-like) orders.
This allows choosing a "default formation", which is activated
automatically for units given walk orders (and attack-walk etc.).
Conversely, units in formation that are given a gather/build/... order
are taken out of formation and given the order individually.
The default formation can be selected by right-clicking on any formation
icon.

This leverages formations for walking, where they are quite efficient
(in fact, perhaps too efficient), while circumventing issues with
various orders.

Choosing the "null formation" as the default formation de-activates the
behaviour entirely, and plays out exactly like SVN.

This makes it possible to queue a formation-order then a
noformation-order (i.e. walk then repair), though the behaviour isn't
very flexible.

For modders, it should be relatively easy to change the setup for each
order, and/or to force deactivating/activating formations in general.

Tested by: Freagarach, Angen
Refs #3479, #1791.
Makes #3478 mostly invalid.

Differential Revision: https://code.wildfiregames.com/D2764
This was SVN commit r24480.
2020-12-31 10:04:58 +00:00
83a1f93828 [Gameplay A24] - Allow building palisades in neutral territory.
This is a rather controversial change, so if it feels compleatly off, we
should revert.
The game is Alpha, so try anyways.

Patch by: @Nescio
Differential revision: D2507
Accepted by: @borg-, @Lionkanzen,
In favour: @borg-, @Lionkanzen, @wraitii
Reservations: @elexis, @Feldfeld, @badosu
Reservations against former patch: @chrstgtr, @PhyZic, @Stan, @ValihrAnt

This was SVN commit r24479.
2020-12-31 08:33:48 +00:00
85f46d6d66 Introduce macemen templates.
For easier differentiation.

Patch by: @Nescio
Differential revision: D1354
This was SVN commit r24478.
2020-12-31 07:31:07 +00:00
db6f7c1471 [Gameplay A24] - Alter Roman army camp production queue.
Removes siege engines from them such that if one wants siege engines,
they need to construct an arsenal.
Instead it now trains advanced melee infantry.

Patch by: @Nescio
Differential revision: D3174
Reviewed by: @borg-
Comments by: @Freagarach, @Stan
This was SVN commit r24477.
2020-12-31 07:22:20 +00:00
88b5eec22f [Gameplay A24] - Deprecate Stoa and their champions.
For their current implementation is historically problematic:
-
https://wildfiregames.com/forum/index.php?/topic/28464-can-we-give-macedonians-some-love/
-
https://wildfiregames.com/forum/index.php?/topic/28099-thracian-mercenaries/
- https://wildfiregames.com/forum/index.php?/topic/28002-royal-stoa/
- https://wildfiregames.com/forum/index.php?/topic/27997-macemen/
-
https://wildfiregames.com/forum/index.php?/topic/25504-special-units-and-so-on/
-
https://wildfiregames.com/forum/index.php?/topic/25503-special-buildings-and-so-on/

Patch by: @Nescio
Differential revision: D2863
Reviewed by: @borg-
Comments by: @badosu, @wowgetoffyourcellphone, @wraitii
This was SVN commit r24476.
2020-12-31 07:16:04 +00:00
d2b9f40e73 [Gameplay A24] - Standardise archer attack speeds.
Gives all archers a reload time of 1 s and gives 1:2:4 damage ratio for
basic, champion and hero archers.

Patch by: @Nescio
Differential revision: D3235
Reviewed by: @borg-
Comment by: @ValihrAnt
This was SVN commit r24475.
2020-12-31 06:59:06 +00:00
0fed3bd452 [Gameplay A24] - Balance hero health.
Standardises heroes health to:
- Healer/Infantry: 1000
- Cavalry: 1200
- Elephant: 1500

Patch by: @borg-
Differential revision: D3250
Reviewed by: @Nescio
This was SVN commit r24474.
2020-12-31 06:55:25 +00:00
84c8ec6cf3 Orients toward default angle for snapping to edges when possible
Fixes #5807

Tested By: Freagarach, wowgetoffyourcellphone, wraitii
Differential Revision: https://code.wildfiregames.com/D3238
This was SVN commit r24473.
2020-12-30 21:04:37 +00:00
95e84fa923 Standardise hero regnal numbers.
- Uppercase -> lowercase.
- Title -> regnal number.
- Added where appropriate.
Actors are not changed.

Patch by: @Nescio
Differential revision: D2156
This was SVN commit r24472.
2020-12-30 08:02:22 +00:00
bb
3dc19aa753 Only have techs that affect the bolt and art tower researchable there.
Patch By: Nescio
Differential Revision: D3266
refs 136022564d

This was SVN commit r24471.
2020-12-29 21:22:05 +00:00
c4eeb82d83 [Gameplay A24] - Enable stable for all civilisations.
Moves cavalry there.
Moves chariots there.
Moves wardogs there.
Makes the unlock_champions tech cheaper because it now only unlocks
infantry.

Removed increased cost of cart_temple since the kush one doesn't have
that either.

Patch by: @Nescio
Differential revision: D2801
Reviewed by: @borg-, @ValihrAnt
Comments by: @Angen, @badosu, @Feldfeld
This was SVN commit r24470.
2020-12-29 11:57:12 +00:00
521639cad6 [Gameplay A24] - Tweak maceman attacks.
- Raises the champion's reload time but ensure same DPS for better
visuals.
- Changed citizen's attack to be like the champion's.
- Macemen don't benefit from steelworking tech (which is about swords).

Patch by: @Nescio
Differential revision: D3234
Reviewed by: @borg-, @ValihrAnt
This was SVN commit r24469.
2020-12-29 11:41:14 +00:00