Paul Chote
ef55d646f7
Unstatic the Sound class.
2015-09-20 14:11:06 +01:00
atlimit8
09984683a7
Add ActorInfo.TraitInfo[OrDefault]<T>() requiring ITraitIfo types
2015-09-19 09:56:14 -05:00
atlimit8
6970959ef1
.Trait[OrDefault]<Trait> => .Info.Traits.Get[OrDefault]<TraitInfo> where applicable
2015-09-19 09:49:24 -05:00
atlimit8
8162fa27ab
Add ActorInfo.HasTraitInfo<T>() requiring ITraitInfo types
2015-09-19 09:49:24 -05:00
atlimit8
85fab45451
Remove Actor.HasTrait<T>()
2015-09-19 09:49:23 -05:00
RoosterDragon
519be4374c
Fixed pooling of layers used for pathfinding.
...
The previous implementation:
- Was failing to dispose of pooled layers.
- Was using a finalizer to allow undisposed layers to be reused.
This means all pooled layers are kept alive indefinitely until the map changes. If the finalizer is slow for any reason then the pathfiinder will allocate new layers when the pool runs out. Since these new layers are eventually stuffed back into the pool when the finalizer does run, this can theoretically leak unbounded memory until the pool goes out of scope. In practice it would leak tens of megabytes.
The new implementation ensures layers are disposed and pooled correctly to allow proper memory reuse. It also introduces some safeguards against memory leaks:
- A cap is set on the number of pooled layers. If more concurrent layers are needed than this, then the excess layers will not be pooled but instead be allowed to be garbage collected.
- No finalizer. An implementation that fails to call dispose simply allows the layer to be garbage collected instead.
2015-09-16 21:25:46 +01:00
Matthias Mailänder
0df8b3ba39
bring back AI search for new resource patches avoiding enemies
2015-09-06 12:56:23 +02:00
Pavel Penev
27e16d0730
Don't try to play a rearming animation if it doesn't exist
2015-09-03 15:55:20 +03:00
atlimit8
f5c3575c5a
Support multiple ITargetable traits
2015-09-02 23:14:40 -05:00
Pavel Penev
2042fccefd
Merge pull request #9189 from reaperrr/bye-rendersimple3
...
Remove RenderBuilding
2015-09-02 19:21:01 +03:00
Pavel Penev
cdedfe6931
Don't get stuck in deployed mode because of an impossible move order
2015-09-01 20:19:29 +03:00
reaperrr
9da56f51e2
Remove RenderBuilding
2015-08-30 15:44:59 +02:00
Matthias Mailänder
7108344501
bail out early before trying impossible paths
2015-08-24 21:03:46 +02:00
Pavel Penev
71c5d69dc5
Merge pull request #8938 from abcdefg30/heliheigth
...
Have flying actors account for terrain height
2015-08-17 13:53:39 +03:00
abcdefg30
15f22c32b3
Merge pull request #8886 from atimoschenkow/fly-queue
...
Fix queue commands for Plane/Heli
2015-08-12 00:50:43 +02:00
atimoschenkow
b1c51cc910
Fix for #6161 queue commands for Plane/Heli (do not ignore Order.Queued in ResolveOrder())
2015-08-07 23:41:03 +02:00
Pavel Penev
10aee9ffa9
Rid Transforms and Transform of "race"
2015-08-05 18:15:11 +03:00
abcdefg30
a94e35163a
Have flying actors account for terrain height
2015-08-04 15:48:03 +02:00
Matthias Mailänder
25ee5f7287
add the takeoff and landing sound
2015-08-01 22:46:06 +02:00
Pavel Penev
cccf5c5931
Check if the inner activity is null before trying to cancel it
2015-07-26 02:15:38 +03:00
penev92
7c1ef2231d
Rename RaceInit to FactionInit
2015-07-25 00:39:31 +03:00
reaperrr
61c0b5d59b
Make refinery unblock cell customisable
2015-07-22 02:31:29 +02:00
reaperrr
62e05cf618
Fix for potential infinite loop freeze
2015-07-22 02:31:28 +02:00
David Jiménez
787609d51e
Improved the performance and intelligence of resource harvesting by
...
refactoring the Harvesters' pathfinding. Now they in first place assess
which is the closest resource inside their search area and then a path is
calculated
Changed the way harvesters find resources by always trying to find the
closest resource to their refinery.
Changed the strategy of finding to find resources in Annulus.
2015-07-22 02:31:26 +02:00
penev92
bb648decc3
Rename Player.Country to Player.Faction
2015-07-15 04:06:52 +03:00
Matija Hustić
72e8e08f48
Step in the direction of RA2 paratroopers.
2015-07-14 20:39:06 +01:00
penev92
2e04fb5ddd
Rename Faction trait members
...
Rename Faction.Race to Faction.InternalName
2015-07-14 18:50:39 +03:00
reaperrr
ba2181e523
Make delay for re-checking for available refinery customisable and increase default
2015-07-12 23:36:58 +02:00
reaperrr
8fdeb04569
Extract HarvestResource into own file and cache trait lookups in
...
constructor
2015-07-12 23:36:57 +02:00
reaperrr
c8661ca2f9
Cache FindResources trait lookups in constructor
2015-07-12 23:36:56 +02:00
reaperrr
8253573ced
Cache lookups in DeliverResources constructor
...
Only re-check for refinery every 5 seconds instead of every second.
2015-07-12 22:36:24 +02:00
Matthias Mailänder
56e9bcd96e
rename RangeSquard to LengthSquared
2015-07-09 21:16:01 +02:00
Matthias Mailänder
413baf9d8b
rename WDist.Range to WDist.Length
2015-07-09 10:55:38 +02:00
Matthias Mailänder
7447e0bf93
rename WRange to WDist
2015-07-09 10:55:38 +02:00
reaperrr
76aaafe37c
Added WithHarvestAnimation + WithDockingAnimation
...
Removed RenderHarvester.
2015-07-04 22:08:06 +02:00
Matthias Mailänder
e86b8d0dde
avoid an unneccessary and frequent trait lookup
2015-07-02 20:22:36 +02:00
pevers
6ed0273656
Actors will lose targets and AI won't follow indefinitely
2015-06-28 19:11:53 +02:00
Paul Chote
0677c309f3
Move Shroud.IsTargetable to Player.
2015-06-19 22:02:08 +01:00
Oliver Brakmann
206c33ed41
Merge pull request #8226 from pchote/actor-disposal
...
Dispose traits when destroying an actor.
2015-06-02 19:33:22 +02:00
Matthias Mailänder
ea5003cd2d
add new long WRange.RangeSquared to avoid integer overflows
2015-05-31 23:51:30 +02:00
Matthias Mailänder
723c2d82c8
fix a possible NRE
2015-05-31 15:58:55 +02:00
Paul Chote
585a43fd8f
Rename Actor.Destroy/Destroyed to Dispose/Disposed.
2015-05-29 19:08:38 +01:00
penev92
463ac0ddc2
Enable Repairable actors to call for transport to the repair pad
2015-05-26 12:44:18 +03:00
abcdefg30
cd9af39662
Merge pull request #8044 from penev92/bleed_withSpriteBody
...
Retire RenderFlare and WithFire traits
2015-05-03 11:19:02 +02:00
penev92
c5dead9098
Introduce WithSpriteBody trait
...
Add upgrade rules
Add ISpriteBody
2015-05-03 11:54:27 +03:00
abcdefg30
95e3713b69
Add an upgrade rule
2015-05-01 14:16:20 +02:00
abcdefg30
8d2307db83
Convert the float health percentage to an int one
2015-05-01 14:16:19 +02:00
RoosterDragon
fb0cab7481
Cache results of TraitsImplementing calls.
...
If a class is caching the TraitsImplementing enumerable, instead cache the results of enumerating it to an array. The avoids having to enumerate the sequence each time it is needed.
2015-04-25 20:42:27 +01:00
RoosterDragon
500a33b590
Cache some trait lookups that occur frequently.
2015-04-25 20:41:49 +01:00
reaperrr
7ddd6aab93
Make helicopters move backwards when target is too close
...
'Too close' as in closer than weapons' MinRange.
2015-04-08 00:51:24 +02:00