Commit Graph

5016 Commits

Author SHA1 Message Date
Paul Chote
50dfa6df8f Fix Contrail field description. 2015-12-19 12:28:08 +00:00
Paul Chote
55433bd27c Fix voxel shadow geometry position. 2015-12-19 12:28:08 +00:00
Paul Chote
0f1fcdaca4 Move DrawTargetMarker to TargetLineRenderable. 2015-12-19 12:28:08 +00:00
teees
00c15eaf3a Add cruising upgrade to Aircraft trait 2015-12-16 13:18:18 +01:00
Oliver Brakmann
c7a9d024b0 Merge pull request #10234 from abcdefg30/damagedFix
Fix the idle animation of the host in WithRepairAnimation.cs
2015-12-15 22:51:18 +01:00
abcdefg30
6e5181fe4d Fix the idle animation of the host in WithRepairAnimation.cs using the damage state of the repaired actor. 2015-12-15 20:57:55 +01:00
teees
c1c386a994 Removed default definitions for repair and rearmbuildings in Aircraft.cs 2015-12-15 18:44:05 +01:00
Oliver Brakmann
20725c9b2c Merge pull request #10153 from abcdefg30/repairableNear
Add a 'Voice' field to RepairableNearInfo
2015-12-14 21:59:56 +01:00
Oliver Brakmann
11cbb43212 Merge pull request #9918 from penev92/fixTransforms
Fix an oversight regarding building unlocking
2015-12-14 21:00:41 +01:00
Oliver Brakmann
02fa63c1b4 Merge pull request #9853 from penev92/unglobalFileSystem
Unglobal file system
2015-12-14 20:52:30 +01:00
reaperrr
0d60ee5fe0 Disable WithSpriteTurret until build/transform complete 2015-12-14 15:27:52 +01:00
teees
19036d1927 Disable WithVoxelTurret until build/transform complete 2015-12-14 12:10:40 +01:00
reaperrr
2d55bbdedf Cache trait look-ups and range modifiers directly in Armament
Avoid the performance impact of accessing Lazy.Value by caching them
when the actor is created and accessing the references directly when needed.
2015-12-14 04:34:58 +01:00
reaperrr
0e5ea959aa Perform faster checks in AB.CanAttack much earlier
Move self.IsDisabled right after IsInWorld and IsTraitDisabled checks.
This should skip/avoid a lot of the following checks when actors are disabled by low power, EMP or similar, potentially saving some performance when there are many disabled actors with attack trait.

Move IsValidFor before HasAnyValidWeapons because the latter is more
expensive.
2015-12-14 04:34:58 +01:00
reaperrr
acc9b37a01 Remove ITraitInfo from AttackBase
That is already included in UpgradableTraitInfo.
2015-12-14 04:34:58 +01:00
atlimit8
bee590a057 Merge pull request #10208 from RoosterDragon/perf-comments
Added some performance comments
2015-12-13 20:46:07 -06:00
Pavel Penev
22678221d0 Fix an oversight regarding building unlocking 2015-12-14 04:18:57 +02:00
Pavel Penev
d08a400565 Add a context argument to package files contructors 2015-12-14 03:42:25 +02:00
Pavel Penev
1b88d24cfa Unstatic GlobalFileSystem and rename it to FileSystem
Add a ModFiles field on ModData and move all access to the file system to go through that.
2015-12-14 03:42:22 +02:00
Matthias Mailänder
02c5c1bbfb Merge pull request #10148 from pchote/widelines
Rewrite line renderer: Part 1 (improved lasers plus other cleanups)
2015-12-13 20:55:54 +01:00
Matthias Mailänder
0bde5bc294 Merge pull request #10211 from abcdefg30/damagedAfld
Fix the idle animation of the hostBuilding in Rearm.cs
2015-12-13 20:43:29 +01:00
Oliver Brakmann
1f440baaa0 Merge pull request #10120 from RoosterDragon/gps-dot-perf
Fix broken GPS and frozen actor behaviour
2015-12-13 18:28:12 +01:00
RoosterDragon
b0619a3e25 Added comments in performance sensitive code. 2015-12-13 16:24:54 +00:00
abcdefg30
cf9ea91606 Fix the idle animation of the hostBuilding in Rearm.cs
using the damage state of the reloaded actor
2015-12-13 16:00:18 +01:00
Oliver Brakmann
59d22a2ff0 Fix AttackMove not working properly under certain conditions
This fixes the issue where AttackMove (and possibly other order modes) would not work properly when people were clicking their mouse buttons at the same time. A move order (the default order mode) would be issued instead.
2015-12-13 14:16:06 +01:00
abcdefg30
fe334906f6 Make 'CloseEnough' on 'RepairableNear' use WDist 2015-12-13 01:10:38 +01:00
abcdefg30
301c2f0ca0 Add a 'Voice' field to RepairableNearInfo 2015-12-13 01:08:34 +01: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
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
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
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
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
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