Commit Graph

27 Commits

Author SHA1 Message Date
reaperrr
8ec3d5ddb8 Require explicit ITickRender 2017-10-07 10:17:11 +02:00
reaperrr
9aaf800bca Require explicit INotifyActorDisposing 2017-09-28 13:14:08 +02:00
reaperrr
a8e6cd2604 Require explicit IRenderOverlay 2017-09-28 13:14:08 +02:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Paul Chote
e187b985fe Prevent smudges from spawning in bogus cells. 2016-11-05 17:45:27 +00:00
Paul Chote
cd99e78501 Use CosmeticRandom for picking smudge type. 2016-09-24 14:00:36 +01:00
Oliver Brakmann
93dba184a1 Add comments explaining the special meaning of a null Sprite in SmudgeLayer 2016-08-30 20:12:46 +02:00
Oliver Brakmann
0ebf2d00b0 Fix NRE in SmudgeLayer.AddSmudge 2016-08-30 19:17:49 +02:00
Oliver Brakmann
30cf8c204b Fix desync when removing smudges
The cause of the crash was that the `RemoveSmudge` method only invokes `SharedRandom` in the else-branch of an if condition that is only taken when the `RenderPlayer` has fog visibility on the location (locations the `RenderPlayer` can see get removed from `dirty` in `TickRender`).

To add insult to injury, the `Type` field does not even need to get set since we are only using the `Sprite` field's `null` value as a marker to be picked up by the `TickRender` method. The `Type` field is only ever used twice in `AddSmudge`, in a branch of an if-condition that will not be taken when the `Sprite` field is null, which we set explicitly. The same holds true for the `Depth` field.
2016-07-26 21:46:18 +02:00
evgeniysergeev
e83ffbec1c add RemoveSmudge function and trait 2016-07-05 12:03:04 +03:00
reaperrr
122035c36c Remove Smoke effect and use SpriteEffect instead 2016-05-23 23:57:18 +02:00
Paul Chote
7993068c8f Remove Map.SequenceProvider. 2016-03-12 19:46:20 +00:00
Paul Chote
8532f4deef Move smudge definitions from Map to SmudgeLayer. 2016-03-08 20:54:26 +00:00
Paul Chote
e71225496b Clarify GPL version. 2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9 Update licence header year. 2016-02-21 16:27:31 +00:00
Pavel Penev
861d1368a4 Unhardcode internal terrain palette name from all over the codebase 2016-01-17 19:02:16 +02:00
Matthias Mailänder
118782a85e check palette references 2015-08-17 21:36:45 +02:00
Paul Chote
ce4bdced47 Use a TerrainSpriteLayer for smudges. 2015-07-18 12:14:23 +01:00
Paul Chote
fe41ee0346 Clean up SmudgeLayer init. 2015-07-18 12:14:23 +01:00
Matthias Mailänder
7faebe874a check for missing sequence entries using lint 2015-06-20 22:22:59 +02:00
Paul Chote
2156a234db Render shroud outside map bounds.
Fixes a regression from #8337.
2015-06-15 18:06:43 +01:00
Paul Chote
4b1f541f34 Reorganize actor and smudge loading.
The actor and smudge definitions are now stored
as raw MiniYamlNodes in the map.  It is now the
responsibility of the consumers to parse these
into real objects.
2015-04-30 07:06:14 +12:00
reaperrr
8bc31a4ae2 Make smoke trail palette customisable, add player color trail support to bullets & missiles 2015-03-27 13:59:33 +01:00
RoosterDragon
82bea961ba Checked LINQ queries and collections for inefficiencies.
- Made Array.IndexOf available via extension method.
- Made ToHashSet extension method.
- Change collections queried often via Contains into sets.
- Avoid Count() extension if Count or Length property exist.
- Made Count() > 0 checks and variations calls to Any() instead.
- Don't call ToList/ToArray if there is no benefit to materializing the sequence.
- If the sequence does benefit from materialization, follow this general pattern:
  - Collection queried often via Contains use ToHashSet to speed up lookups.
  - Short lived variables use ToList. This is because ToArray requires an extra copy to output the final size.
  - Collections persisted into fields or for a long time use ToArray to minimize memory overhead.
2015-01-29 19:20:11 +00:00
abcdefg30
8ca61aa917 Updated all year numbers 2015-01-09 21:18:05 +01:00
reaperrr
ffca040c47 Moves traits from Common and Power namespaces to Common.Traits namespace 2014-12-11 23:21:31 +01:00
reaperrr
41f3ee1080 Move ShroudPalette, ShroudRenderer and StartGameNotification to Common
Move World into Traits folder
2014-11-14 00:59:17 +01:00