The pathfinder computations are run asynchronously (and potentially on
the main thread) in-between simulation turns, thus reducing
pathfinder-related lag considerably in common cases.
To make this most efficient, the number of paths computed during a turn
via MaxSameTurnMoves is reduced from 64 to 20.
This has a hard dependency on the obstruction manager (via the vertex
pathfinder) not being modified in-between simulation turn (or to put it
more generally on the simulation state not changing outside of turn
computation), otherwise results will be non-deterministic and go OOS.
This is currently entirely safe (as in, it indeed does not happen that
the simulation state changes in-between turn), but future work towards
improving simulation sandboxing would be good.
Thanks to Kuba386 for maintaining & improving the patch in 2020
Thanks to everyone who tested the various iterations of this patch.
Fixes#4324
Differential Revision: https://code.wildfiregames.com/D14
This was SVN commit r25657.
Prepare time is the time between an attack order and the arrows actually
flying.
Archers go from 500ms to 800ms standard, making them slower to fire than
other ranged units, and making them slightly harder to micro against
e.g. raids.
Javelineers go from 750ms to 400ms, for the opposite effect.
Crossbowmen, as a 'special' feature, get 200ms, meaning they fire their
first volley really fast despite their long repeat rate.
This also standardizes all javelineer units to have 1250ms repeat time.
Differential Revision: https://code.wildfiregames.com/D4050
This was SVN commit r25655.
The terrain update introduced large actors for both small and large
stone and metal actors. This replaces the small ones by the appropriate
small actors.
Patch by: marder
Differential Revision: https://code.wildfiregames.com/D4057
This was SVN commit r25654.
This makes it easier to have more forests with fewer trees, or fewer
larger forests.
Differential Revision: https://code.wildfiregames.com/D4059
This was SVN commit r25653.
In case mod is missing some required field, for example label or version
for some reason, mod page would stop functioning.
Adding default to empty string in list and filter.
Differential revision: D4028
This was SVN commit r25639.
This allows switching to the gamesetup, with a harcoded map, from the
campaign screen. Lets player sets up a few things (e.g. their civ &
favorite AI), which can be convenient for some simple campaigns that
lack options.
Differential Revision: https://code.wildfiregames.com/D4039
This was SVN commit r25636.
Since it is very non-trivial to determine which mods change checksums
and which don't, this relies on modder goodwill (and on verification on
our end for signed mods).
The declaration is an optional "ignoreInCompatibilityChecks" boolean in
mod.json
Also rework slightly the MP lobby mod display to always show the host
mods in a clear manner.
Differential Revision: https://code.wildfiregames.com/D3968
This was SVN commit r25634.
Fix some language elements, add some details, and update to SVN specs.
Make the window wider to have the first phrase take a single line in
English/most languages hopefully.
Differential Revision: https://code.wildfiregames.com/D4049
This was SVN commit r25633.
The champions these structures built were not very usable in practice
because of their limited build rate.
Apadanas are a special case since they grant resources, their limit is
increased to 2 and their resource rate divided by two (this reduces
their economic impact early on, but increases their potential military
impact).
The preferred solution would be giving apadanas a pop count, but that
does not work very well right now given that they grant resources and
can still be built.
Patch by: Valihrant
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3897
This was SVN commit r25627.
Refs 42c70cd508, be286d4345, refs #5106
The introduction of "turn time" in A24 has been pointed out as a
gameplay change that made rushing less viable, and made the game more
turtley overall. Combined with other changes in the same direction, this
was seen by several top MP players as a step back.
Increasing turn times to 14 for infantry makes them somewhat irrelevant,
and a value of 10 for cavalry makes them noticeably more reactive while
keeping a little speed debuff.
Champions have a lower value, and heroes keep their lower values still
to prevent a reintroduction of 'dancing'.
Patch by: Valihrant
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3971
This was SVN commit r25626.
It was underpowered and too costly.
Patch by: borg`
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3698
This was SVN commit r25625.
The intention is that while mercenaries are still difficult and costly
to train, they are more effective in their particular niche.
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D3699
This was SVN commit r25624.
The significant slowdown in train times, particularly for infantry
resulted in an increase in the # of barracks and overall contributed to
shifting towards a defensive, turtley gameplay.
Cavalry was already reverted in 8bd7a4f4b5.
Reverts parts of D2866/8726a2abbf.
Patch by: ValihrAnt
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D4033
This was SVN commit r25623.
Use a more memory-efficient layout, reducing memory usage and speeding
things up considerably.
Patch by: smiley
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D4021
This was SVN commit r25622.
This allows picking 'random' on a bunch of maps known to be playable in
MP, with the hope of increasing variety in actual maps played.
Discussed with players on the balancing forums.
Differential Revision: https://code.wildfiregames.com/D4012
This was SVN commit r25617.
Because the page stack is a vector, if during PushPage, a new page is
pushed, the vector may re-allocate. This 'pulls the rug out' from
underneath the code stack that originally pushed, which then crashes.
To fix this, use a deque, since push/pop won't invalidate references.
Reported by: Imarok.
Based on a patch by: Imarok (tests are his)
Differential Revision: https://code.wildfiregames.com/D4037
This was SVN commit r25616.
Variants can now have limited or no diversity. This can occasionally
speed rendering slightly (5-10% FPS increase was reported on Combat Demo
Huge, which is very variant-heavy).
Reported by: bb
Based on a patch by: bb
Fixes#5831
Differential Revision: https://code.wildfiregames.com/D3035
This was SVN commit r25613.
As the available biome was a Set, pickRandom didn't work.
Reported by: Langbart
Refs #6190
Differential Revision: https://code.wildfiregames.com/D4036
This was SVN commit r25611.
Kushites should not have a bolt accuracy upgrade in arsenal, as they do
not have the ability to produce bolts.
Fixes#6167
Patch By: Langbart
Differential Revision: https://code.wildfiregames.com/D4035
This was SVN commit r25609.
This patch decreases the popScaling so that the easy AI difficulties
have lower targeted population.
And it also decreases the size & priority of the attacks from the easy
an very easy AI.
Refs: #6149
Differential revision: D3997
Patch by: @marder
Tested by: @Langbart
Comments by: @wraitii, @Freagarach
This was SVN commit r25600.
Let PetraAI use MatchesClassList more.
Differential revision: https://code.wildfiregames.com/D2150
Reviewed by: Angen
Comments by: Stan
This was SVN commit r25584.
To allow incorporating more options, this splits the graphics settings
into two tabs, one containing general options (such as
silhouettes/windowed), and one with more advanced settings.
Accepted by: asterix
Differential Revision: https://code.wildfiregames.com/D3985
This was SVN commit r25581.
Disable AO on quarried objects as its arguably broken.
Adds a second uv in case it's enabled again to prevent crashes in Atlas.
Use normal instead of parallax for the texture that do not have height
information.
This was SVN commit r25576.
Summary: Ran into this when testing things in the lobby - I'm not sure
it can happen if everything is working correctly, but I've had it
repeatedly when testing broken stuff. Feels safer.
Test Plan: ^
Differential Revision: https://code.wildfiregames.com/D4018
This was SVN commit r25574.