Commit Graph

336 Commits

Author SHA1 Message Date
RoosterDragon
7a7eed4fb7 Add FirstEnabledTraitOrDefault helper method.
This avoids the allocations caused by LINQ when using traits.FirstOrDefault(Exts.IsTraitEnabled). This is important in FrozenActorLayer.RefreshState which is called very often. We apply the new helper method to all areas using the old pattern. An overload that takes an array allows arrays to be enumerated without causing allocations.
2017-12-10 13:39:24 +00:00
kosti1
6a750d7a65 Added buildradius checkbox to lobby options 2017-11-01 18:18:41 +01:00
abcdefg30
7ccf41be77 Catch invalid default game speeds while loading the ruleset 2017-10-14 13:54:26 +02:00
abcdefg30
a8c6d12c43 Fix the map editor crashing on invisible actors 2017-10-14 13:35:33 +02:00
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
6f790938d0 Require explicit IGameOver 2017-09-28 13:14:08 +02:00
reaperrr
2b391d5724 Require explicit ICreatePlayers 2017-09-28 13:14:08 +02:00
reaperrr
a8e6cd2604 Require explicit IRenderOverlay 2017-09-28 13:14:08 +02:00
Matthias Mailänder
3af0b1a7a0 Remove PlayerPaletteFromCurrentTileset. 2017-09-17 16:20:38 +02:00
Paul Chote
f4c2b36778 Fix height calculations in custom terrain layers. 2017-09-17 15:35:40 +02:00
reaperrr
28e1f391e0 Make ITick require explicit implementation 2017-09-16 15:51:37 +02:00
rob-v
d4e9e0e069 Add Visualization chat commands 2017-07-23 15:08:24 +02:00
Paul Chote
afd8b9ab86 Rework harvester resource claiming:
* Maintains lists of claims, and only restricts
   reservations for friendly units.
 * Removes OnNotifyResourceClaimLost; it's not
   clear whether that is still useful, and it
   prevents future necessary cleanups.
 * Moves other code without changing behaviour.

This fixed stale claims from dead units and enemy
claims from preventing otherwise valid harvest
activities.
2017-07-18 01:09:19 +02:00
reaperrr
fdb3866238 Remove FootprintUtils 2017-07-13 17:43:41 +02:00
rob-v
3e7bf1880f Fix Map editor total ore money 2017-06-27 22:05:40 +01:00
Paul Chote
34810756c2 Move Voxel code to Mods.Cnc. 2017-06-14 18:56:06 +02:00
abcdefg30
434ea9ca88 Throw a lint error or an exception when no player owns the world 2017-05-20 11:02:00 +02:00
rob-v
fb1d8d780f Fix Service Depot Rally point path finding (+rename ignoredActor) 2017-05-06 19:49:40 +02:00
abcdefg30
ce97b3a3a2 Fix IPositionableInfo not inheriting IOccupySpaceInfo 2017-02-09 22:04:33 +01:00
abcdefg30
e53724b1de Fix SpawnMPUnits being limited to MobileInfo 2017-02-09 22:04:33 +01:00
Paul Chote
609e0d0f3e Fix weather particle positions when scrolling while paused. 2017-02-05 18:50:31 +00:00
Paul Chote
4f41b6e9ce Implement elevated bridge placeholders. 2017-01-29 18:58:34 +00:00
Paul Chote
5c77c0dc28 Implement jumpjets. 2017-01-29 18:58:34 +00:00
Paul Chote
572c1cb89f Implement subterranean units. 2017-01-29 18:58:33 +00:00
Paul Chote
41213ad2d1 Implement tunnels. 2017-01-29 18:58:33 +00:00
Paul Chote
2bd5a392d1 Add plumbing for custom movement layers. 2017-01-29 18:58:33 +00:00
Paul Chote
695a572dc3 Move ActorMap to mod code. 2017-01-29 18:57:36 +00:00
Paul Chote
544e40ecab Fix CliffBackImpassibilityLayer trait name. 2017-01-29 18:57:35 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Paul Chote
443c3ee72d Disable sound on the shell maps. 2016-12-23 11:34:23 +00:00
abcdefg30
deb082c91e Log an error when no cells are available to spawn starting units 2016-12-19 22:43:45 +01:00
Paul Chote
69e3c538d9 Implement ground-level bridge destruction and repair. 2016-12-10 11:52:04 +00:00
Paul Chote
0bc087f7bd Rename BridgeLayer to LegacyBridgeLayer. 2016-12-10 11:36:39 +00:00
reaperrr
5a8df27096 Make MP start units facing customizable
There might be modders or mappers who prefer different initial facing settings than the hardcoded ones.
2016-11-27 18:40:25 +01:00
Paul Chote
7e428d2c91 Add CliffBackImpassabilityLayer to TS. 2016-11-26 20:56:18 +00:00
Paul Chote
e187b985fe Prevent smudges from spawning in bogus cells. 2016-11-05 17:45:27 +00:00
Oliver Brakmann
443d35f240 Merge pull request #11984 from reaperrr/upgradable-tooltip
Make Tooltip upgradable
2016-10-26 20:48:19 +02:00
reaperrr
074bb78cbd Made Tooltip trait upgradable 2016-10-23 14:59:18 +02:00
Paul Chote
635fc9e1e2 Prevent mod code from changing Actor.Owner directly. 2016-10-23 12:21:03 +01: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
reaperrr
7ac5a25ce6 Merge pull request #11882 from pchote/remove-astar-overlay
Remove legacy A* visualisation.
2016-08-27 18:37:23 +02:00
Paul Chote
c092c93401 Add depth buffer support to debug overlays. 2016-08-27 15:43:20 +01:00
Paul Chote
50da18cd22 Add depth buffer support to RgbaColorRenderer. 2016-08-27 15:43:20 +01:00
Paul Chote
32eb98c17d Remove legacy A* visualisation. 2016-08-26 16:55:46 +01:00
Paul Chote
11805bb567 Rename and tweak post-render interfaces. 2016-08-22 17:40:05 +01: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
abcdefg30
4ed2c53b1a Fix the Desc of MapOptionsInfo 2016-07-24 15:34:21 +02:00