Gustas
cf21c8e906
Fix support power name not really being optional
2024-04-10 23:52:43 +02:00
michaeldgg2
ed5c7bb836
Minelayer: remove unnecessary requirement Rearmable
2024-04-03 15:05:29 +03:00
Matthias Mailänder
188f0e2451
Extract strings from support power name and description.
2024-04-03 11:38:08 +03:00
RoosterDragon
799c4c9e3c
Fix map editor not removing an actor properly.
...
If you edit an actor name, then delete the actor - it fails to be removed from the map in the editor. This is because the actor previews are keyed by ID. Editing their name edits their ID and breaks the stability of their hash code. This unstable hash code means the preview will now fail to be removed from collections, even though it's the "same" object.
Fix this by making the ID immutable to ensure hash stability - this means that a preview can be added and removed from collections successfully. Now when we edit the ID in the UI, we can't update the ID in place on the preview. Instead we must generate a new preview with the correct ID and swap it with the preview currently in use.
2024-03-28 12:11:26 +02:00
David Wilson
25a6b4b6b9
Editor marker tiles layer
2024-03-21 13:11:04 +02:00
RoosterDragon
dc0f26a1cd
Improve BotModule performance.
...
Several parts of bot module logic, often through the AIUtils helper class, will query or count over all actors in the world. This is not a fast operation and the AI tends to repeat it often.
Introduce some ActorIndex classes that can maintain an index of actors in the world that match a query based on a mix of actor name, owner or trait. These indexes introduce some overhead to maintain, but allow the queries or counts that bot modules needs to perform to be greatly sped up, as the index means there is a much smaller starting set of actors to consider. This is beneficial to the bot logic as the TraitDictionary index maintained by the world works only in terms of traits and doesn't allow the bot logic to perform a sufficiently selective lookup. This is because the bot logic is usually defined in terms of actor names rather than traits.
2024-03-12 16:14:29 +02:00
RoosterDragon
5f97e2de5a
Make Color use uint for ARGB.
...
This is a more natural representation than int that allows removal of casts in many places that require uint. Additionally, we can change the internal representation from long to uint, making the Color struct smaller. Since arrays of colors are common, this can save on memory.
2024-03-09 21:10:02 +02:00
Wojciech Walaszek
7b82d85b27
Editor actor move
2024-03-03 14:27:35 +02:00
michaeldgg2
63247d2d11
ParallelProductionQueue: pause production, when all Production traits are paused
2024-02-25 11:52:25 +01:00
Gustas
d3c44de5d2
Fix force rally point not setting building as primary
2024-02-23 19:10:35 +01:00
atlimit8
a054d2115d
remove unused RenderSprite trait fields
2024-02-16 09:36:44 +02:00
michaeldgg2
9d29303142
Hovers: remove dependency on IMove trait
2024-02-13 11:30:35 -06:00
atlimit8
8fda46e241
Prevent reading not yet cached Actor.Crushable() in Crate ctor using HierarchicalPathFinder.ActorIsBlocking(Actor actor).
...
Only occurs if the crate might be blocked.
Test Mod: td
Test Map: Island Duel
Line:
foreach (var crushable in actor.Crushables)
Stack trace:
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Pathfinder.HierarchicalPathFinder.ActorIsBlocking(OpenRA.Actor actor) Line 660 (OpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs:660)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Pathfinder.HierarchicalPathFinder.RequireBlockingRefreshInCell(OpenRA.CPos cell) Line 607 (OpenRA.Mods.Common/Pathfinder/HierarchicalPathFinder.cs:607)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.ActorMap.AddInfluence(OpenRA.Actor self, OpenRA.Traits.IOccupySpace ios) Line 428 (OpenRA.Mods.Common/Traits/World/ActorMap.cs:428)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.Crate.SetLocation(OpenRA.Actor self, OpenRA.CPos cell) Line 224 (OpenRA.Mods.Common/Traits/Crates/Crate.cs:224)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.Crate.SetPosition(OpenRA.Actor self, OpenRA.CPos cell, OpenRA.Traits.SubCell subCell) Line 203 (OpenRA.Mods.Common/Traits/Crates/Crate.cs:203)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.Crate.Crate(OpenRA.ActorInitializer init, OpenRA.Mods.Common.Traits.CrateInfo info) Line 94 (OpenRA.Mods.Common/Traits/Crates/Crate.cs:94)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.CrateInfo.Create(OpenRA.ActorInitializer init) Line 33 (OpenRA.Mods.Common/Traits/Crates/Crate.cs:33)
OpenRA.Game.dll!OpenRA.Actor.Actor(OpenRA.World world, string name, OpenRA.Primitives.TypeDictionary initDict) Line 163 (OpenRA.Game/Actor.cs:163)
OpenRA.Game.dll!OpenRA.World.CreateActor(bool addToWorld, string name, OpenRA.Primitives.TypeDictionary initDict) Line 339 (OpenRA.Game/World.cs:339)
OpenRA.Game.dll!OpenRA.World.CreateActor(string name, OpenRA.Primitives.TypeDictionary initDict) Line 329 (OpenRA.Game/World.cs:329)
OpenRA.Mods.Common.dll!OpenRA.Mods.Common.Traits.CrateSpawner.SpawnCrate.AnonymousMethod__0(OpenRA.World w) Line 168 (OpenRA.Mods.Common/Traits/World/CrateSpawner.cs:168)
OpenRA.Game.dll!OpenRA.World.Tick() Line 464 (OpenRA.Game/World.cs:464)
OpenRA.Game.dll!OpenRA.Game.InnerLogicTick(OpenRA.Network.OrderManager orderManager) Line 634 (OpenRA.Game/Game.cs:634)
OpenRA.Game.dll!OpenRA.Game.LogicTick() Line 658 (OpenRA.Game/Game.cs:658)
OpenRA.Game.dll!OpenRA.Game.Loop() Line 830 (OpenRA.Game/Game.cs:830)
OpenRA.Game.dll!OpenRA.Game.Run() Line 883 (OpenRA.Game/Game.cs:883)
OpenRA.Game.dll!OpenRA.Game.InitializeAndRun(string[] args) Line 313 (OpenRA.Game/Game.cs:313)
OpenRA.dll!OpenRA.Launcher.Program.Main(string[] args) Line 26 (OpenRA.Launcher/Program.cs:26)
[External Code] (Unknown Source:0)
2024-02-09 16:30:05 +02:00
Gustas
1a4f366e4b
Make notifyAttacks more consistent
2024-02-07 15:30:41 +01:00
Gustas
2d332d0a13
Fix pillbox not uncloaking upon firing
2024-02-07 15:30:41 +01:00
David Wilson
d630a6ef7d
Fix editor area/actor deselection bugs
2024-02-07 15:30:23 +02:00
N.N
4e031a6ea5
Selection info into Area selection tab
...
Selection info into Area selection tab
add Resource counter and measure info into Area selection tab
2024-02-03 12:26:21 +02:00
LipkeGu
311d55ff45
Add [FieldLoader.Require] to TooltipInfoBase.Name
2024-02-03 12:17:58 +02:00
Vapre
64cdfcbeab
Cache ICrushable traits in actor.
2024-01-31 13:29:58 +02:00
Gustas
6026d088c8
Use HashSets instead of .Distinct
...
And don't cast to array / list where unnecessary
2024-01-30 22:06:58 -06:00
David Wilson
2ced4abc24
Editor selection refactor pt1
2024-01-24 10:11:39 +02:00
dnqbob
32121a38f4
Fix Hovers desync caused by changing 'WorldVisualOffset' in renderer.
2024-01-15 15:21:45 +02:00
Wojciech Walaszek
00857df990
adds tilting on slopes to suitable actor previews
2024-01-09 14:56:30 +02:00
Gustas
1a037c06bf
Fix smudges incorrectly generating on slopes
2024-01-08 18:22:41 +01:00
Wojciech Walaszek
680144b24f
adds Hovers WorldVisualOffset to muzzle calculations
2024-01-06 13:06:08 +02:00
reaperrr
1f10dafbea
Add MaxSmokeOffsetDistance to SmudgeLayer
2024-01-06 12:31:17 +02:00
N.N
d83a871520
Add RemoveOrders into RejectOrders trait
2023-12-27 17:28:10 +02:00
dnqbob
ba951b6470
Add Translation to TooltipDescription
2023-12-15 18:20:00 +02:00
Paul Chote
6c56ea4c55
Introduce Renderer.WorldBufferSnapshot().
2023-12-15 13:37:05 +02:00
N.N
aa5b193746
Exlude DamageTypes from HarvesterNotifier
2023-12-15 13:04:36 +02:00
dnqbob
264564d006
Allow WeatherOverlay fade in/out when enabled/disabled
2023-12-15 11:48:54 +02:00
Paul Chote
ad833a6fbb
Add support for additional cloak styles and use native alpha in RA,D2k,TS.
2023-12-04 10:10:28 +02:00
Paul Chote
9f196f2693
Fix Cloak.UncloakSound not being used.
2023-12-04 10:10:28 +02:00
Gustas
d8100cb9f2
Simplify harvester's creation activity
2023-12-03 19:27:02 +00:00
Gustas
2733ed4b1c
Fix war factory not opening its door properly
2023-12-03 19:27:02 +00:00
Gustas
018777472a
Fix harvesters teleporting when produced
...
And allow to interrupt actor creation child activities
2023-12-03 19:27:02 +00:00
Gustas
20f6e01afe
Fix crashing when transports are loaded via lua
2023-12-03 19:27:02 +00:00
Oliver Brakmann
3904576574
Draw border around capture area in ProximityCapturable
2023-12-03 17:14:47 +00:00
Oliver Brakmann
8529512edb
Add CellTrigger support to ProximityCapturable
2023-12-03 17:14:47 +00:00
Paul Chote
07ed6a889e
Move ColorShift traits into the main repo.
2023-12-02 21:44:58 +02:00
Gustas
d67e0a4eef
Allow harvester definitions to exist on non-mobile actors
2023-12-02 13:50:46 +01:00
Gustas
8e7fa26709
Add TransformsIntoDockClient
2023-12-02 13:50:46 +01:00
dnqbob
deacc7ad65
Fix InitialActor in Carryall not initialized correctly
2023-12-02 13:56:36 +02:00
N.N
bb1e830264
Add initial delay for ActorSpawnManager
2023-12-02 11:36:42 +02:00
Gustas
0f5b78442b
Extract unit names and descriptions
2023-11-25 16:28:19 +01:00
RoosterDragon
e6914f707a
Introduce FirstOrDefault extensions method for Array.Find and List.Find.
...
This allows the LINQ spelling to be used, but benefits from the performance improvement of the specific methods for these classes that provide the same result.
2023-11-19 19:28:57 +02:00
RoosterDragon
acca837142
Fix RCS1246
2023-11-19 19:28:57 +02:00
RoosterDragon
330ca92045
Fix RCS1077
2023-11-19 19:28:57 +02:00
RoosterDragon
c8efc5fdd7
Fix CA1854
2023-11-16 09:29:17 +02:00
RoosterDragon
2996a1ddde
Fix CA1868
2023-11-16 09:29:17 +02:00