Commit graph

20 commits

Author SHA1 Message Date
Dunedan
93ce94655d
Use @stylistic/brace-style for eslint
Up to now `eslint-plugin-brace-rules` was used to enforce a common brace
style for JavaScript code. This plugin was however updated the last time
over 9 years ago and will be incompatible with ESLint v10, as that
[removes `context.getSourceCode()`][1], the plugin relies on.

To keep the eslint config working with ESLint v10, this replaces
`eslint-plugin-brace-rules` with the [`@stylistic/brace-style`][2] rule
from `@stylistic/eslint-plugin`, a package we already use.

While `@stylistic/brace-style` doesn't offer an option to format braces
in exactly the same way as before, the "allman" style seems to be the
one closest to the existing code.

[1]: https://eslint.org/blog/2025/11/eslint-v10.0.0-alpha.0-released/#removed-deprecated-rule-context-members
[2]: https://eslint.style/rules/brace-style
2026-01-12 21:33:52 +01:00
Ralph Sennhauser
e7f1406c37
Fix eslint rule 'prefer-const' in components/[T-V]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/components/[T-V]*

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-12 13:12:45 +02:00
wraitii
3991c5c857 Speed up timer update by using Map.forEach
According to JIT profiling on SM 115, using ForEach is faster than
iterating.
This is a micro optimisation, maybe 2% faster for OnUpdate, which means
we might see an overall improvement < 0.4%.

The reason this is faster here is that Iterating needs to construct an
array to store the result, whereas ForEach just uses the values
directly. This means this probably doesn't apply to iterating if we
don't need both the key/value pair.

Differential Revision: https://code.wildfiregames.com/D5010
This was SVN commit r27674.
2023-06-13 15:57:18 +00:00
bb
3f3a699b9e Allow timers to update their interval.
Patch By: Freagarach
Differential Revision: https://code.wildfiregames.com/D2666
This was SVN commit r23678.
2020-05-19 15:42:57 +00:00
Stan
5f38609350 Cleanup Timer.js
Reviewed by: @bb
Comments by: @elexis, @Freagarach, @Polakrity
Differential Revision: https://code.wildfiregames.com/D1776
This was SVN commit r23673.
2020-05-16 17:41:07 +00:00
elexis
fd5ba1e882 Timer component cleanup. Patch by Stan, fixes #4158.
Use objects instead of arrays to achieve more readable code.
Use two for-of loops, a continue instead of an if-else pattern and
remove an unneeded variable dt.

This was SVN commit r18981.
2016-11-22 12:28:22 +00:00
mimo
ca3828f9ac some simulation cleanup
This was SVN commit r17308.
2015-11-28 11:43:14 +00:00
Yves
a8d8c6d101 Reverts the use of Set in f5336c42b8.
Sets don't support multiple elements with the same key which is required
here to fire timers multiple times per turn.
Refs #2475

This was SVN commit r15773.
2014-09-20 18:48:12 +00:00
Yves
f5336c42b8 Adds Serialization support for ES6 Maps.
Also includes the patch from Sanderd17 to use Maps and Sets for the
Timer components. Sets can't be serialized yet, but in this case they
don't require serialization.
Refs #2475

This was SVN commit r15770.
2014-09-20 17:14:53 +00:00
sanderd17
049caba9f9 Let the timer hold the latest turnLength instead of the Attack component. Reduces a lot of messages
This was SVN commit r15311.
2014-06-08 09:39:57 +00:00
sanderd17
7ff5fbda2b Allow system components to be registered on the scripting side (so mods can make their own system components).
This was SVN commit r15157.
2014-05-18 13:44:08 +00:00
Ykkrosh
308cb26dd4 # Health decay for buildings not in a civ center's territory.
This was SVN commit r10034.
2011-08-18 20:28:53 +00:00
Ykkrosh
333492b4a9 Add SetInterval to Timer.
Add tests for Timer.

This was SVN commit r8678.
2010-11-21 19:27:53 +00:00
Ykkrosh
4e5c5e2d8f # Rewrite unit AI code.
Use HFSM for unit AI.
Support queuing orders.
Automatically attack back when attacked.
Automatically gather from farms after building them.

This was SVN commit r7775.
2010-07-21 16:09:58 +00:00
Ykkrosh
23c92b7fe3 Fix actor viewer animation offsetting.
Fix attack animation drifts.

This was SVN commit r7612.
2010-06-05 22:23:28 +00:00
Ykkrosh
cfae58928f # New unit movement system, which does a far better job of approaching targets and avoiding obstacles.
Add short-range vertex-based pathfinder.
Integrate new pathfinder into unit motion code.
Change obstruction system to get rid of circles, and differentiate
structures from units.
Make PositionChanged messages synchronous.
Try to prevent some accidental float->int conversions.

This was SVN commit r7484.
2010-04-29 23:36:05 +00:00
Ykkrosh
dd809f83e8 # Add documentation of the entity template XML file format.
Simplify the format a bit.
Use less <interleave> in the RNG so that error reports become
understandable.
Fixes #491.

This was SVN commit r7478.
2010-04-23 16:09:03 +00:00
Ykkrosh
08db7ebe13 # Support training units in buildings.
Includes basic batch training (see #298).

This was SVN commit r7469.
2010-04-19 19:47:23 +00:00
Ykkrosh
60a9e63c71 # Improved unit animation in new simulation system
Tried to make the motion/AI/animation state transitions saner
Added smoothed rotation of moving units
Slightly more informative error reporting

This was SVN commit r7319.
2010-02-10 19:28:46 +00:00
Ykkrosh
b21e798243 # Primitive melee combat support in new simulation system
This was SVN commit r7309.
2010-02-05 22:00:39 +00:00