Commit Graph

3105 Commits

Author SHA1 Message Date
RoosterDragon
e11c8436bd Misc changes to reduce allocation:
- Avoid creating new strings in SpriteRenderer.Flush.
- ProductionQueue.CancelUnbuildableItems can exit early if the queue is empty. It can also use a set of names for quicker lookups.
- OpenGL.CheckGLError avoids a Enum.HasFlag call.
2020-10-17 23:48:48 +02:00
RoosterDragon
8d3cec5bea When a render method has nothing to render, eagerly return.
By eagerly returning an empty enumerable in these cases, this avoids allocating an enumerable for the whole render method if nothing will be drawn.
2020-10-17 23:48:48 +02:00
RoosterDragon
71e3ca4493 Sort renderables in-place in WorldRenderer.GenerateRenderables 2020-10-17 23:48:48 +02:00
RoosterDragon
2adee1e374 Use HasMovementType to avoid Enum.HasFlag allocations. 2020-10-17 23:48:48 +02:00
RoosterDragon
094ccf76b0 Prefer Min/MaxBy overloads to OrderBy().First() patterns 2020-10-17 23:48:48 +02:00
RoosterDragon
bb116034c7 Avoid or reduce LINQ allocations required in various areas. 2020-10-17 23:48:48 +02:00
abcdefg30
75fe0e524f Fix units not attack moving to waypoints after resupply/takeoff 2020-10-17 19:48:54 +01:00
Matthias Mailänder
0d64fa549b Fix the command bar selecting dead units
and crashing while doing a trait lookup on them.
2020-10-14 19:58:24 +02:00
Curtis Shmyr
8d5ed65feb Remove effective owner check when choosing armament 2020-10-14 19:52:34 +02:00
Paul Chote
a375f0e58a Rewrite spawn point assignment logic. 2020-10-13 20:41:39 +02:00
dnqbob
ca8341d432 Avoid WaterCheck crash in base builder 2020-10-10 11:44:43 +02:00
Paul Chote
dd18829def Traits: add ICreatePlayersInfo
Signed-off-by: Clément Bœsch <u@pkh.me>
2020-10-10 01:17:39 +02:00
Mustafa Alperen Seki
3ec3eac160 Don't StartOnThreshold if the trait is disabled. 2020-10-06 13:29:33 +02:00
Paul Chote
fc1786e243 Fix turrets immediately realigning on actor creation. 2020-10-05 15:13:48 +02:00
reaperrr
8d1f72c104 Fix for SquadManagerBotModule
Aircraft and ships are immediately assigned a squad,
so adding them to `unitsHangingAroundTheBase` is bogus.
2020-10-04 00:31:35 +01:00
reaperrr
6337067032 Clean up property names + defaults of smudge smoke 2020-10-02 23:46:48 +02:00
reaperrr
7395a3ed2d Use cached world instead of query in SmudgeLayer 2020-10-02 23:46:48 +02:00
abcdefg30
cc8908d7eb Make ProductionParadrop and ProductionAirdrop refund undelivered actors 2020-10-02 11:51:48 +02:00
abcdefg30
0dac4520ad Add a 'refundableValue' parameter to 'Produce' 2020-10-02 11:51:48 +02:00
tovl
92189e4b50 Let docking angle be determined by the host building. 2020-10-02 11:28:14 +02:00
abcdefg30
798aff1140 Fix ValidStances of RevealsMap not working 2020-10-02 11:17:03 +02:00
Matthias Mailänder
7e992d44c8 Fix a crash when refineries share a cell. 2020-09-28 12:45:20 +02:00
Mustafa Alperen Seki
3e83346915 Add DamageTypes to SoundOnDamageTransition. 2020-09-27 21:22:52 +01:00
Mustafa Alperen Seki
761d3583c4 Add DeathTypes to ShakeOnDeath. 2020-09-27 21:22:52 +01:00
abcdefg30
4627387ae3 Document the 'CancelActivity' field 2020-09-26 23:20:00 +01:00
abcdefg30
fd69bce609 Use CancelActivity instead of hackily using ResolveOrder 2020-09-26 23:20:00 +01:00
Paul Chote
b72a58b917 Add missing ActorReferences to yaml dictionaries. 2020-09-15 09:27:50 +02:00
Paul Chote
290e214638 Remove unexpected RenderSprite.FactionImage fallback. 2020-09-12 17:52:46 +02:00
Paul Chote
cd9bf53e1a Use nameof() to reference image fields. 2020-09-12 17:52:46 +02:00
Paul Chote
5d6961619d Fix WithIdleOverlayInfo Image override. 2020-09-12 17:52:46 +02:00
Paul Chote
94180f6a0a Add SequenceReference support for dictionaries. 2020-09-12 17:52:46 +02:00
Paul Chote
7803686aec Rewrite sequence linting / missing file handling.
- Distinguish between missing sequences and missing sprites
- Lint default sequences as well as maps
- Improved performance
- Correctly handle null images
2020-09-12 17:52:46 +02:00
Paul Chote
b8e60ca8ec Fix SequenceReference definitions. 2020-09-12 17:52:46 +02:00
Paul Chote
ffdb3f86d7 Move mod-specific lint attributes to Mods.Common. 2020-09-12 17:52:46 +02:00
abcdefg30
ad3722e19f Add support for circumventing the target scan limit in AttackMove 2020-09-12 00:30:33 +02:00
abcdefg30
4669d6b378 Work around a sound issue when loading saves 2020-09-12 00:18:25 +02:00
abcdefg30
9f093da61e Unhardcode the leeway range of AttackFollow 2020-09-11 23:55:57 +02:00
abcdefg30
3fc5859f08 Add 'AddToAssetsValue' to 'UpdatesPlayerStatistics' 2020-09-11 23:44:30 +02:00
Paul Chote
9cd6df2929 Replace DecorationPosition with mod-defined string ids. 2020-09-09 23:16:05 +02:00
reaperrr
1344b1f2e3 Remove system order checks from PlayerStatistics
ResolveOrder for actors isn't even used
for these.
2020-09-05 17:22:04 +01:00
reaperrr
36df25dcb4 GivesExperience performance optimization
Move some look-ups to creation to reduce contribution
to actor death cost.
2020-09-05 17:16:00 +01:00
reaperrr
84246d287d Merge two ifs into one in SpawnActorOnDeath 2020-09-05 17:16:00 +01:00
reaperrr
6d0fbfa21f Explodes performance optimization
Cache armaments on creation, avoid LINQ.

Also merge and put first the DamageThreshold == 0
check in Damaged, because the common default IS 0,
so most of the time the IsTraitDisabled and
IsInWorld checks are redundant.
2020-09-05 17:16:00 +01:00
reaperrr
c8afa4a2a8 Remove defenderStats look-up from UpdatePlayerStatistics
playerStats is updated on owner change,
so it should always be identical to the removed defenderStats.
2020-09-05 11:12:38 +02:00
Matthias Mailänder
c48eb572e3 Remove MuzzleSplitFacings and expose MuzzleSequence to testing. 2020-09-01 18:53:43 +02:00
reaperrr
15fc27d142 Use cached selected in SelectionDecorationsBase 2020-08-28 12:24:07 +02:00
tovl
db9744ea7f Let TS aircraft turn slower when circling. 2020-08-27 21:15:38 +02:00
tovl
5e62fe86fc Add IdleSpeed to aircraft trait. 2020-08-27 21:15:38 +02:00
teinarss
9c4fd0e3d3 Use Null-Propagation Operator 2020-08-19 18:11:07 +01:00
teinarss
8d27d22100 Use discard syntax 2020-08-19 18:11:07 +01:00