Commit Graph

711 Commits

Author SHA1 Message Date
Paul Chote
7f4663f606 Pull out a temporary variable in ProductionQueue. 2015-09-20 22:46:07 +01:00
Paul Chote
ef55d646f7 Unstatic the Sound class. 2015-09-20 14:11:06 +01:00
Paul Chote
ff10fe3e07 Merge pull request #9377 from reaperrr/fix-bldplace-overlay
Fixed TS crane overlay's last frame hiding idle overlay
2015-09-20 12:13:52 +01:00
reaperrr
58e474ec80 Make repair overlay invisible when not repairing 2015-09-19 20:37:58 +02:00
reaperrr
e99c951a0c Hide WithBuildingPlacedOverlay after it has been played
Fixes #9319.
2015-09-19 20:37:57 +02:00
Paul Chote
7dfd5ade3a Merge pull request #9301 from atlimit8/WDistTraitRangeFields
Make Range WDist for all traits with circular ranges.
2015-09-19 19:10:34 +01:00
Paul Chote
3fec4c2032 Merge pull request #9298 from atlimit8/AffectsShroud
Create abstract class AffectsShroud[Info] with RevealsShroud core logic also used by CreatesShroud
2015-09-19 18:46:23 +01:00
atlimit8
de7f5a4288 Make Range WDist for all traits with circular ranges. 2015-09-19 11:02:28 -05: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
Matthias Mailänder
c0dd9c4566 Merge pull request #9359 from RoosterDragon/fix-pathfinder-layer-pooling
Fixed pooling of layers used for pathfinding
2015-09-19 13:07:33 +02:00
Matthias Mailänder
b5a5dfdb54 Merge pull request #9365 from atlimit8/HealUnitsCrateAction_use_ActorsWithTrait
HealUnitsCrateAction.Activate() use ActorsWithTrait<Health>()
2015-09-19 12:53:25 +02:00
atlimit8
be010249d7 Replace only use of Linq syntax 2015-09-18 10:31:41 -05:00
atlimit8
1d9d28b540 HealUnitsCrateAction.Activate() use ActorsWithTrait<Health>() 2015-09-17 23:55:38 -05:00
reaperrr
4fa20e78fa Merge pull request #9304 from atlimit8/Fix_AttackBase_GetMinimumRange
Make AttackBase.GetMinimumRange() return WDist.Zero if there are no available armaments
2015-09-18 01:26:35 +02: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
atlimit8
45112cfa76 Remove redundant IBodyOrientation[Info] & replace with BodyOrientation[Info] 2015-09-15 22:57:08 -05:00
reaperrr
6613db7a15 Fix RotationPaletteEffect tileset validity check
If Tilesets was empty but ExcludeTilesets was not, it would always return false even though that combination is supposed to mean only the excluded tileset(s) is/are not valid for this effect.
2015-09-14 16:36:56 +02:00
Pavel Penev
3fc41238d8 Merge pull request #9333 from atlimit8/DuplicateUnitCrateAction_EnabledTargetting
Make DuplicateUnitCrateAction only check enabled targetability
2015-09-14 02:45:19 +03:00
abcdefg30
48ecc717b2 Merge pull request #8996 from Mailaender/alpha-cloak
Added pre-multiplied alpha palettes for cloak effects
2015-09-13 18:53:17 +02:00
atlimit8
578a92370b Make DuplicateUnitCrateAction only check enabled targetability 2015-09-12 21:30:35 -05:00
reaperrr
181e934ee8 Merge pull request #9311 from atlimit8/Fix9310
DeathType Count check in Explodes
2015-09-10 17:57:26 +02:00
atlimit8
33915fb271 DeathType Count check in Explodes 2015-09-09 18:35:55 -05:00
Matthias Mailänder
4b1bedd7dd use pre-multiplied alpha for cloak effects 2015-09-09 23:07:24 +02:00
atlimit8
6ab32d75bf Make AttackBase.GetMinimumRange() return WDist.Zero if there are no available armaments 2015-09-08 23:36:05 -05:00
atlimit8
3e211232a3 Create abstract class AffectsShroud[Info] with RevealsShroud core logic also used by CreatesShroud 2015-09-08 17:24:49 -05:00
reaperrr
c272e790e5 Remove RenderSimple
All traits inheriting from it have been removed, and WithSpriteBody can
now take its place.
2015-09-09 00:16:21 +02:00
Matthias Mailänder
a8d4bc2cef Merge pull request #9292 from obrakmann/fix-silo-infinite-loop
Fix an infinite loop that occurs when a silo is captured
2015-09-06 21:54:14 +02:00
Oliver Brakmann
caa0e1678e Fix an infinite loop that occurs when a silo is captured 2015-09-06 21:46:20 +02:00
RoosterDragon
662077a47e Merge pull request #9103 from reaperrr/water-rot
Refactored WaterPaletteRotation into RotationPaletteEffect
2015-09-06 20:19:09 +01:00
reaperrr
fabdefeaf1 Use HashSets for tileset checks, check in constructor for better performance 2015-09-06 20:58:24 +02:00
TheRaffy
1fc2158f2e Added a WeatherOverlay 2015-09-06 20:25:29 +02:00
reaperrr
ea7811a076 Rename temp to rotationBuffer and remove comment 2015-09-06 19:28:16 +02:00
reaperrr
cd9effaa35 Added positive palette/tileset properties to RotationPaletteEffect 2015-09-06 19:28:15 +02:00
reaperrr
96c7d4345e Renamed WaterPaletteRotation to RotationPaletteEffect 2015-09-06 19:25:12 +02:00
reaperrr
ca055eb7bb Refactored WaterPaletteRotation
Moved RotationBase from tileset definition to WaterPaletteRotation effect.
Unhardcoded rotation range and rotation rate.
Added possibility to exclude Tilesets from effect.

Fixed RA water palette rotation for actors on desert maps (#8872).
2015-09-06 19:25:10 +02:00
atlimit8
8250f223c4 More HashSet trait fields & Lint support 2015-09-05 16:59:30 -05:00
reaperrr
e74c0d6c13 Merge pull request #9141 from RoosterDragon/pathfinder-perf
Improve pathfinder performance (paths may change)
2015-09-05 16:49:51 +02:00
reaperrr
e0e31d89b1 Merge pull request #9264 from penev92/appearsOnRadar
Make AppearsOnRadar implement INotifyCreated
2015-09-05 00:39:33 +02:00
Pavel Penev
c323046ed0 Make AppearsOnRadar implement INotifyCreated
Cache the IRadarColorModifier so we don't look for it on every render tick.
2015-09-05 01:18:45 +03:00
RoosterDragon
901e604cf3 Replace arrays with sets.
In places where arrays were being treated as a set, just create a set directly. This reveals the intention of such collections better, and also improves performance by allowing set based methods to be used.
2015-09-03 20:09:24 +01:00
atlimit8
5f079f2463 Add MinAirborneAltitude to Aircraft trait to set airborne threshold 2015-09-02 23:19:00 -05:00
atlimit8
6986cd9f0e Remove TargetableAircraft 2015-09-02 23:19:00 -05:00
atlimit8
97ce4766f3 Grant upgrades while aircraft is airborne 2015-09-02 23:19:00 -05:00
atlimit8
ecc15d9ae6 Grant upgrades while cloaked 2015-09-02 23:14:40 -05:00
atlimit8
23d0424437 Add ITargetablePositions seperating it from ITargetable 2015-09-02 23:14:40 -05:00
atlimit8
f5c3575c5a Support multiple ITargetable traits 2015-09-02 23:14:40 -05:00
Taryn Hill
4bd34e3ed3 Merge pull request #9236 from atlimit8/FixAircraftTraitIndent
Fix indentation in OpenRA.Mods.Common/Traits/Air/Aircraft.cs
2015-09-02 23:07:57 -05:00