abcdefg30
a7bb217887
Make the calculation of DesiredLocalFacing more readable
2020-10-18 14:48:05 +01:00
abcdefg30
10cb8090ec
Remove the second arrow on the preview of gdi08a
2020-10-18 14:33:52 +01:00
abcdefg30
1fdecb4e9d
Fix briefing text and video of nod04a
2020-10-18 14:33:52 +01:00
abcdefg30
575596c9ad
Fix map previews and order in TD
2020-10-18 14:33:52 +01:00
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
c23efea402
Comments to justify GC.Collect calls, compact LOH during load.
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
87389d3051
Reuse a list in FrozenActor.RefreshState
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
Paul Chote
da53d5b776
Fix a divide by zero crash in Move.
2020-10-17 22:31:35 +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
0ded0355c1
Allow mod code to set rally point indicators.
2020-10-16 18:14:33 +01:00
Matthias Mailänder
4da14cee0a
Disable UPnP on local games.
2020-10-16 18:14:33 +01:00
Orb
90c8e112e2
Stealth C17 Checkbox
2020-10-16 18:09:43 +01:00
Orb
d49bf81d95
TD Balance 2020 3 Commit
2020-10-16 17:52:41 +01:00
abcdefg30
abbe16b6ec
Remove default parameters
2020-10-15 10:53:06 +02:00
abcdefg30
274bf06eae
Fix evacuated civilians not staying at the GDI base
2020-10-15 10:53:06 +02:00
abcdefg30
dcf7b6b3f6
Add an alternative escape route to the south
2020-10-15 10:53:06 +02:00
abcdefg30
4173e40a9d
Use actor names instead of searching for actors with a type
2020-10-15 10:53:06 +02:00
abcdefg30
1abd272862
Fix actor naming since those are not Nod soldiers
2020-10-15 10:53:06 +02:00
abcdefg30
946bf7b9fa
Let civilians flee away from - not towards - the player in Nod04b
2020-10-15 10:53:06 +02: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
abcdefg30
8a7020b4ef
Ignore the length requirement of sync orders we want to drop
2020-10-14 19:53:49 +02:00
abcdefg30
1bc19e788c
Drop and log sync orders with mismatching length
2020-10-14 19:53:49 +02:00
abcdefg30
c17110dac5
Make OrderManager fields readonly where possible
2020-10-14 19:53:49 +02:00
abcdefg30
d07b34e67e
Style fixups in ReplayConnection.cs
2020-10-14 19:53:49 +02:00
abcdefg30
accecee018
Fix savegames not saving sync packets correctly
2020-10-14 19:53:49 +02:00
abcdefg30
1861174d38
Add a Order.SyncHashOrderLength const
2020-10-14 19:53:49 +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
RoosterDragon
b2b639434c
ThreadedGraphicsContext improvements.
...
- VertexBuffer interface redefined to remove an IntPtr overload for SetData. This removes some unsafe code in TerrainSpriteLayer. This also allows the ThreadedVertexBuffer to use a buffer and post these calls, meaning the SetData call can now be non-blocking.
- ThreadedTexture SetData now checks the incoming array size. As the arrays sent here are usually large (megabytes) this allows us to avoid creating temp arrays in the LOH and skip Array.Copy calls on large arrays. This means the call is now blocking more often, but significantly reduces memory churn and GC Gen2 collections.
2020-10-13 15:54:53 +02:00
Curtis Shmyr
5eadd26f66
Set lobby bool display values to start uppercase
2020-10-12 22:05:35 +02:00
Curtis Shmyr
c0cbca26ea
Use lobby option display values when clients join
2020-10-12 22:05:35 +02:00
RoosterDragon
8fb65fd9bf
Use string pooling in MiniYaml to de-duplicate strings in memory.
...
These config files often contain many repeated strings which result in different string references in memory. By using a pool, we can detect when the strings are equal and reuse an existing reference as strings are immutable.
The FromLines will now use a pool to de-duplicate strings for a single call. By allowing a pool to be provided as a parameter, we can reuse even more strings. The MapCache defines such a pool so that strings are reused across all maps in the cache for even more savings.
2020-10-12 21:57:08 +02:00
RoosterDragon
9072d645fd
Use TrimExcess to shrink lists used by MiniYaml after loading
2020-10-12 21:57:08 +02:00
Paul Chote
597b8b1caa
Hide legacy GL support behind a feature flag.
2020-10-12 12:24:22 +02:00
Paul Chote
2c0d512727
Package and default to GLES via ANGLE on windows.
2020-10-12 12:24:22 +02:00
Paul Chote
87c5cc96ad
Add an "Automatic" GL profile.
2020-10-12 12:24:22 +02:00
Paul Chote
fc844cfa6d
Print the GL_RENDERER string to stdout on engine start.
2020-10-12 12:24:22 +02:00
Paul Chote
1ab1c30e39
Remove glGetTexImage/glBindFragDataLocation on GLES.
...
These functions are not available in GLES3.
2020-10-12 12:24:22 +02:00
reaperrr
f2a1a497c7
Fix Pillbox damage
...
These were overlooked during the RA target type
refactor.
2020-10-12 11:56:55 +02:00
Paul Chote
1ddbe50b3f
Add inline node inclusion support to mod.yaml.
2020-10-11 01:42:59 +02:00
Paul Chote
dd7b8b24af
Use tileset ID in sequences instead of the TileSet object.
2020-10-11 01:23:15 +02:00
abcdefg30
6dcb701d1d
Fix a crash in AIUtils
2020-10-10 17:54:55 +02:00
reaperrr
f67b7ad837
Cache IResolveOrder traits on Actor
...
Avoids looking up all of them each time
an actor is given an order.
2020-10-10 13:59:40 +01:00
reaperrr
a4a409f39b
Pass world directly to UnitOrders.ResolveOrder
...
Avoids order.Subject.World look-ups.
Also removes validOrders parameter,
we can get that directly from World now.
2020-10-10 13:59:40 +01:00
reaperrr
904a5f60d1
Cache IOrderValidator traits on World
2020-10-10 13:59:40 +01:00