Commit Graph

1420 Commits

Author SHA1 Message Date
reaperrr
5ec1f8f8a0 Merge pull request #9379 from atlimit8/DanglingActorInfoTraitsContains
Changed missed ActorInfo.Traits.Contains => ActorInfo.HasTraitInfo
2015-09-19 20:55:16 +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
131084d129 Changed missed ActorInfo.Traits.Contains => ActorInfo.HasTraitInfo 2015-09-19 12:06:37 -05:00
atlimit8
de7f5a4288 Make Range WDist for all traits with circular ranges. 2015-09-19 11:02:28 -05:00
abcdefg30
97346e1833 Merge pull request #9355 from ChaoticMind/socket_crash
Catch exception when hosting server on busy port
2015-09-19 17:27:11 +02:00
abcdefg30
6cbcd66b87 Merge pull request #9215 from LipkeGu/upnp_externalip_fix
Move NAT Logic from ClientTooltipLogic into its own Function at LobbyUtils.
2015-09-19 17:22:02 +02: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
Kevin Azzam
f4461b292e Generalize error message when creating a server fails 2015-09-17 20:03:05 +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
Kevin Azzam
89f2a479bf Catch exception when hosting server on busy port
Closes #9354
2015-09-16 13:08:23 +02:00
atlimit8
45112cfa76 Remove redundant IBodyOrientation[Info] & replace with BodyOrientation[Info] 2015-09-15 22:57:08 -05:00
Guido L
8a1a6945f1 Fix and move Logic into its own Function in LobbyUtils 2015-09-14 23:19:50 +02: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
reaperrr
a580e6846e Merge pull request #9328 from Mailaender/ai-common-names
Fixed BuildingCommonNames magic
2015-09-13 18:53:37 +02: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
Matthias Mailänder
9df86f031b Merge pull request #9278 from pchote/rename-d2k-actors
Rename d2k actors to match original game rules.
2015-09-13 17:44:15 +02:00
abcdefg30
f78aea4f90 Merge pull request #8636 from Mailaender/irc
Added the in-game IRC client again
2015-09-13 17:14:36 +02:00
Matthias Mailänder
a7235d84e9 document the hidden keys 2015-09-13 08:30:17 +02:00
atlimit8
578a92370b Make DuplicateUnitCrateAction only check enabled targetability 2015-09-12 21:30:35 -05:00
Matthias Mailänder
f903cfea96 don't throw as we are checking for null later 2015-09-12 10:27:22 +02:00
Matthias Mailänder
39b79f5347 don't load the AI routines in the map editor 2015-09-12 08:40:40 +02:00
reaperrr
4108b6da46 Merge pull request #9256 from Mailaender/ai-harv-search
Added AI search for new resource patches avoiding enemies
2015-09-11 23:25:59 +02:00
abcdefg30
5660b45690 Merge pull request #9267 from clemty/luadocs
Lua API documentation cleanup
2015-09-11 20:32:48 +02:00
abcdefg30
7573b53c7f Merge pull request #9300 from Mailaender/bot-debug-production
Removed a redundant bot production debug message
2015-09-11 14:40:34 +02:00
Pavel Penev
d74d50df52 Add an upgrade rule for D2k actor renaming 2015-09-10 19:26:52 +01: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
Matthias Mailänder
dae3b62d2a add a simple in-game IRC client 2015-09-09 20:56:05 +02:00
Pavel Penev
4bc8a60fb9 Merge pull request #9231 from reaperrr/bye-rendersimple4
Remove RenderSimple
2015-09-09 18:51:08 +03:00
Pavel Penev
20fe9a9ff2 Merge pull request #9255 from pchote/gamespeed
Add a game speed dropdown to the lobby options.
2015-09-09 18:14:05 +03:00
Pavel Penev
14defdea6c Merge pull request #9258 from Mailaender/editor-mousewheel
Added stepless mouse wheel actor rotation to the editor
2015-09-09 17:33:52 +03:00
Pavel Penev
9e6c664f30 Merge pull request #9290 from RoosterDragon/fix-tileset-dispose
Dispose earlier in FixClassicTilesets.
2015-09-09 17:23:50 +03: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
088f56d181 remove redundant bot debug message 2015-09-07 20:58:52 +02:00
reaperrr
60359cc6f5 Use HashSets for AI 2015-09-06 22:59:49 +02:00
RoosterDragon
a1f6b83653 Speed up RepairIndicator.Render.
Check repairer count first, as this is quicker than checking fog visibility.
2015-09-06 21:06:02 +01: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