Commit Graph

21527 Commits

Author SHA1 Message Date
Pavel Penev
2017a6d989 Merge pull request #10206 from abcdefg30/survival02
Let spawned soviet vehicles attack move on Survival02
2015-12-12 23:44:48 +02:00
RoosterDragon
21292061f9 Added "PERF: Avoid LINQ." comments. 2015-12-12 21:05:13 +00:00
RoosterDragon
d0c23ef2dd Prevent redundant enumerations in Attack.InnerTick.
The armaments variable is enumerated several times, but the results won't change. If we cache it straight away we can improve performance.
2015-12-12 20:55:23 +00:00
RoosterDragon
7fbbaa2221 Optimize AutoTarget.ChooseTarget.
Avoid using LINQ for filtering, grouping and dictionary building. Instead, we do these ourselves to reduce overhead.

Actors are checked for AutoTargetIgnoreInfo (rather than the trait) since info checks are marginally faster. This check can now be done immediately to allow us to skip such actors right away.

The ClosestTo calculation is now only run on the group on actors for the selected armament, rather than all potential armaments.
2015-12-12 20:55:22 +00:00
RoosterDragon
487727c9d0 Optimize AutoTarget.ScanForTarget.
The currentTarget parameter is null at the only call site. Inlining it allows us to make some simplifications to the logic.
2015-12-12 20:55:20 +00:00
RoosterDragon
16386873af Optimize AttackBase.ChooseArmamentsForTarget.
Remove the unused onlyEnabled parameter to avoid it needlessly being captured in the closure, and simplify the logic.

Evaluate RequiresForceFire and Weapon.IsValidAgainst last in their respective logic chains as these are the most expensive operations and benefit from short-circuiting being able to skip their evaluation.
2015-12-12 20:55:19 +00:00
RoosterDragon
0fab3ec1b2 Remove LINQ in some performance critical AutoTarget paths. 2015-12-12 20:55:18 +00:00
RoosterDragon
dcf375a412 Store Targetables in Actor.
This can be used to avoid several lookups for these traits, as well as allow Actor to provide specialised methods to deal with target types efficiently. This also reduces some code duplication.
2015-12-12 20:55:17 +00:00
RoosterDragon
aaa82339d1 Small cleanup in TraitDictionary. 2015-12-12 20:46:10 +00:00
RoosterDragon
c0286bb147 Remove ActorMap.ActorsInWorld.
Prefer the more direct and efficient query on World.Actors instead.
2015-12-12 20:42:44 +00:00
RoosterDragon
912a0630e2 Tweak some Render methods for efficiency. 2015-12-12 20:42:43 +00:00
RoosterDragon
62a932272c Fix GPS refreshing for incorrect player.
GpsWatcher.RefreshGps was wrongly using the render player in simulation code.
2015-12-12 19:57:08 +00:00
RoosterDragon
f96d02a794 Fix GPS dot relying on frozen actor render state.
The GPS dot was not displayed if a frozen actor for it was already visible. However, this was mistakenly affecting visibility checks in the world. Now, we only avoid rendering it when the frozen actor is present, but the indicator is still regarded as visible for visilbity checks in the world.
2015-12-12 19:57:07 +00:00
RoosterDragon
cbc090dd38 Ensure frozen actors are rendered on the first tick they become visible.
The previous lazy rendering means the snapshot of the render state might be more up to date then when the frozen actor actually did become visible. Now, we take this snapshot as soon as needed. We still retain the performance of only doing this rendering when needed by avoiding extra rendering until the visibility cycles again.
2015-12-12 19:54:25 +00:00
RoosterDragon
87d35a75da Merge dictionaries in GpsDot.
This speeds up GpsDot.Tick as it requires only one dictionary lookup per player rather than two.
2015-12-12 19:54:23 +00:00
abcdefg30
93757d3324 Let spawned soviet vehicles attack move on Survival02 2015-12-12 18:49:28 +01:00
Paul Chote
8230be6a14 Merge pull request #10196 from RoosterDragon/hardware-cursoring
More graceful hardware cursor failing
2015-12-12 12:55:53 +00:00
Oliver Brakmann
01d3bbb12c Merge pull request #10067 from Mailaender/ingame-client-tooltip
Added an in-game client tooltip with IP and country
2015-12-11 21:09:05 +01:00
teees
3b65232365 Optionally discard resources when silo capacity has been reached 2015-12-11 17:55:40 +01:00
teees
9dba85def5 Use heightmap to get correct groundlevel, fix additional behavior 2015-12-11 17:10:38 +01:00
Matthias Mailänder
79dc26c978 add an in-game client tooltip without latency indicator 2015-12-11 07:29:54 +01:00
Matthias Mailänder
1f07962510 remove unused Session.Slot 2015-12-11 07:29:07 +01:00
Pavel Penev
a673aee547 Merge pull request #10199 from RoosterDragon/vector-typos
Fix some typos in vector strings
2015-12-11 01:31:08 +02:00
Paul Chote
92d0261005 Overhaul LazerZap and AreaBeam rendering. 2015-12-10 23:25:59 +00:00
Paul Chote
78556ec60c Remove obsolete WorldRenderer.DrawRangeCircle. 2015-12-10 23:25:58 +00:00
Paul Chote
170ef577d7 Reimplement RenderDetectionCircle trails. 2015-12-10 23:22:47 +00:00
Paul Chote
e2d43da1d8 Use RgbaColorRenderer for range circle rendering. 2015-12-10 23:22:47 +00:00
Paul Chote
43eb4dadc9 Remove obsolete QuadRenderer. 2015-12-10 23:22:47 +00:00
Paul Chote
68302c9617 Use RgbaColorRenderer for pathfinder debug rendering. 2015-12-10 23:22:47 +00:00
Paul Chote
8158d25ee6 Use RgbaColorRenderer for weather rendering. 2015-12-10 23:22:46 +00:00
Paul Chote
66744ee92a Use RgbaColorRenderer for UI rendering. 2015-12-10 23:22:46 +00:00
Paul Chote
2d89f15374 Use RgbaColorRenderer for warhead debug rendering. 2015-12-10 23:22:45 +00:00
Paul Chote
02dedf9acf Introduce RgbaColorRenderer class. 2015-12-10 23:22:07 +00:00
RoosterDragon
654ca6ed03 Fix some typos in vector strings. 2015-12-10 21:53:11 +00:00
RoosterDragon
4ed5a24bbe Merge pull request #10118 from pchote/rework-order-targets
Rework order targeting crazyness.
2015-12-10 20:09:57 +00:00
RoosterDragon
e1f4ad7176 Merge pull request #9838 from Phrohdoh/warhead-colors
Per-warhead WarheadDebugOverlay colors
2015-12-10 19:35:00 +00:00
Taryn Hill
20927e9aae Change healing weapons to have a Green DebugOverlayColor 2015-12-09 20:57:57 -06:00
Taryn Hill
9b9d3c8af5 Add DebugOverlayColor to Warhead
This allows us to render WarheadDebugOverlay circles in a
color-per-warhead fashion.
2015-12-09 20:48:10 -06:00
RoosterDragon
679cff004e When hardware cursors fail, retry next session. 2015-12-08 22:53:21 +00:00
RoosterDragon
765bc4fa72 When the SDL hardware cursor fails, ensure more of the error message is logged.
Capture the useful details from the inner exception into the message, as this will be logged.
2015-12-08 22:51:55 +00:00
RoosterDragon
47224bca40 Merge pull request #10078 from penev92/actorNameOverlay
Add an actor name overlay debug option
2015-12-08 21:16:26 +00:00
RoosterDragon
0c1df850a5 Merge pull request #10185 from obrakmann/fix-lobby-chat-unread-messages-button-blinking
Fix showing unread messages count on active lobby chat button
2015-12-08 20:48:08 +00:00
atlimit8
3d2aa751a3 TraitInfoInterface base for interfaces implemented by trait infos 2015-12-07 18:22:43 -06:00
abcdefg30
0976972f7c Merge pull request #10141 from reaperrr/fix-anim-cancel
Fix actors not going back to idle animation after custom animation
2015-12-07 15:13:00 +01:00
abcdefg30
22aa548d1b Merge pull request #10126 from RoosterDragon/fuf-perf
Speed up FrozenUnderFog.Tick
2015-12-07 15:03:59 +01:00
Pavel Penev
6f8b3c45b4 Add RenderDebugState trait 2015-12-07 01:41:19 +02:00
Pavel Penev
c51bad6050 Expose HackyAI's Squads and IsEnabled fields 2015-12-07 01:41:16 +02:00
Pavel Penev
6217ec0360 Add a ShowActorTags property to DeveloperMode 2015-12-07 01:41:15 +02:00
Pavel Penev
4bbb406d4d Add checkboxes for actor tag overlay 2015-12-07 01:41:14 +02:00
Pavel Penev
101d8ab363 Give TS its own copy of ingame-info.yaml
This is a 1:1 copy of RA's ingame-info.yaml file.
2015-12-07 01:41:13 +02:00