Commit Graph

465 Commits

Author SHA1 Message Date
Pavel Penev
256929073c Clean up some trait info loading code
Remove some methods that traits define to load their YAML values on their own.
2015-09-01 22:52:22 +03:00
RoosterDragon
2f9ca36506 Update WeaponInfo to use HashSets for some fields directly. 2015-08-27 21:48:12 +01:00
Matthias Mailänder
e428e6d8cc remove executable bits from source code 2015-08-06 18:05:50 +02:00
Zimmermann Gyula
1d80c37fda Add support for hiding music tracks. 2015-08-01 22:41:25 +01:00
atlimit8
429a9380e8 Ignore trait property requirements for abstract actor types 2015-07-12 12:44:30 -05:00
atlimit8
7881ff40bf Added FieldLoader.SerializeAttribute.Required to require fields in MiniYaml 2015-07-12 12:44:22 -05:00
Matthias Mailänder
7447e0bf93 rename WRange to WDist 2015-07-09 10:55:38 +02:00
penev92
fe94b7686e Introduce IWarhead and move Warhead to Mods.Common 2015-07-06 22:24:20 +03:00
Matthias Mailänder
5b122eae6c remove unused duplicated code 2015-07-06 10:58:34 +02:00
abcdefg30
6afc6a879e Update the ActorInfo summary 2015-07-05 18:43:10 +02:00
Paul Chote
7d62ac2b12 Merge RulesetCache.LoadDefaultRules and LoadMapRules. 2015-07-05 14:58:00 +01:00
Paul Chote
b8b27f11af Remove stub map constructor. 2015-07-05 14:57:58 +01:00
penev92
32bb70abca Remove DamageWarhead.DeathType in favor of DamageWarhead.DamageTypes 2015-05-24 00:15:07 +03:00
penev92
aa57d5f956 Move prone-related logic from DamageWarhead to TakeCover
Add DamageTypes to DamageWarhead and DamageTypeModifiers to TakeCover
2015-04-26 14:29:08 +03:00
RoosterDragon
fb0cab7481 Cache results of TraitsImplementing calls.
If a class is caching the TraitsImplementing enumerable, instead cache the results of enumerating it to an array. The avoids having to enumerate the sequence each time it is needed.
2015-04-25 20:42:27 +01:00
Paul Chote
8a1f9261c3 Convert hidden [Desc] to a <summary>. 2015-04-22 21:24:48 +12:00
Paul Chote
2cbe269c1e Support multiple inheritance for actor rules. 2015-04-22 21:24:47 +12:00
Paul Chote
0a43b3da72 Rewrite yaml merging block removal.
Fixes #2922, #6818.
2015-04-22 19:58:10 +12:00
RoosterDragon
ab2ef0ba03 Improve performance of target validation.
The Warhead and WeaponInfo classes now maintain preconstructed sets of valid and invalid targets to speed up validation checks since LINQ Intersect no longer has to be called (which recreates the sets internally each time).

Fixed minor bugs in the AI where it was repeating the validation logic but failing to account for invalid targets.
2015-04-02 21:11:12 +01:00
reaperrr
fb710f15bb Move projectile palette definition from weapon to projectile effects 2015-03-27 00:04:36 +01:00
Matthias Mailänder
595c792879 remove the unused movie lists 2015-02-01 18:53:50 +01:00
abcdefg30
8ca61aa917 Updated all year numbers 2015-01-09 21:18:05 +01:00
RoosterDragon
a6cda967c2 Formatted all files.
Automatically formatted all files via VS. This generally corrects indentation, removes trailing whitespace and corrects misplaced tabs or spaces. Manually tweaked a few files where required.
2015-01-06 21:28:50 +00:00
Hellhake
5a97a4b63b Fix StyleCop warnings in OpenRA.Game 2015-01-02 12:11:01 +01:00
RoosterDragon
f0f02dff5c Dispose of graphics resources deterministically.
Textures, FrameBuffers and VertexBuffers allocated by the Sdl2 Renderer were only being released via finalizers. This could lead to OpenGL out of memory errors since resources may not be cleaned up in a timely manner. To avoid this, IDisposable has been implemented and transitively applied to classes that use these resources.

As a side-effect some static state is no longer static, particularly in Renderer, in order to facilitate this change and just for nicer design in general.

Also dispose some bitmaps.
2014-12-22 17:34:01 +00:00
huwpascoe
db126ce1b6 Reimplemented TraitsInConstructOrder() 2014-10-29 20:37:14 +00:00
Oliver Brakmann
8f8b0b966f Avoid reading CenterPosition of invalid targets in DamageWarhead
Fixes #6642
2014-10-03 14:24:27 +02:00
Paul Chote
7bc8c171e8 Minor style fixes. 2014-09-29 21:01:44 +13:00
Paul Chote
f463407d8d Fix a loop closure bug in the weapons code.
Fixes #6597. Fixes #6599.
2014-09-29 20:57:20 +13:00
Paul Chote
caecf2d82a Move inaccuracy modifier queries outside the projectile ctors. Fixes #6449. 2014-09-20 21:43:00 +12:00
reaperrr
3725ce4f7b InfDeath -> DeathType renaming. 2014-08-30 18:06:05 +02:00
UberWaffe
1fbcdfc3c3 AffectsParent defaulted to false. 2014-08-25 20:44:21 +02:00
UberWaffe
e3e5e9eb00 Adds Diplomacy keywords for ValidTarget checks.
Changes:

Allows diplomacy stance checks to be done on warheads and weapons, using keywords in ValidTargets and InvalidTargets.
2014-08-24 07:00:21 +02:00
UberWaffe
76ccb0cf00 Changes Weapon.Impact() to use Target (from WPos). 2014-08-23 11:23:34 +02:00
Paul Chote
fa3e7b5e1b Convert versus to integers. 2014-08-23 17:14:12 +12:00
Paul Chote
d002a23d67 Change EffectivenessAgainst to CanTargetActor. 2014-08-23 17:14:10 +12:00
Paul Chote
227a523878 Further warhead streamlining. 2014-08-23 17:14:10 +12:00
Paul Chote
57ba1b54b4 Convert weapon plumbing to use integer damage modifiers. 2014-08-23 17:14:10 +12:00
Paul Chote
8e8e02dae8 Move warheads into mod code. 2014-08-23 17:14:10 +12:00
Paul Chote
1261d5891d Move common DoImpact(Target) method into DamageWarhead. 2014-08-23 17:14:09 +12:00
Alexander Fast
070d00c678 Fixes year numbers in license text in file headers. 2014-08-21 11:27:52 +02:00
obrakmann
87e4d6b422 Merge pull request #6079 from reaperrr/rof-modifier
Adds ReloadDelay modifier & renames ROF to ReloadDelay
2014-08-21 00:27:39 +02:00
reaperrr
3e3f1394d9 Adds length display support for PCM & IMA music. 2014-08-20 08:22:40 +02:00
reaperrr
4469b5f5ca Introduces ReloadModifier
and renames ROF -> ReloadDelay
2014-08-19 02:59:50 +02:00
UberWaffe
0ebe1c2c6a Made Effect, Resource and Smudge warheads return 0% effective against actors. 2014-08-16 10:58:04 +02:00
UberWaffe
fb2b63c7f8 #6030 regression fix. Added EffectivenessAgainst <= 0 check to IsvalidAgainst for Warhead. 2014-08-16 10:58:03 +02:00
UberWaffe
390ca380bd Fixed Warhead ValidTargets and InvalidTargets. 2014-08-16 10:58:02 +02:00
UberWaffe
c972b39687 Custom Warheads refactor
Changes included:

Warhead code split out of weapon code and refactored.
Warhead functionality now split into several classes, each handling one effect/impact.

Additional custom warheads can now be defined and called via yaml.
Custom warheads inherit the abstract class Warhead,
which provides target check functions.

Custom warheads have to define their own impact functions,
and can also define their own replacement for check
functions.
2014-08-03 17:10:44 +02:00
reaperrr
eb96b72878 Add MaxSpread to Warhead to allow setting a specific area of effect. 2014-07-12 12:14:56 +02:00
reaperrr
fabca5dca6 Move ProneDamage modifier from TakeCover to Warhead.
Rename it to ProneModifier and convert it to integer.
2014-07-08 21:05:42 +02:00