Commit Graph

133 Commits

Author SHA1 Message Date
Mustafa Alperen Seki
c14c7653bc Make Prerequisite Lint Check use ITechTreePrerequisiteInfo 2018-07-26 12:34:26 +01:00
reaperrr
1c78073808 Lint check for distinct sprite body names 2018-07-01 13:16:07 +02:00
Paul Chote
707514572b Fix crlfs in CheckUnknown*Fields lint tests. 2018-07-01 00:25:56 +02:00
Paul Chote
51a2ca8253 Add CheckUnknownWeaponFields lint check. 2018-06-30 17:12:19 +01:00
Paul Chote
0a5016c803 Add CheckUnknownTraitFields lint check. 2018-06-30 17:12:19 +01:00
Paul Chote
d46278ab0e Add ModData parameter to ILintMapPass. 2018-06-30 17:12:19 +01:00
Paul Chote
4d664d4f74 Report custom map rule errors in the lint output. 2018-06-15 23:39:48 +02:00
Paul Chote
df95b90de2 Remove CheckDeathTypes lint test.
This causes false positive errors when mods use
SpawnActorOnDeath to implement special-case death
effects.
2018-06-04 23:12:07 +02:00
reaperrr
d6e0598bd0 Fix Locomotor lint check
It was missing from the project file (oops...) and missing a check for duplicate Locomotor names.
2018-05-04 19:20:39 +02:00
reaperrr
a52e83ca49 Add Locomotor lint check 2018-05-03 10:49:21 +02:00
Peter Antal
d2ff5b49fd Allow each caller on MergeOrDefault to discard nodes.
Use filtering ActorInfo's to drop template actors.
2018-03-21 12:10:31 +01:00
RoosterDragon
5bd5a384b7 Use a BitSet for representing target types.
- Rename Bits<T> to BitSet<T>.
- Implement set based helpers for BitSet<T>.
- When representing TargetTypes of ITargetable in various traits, use a BitSet<TargetableType> instead of HashSet<string> for better performance & reduced memory usage.
- Fix FieldLoader to trim input values when generating a BitSet<T>.
- Require T in BitSet<T> and BitSetAllocator<T> to be a class since it's just a marker value. This allows the JIT to instantiate generic code for these classes once, as they don't benefit from specialized code for T. (Typically JITs will generate shared code for all reference types, and unique code for every value type encountered).
2018-03-21 12:07:44 +01:00
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
RoosterDragon
c8c7629bce Convert some stray spaces to tabs. 2017-12-16 15:53:03 +00:00
Paul Chote
55b6084b60 Add a lint test for conflicting Interactable and Selectable. 2017-12-11 19:45:07 +01:00
RoosterDragon
5338784e45 Fix bad uses of FirstEnabledTraitOrDefault on TraitInfos.
These are not traits so this method does not work. We can use EnabledByDefault on the ConditionalTraitInfo instead.
2017-12-10 13:39:24 +00:00
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
Paul Chote
b4c5346346 Migrate hotkey linter to HotkeyManager. 2017-12-08 01:29:15 +01:00
Paul Chote
c4237d6a1a Rename NamedHotkey to HotkeyReference. 2017-12-08 01:29:15 +01:00
Paul Chote
19000219af Allow widgets to expose custom hotkey names to the linter. 2017-09-10 21:30:55 +02:00
Paul Chote
8d4ffee32a Add hotkey linting support for logic args. 2017-08-31 12:33:34 +02:00
Paul Chote
a29360f313 Add a lint test for hotkeys. 2017-08-25 21:56:52 +02:00
reaperrr
46dc827d46 Refactor footprint cell lookups and move them to Building
Removing FootprintUtils happens in the next commit for better
reviewability.
2017-07-13 17:43:41 +02:00
abcdefg30
118039ded3 Add a missing i 2017-06-22 14:35:26 +02:00
abcdefg30
839945cf57 Fix a crash in CheckSequences when the sprite image is null 2017-06-22 14:35:26 +02:00
reaperrr
7fd0a3aa58 Lint check and yaml enforcement for HitShape
Now that Health no longer provides a HitShape, actors with Health need at
least one HitShape trait.
2017-06-04 00:07:08 +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
reaperrr
5b8c313d55 Remove lint rule for victim scan radii
They're now calculated automatically to use the most sensible value by default. Only people who know what they're doing or fool around will use custom values, and in that case a lint rule might actually just annoy people.
2017-05-13 11:15:38 -07:00
atlimit8
b0187dd646 Added (Boolean|Integer)Expression subclasses of VariableExpression 2017-04-11 02:52:54 -05:00
atlimit8
e73d3922dd Rename ConditionExpression => VariableExpression 2017-04-11 01:26:38 -05:00
atlimit8
d83dae5587 Rename BooleanExpression => ConditionExpression 2017-02-22 08:54:50 -06:00
Paul Chote
85630501e1 Work around lint test limitations. 2017-01-29 18:58:35 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Paul Chote
d0270ab866 Rename comments and documentation. 2016-12-23 15:17:02 +00:00
Paul Chote
dcad5c3f7c Rename UpgradeManager to ConditionManager. 2016-12-23 14:57:56 +00:00
Paul Chote
f787f275db Add actor conditions lint rule. 2016-12-23 11:31:06 +00:00
reaperrr
848cf19ba8 Merge pull request #12381 from pchote/upgrade-conditions
Upgrades overhaul part 1: EnabledCondition
2016-11-30 19:42:34 +01:00
Paul Chote
b1f99dd601 Add GroundPosition VisibilityType. 2016-11-26 21:10:44 +00:00
Paul Chote
ef8a7a535d Fix string comparison in CheckRevealFootprint. 2016-11-26 21:10:28 +00:00
Paul Chote
0ba0470390 Remove upgrades lint check. 2016-11-20 13:55:47 +00:00
Paul Chote
1cc7944437 Add FieldLoader and linter support for BooleanExpression. 2016-11-19 17:19:25 +00:00
Paul Chote
c62870cc30 Merge pull request #12004 from reaperrr/projectile-cleanup2
More projectile property streamlining and cleanups
2016-10-29 14:21:29 +01:00
reaperrr
00c0161513 Show internal name instead of crashing when buildable actor has no tooltip
But throw a lint error instead.
2016-10-23 14:59:22 +02:00
reaperrr
efd54f1c65 Add lint check for invalid projectile angles
Emits error if
- angle exceeds 255 or -255
- minimum launch angle exceeds maximum launch angle
2016-10-22 18:00:36 +02:00
Guido Lipke
ab8c35123b [Lint] Report when Maps contains invalid custom rules.
Report when Maps contains invalid custom rules.
2016-10-04 14:39:21 +02:00
reaperrr
239f51e8b2 Merge pull request #11406 from Mailaender/upgrademanager-exception
Added an error message when setting up upgrades without UpgradeManager
2016-06-11 12:59:59 +02:00
Matthias Mailänder
3b27975b33 Also check for a missing UpgradeManager trait
as optional upgrades will otherwise be silently non-functional.
2016-06-05 17:37:36 +02:00
Matthias Mailänder
bec879cf7c Don't check modulare actor templates
as the inherited combinations of the actors are of concern.
2016-06-05 17:36:32 +02:00
Matthias Mailänder
6cc7a21629 Add FLAMEGUY. 2016-06-05 00:35:42 +02:00
Paul Chote
b4d1517d0d Set yaml filename when loading from FileSystem. 2016-06-04 15:23:44 +01:00