diff --git a/OpenRA.Mods.RA/Lint/CheckSequences.cs b/OpenRA.Mods.RA/Lint/CheckSequences.cs new file mode 100644 index 0000000000..b2feb9f9ed --- /dev/null +++ b/OpenRA.Mods.RA/Lint/CheckSequences.cs @@ -0,0 +1,38 @@ +#region Copyright & License Information +/* + * Copyright 2007-2013 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see COPYING. + */ +#endregion + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using OpenRA.FileFormats; +using OpenRA.Graphics; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA +{ + class CheckSequences : ILintPass + { + public void Run(Action emitError, Action emitWarning) + { + var sequences = Game.modData.Manifest.Sequences + .Select(s => MiniYaml.FromFile(s)).Aggregate(MiniYaml.MergeLiberal); + + foreach (var actorInfo in Rules.Info) + foreach (var renderInfo in actorInfo.Value.Traits.WithInterface()) + { + var image = renderInfo.Image ?? actorInfo.Value.Name; + if (!sequences.Any(s => s.Key == image.ToLower()) && !actorInfo.Value.Name.Contains("^")) + emitWarning("Sprite image {0} from actor {1} has no sequence definition.".F(image, actorInfo.Value.Name)); + } + } + } +} diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index b4d529fd2d..7f6c9ee5d3 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -426,6 +426,7 @@ + diff --git a/mods/d2k/bits/mpspawn.shp b/mods/d2k/bits/mpspawn.shp new file mode 100644 index 0000000000..897a66d665 Binary files /dev/null and b/mods/d2k/bits/mpspawn.shp differ diff --git a/mods/d2k/bits/waypoint.shp b/mods/d2k/bits/waypoint.shp new file mode 100644 index 0000000000..b9c837d2b1 Binary files /dev/null and b/mods/d2k/bits/waypoint.shp differ diff --git a/mods/d2k/chrome/gameinit.yaml b/mods/d2k/chrome/gameinit.yaml index ef8dbde39c..b5231e5655 100644 --- a/mods/d2k/chrome/gameinit.yaml +++ b/mods/d2k/chrome/gameinit.yaml @@ -25,14 +25,14 @@ Background@INSTALL_PANEL: Y:90 Width:PARENT_RIGHT Height:25 - Text:It requires the original Dune 2000 (and still some Red Alert) game content. + Text:It requires the original Dune 2000 assets whose fileformats differ from other C&C games. Align:Center Label@DESC3: X:0 Y:130 Width:PARENT_RIGHT Height:25 - Text:The easiest way is to simply click download to get already prepared files and restart. + Text:The easiest way is to simply click download to fetch already prepared files and restart. Align:Center Label@DESC4: X:0 diff --git a/mods/d2k/sequences.yaml b/mods/d2k/sequences.yaml index e486d36878..4090ac56a3 100644 --- a/mods/d2k/sequences.yaml +++ b/mods/d2k/sequences.yaml @@ -4,7 +4,7 @@ Facings: 32 laserfire: - idle: veh-hit2 + idle: miniboom Start: 0 Length: * @@ -65,10 +65,10 @@ trike: unload: Start: 0 Facings: 32 - muzzle: minigun + muzzle: minimuzzle Start: 0 - Length: 6 - Facings: 8 + Length: 1 + Facings: 32 quad: idle: @@ -77,10 +77,10 @@ quad: unload: Start: 0 Facings: 32 - muzzle: minigun + muzzle: minimuzzle Start: 0 - Length: 6 - Facings: 8 + Length: 1 + Facings: 32 siegetank: idle: @@ -1038,10 +1038,10 @@ raider: unload: Start: 0 Facings: 32 - muzzle: minigun + muzzle: minimuzzle Start: 0 - Length: 6 - Facings: 8 + Length: 1 + Facings: 32 deviatortank: idle: @@ -1275,6 +1275,40 @@ palacec: damaged-idle: Start: 1 +starportc: + idle: + Start: 0 + active: + Start: 0 + Length: 1 + damaged-idle: + Start: 1 + damaged-active: + Start: 1 + make: starportmake + Start: 0 + Length: * + +heavyc: + idle: + Start: 0 + Length: 1 + make: heavymake + Start: 0 + Length: * + damaged-idle: + Start: 0 + build-top: + Start: 1 + Length: 1 + damaged-build-top: + Start: 2 + Length: 1 + idle-top: + Start: 1 + damaged-idle-top: + Start: 2 + bombs: open: Start: 0 @@ -1290,3 +1324,17 @@ parach: idle: Start: 5 Length: 11 + +mpspawn: + idle: + Start: 0 + Length: * + +waypoint: + idle: + Start: 0 + Length: * + +sietch: + idle: + Start: 0 \ No newline at end of file diff --git a/mods/d2k/weapons.yaml b/mods/d2k/weapons.yaml index 31171d3be7..be1fe57cd8 100644 --- a/mods/d2k/weapons.yaml +++ b/mods/d2k/weapons.yaml @@ -105,7 +105,7 @@ Slung: Angle: .15 Proximity: true Inaccuracy: 12 - Image: DRAGON + Image: MISSILE Warhead: Spread: 6 Versus: @@ -235,7 +235,6 @@ TowerMissile: Inaccuracy: 12 Image: MISSILE2 ROT: 10 - Trail: smokey Speed: 45 RangeLimit: 50 Warhead: @@ -406,8 +405,10 @@ Sound: ROF: 85 Range: 8.5 Report: SONIC1 - #Charges: yes - Projectile: TeslaZap + Projectile: LaserZap + BeamRadius: 1 + BeamDuration: 8 + UsePlayerColor: true Warhead: Spread: 1 Versus: