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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- 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.
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.
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.
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.
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.
- Uppercase -> lowercase.
- Title -> regnal number.
- Added where appropriate.
Actors are not changed.
Patch by: @Nescio
Differential revision: D2156
This was SVN commit r24472.
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.
- 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.
Idle formations re-arrange whenever a member leaves the formation.
Because Idle formation entities can attack nearby units (the formation
stays idle for this), any death will re-arrange the formation, causing
the entities to move in formation before going back to attack.
This looks odd and makes formation less usable. Given that it's tricky
to change the controller state with the current code, this instead
reforms the formation on a timer, only when all members are IDLE.
It fixes the issue and looks generally similar in other cases.
Reported By: wowgetoffyourcellphone
Reviewed By: Freagarach
Differential Revision: https://code.wildfiregames.com/D3236
This was SVN commit r24467.
Follows D2746 / 9fc6c3c897 and dad2857538.
Player colors are copied from the settings, which are deep-frozen, thus
not extensible. Cloning them restores that, allowing serialization.
Reported By: Angen
Differential Revision: https://code.wildfiregames.com/D3263
This was SVN commit r24466.
Generalize component/AI serialization system to any user-defined JS
object. This includes Vector2D/3D, fixing an old issue.
As with components/AI, JS Objects may implement a Serialize/Deserialize
function to store custom data instead of the default, which attemps to
serialize all enumerable properties.
Fixes#4698
Differential Revision: https://code.wildfiregames.com/D2746
This was SVN commit r24462.
Currenlty there is regression in structuretree from b2842e8021, when
upgrade for sentry tower is not in the correct phase row.
Thix is fixing that.
Probably typo in condition.
Differential Revision: D3252
Reviewed by: bb
This was SVN commit r24461.