diff --git a/Makefile b/Makefile index 7a35d7ded2..e23ac09193 100644 --- a/Makefile +++ b/Makefile @@ -152,8 +152,8 @@ mod_cnc: $(mod_cnc_TARGET) mod_d2k_SRCS := $(shell find OpenRA.Mods.D2k/ -iname '*.cs') mod_d2k_TARGET = mods/d2k/OpenRA.Mods.D2k.dll mod_d2k_KIND = library -mod_d2k_DEPS = $(STD_MOD_DEPS) $(mod_ra_TARGET) $(mod_cnc_TARGET) $(utility_TARGET) -mod_d2k_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_ra_TARGET) $(utility_TARGET) +mod_d2k_DEPS = $(STD_MOD_DEPS) $(mod_ra_TARGET) $(mod_cnc_TARGET) +mod_d2k_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_ra_TARGET) mod_d2k_EXTRA_CMDS = mono --debug RALint.exe d2k PROGRAMS += mod_d2k mod_d2k: $(mod_d2k_TARGET) diff --git a/OpenRA.FileFormats/MiniYaml.cs b/OpenRA.FileFormats/MiniYaml.cs index 965f8e362e..4aed94cfdd 100755 --- a/OpenRA.FileFormats/MiniYaml.cs +++ b/OpenRA.FileFormats/MiniYaml.cs @@ -93,7 +93,7 @@ namespace OpenRA.FileFormats foreach (var y in Nodes) { if (ret.ContainsKey(y.Key)) - throw new InvalidDataException("Duplicate key `{0}' in MiniYaml".F(y.Key)); + throw new InvalidDataException("Duplicate key `{0}' in {1}".F(y.Key, y.Location)); ret.Add(y.Key, y.Value); } diff --git a/OpenRA.Game/Actor.cs b/OpenRA.Game/Actor.cs index dc77cd1e13..936e4a0b9d 100755 --- a/OpenRA.Game/Actor.cs +++ b/OpenRA.Game/Actor.cs @@ -53,16 +53,16 @@ namespace OpenRA public Group Group; public int Generation; - internal Actor(World world, string name, TypeDictionary initDict ) + internal Actor(World world, string name, TypeDictionary initDict) { - var init = new ActorInitializer( this, initDict ); + var init = new ActorInitializer(this, initDict); World = world; ActorID = world.NextAID(); - if( initDict.Contains() ) + if (initDict.Contains()) Owner = init.Get(); - occupySpace = Lazy.New( () => TraitOrDefault() ); + occupySpace = Lazy.New(() => TraitOrDefault()); if (name != null) { diff --git a/OpenRA.Game/Graphics/CursorProvider.cs b/OpenRA.Game/Graphics/CursorProvider.cs index 79e4db3966..6d76ff5315 100644 --- a/OpenRA.Game/Graphics/CursorProvider.cs +++ b/OpenRA.Game/Graphics/CursorProvider.cs @@ -38,17 +38,17 @@ namespace OpenRA.Graphics cursors = new Dictionary(); palettes = new Cache(CreatePaletteReference); var sequences = new MiniYaml(null, sequenceFiles.Select(s => MiniYaml.FromFile(s)).Aggregate(MiniYaml.MergeLiberal)); - int[] ShadowIndex = { }; + var shadowIndex = new int[] { }; if (sequences.NodesDict.ContainsKey("ShadowIndex")) { - Array.Resize(ref ShadowIndex, ShadowIndex.Length + 1); - int.TryParse(sequences.NodesDict["ShadowIndex"].Value, out ShadowIndex[ShadowIndex.Length - 1]); + Array.Resize(ref shadowIndex, shadowIndex.Length + 1); + int.TryParse(sequences.NodesDict["ShadowIndex"].Value, out shadowIndex[shadowIndex.Length - 1]); } palette = new HardwarePalette(); foreach (var p in sequences.NodesDict["Palettes"].Nodes) - palette.AddPalette(p.Key, new Palette(FileSystem.Open(p.Value.Value), ShadowIndex), false); + palette.AddPalette(p.Key, new Palette(FileSystem.Open(p.Value.Value), shadowIndex), false); foreach (var s in sequences.NodesDict["Cursors"].Nodes) LoadSequencesForCursor(s.Key, s.Value); @@ -76,7 +76,7 @@ namespace OpenRA.Graphics renderer.SetPalette(palette); renderer.SpriteRenderer.DrawSprite(cursorSprite, - lastMousePos - cursorSequence.Hotspot, + lastMousePos - cursorSequence.Hotspot - (0.5f * cursorSprite.size).ToInt2(), palettes[cursorSequence.Palette], cursorSprite.size); } diff --git a/OpenRA.Game/Graphics/CursorSequence.cs b/OpenRA.Game/Graphics/CursorSequence.cs index 3cda6b1791..923510ff53 100644 --- a/OpenRA.Game/Graphics/CursorSequence.cs +++ b/OpenRA.Game/Graphics/CursorSequence.cs @@ -44,9 +44,9 @@ namespace OpenRA.Graphics length = 1; if (d.ContainsKey("x")) - int.TryParse(d["x"].Value, out Hotspot.X ); + int.TryParse(d["x"].Value, out Hotspot.X); if (d.ContainsKey("y")) - int.TryParse(d["y"].Value, out Hotspot.Y ); + int.TryParse(d["y"].Value, out Hotspot.Y); } public Sprite GetSprite(int frame) diff --git a/OpenRA.Game/Graphics/Sequence.cs b/OpenRA.Game/Graphics/Sequence.cs index 005c63f2dc..0bcd018cc7 100644 --- a/OpenRA.Game/Graphics/Sequence.cs +++ b/OpenRA.Game/Graphics/Sequence.cs @@ -30,6 +30,7 @@ namespace OpenRA.Graphics public readonly int ZOffset; public readonly int ShadowStart; public readonly int ShadowZOffset; + public readonly int[] Frames; public Sequence(string unit, string name, MiniYaml info) { @@ -39,79 +40,90 @@ namespace OpenRA.Graphics var offset = float2.Zero; var blendMode = BlendMode.Alpha; - Start = int.Parse(d["Start"].Value); - - if (d.ContainsKey("Offset")) - offset = FieldLoader.GetValue("Offset", d["Offset"].Value); - - if (d.ContainsKey("BlendMode")) - blendMode = FieldLoader.GetValue("BlendMode", d["BlendMode"].Value); - - // Apply offset to each sprite in the sequence - // Different sequences may apply different offsets to the same frame - sprites = Game.modData.SpriteLoader.LoadAllSprites(srcOverride ?? unit).Select( - s => new Sprite(s.sheet, s.bounds, s.offset + offset, s.channel, blendMode)).ToArray(); - - if (!d.ContainsKey("Length")) - Length = 1; - else if (d["Length"].Value == "*") - Length = sprites.Length - Start; - else - Length = int.Parse(d["Length"].Value); - - if (d.ContainsKey("Stride")) - Stride = int.Parse(d["Stride"].Value); - else - Stride = Length; - - if (d.ContainsKey("Facings")) + try { - var f = int.Parse(d["Facings"].Value); - Facings = Math.Abs(f); - reverseFacings = f < 0; + if (d.ContainsKey("Start")) + Start = int.Parse(d["Start"].Value); + + if (d.ContainsKey("Offset")) + offset = FieldLoader.GetValue("Offset", d["Offset"].Value); + + if (d.ContainsKey("BlendMode")) + blendMode = FieldLoader.GetValue("BlendMode", d["BlendMode"].Value); + + // Apply offset to each sprite in the sequence + // Different sequences may apply different offsets to the same frame + sprites = Game.modData.SpriteLoader.LoadAllSprites(srcOverride ?? unit).Select( + s => new Sprite(s.sheet, s.bounds, s.offset + offset, s.channel, blendMode)).ToArray(); + + if (!d.ContainsKey("Length")) + Length = 1; + else if (d["Length"].Value == "*") + Length = sprites.Length - Start; + else + Length = int.Parse(d["Length"].Value); + + if (d.ContainsKey("Stride")) + Stride = int.Parse(d["Stride"].Value); + else + Stride = Length; + + if (d.ContainsKey("Facings")) + { + var f = int.Parse(d["Facings"].Value); + Facings = Math.Abs(f); + reverseFacings = f < 0; + } + else + Facings = 1; + + if (d.ContainsKey("Tick")) + Tick = int.Parse(d["Tick"].Value); + else + Tick = 40; + + if (d.ContainsKey("Transpose")) + transpose = bool.Parse(d["Transpose"].Value); + + if (d.ContainsKey("Frames")) + Frames = Array.ConvertAll(d["Frames"].Value.Split(','), int.Parse); + + if (d.ContainsKey("ShadowStart")) + ShadowStart = int.Parse(d["ShadowStart"].Value); + else + ShadowStart = -1; + + if (d.ContainsKey("ShadowZOffset")) + { + WRange r; + if (WRange.TryParse(d["ShadowZOffset"].Value, out r)) + ShadowZOffset = r.Range; + } + else + ShadowZOffset = -5; + + if (d.ContainsKey("ZOffset")) + { + WRange r; + if (WRange.TryParse(d["ZOffset"].Value, out r)) + ZOffset = r.Range; + } + + if (Length > Stride) + throw new InvalidOperationException( + "{0}: Sequence {1}.{2}: Length must be <= stride" + .F(info.Nodes[0].Location, unit, name)); + + if (Start < 0 || Start + Facings * Stride > sprites.Length || ShadowStart + Facings * Stride > sprites.Length) + throw new InvalidOperationException( + "{6}: Sequence {0}.{1} uses frames [{2}..{3}] of SHP `{4}`, but only 0..{5} actually exist" + .F(unit, name, Start, Start + Facings * Stride - 1, srcOverride ?? unit, sprites.Length - 1, + info.Nodes[0].Location)); } - else - Facings = 1; - - if (d.ContainsKey("Tick")) - Tick = int.Parse(d["Tick"].Value); - else - Tick = 40; - - if (d.ContainsKey("Transpose")) - transpose = bool.Parse(d["Transpose"].Value); - - if (d.ContainsKey("ShadowStart")) - ShadowStart = int.Parse(d["ShadowStart"].Value); - else - ShadowStart = -1; - - if (d.ContainsKey("ShadowZOffset")) + catch (FormatException f) { - WRange r; - if (WRange.TryParse(d["ShadowZOffset"].Value, out r)) - ShadowZOffset = r.Range; + throw new FormatException("Failed to parse sequences for {0}.{1} at {2}:\n{3}".F(unit, name, info.Nodes[0].Location, f)); } - else - ShadowZOffset = -5; - - if (d.ContainsKey("ZOffset")) - { - WRange r; - if (WRange.TryParse(d["ZOffset"].Value, out r)) - ZOffset = r.Range; - } - - if (Length > Stride) - throw new InvalidOperationException( - "{0}: Sequence {1}.{2}: Length must be <= stride" - .F(info.Nodes[0].Location, unit, name)); - - if (Start < 0 || Start + Facings * Stride > sprites.Length || ShadowStart + Facings * Stride > sprites.Length) - throw new InvalidOperationException( - "{6}: Sequence {0}.{1} uses frames [{2}..{3}] of SHP `{4}`, but only 0..{5} actually exist" - .F(unit, name, Start, Start + Facings * Stride - 1, srcOverride ?? unit, sprites.Length - 1, - info.Nodes[0].Location)); } public Sprite GetSprite(int frame) @@ -136,9 +148,12 @@ namespace OpenRA.Graphics if (reverseFacings) f = (Facings - f) % Facings; - int i = transpose ? (frame % Length) * Facings + f : + var i = transpose ? (frame % Length) * Facings + f : (f * Stride) + (frame % Length); + if (Frames != null) + return sprites[Frames[i]]; + return sprites[start + i]; } } diff --git a/OpenRA.Game/Widgets/WidgetLoader.cs b/OpenRA.Game/Widgets/WidgetLoader.cs index 0d168e2c3f..12e7604959 100644 --- a/OpenRA.Game/Widgets/WidgetLoader.cs +++ b/OpenRA.Game/Widgets/WidgetLoader.cs @@ -20,15 +20,15 @@ namespace OpenRA { Dictionary widgets = new Dictionary(); - public WidgetLoader( ModData modData ) + public WidgetLoader(ModData modData) { - foreach( var file in modData.Manifest.ChromeLayout.Select( a => MiniYaml.FromFile( a ) ) ) + foreach (var file in modData.Manifest.ChromeLayout.Select(a => MiniYaml.FromFile(a))) foreach( var w in file ) { - var key = w.Key.Substring( w.Key.IndexOf( '@' ) + 1 ); + var key = w.Key.Substring( w.Key.IndexOf('@') + 1); if (widgets.ContainsKey(key)) - throw new InvalidDataException("Widget has duplicate Key `{0}`".F(w.Key)); - widgets.Add( key, w ); + throw new InvalidDataException("Widget has duplicate Key `{0}` at {1}".F(w.Key, w.Location)); + widgets.Add(key, w); } } diff --git a/OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs b/OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs index b172f81fc9..3d174acd16 100755 --- a/OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs +++ b/OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs @@ -16,6 +16,7 @@ using OpenRA.Graphics; using OpenRA.Mods.RA; using OpenRA.Mods.RA.Buildings; using OpenRA.Mods.RA.Orders; +using OpenRA.Traits; using OpenRA.Widgets; namespace OpenRA.Mods.Cnc.Widgets @@ -53,7 +54,6 @@ namespace OpenRA.Mods.Cnc.Widgets public override Rectangle EventBounds { get { return eventBounds; } } Dictionary icons = new Dictionary(); - Dictionary iconSprites; Animation cantBuild, clock; Rectangle eventBounds = Rectangle.Empty; readonly WorldRenderer worldRenderer; @@ -71,13 +71,6 @@ namespace OpenRA.Mods.Cnc.Widgets cantBuild = new Animation("clock"); cantBuild.PlayFetchIndex("idle", () => 0); clock = new Animation("clock"); - - iconSprites = Rules.Info.Values - .Where(u => u.Traits.Contains() && u.Name[0] != '^') - .ToDictionary( - u => u.Name, - u => Game.modData.SpriteLoader.LoadAllSprites( - u.Traits.Get().Icon ?? (u.Name + "icon"))[0]); } public override void Tick() @@ -186,10 +179,12 @@ namespace OpenRA.Mods.Cnc.Widgets var x = i % Columns; var y = i / Columns; var rect = new Rectangle(rb.X + x * 64 + 1, rb.Y + y * 48 + 1, 64, 48); + var icon = new Animation(RenderSimple.GetImage(item)); + icon.Play(item.Traits.Get().Icon); var pi = new ProductionIcon() { Name = item.Name, - Sprite = iconSprites[item.Name], + Sprite = icon.Image, Pos = new float2(rect.Location), Queued = CurrentQueue.AllQueued().Where(a => a.Item == item.Name).ToList(), }; diff --git a/OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs b/OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs index f6532a83cc..48d60f1715 100755 --- a/OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs +++ b/OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.Cnc.Widgets readonly WorldRenderer worldRenderer; readonly SupportPowerManager spm; - Dictionary iconSprites; + Animation icon; Animation clock; Dictionary icons = new Dictionary(); @@ -52,12 +52,7 @@ namespace OpenRA.Mods.Cnc.Widgets tooltipContainer = Lazy.New(() => Ui.Root.Get(TooltipContainer)); - iconSprites = Rules.Info.Values.SelectMany(u => u.Traits.WithInterface()) - .Select(u => u.Image).Distinct() - .ToDictionary( - u => u, - u => Game.modData.SpriteLoader.LoadAllSprites(u)[0]); - + icon = new Animation("icon"); clock = new Animation("clock"); } @@ -78,11 +73,12 @@ namespace OpenRA.Mods.Cnc.Widgets foreach (var p in powers) { var rect = new Rectangle(rb.X + 1, rb.Y + i * (48 + Spacing) + 1, 64, 48); + icon.Play(p.Info.Icon); var power = new SupportPowerIcon() { Power = p, Pos = new float2(rect.Location), - Sprite = iconSprites[p.Info.Image] + Sprite = icon.Image }; icons.Add(rect, power); diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj index 4677860648..3f749abf5d 100644 --- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -79,10 +79,10 @@ - + @@ -91,10 +91,6 @@ copy "$(TargetPath)" "$(SolutionDir)mods/d2k/" cd "$(SolutionDir)" - - {F33337BE-CB69-4B24-850F-07D23E408DDF} - OpenRA.Utility - {0DFB103F-2962-400F-8C6D-E2C28CCBA633} OpenRA.Game @@ -103,10 +99,6 @@ cd "$(SolutionDir)" {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA} OpenRA.FileFormats - - {1A8E50CC-EE32-4E57-8842-0C39C8EA7541} - OpenRA.TilesetBuilder - {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E} OpenRA.Mods.RA @@ -129,4 +121,7 @@ cd "$(SolutionDir)" true + + + \ No newline at end of file diff --git a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs new file mode 100644 index 0000000000..a22f666ba5 --- /dev/null +++ b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs @@ -0,0 +1,46 @@ +#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 OpenRA.FileFormats; +using OpenRA.Graphics; +using OpenRA.Traits; +using OpenRA.Mods.RA.Buildings; + +namespace OpenRA.Mods.RA.Render +{ + public class WithCrumbleOverlayInfo : ITraitInfo, Requires + { + [Desc("Sequence name to use")] + public readonly string Sequence = "crumble-overlay"; + + public object Create(ActorInitializer init) { return new WithCrumbleOverlay(init.self, this); } + } + + public class WithCrumbleOverlay : INotifyBuildComplete + { + Animation overlay; + bool buildComplete = false; + + public WithCrumbleOverlay(Actor self, WithCrumbleOverlayInfo info) + { + var rs = self.Trait(); + + overlay = new Animation(rs.GetImage(self)); + overlay.PlayThen(info.Sequence, () => buildComplete = false); + rs.anims.Add("make_overlay_{0}".F(info.Sequence), + new AnimationWithOffset(overlay, null, () => !buildComplete, null)); + } + + public void BuildingComplete(Actor self) + { + buildComplete = true; + } + } +} \ No newline at end of file diff --git a/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs b/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs deleted file mode 100644 index ca5f3fbc17..0000000000 --- a/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs +++ /dev/null @@ -1,769 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2012 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.Diagnostics; -using System.IO; -using System.Linq; -using System.Threading; -using OpenRA.FileFormats; -using OpenRA.FileFormats.Graphics; -using OpenRA.Utility; -using OpenRA.Widgets; - -namespace OpenRA.Mods.D2k.Widgets.Logic -{ - public class D2kExtractGameFilesLogic - { - Widget panel; - ProgressBarWidget progressBar; - LabelWidget statusLabel; - Action continueLoading; - ButtonWidget retryButton, backButton; - Widget extractingContainer, copyFilesContainer; - - [ObjectCreator.UseCtor] - public D2kExtractGameFilesLogic(Widget widget, Action continueLoading) - { - panel = widget.Get("EXTRACT_GAMEFILES_PANEL"); - progressBar = panel.Get("PROGRESS_BAR"); - statusLabel = panel.Get("STATUS_LABEL"); - - backButton = panel.Get("BACK_BUTTON"); - backButton.OnClick = Ui.CloseWindow; - - retryButton = panel.Get("RETRY_BUTTON"); - retryButton.OnClick = Extract; - - extractingContainer = panel.Get("EXTRACTING"); - copyFilesContainer = panel.Get("COPY_FILES"); - - Extract(); - this.continueLoading = continueLoading; - } - - void Extract() - { - backButton.IsDisabled = () => true; - retryButton.IsDisabled = () => true; - copyFilesContainer.IsVisible = () => false; - extractingContainer.IsVisible = () => true; - - var pathToDataR8 = Path.Combine(Platform.SupportDir, "Content/d2k/DATA.R8"); - var pathToPalette = "mods/d2k/bits/d2k.pal"; - var pathToSHPs = Path.Combine(Platform.SupportDir, "Content/d2k/SHPs"); - var pathToTilesets = Path.Combine(Platform.SupportDir, "Content/d2k/Tilesets"); - - var extractGameFiles = new string[][] - { - new string[] { "--r8", pathToDataR8, pathToPalette, "0", "2", Path.Combine(pathToSHPs, "overlay") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3", "3", Path.Combine(pathToSHPs, "repairing") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4", "4", Path.Combine(pathToSHPs, "black") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "5", "8", Path.Combine(pathToSHPs, "selectionedges") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "9", "9", Path.Combine(pathToSHPs, "bar1") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "10", "10", Path.Combine(pathToSHPs, "bar2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "11", "11", Path.Combine(pathToSHPs, "bar3") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "12", "12", Path.Combine(pathToSHPs, "bar4") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "13", "13", Path.Combine(pathToSHPs, "bar5") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "14", "14", Path.Combine(pathToSHPs, "bar6") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "15", "16", Path.Combine(pathToSHPs, "dots") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "17", "26", Path.Combine(pathToSHPs, "numbers") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "27", "37", Path.Combine(pathToSHPs, "credits") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "40", "101", Path.Combine(pathToSHPs, "d2kshadow") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "102", "105", Path.Combine(pathToSHPs, "crates") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "107", "109", Path.Combine(pathToSHPs, "spicebloom") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "110", "111", Path.Combine(pathToSHPs, "stars") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "112", "113", Path.Combine(pathToSHPs, "greenuparrow") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "114", "129", Path.Combine(pathToSHPs, "rockcrater1") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "130", "145", Path.Combine(pathToSHPs, "rockcrater2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "146", "161", Path.Combine(pathToSHPs, "sandcrater1") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "162", "177", Path.Combine(pathToSHPs, "sandcrater2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "178", "193", Path.Combine(pathToSHPs, "unknown") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "194", "205", Path.Combine(pathToSHPs, "unknown2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "206", "381", Path.Combine(pathToSHPs, "rifle"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "382", "457", Path.Combine(pathToSHPs, "rifledeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "458", "633", Path.Combine(pathToSHPs, "bazooka"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "634", "693", Path.Combine(pathToSHPs, "bazookadeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "694", "869", Path.Combine(pathToSHPs, "fremen"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "870", "929", Path.Combine(pathToSHPs, "fremendeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "930", "1105", Path.Combine(pathToSHPs, "sardaukar"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1106", "1165", Path.Combine(pathToSHPs, "sardaukardeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1166", "1341", Path.Combine(pathToSHPs, "engineer"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1342", "1401", Path.Combine(pathToSHPs, "engineerdeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1402", "1457", Path.Combine(pathToSHPs, "thumper"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1458", "1462", Path.Combine(pathToSHPs, "thumping"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1463", "1542", Path.Combine(pathToSHPs, "thumper2"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1543", "1602", Path.Combine(pathToSHPs, "thumperdeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1603", "1634", Path.Combine(pathToSHPs, "missiletank"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1635", "1666", Path.Combine(pathToSHPs, "trike"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1667", "1698", Path.Combine(pathToSHPs, "quad"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1699", "1730", Path.Combine(pathToSHPs, "harvester"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1731", "1762", Path.Combine(pathToSHPs, "combata"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1763", "1794", Path.Combine(pathToSHPs, "siegetank"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1795", "1826", Path.Combine(pathToSHPs, "dmcv"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1827", "1858", Path.Combine(pathToSHPs, "sonictank"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1859", "1890", Path.Combine(pathToSHPs, "combataturret"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1891", "1922", Path.Combine(pathToSHPs, "siegeturret"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1923", "1954", Path.Combine(pathToSHPs, "carryall"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "1955", "2050", Path.Combine(pathToSHPs, "orni"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2051", "2082", Path.Combine(pathToSHPs, "combath"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2083", "2114", Path.Combine(pathToSHPs, "devast"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2115", "2146", Path.Combine(pathToSHPs, "combathturret"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2147", "2148", Path.Combine(pathToSHPs, "deathhandmissile") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2149", "2324", Path.Combine(pathToSHPs, "saboteur"), "--infantry" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2325", "2388", Path.Combine(pathToSHPs, "saboteurdeath"), "--infantrydeath" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2389", "2420", Path.Combine(pathToSHPs, "deviatortank"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2421", "2452", Path.Combine(pathToSHPs, "raider"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2453", "2484", Path.Combine(pathToSHPs, "combato"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2485", "2516", Path.Combine(pathToSHPs, "combatoturret"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2517", "2517", Path.Combine(pathToSHPs, "frigate"), "--vehicle" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2518", "2520", Path.Combine(pathToSHPs, "heavya"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2521", "2522", Path.Combine(pathToSHPs, "radara"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2523", "2524", Path.Combine(pathToSHPs, "pwra"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2525", "2526", Path.Combine(pathToSHPs, "barra"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2527", "2558", Path.Combine(pathToSHPs, "walla"), "--wall" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2559", "2560", Path.Combine(pathToSHPs, "conyarda"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2561", "2563", Path.Combine(pathToSHPs, "refa"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2564", "2565", Path.Combine(pathToSHPs, "hightecha"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2566", "2570", Path.Combine(pathToSHPs, "siloa"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2571", "2572", Path.Combine(pathToSHPs, "repaira"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2573", "2588", Path.Combine(pathToSHPs, "guntowera"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2589", "2620", Path.Combine(pathToSHPs, "gunturreta"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2621", "2636", Path.Combine(pathToSHPs, "rockettowera"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2637", "2668", Path.Combine(pathToSHPs, "rocketturreta"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2669", "2670", Path.Combine(pathToSHPs, "researcha"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2671", "2672", Path.Combine(pathToSHPs, "starporta"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2673", "2675", Path.Combine(pathToSHPs, "lighta"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2676", "2677", Path.Combine(pathToSHPs, "palacea"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2678", "2680", Path.Combine(pathToSHPs, "heavyh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2681", "2682", Path.Combine(pathToSHPs, "radarh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2683", "2684", Path.Combine(pathToSHPs, "pwrh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2685", "2686", Path.Combine(pathToSHPs, "barrh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2687", "2718", Path.Combine(pathToSHPs, "wallh"), "--wall" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2719", "2720", Path.Combine(pathToSHPs, "conyardh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2721", "2723", Path.Combine(pathToSHPs, "refh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2724", "2725", Path.Combine(pathToSHPs, "hightechh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2726", "2730", Path.Combine(pathToSHPs, "siloh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2731", "2732", Path.Combine(pathToSHPs, "repairh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2733", "2748", Path.Combine(pathToSHPs, "guntowerh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2749", "2780", Path.Combine(pathToSHPs, "gunturreth"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2781", "2796", Path.Combine(pathToSHPs, "rockettowerh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2797", "2828", Path.Combine(pathToSHPs, "rocketturreth"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2829", "2830", Path.Combine(pathToSHPs, "researchh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2831", "2832", Path.Combine(pathToSHPs, "starporth"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2833", "2835", Path.Combine(pathToSHPs, "lighth"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2836", "2837", Path.Combine(pathToSHPs, "palaceh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2838", "2840", Path.Combine(pathToSHPs, "heavyo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2841", "2842", Path.Combine(pathToSHPs, "radaro"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2843", "2844", Path.Combine(pathToSHPs, "pwro"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2845", "2846", Path.Combine(pathToSHPs, "barro"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2847", "2878", Path.Combine(pathToSHPs, "wallo"), "--wall" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2879", "2880", Path.Combine(pathToSHPs, "conyardo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2881", "2883", Path.Combine(pathToSHPs, "refo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2884", "2885", Path.Combine(pathToSHPs, "hightecho"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2886", "2890", Path.Combine(pathToSHPs, "siloo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2891", "2892", Path.Combine(pathToSHPs, "repairo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2893", "2908", Path.Combine(pathToSHPs, "guntowero"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2909", "2940", Path.Combine(pathToSHPs, "gunturreto"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2941", "2956", Path.Combine(pathToSHPs, "rockettowero"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2957", "2988", Path.Combine(pathToSHPs, "rocketturreto"), "--turret" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2989", "2990", Path.Combine(pathToSHPs, "researcho"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2991", "2992", Path.Combine(pathToSHPs, "starporto"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2993", "2995", Path.Combine(pathToSHPs, "lighto"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2996", "2997", Path.Combine(pathToSHPs, "palaceo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2998", "2998", Path.Combine(pathToSHPs, "sietch"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "2999", "3000", Path.Combine(pathToSHPs, "starportc"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3001", "3003", Path.Combine(pathToSHPs, "heavyc"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3004", "3005", Path.Combine(pathToSHPs, "palacec"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3006", "3007", Path.Combine(pathToSHPs, "conyardh2"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3008", "3013", Path.Combine(pathToSHPs, "plates") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3014", "3014", Path.Combine(pathToSHPs, "unknown3"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3015", "3078", Path.Combine(pathToSHPs, "rpg"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3079", "3087", Path.Combine(pathToSHPs, "unknown4"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3088", "3247", Path.Combine(pathToSHPs, "missile"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3248", "3279", Path.Combine(pathToSHPs, "doubleblast"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3280", "3283", Path.Combine(pathToSHPs, "bombs"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3284", "3287", Path.Combine(pathToSHPs, "unknown6"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3288", "3289", Path.Combine(pathToSHPs, "unknown7"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3290", "3303", Path.Combine(pathToSHPs, "unknown8"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3304", "3305", Path.Combine(pathToSHPs, "unknown9"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3306", "3369", Path.Combine(pathToSHPs, "missile2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3370", "3380", Path.Combine(pathToSHPs, "unload"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3381", "3385", Path.Combine(pathToSHPs, "harvest"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3386", "3389", Path.Combine(pathToSHPs, "miniboom"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3390", "3402", Path.Combine(pathToSHPs, "mediboom"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3403", "3417", Path.Combine(pathToSHPs, "mediboom2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3418", "3420", Path.Combine(pathToSHPs, "minifire"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3421", "3428", Path.Combine(pathToSHPs, "miniboom2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3429", "3432", Path.Combine(pathToSHPs, "minibooms"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3433", "3447", Path.Combine(pathToSHPs, "bigboom"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3448", "3470", Path.Combine(pathToSHPs, "bigboom2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3471", "3493", Path.Combine(pathToSHPs, "bigboom3"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3494", "3501", Path.Combine(pathToSHPs, "unknown10"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3502", "3509", Path.Combine(pathToSHPs, "unknown11"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3510", "3511", Path.Combine(pathToSHPs, "unknown12"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3512", "3530", Path.Combine(pathToSHPs, "movingsand"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3531", "3534", Path.Combine(pathToSHPs, "unknown13"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3535", "3539", Path.Combine(pathToSHPs, "unknown14"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3540", "3543", Path.Combine(pathToSHPs, "unknown15"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3544", "3548", Path.Combine(pathToSHPs, "unknown16"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3549", "3564", Path.Combine(pathToSHPs, "wormjaw"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3565", "3585", Path.Combine(pathToSHPs, "wormdust"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3586", "3600", Path.Combine(pathToSHPs, "wormsigns1") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3601", "3610", Path.Combine(pathToSHPs, "wormsigns2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3611", "3615", Path.Combine(pathToSHPs, "wormsigns3") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3616", "3620", Path.Combine(pathToSHPs, "wormsigns4") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3621", "3625", Path.Combine(pathToSHPs, "rings"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3626", "3630", Path.Combine(pathToSHPs, "minipiff"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3631", "3678", Path.Combine(pathToSHPs, "movingsand2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3679", "3686", Path.Combine(pathToSHPs, "selling"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3687", "3693", Path.Combine(pathToSHPs, "shockwave"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3694", "3711", Path.Combine(pathToSHPs, "electroplosion"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3712", "3722", Path.Combine(pathToSHPs, "fire"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3723", "3734", Path.Combine(pathToSHPs, "fire2"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3735", "3738", Path.Combine(pathToSHPs, "unknown21"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3739", "3742", Path.Combine(pathToSHPs, "unknown22"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3743", "3774", Path.Combine(pathToSHPs, "doublemuzzle"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3775", "3806", Path.Combine(pathToSHPs, "muzzle"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3807", "3838", Path.Combine(pathToSHPs, "doubleblastmuzzle"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3839", "3870", Path.Combine(pathToSHPs, "minimuzzle"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3871", "3872", Path.Combine(pathToSHPs, "unknown17"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3873", "3875", Path.Combine(pathToSHPs, "unknown18"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3876", "3876", Path.Combine(pathToSHPs, "unknown19"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3877", "3884", Path.Combine(pathToSHPs, "burst"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3885", "3898", Path.Combine(pathToSHPs, "fire3"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3899", "3910", Path.Combine(pathToSHPs, "energy"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3911", "3946", Path.Combine(pathToSHPs, "reveal"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3947", "3964", Path.Combine(pathToSHPs, "orbit"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3965", "3979", Path.Combine(pathToSHPs, "mushroomcloud"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3980", "3987", Path.Combine(pathToSHPs, "mediboom3"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "3988", "4010", Path.Combine(pathToSHPs, "largeboom"), "--projectile" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4011", "4011", Path.Combine(pathToSHPs, "rifleicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4012", "4012", Path.Combine(pathToSHPs, "bazookaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4013", "4013", Path.Combine(pathToSHPs, "engineericon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4014", "4014", Path.Combine(pathToSHPs, "thumpericon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4015", "4015", Path.Combine(pathToSHPs, "sardaukaricon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4016", "4016", Path.Combine(pathToSHPs, "trikeicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4017", "4017", Path.Combine(pathToSHPs, "raidericon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4018", "4018", Path.Combine(pathToSHPs, "quadicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4019", "4019", Path.Combine(pathToSHPs, "harvestericon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4020", "4020", Path.Combine(pathToSHPs, "combataicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4021", "4021", Path.Combine(pathToSHPs, "combathicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4022", "4022", Path.Combine(pathToSHPs, "combatoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4023", "4023", Path.Combine(pathToSHPs, "mcvicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4024", "4024", Path.Combine(pathToSHPs, "missiletankicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4025", "4025", Path.Combine(pathToSHPs, "deviatortankicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4026", "4026", Path.Combine(pathToSHPs, "siegetankicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4027", "4027", Path.Combine(pathToSHPs, "sonictankicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4028", "4028", Path.Combine(pathToSHPs, "devasticon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4029", "4029", Path.Combine(pathToSHPs, "carryallicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4030", "4030", Path.Combine(pathToSHPs, "carryallicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4031", "4031", Path.Combine(pathToSHPs, "orniicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4032", "4032", Path.Combine(pathToSHPs, "fremenicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4033", "4033", Path.Combine(pathToSHPs, "fremenicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4034", "4034", Path.Combine(pathToSHPs, "saboteuricon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4035", "4035", Path.Combine(pathToSHPs, "deathhandicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4036", "4036", Path.Combine(pathToSHPs, "rifleicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4037", "4037", Path.Combine(pathToSHPs, "bazookaicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4038", "4038", Path.Combine(pathToSHPs, "engineericon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4039", "4039", Path.Combine(pathToSHPs, "thumpericon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4040", "4040", Path.Combine(pathToSHPs, "sardaukaricon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4041", "4041", Path.Combine(pathToSHPs, "trikeicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4042", "4042", Path.Combine(pathToSHPs, "raidericon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4043", "4043", Path.Combine(pathToSHPs, "quadicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4044", "4044", Path.Combine(pathToSHPs, "harvestericon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4045", "4045", Path.Combine(pathToSHPs, "combataicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4046", "4046", Path.Combine(pathToSHPs, "conyardaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4047", "4047", Path.Combine(pathToSHPs, "conyardhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4048", "4048", Path.Combine(pathToSHPs, "conyardoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4049", "4049", Path.Combine(pathToSHPs, "conyardaicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4050", "4050", Path.Combine(pathToSHPs, "4plateaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4051", "4051", Path.Combine(pathToSHPs, "4platehicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4052", "4052", Path.Combine(pathToSHPs, "4plateoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4053", "4053", Path.Combine(pathToSHPs, "6plateaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4054", "4054", Path.Combine(pathToSHPs, "6platehicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4055", "4055", Path.Combine(pathToSHPs, "6plateoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4056", "4056", Path.Combine(pathToSHPs, "pwraicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4057", "4057", Path.Combine(pathToSHPs, "pwrhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4058", "4058", Path.Combine(pathToSHPs, "pwroicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4059", "4059", Path.Combine(pathToSHPs, "barraicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4060", "4060", Path.Combine(pathToSHPs, "barrhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4061", "4061", Path.Combine(pathToSHPs, "barroicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4062", "4062", Path.Combine(pathToSHPs, "orniicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4063", "4063", Path.Combine(pathToSHPs, "wallaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4064", "4064", Path.Combine(pathToSHPs, "wallhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4065", "4065", Path.Combine(pathToSHPs, "walloicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4066", "4066", Path.Combine(pathToSHPs, "refaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4067", "4067", Path.Combine(pathToSHPs, "refhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4068", "4068", Path.Combine(pathToSHPs, "refoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4069", "4069", Path.Combine(pathToSHPs, "guntoweraicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4070", "4070", Path.Combine(pathToSHPs, "guntowerhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4071", "4071", Path.Combine(pathToSHPs, "guntoweroicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4072", "4072", Path.Combine(pathToSHPs, "radaraicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4073", "4073", Path.Combine(pathToSHPs, "radarhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4074", "4074", Path.Combine(pathToSHPs, "radaroicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4075", "4075", Path.Combine(pathToSHPs, "rockettoweraicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4076", "4076", Path.Combine(pathToSHPs, "rockettowerhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4077", "4077", Path.Combine(pathToSHPs, "rockettoweroicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4078", "4078", Path.Combine(pathToSHPs, "hightechaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4079", "4079", Path.Combine(pathToSHPs, "hightechhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4080", "4080", Path.Combine(pathToSHPs, "hightechoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4081", "4081", Path.Combine(pathToSHPs, "lightaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4082", "4082", Path.Combine(pathToSHPs, "lighthicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4083", "4083", Path.Combine(pathToSHPs, "lightoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4084", "4084", Path.Combine(pathToSHPs, "siloaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4085", "4085", Path.Combine(pathToSHPs, "silohicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4086", "4086", Path.Combine(pathToSHPs, "silooicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4087", "4087", Path.Combine(pathToSHPs, "heavyaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4088", "4088", Path.Combine(pathToSHPs, "heavyhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4089", "4089", Path.Combine(pathToSHPs, "heavyoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4090", "4090", Path.Combine(pathToSHPs, "orniicon3") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4091", "4091", Path.Combine(pathToSHPs, "heavyhicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4092", "4092", Path.Combine(pathToSHPs, "starportaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4093", "4093", Path.Combine(pathToSHPs, "starporthicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4094", "4094", Path.Combine(pathToSHPs, "starportoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4095", "4095", Path.Combine(pathToSHPs, "orniicon4") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4096", "4096", Path.Combine(pathToSHPs, "repairaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4097", "4097", Path.Combine(pathToSHPs, "repairhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4098", "4098", Path.Combine(pathToSHPs, "repairoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4099", "4099", Path.Combine(pathToSHPs, "researchaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4100", "4100", Path.Combine(pathToSHPs, "researchhicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4101", "4101", Path.Combine(pathToSHPs, "researchoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4102", "4102", Path.Combine(pathToSHPs, "palaceaicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4103", "4103", Path.Combine(pathToSHPs, "palacehicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4104", "4104", Path.Combine(pathToSHPs, "palaceoicon") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4105", "4105", Path.Combine(pathToSHPs, "orniicon5") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4106", "4106", Path.Combine(pathToSHPs, "radaraicon2") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4107", "4107", Path.Combine(pathToSHPs, "radaraicon3") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4108", "4108", Path.Combine(pathToSHPs, "conyardaicon3") }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4109", "4150", Path.Combine(pathToSHPs, "conmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4151", "4174", Path.Combine(pathToSHPs, "wtrpmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4175", "4194", Path.Combine(pathToSHPs, "barramake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4195", "4212", Path.Combine(pathToSHPs, "barrhmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4213", "4230", Path.Combine(pathToSHPs, "barromake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4231", "4253", Path.Combine(pathToSHPs, "refmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4254", "4273", Path.Combine(pathToSHPs, "radarmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4274", "4294", Path.Combine(pathToSHPs, "highmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4295", "4312", Path.Combine(pathToSHPs, "lightmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4313", "4327", Path.Combine(pathToSHPs, "silomake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4328", "4346", Path.Combine(pathToSHPs, "heavymake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4347", "4369", Path.Combine(pathToSHPs, "starportmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4370", "4390", Path.Combine(pathToSHPs, "repairmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4391", "4412", Path.Combine(pathToSHPs, "researchmake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4413", "4435", Path.Combine(pathToSHPs, "palacemake"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4436", "4449", Path.Combine(pathToSHPs, "cranea"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4450", "4463", Path.Combine(pathToSHPs, "craneh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4464", "4477", Path.Combine(pathToSHPs, "craneo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4478", "4491", Path.Combine(pathToSHPs, "cranea2"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4492", "4501", Path.Combine(pathToSHPs, "windtrapa"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4502", "4511", Path.Combine(pathToSHPs, "windtraph"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4512", "4521", Path.Combine(pathToSHPs, "windtrapo"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4522", "4552", Path.Combine(pathToSHPs, "disha"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4553", "4582", Path.Combine(pathToSHPs, "dishh"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4583", "4613", Path.Combine(pathToSHPs, "disho"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4614", "4643", Path.Combine(pathToSHPs, "highweld"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4644", "4673", Path.Combine(pathToSHPs, "lightweld"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4674", "4721", Path.Combine(pathToSHPs, "heavyweld"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4722", "4744", Path.Combine(pathToSHPs, "unknown20"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4745", "4759", Path.Combine(pathToSHPs, "marker"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4760", "4819", Path.Combine(pathToSHPs, "researchzaps"), "--building" }, - new string[] { "--r8", pathToDataR8, pathToPalette, "4820", "4840", Path.Combine(pathToSHPs, "deathhandlaunch"), "--building" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/MOUSE.R8"), pathToPalette, "0", "264", Path.Combine(pathToSHPs, "mouse") }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBASE.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "BASE"), "--tileset" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBASE.R8"), pathToPalette, "748", "749", Path.Combine(pathToSHPs, "spice0") }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBAT.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "BAT"), "--tileset" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBGBS.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "BGBS"), "--tileset" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXICE.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "ICE"), "--tileset" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXTREE.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "TREE"), "--tileset" }, - new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXWAST.R8"), pathToPalette, "0", "799", Path.Combine(pathToTilesets, "WAST"), "--tileset" }, - ////new string[] { "--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXXMAS.R8"), PathToPalette, "0", "799", Path.Combine(PathToTilesets, "XMAS"), "--tileset" }, - }; - - var shpToCreate = new string[][] - { - new string[] { "--shp", Path.Combine(pathToSHPs, "overlay.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairing.png"), "24" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "black.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "selectionedges.png"), "8" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar1.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar2.png"), "24" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar3.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar4.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar5.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bar6.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "dots.png"), "4" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "numbers.png"), "8" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "credits.png"), "10" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "d2kshadow.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "crates.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "spicebloom.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "stars.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "greenuparrow.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockcrater1.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockcrater2.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sandcrater1.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sandcrater2.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown2.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rifle.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rifledeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bazooka.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bazookadeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fremen.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fremendeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sardaukar.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sardaukardeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "engineer.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "engineerdeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "thumper.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "thumping.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "thumper2.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "thumperdeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "missiletank.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "trike.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "quad.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "harvester.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combata.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siegetank.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "dmcv.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sonictank.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combataturret.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siegeturret.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "carryall.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "orni.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "devast.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combathturret.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "deathhandmissile.png"), "24" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "saboteur.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "saboteurdeath.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "deviatortank.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "raider.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combato.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combatoturret.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "frigate.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavya.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radara.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwra.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barra.png"), "80" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "walla.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyarda.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refa.png"), "120" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightecha.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siloa.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repaira.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntowera.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "gunturreta.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettowera.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rocketturreta.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researcha.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starporta.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lighta.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palacea.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radarh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwrh.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wallh.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barrh.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refh.png"), "120" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightechh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siloh.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntowerh.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "gunturreth.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettowerh.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rocketturreth.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starporth.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lighth.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palaceh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyo.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radaro.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwro.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barro.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wallo.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardo.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refo.png"), "120" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightecho.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siloo.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairo.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntowero.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "gunturreto.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettowero.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rocketturreto.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researcho.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starporto.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lighto.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palaceo.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sietch.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starportc.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyc.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palacec.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardh2.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "plates.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown3.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rpg.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown4.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "missile.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "doubleblast.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bombs.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown6.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown7.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown8.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown9.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "missile2.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unload.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "harvest.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "miniboom.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mediboom.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mediboom2.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "minifire.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "miniboom2.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "minibooms.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bigboom.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bigboom2.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bigboom3.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown10.png"), "24" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown11.png"), "84" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown12.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "movingsand.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown13.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown14.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown15.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown16.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormjaw.png"), "68" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormdust.png"), "68" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormsigns1.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormsigns2.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormsigns3.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wormsigns4.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rings.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "minipiff.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "movingsand2.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "selling.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "shockwave.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "electroplosion.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fire.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fire2.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown21.png"), "12" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown22.png"), "24" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "doublemuzzle.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "muzzle.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "doubleblastmuzzle.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "minimuzzle.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown17.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown18.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown19.png"), "16" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "burst.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fire3.png"), "120" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "energy.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "reveal.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "orbit.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mushroomcloud.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mediboom3.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "largeboom.png"), "72" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rifleicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "bazookaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "engineericon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "thumpericon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sardaukaricon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "trikeicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "raidericon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "quadicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "harvestericon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combataicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combathicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "combatoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mcvicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "missiletankicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "deviatortankicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siegetankicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "sonictankicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "devasticon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "carryallicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "orniicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "fremenicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "saboteuricon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "deathhandicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conyardoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "4plateaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "4platehicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "4plateoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "6plateaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "6platehicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "6plateoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwraicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwrhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "pwroicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barraicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barrhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barroicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wallaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wallhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "walloicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntoweraicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntowerhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "guntoweroicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radaraicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radarhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radaroicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettoweraicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettowerhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "rockettoweroicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightechaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightechhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "hightechoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lightaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lighthicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lightoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "siloaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "silohicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "silooicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starportaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starporthicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starportoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchhicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palaceaicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palacehicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palaceoicon.png"), "60" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "conmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "wtrpmake.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barramake.png"), "80" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barrhmake.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "barromake.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "refmake.png"), "120" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "radarmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "highmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lightmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "silomake.png"), "32" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavymake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "starportmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "repairmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchmake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "palacemake.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "cranea.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "craneh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "craneo.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "windtrapa.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "windtraph.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "windtrapo.png"), "64" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "disha.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "dishh.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "disho.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "highweld.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "lightweld.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "heavyweld.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "unknown20.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "marker.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "researchzaps.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "deathhandlaunch.png"), "96" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "mouse.png"), "48" }, - new string[] { "--shp", Path.Combine(pathToSHPs, "spice0.png"), "32" }, - }; - - var shpToTranspose = new string[][] - { - new string[] { "--transpose", Path.Combine(pathToSHPs, "orni.shp"), Path.Combine(pathToSHPs, "orni.shp"), "0", "32", "3" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "rifle.shp"), Path.Combine(pathToSHPs, "rifle.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "bazooka.shp"), Path.Combine(pathToSHPs, "bazooka.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "fremen.shp"), Path.Combine(pathToSHPs, "fremen.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "sardaukar.shp"), Path.Combine(pathToSHPs, "sardaukar.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "thumper.shp"), Path.Combine(pathToSHPs, "thumper.shp"), "8", "8", "6" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "thumper2.shp"), Path.Combine(pathToSHPs, "thumper2.shp"), "8", "8", "5" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "engineer.shp"), Path.Combine(pathToSHPs, "engineer.shp"), "8", "8", "6" }, - new string[] { "--transpose", Path.Combine(pathToSHPs, "saboteur.shp"), Path.Combine(pathToSHPs, "saboteur.shp"), "8", "8", "6", "56", "8", "5", "112", "8", "3", "136", "8", "5" }, - }; - - var onError = (Action)(s => Game.RunAfterTick(() => - { - statusLabel.GetText = () => "Error: " + s; - backButton.IsDisabled = () => false; - retryButton.IsDisabled = () => false; - })); - - var t = new Thread(_ => - { - try - { - for (int i = 0; i < extractGameFiles.Length; i++) - { - progressBar.Percentage = i * 100 / extractGameFiles.Count(); - statusLabel.GetText = () => "Extracting..."; - Utility.Command.ConvertR8ToPng(extractGameFiles[i]); - } - - for (int i = 0; i < shpToCreate.Length; i++) - { - progressBar.Percentage = i * 100 / shpToCreate.Count(); - statusLabel.GetText = () => "Converting..."; - Utility.Command.ConvertPngToShp(shpToCreate[i]); - File.Delete(shpToCreate[i][1]); - } - - for (int i = 0; i < shpToTranspose.Length; i++) - { - progressBar.Percentage = i * 100 / shpToTranspose.Count(); - statusLabel.GetText = () => "Transposing..."; - Utility.Command.TransposeShp(shpToTranspose[i]); - } - - statusLabel.GetText = () => "Building tilesets..."; - int c = 0; - string[] TilesetArray = new string[] { "BASE", "BAT", "BGBS", "ICE", "TREE", "WAST" }; - foreach (string set in TilesetArray) - { - progressBar.Percentage = c * 100 / TilesetArray.Count(); - File.Delete(Path.Combine(pathToTilesets, "{0}.tsx".F(set))); - File.Copy("mods/d2k/tilesets/{0}.tsx".F(set), Path.Combine(pathToTilesets, "{0}.tsx".F(set))); - - // TODO: this is ugly: a GUI will open and close immediately after some delay - Process p = new Process(); - ProcessStartInfo TilesetBuilderProcessStartInfo = new ProcessStartInfo("OpenRA.TilesetBuilder.exe", Path.Combine(pathToTilesets, "{0}.png".F(set)) + " 32 --export Content/d2k/Tilesets"); - p.StartInfo = TilesetBuilderProcessStartInfo; - p.Start(); - p.WaitForExit(); - File.Delete(Path.Combine(pathToTilesets, "{0}.tsx".F(set))); - File.Delete(Path.Combine(pathToTilesets, "{0}.png".F(set))); - File.Delete(Path.Combine(pathToTilesets, "{0}.yaml".F(set.ToLower()))); - File.Delete(Path.Combine(pathToTilesets, "{0}.pal".F(set.ToLower()))); - c++; - } - - Game.RunAfterTick(() => - { - progressBar.Percentage = 100; - statusLabel.GetText = () => "Extraction and conversion complete."; - backButton.IsDisabled = () => false; - continueLoading(); - }); - } - catch - { - onError("Installation failed"); - } - }) { IsBackground = true }; - t.Start(); - } - } -} diff --git a/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallFromCDLogic.cs b/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallFromCDLogic.cs index d00498fe0a..4aa3b87da5 100644 --- a/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallFromCDLogic.cs +++ b/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallFromCDLogic.cs @@ -14,7 +14,6 @@ using System.Linq; using System.Threading; using OpenRA.FileFormats; using OpenRA.FileFormats.Graphics; -using OpenRA.Utility; using OpenRA.Widgets; namespace OpenRA.Mods.D2k.Widgets.Logic diff --git a/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallLogic.cs b/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallLogic.cs index faaf5cd925..5eaf77340f 100644 --- a/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallLogic.cs +++ b/OpenRA.Mods.D2k/Widgets/Logic/D2kInstallLogic.cs @@ -33,9 +33,6 @@ namespace OpenRA.Mods.D2k.Widgets.Logic panel.Get("COPY_BUTTON").OnClick = () => Ui.OpenWindow("INSTALL_FROMCD_PANEL", args); - panel.Get("EXTRACT_BUTTON").OnClick = () => - Ui.OpenWindow("EXTRACT_GAMEFILES_PANEL", args); - panel.Get("QUIT_BUTTON").OnClick = Game.Exit; panel.Get("MODS_BUTTON").OnClick = () => diff --git a/OpenRA.Mods.RA/Activities/MakeAnimation.cs b/OpenRA.Mods.RA/Activities/MakeAnimation.cs index 8444f34f8e..11f4385553 100644 --- a/OpenRA.Mods.RA/Activities/MakeAnimation.cs +++ b/OpenRA.Mods.RA/Activities/MakeAnimation.cs @@ -31,7 +31,7 @@ namespace OpenRA.Mods.RA.Activities bool complete = false; bool started = false; - public override Activity Tick( Actor self ) + public override Activity Tick(Actor self) { if (self.IsDead()) return NextActivity; @@ -66,6 +66,6 @@ namespace OpenRA.Mods.RA.Activities } // Cannot be cancelled - public override void Cancel( Actor self ) { } + public override void Cancel(Actor self) { } } } diff --git a/OpenRA.Mods.RA/Render/RenderBuilding.cs b/OpenRA.Mods.RA/Render/RenderBuilding.cs index 46e98d5a65..07eadc670e 100755 --- a/OpenRA.Mods.RA/Render/RenderBuilding.cs +++ b/OpenRA.Mods.RA/Render/RenderBuilding.cs @@ -47,7 +47,7 @@ namespace OpenRA.Mods.RA.Render var self = init.self; // Work around a bogus crash - anim.PlayRepeating( NormalizeSequence(self, "idle") ); + anim.PlayRepeating(NormalizeSequence(self, "idle")); self.Trait().SetAutodetectedFacings(anim.CurrentSequence.Facings); // Can't call Complete() directly from ctor because other traits haven't been inited yet diff --git a/OpenRA.Mods.RA/Render/WithIdleOverlay.cs b/OpenRA.Mods.RA/Render/WithIdleOverlay.cs index f93c14df91..20181fd732 100644 --- a/OpenRA.Mods.RA/Render/WithIdleOverlay.cs +++ b/OpenRA.Mods.RA/Render/WithIdleOverlay.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA.Render public object Create(ActorInitializer init) { return new WithIdleOverlay(init.self, this); } } - public class WithIdleOverlay : INotifyDamageStateChanged, INotifyBuildComplete + public class WithIdleOverlay : INotifyDamageStateChanged, INotifyBuildComplete, INotifySold { Animation overlay; bool buildComplete; @@ -50,6 +50,12 @@ namespace OpenRA.Mods.RA.Render buildComplete = true; } + public void Sold(Actor self) { } + public void Selling(Actor self) + { + buildComplete = false; + } + public void DamageStateChanged(Actor self, AttackInfo e) { overlay.ReplaceAnim(RenderSprites.NormalizeSequence(overlay, e.DamageState, overlay.CurrentSequence.Name)); diff --git a/OpenRA.Mods.RA/SupportPowers/SupportPower.cs b/OpenRA.Mods.RA/SupportPowers/SupportPower.cs index e7fecd849e..2580a5769f 100755 --- a/OpenRA.Mods.RA/SupportPowers/SupportPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/SupportPower.cs @@ -17,7 +17,7 @@ namespace OpenRA.Mods.RA public abstract class SupportPowerInfo : ITraitInfo { public readonly int ChargeTime = 0; - public readonly string Image = null; + public readonly string Icon = null; public readonly string Description = ""; public readonly string LongDesc = ""; public readonly bool AllowMultiple = false; diff --git a/OpenRA.Mods.RA/Tooltip.cs b/OpenRA.Mods.RA/Tooltip.cs index c7f5788e69..e014b9b30b 100644 --- a/OpenRA.Mods.RA/Tooltip.cs +++ b/OpenRA.Mods.RA/Tooltip.cs @@ -18,8 +18,9 @@ namespace OpenRA.Mods.RA { public readonly string Description = ""; public readonly string Name = ""; - [Desc("Defaults to actor name + icon suffix.")] - public readonly string Icon = null; + + [Desc("Sequence of the actor that contains the cameo.")] + public readonly string Icon = "icon"; public virtual object Create(ActorInitializer init) { return new Tooltip(init.self, this); } } diff --git a/OpenRA.Mods.RA/Widgets/BuildPaletteWidget.cs b/OpenRA.Mods.RA/Widgets/BuildPaletteWidget.cs index 8b2b49eb94..6b421354e8 100755 --- a/OpenRA.Mods.RA/Widgets/BuildPaletteWidget.cs +++ b/OpenRA.Mods.RA/Widgets/BuildPaletteWidget.cs @@ -37,10 +37,9 @@ namespace OpenRA.Mods.RA.Widgets List VisibleQueues; bool paletteOpen = false; - Dictionary iconSprites; - float2 paletteOpenOrigin = new float2(Game.viewport.Width - 215, 280); - float2 paletteClosedOrigin = new float2(Game.viewport.Width - 16, 280); + float2 paletteOpenOrigin; + float2 paletteClosedOrigin; float2 paletteOrigin; int paletteAnimationLength = 7; @@ -64,16 +63,16 @@ namespace OpenRA.Mods.RA.Widgets cantBuild = new Animation("clock"); cantBuild.PlayFetchIndex("idle", () => 0); clock = new Animation("clock"); - paletteOrigin = paletteClosedOrigin; VisibleQueues = new List(); CurrentQueue = null; + } - iconSprites = Rules.Info.Values - .Where(u => u.Traits.Contains() && u.Name[0] != '^') - .ToDictionary( - u => u.Name, - u => Game.modData.SpriteLoader.LoadAllSprites( - u.Traits.Get().Icon ?? (u.Name + "icon"))[0]); + public override void Initialize(WidgetArgs args) + { + paletteOpenOrigin = new float2(Game.viewport.Width - Columns*IconWidth - 23, 280); + paletteClosedOrigin = new float2(Game.viewport.Width - 16, 280); + paletteOrigin = paletteClosedOrigin; + base.Initialize(args); } public override Rectangle EventBounds @@ -230,7 +229,9 @@ namespace OpenRA.Mods.RA.Widgets { var rect = new RectangleF(origin.X + x * IconWidth, origin.Y + IconHeight * y, IconWidth, IconHeight); var drawPos = new float2(rect.Location); - WidgetUtils.DrawSHP(iconSprites[item.Name], drawPos, worldRenderer); + var icon = new Animation(RenderSimple.GetImage(item)); + icon.Play(item.Traits.Get().Icon); + WidgetUtils.DrawSHP(icon.Image, drawPos, worldRenderer); var firstOfThis = queue.AllQueued().FirstOrDefault(a => a.Item == item.Name); diff --git a/OpenRA.Mods.RA/Widgets/ObserverProductionIconsWidget.cs b/OpenRA.Mods.RA/Widgets/ObserverProductionIconsWidget.cs index ae598f6916..2b8bde5610 100644 --- a/OpenRA.Mods.RA/Widgets/ObserverProductionIconsWidget.cs +++ b/OpenRA.Mods.RA/Widgets/ObserverProductionIconsWidget.cs @@ -13,6 +13,7 @@ using System.Collections.Generic; using System.Drawing; using System.Linq; using OpenRA.Graphics; +using OpenRA.Traits; using OpenRA.Widgets; namespace OpenRA.Mods.RA.Widgets @@ -20,7 +21,6 @@ namespace OpenRA.Mods.RA.Widgets public class ObserverProductionIconsWidget : Widget { public Func GetPlayer; - Dictionary iconSprites; World world; WorldRenderer worldRenderer; Dictionary clocks; @@ -29,10 +29,6 @@ namespace OpenRA.Mods.RA.Widgets public ObserverProductionIconsWidget(World world, WorldRenderer worldRenderer) : base() { - iconSprites = Rules.Info.Values.Where(u => u.Traits.Contains() && u.Name[0] != '^') - .ToDictionary( - u => u.Name, - u => Game.modData.SpriteLoader.LoadAllSprites(u.Traits.Get().Icon ?? (u.Name + "icon"))[0]); this.world = world; this.worldRenderer = worldRenderer; clocks = new Dictionary(); @@ -42,7 +38,6 @@ namespace OpenRA.Mods.RA.Widgets : base(other) { GetPlayer = other.GetPlayer; - iconSprites = other.iconSprites; world = other.world; worldRenderer = other.worldRenderer; clocks = other.clocks; @@ -67,25 +62,27 @@ namespace OpenRA.Mods.RA.Widgets } foreach (var queue in queues) { - var item = queue.Trait.CurrentItem(); + var item = queue.Trait.AllItems().FirstOrDefault(); if (item == null) - { continue; - } - var sprite = iconSprites[item.Item]; - var size = sprite.size / new float2(2, 2); + var icon = new Animation(RenderSimple.GetImage(item)); + icon.Play(item.Traits.Get().Icon); + var size = icon.Image.size / new float2(2, 2); var location = new float2(RenderBounds.Location) + new float2(queue.i * (int)size.Length, 0); - WidgetUtils.DrawSHP(sprite, location, worldRenderer, size); + WidgetUtils.DrawSHP(icon.Image, location, worldRenderer, size); + var current = queue.Trait.CurrentItem(); + if (current == null) + continue; var clock = clocks[queue.Trait]; clock.PlayFetchIndex("idle", - () => item.TotalTime == 0 ? 0 : ((item.TotalTime - item.RemainingTime) - * (clock.CurrentSequence.Length - 1) / item.TotalTime)); + () => current.TotalTime == 0 ? 0 : ((current.TotalTime - current.RemainingTime) + * (clock.CurrentSequence.Length - 1) / current.TotalTime)); clock.Tick(); WidgetUtils.DrawSHP(clock.Image, location, worldRenderer, size); var tiny = Game.Renderer.Fonts["Tiny"]; - var text = GetOverlayForItem(item); + var text = GetOverlayForItem(current); tiny.DrawTextWithContrast(text, location + new float2(16, 16) - new float2(tiny.Measure(text).X / 2, 0), Color.White, Color.Black, 1); diff --git a/OpenRA.Mods.RA/Widgets/ObserverSupportPowerIconsWidget.cs b/OpenRA.Mods.RA/Widgets/ObserverSupportPowerIconsWidget.cs index 5b1a03aca7..ea2b607338 100644 --- a/OpenRA.Mods.RA/Widgets/ObserverSupportPowerIconsWidget.cs +++ b/OpenRA.Mods.RA/Widgets/ObserverSupportPowerIconsWidget.cs @@ -20,7 +20,7 @@ namespace OpenRA.Mods.RA.Widgets public class ObserverSupportPowerIconsWidget : Widget { public Func GetPlayer; - Dictionary iconSprites; + Animation icon; World world; WorldRenderer worldRenderer; Dictionary clocks; @@ -29,21 +29,18 @@ namespace OpenRA.Mods.RA.Widgets public ObserverSupportPowerIconsWidget(World world, WorldRenderer worldRenderer) : base() { - iconSprites = Rules.Info.Values.SelectMany(u => u.Traits.WithInterface()) - .Select(u => u.Image).Distinct() - .ToDictionary( - u => u, - u => Game.modData.SpriteLoader.LoadAllSprites(u)[0]); + this.world = world; this.worldRenderer = worldRenderer; clocks = new Dictionary(); + icon = new Animation("icon"); } protected ObserverSupportPowerIconsWidget(ObserverSupportPowerIconsWidget other) : base(other) { GetPlayer = other.GetPlayer; - iconSprites = other.iconSprites; + icon = other.icon; world = other.world; worldRenderer = other.worldRenderer; clocks = other.clocks; @@ -68,12 +65,12 @@ namespace OpenRA.Mods.RA.Widgets foreach (var power in powers) { var item = power.a.Value; - if (item == null || item.Info == null || item.Info.Image == null) + if (item == null || item.Info == null || item.Info.Icon == null) continue; - var sprite = iconSprites[item.Info.Image]; - var size = sprite.size / new float2(2, 2); + icon.Play(item.Info.Icon); + var size = icon.Image.size / new float2(2, 2); var location = new float2(RenderBounds.Location) + new float2(power.i * (int)size.Length, 0); - WidgetUtils.DrawSHP(sprite, location, worldRenderer, size); + WidgetUtils.DrawSHP(icon.Image, location, worldRenderer, size); var clock = clocks[power.a.Key]; clock.PlayFetchIndex("idle", diff --git a/OpenRA.Mods.RA/Widgets/SupportPowerBinWidget.cs b/OpenRA.Mods.RA/Widgets/SupportPowerBinWidget.cs index 52b2fc5768..c33529618d 100755 --- a/OpenRA.Mods.RA/Widgets/SupportPowerBinWidget.cs +++ b/OpenRA.Mods.RA/Widgets/SupportPowerBinWidget.cs @@ -23,7 +23,7 @@ namespace OpenRA.Mods.RA.Widgets public string ReadyText = ""; public string HoldText = ""; - Dictionary spsprites; + Animation icon; Animation clock; readonly List>> buttons = new List>>(); @@ -41,12 +41,7 @@ namespace OpenRA.Mods.RA.Widgets { base.Initialize(args); - spsprites = Rules.Info.Values.SelectMany( u => u.Traits.WithInterface() ) - .Select(u => u.Image).Distinct() - .ToDictionary( - u => u, - u => Game.modData.SpriteLoader.LoadAllSprites(u)[0]); - + icon = new Animation("icon"); clock = new Animation("clock"); } @@ -88,7 +83,7 @@ namespace OpenRA.Mods.RA.Widgets WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world, "specialbin-middle"), new float2(rectBounds.X, rectBounds.Y + i * 51)); WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world, "specialbin-bottom"), new float2(rectBounds.X, rectBounds.Y + numPowers * 51)); - // Hack Hack Hack + // HACK: Hack Hack Hack rectBounds.Width = 69; rectBounds.Height = 10 + numPowers * 51 + 21; @@ -96,7 +91,7 @@ namespace OpenRA.Mods.RA.Widgets foreach (var kv in powers) { var sp = kv.Value; - var image = spsprites[sp.Info.Image]; + icon.Play(sp.Info.Icon); var drawPos = new float2(rectBounds.X + 5, y); var rect = new Rectangle(rectBounds.X + 5, y, 64, 48); @@ -142,7 +137,7 @@ namespace OpenRA.Mods.RA.Widgets } } - WidgetUtils.DrawSHP(image, drawPos, worldRenderer); + WidgetUtils.DrawSHP(icon.Image, drawPos, worldRenderer); clock.PlayFetchIndex("idle", () => sp.TotalTime == 0 ? clock.CurrentSequence.Length - 1 : (sp.TotalTime - sp.RemainingTime) diff --git a/OpenRA.Utility/Command.cs b/OpenRA.Utility/Command.cs index 9669609ebd..757355245f 100644 --- a/OpenRA.Utility/Command.cs +++ b/OpenRA.Utility/Command.cs @@ -137,127 +137,9 @@ namespace OpenRA.Utility var bitmap = new Bitmap(frame.FrameSize.Width * frameCount, frame.FrameSize.Height, PixelFormat.Format8bppIndexed); bitmap.Palette = palette.AsSystemPalette(); - int x = 0; - frame = srcImage[startFrame]; - // resorting to RA/CnC compatible counter-clockwise frame order - if (args.Contains("--infantry")) - { - endFrame = startFrame - 1; - - // assuming 8 facings each animation set - for (int e = 8; e < frameCount + 1; e = e + 8) - { - for (int f = startFrame + e - 1; f > endFrame; f--) - { - var offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2; - var offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2; - - Console.WriteLine("calculated OffsetX: {0}", offsetX); - Console.WriteLine("calculated OffsetY: {0}", offsetY); - - var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly, - PixelFormat.Format8bppIndexed); - - for (var i = 0; i < frame.Size.Height; i++) - Marshal.Copy(frame.Image, i * frame.Size.Width, - new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width); - - bitmap.UnlockBits(data); - - x += frame.FrameSize.Width; - - frame = srcImage[f]; - Console.WriteLine("f: {0}", f); - } - - endFrame = startFrame + e - 1; - frame = srcImage[startFrame + e]; - Console.WriteLine("e: {0}", e); - Console.WriteLine("FrameCount: {0}", frameCount); - } - } - else if (args.Contains("--vehicle") || args.Contains("--projectile")) - { - frame = srcImage[startFrame]; - - for (int f = endFrame - 1; f > startFrame - 1; f--) - { - var offsetX = frame.FrameSize.Width / 2 - frame.Offset.X; - var offsetY = frame.FrameSize.Height / 2 - frame.Offset.Y; - - Console.WriteLine("calculated OffsetX: {0}", offsetX); - Console.WriteLine("calculated OffsetY: {0}", offsetY); - - var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly, - PixelFormat.Format8bppIndexed); - - for (var i = 0; i < frame.Size.Height; i++) - Marshal.Copy(frame.Image, i * frame.Size.Width, - new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width); - - bitmap.UnlockBits(data); - - x += frame.FrameSize.Width; - - frame = srcImage[f]; - } - } - else if (args.Contains("--turret")) - { - frame = srcImage[startFrame]; - - for (int f = endFrame - 1; f > startFrame - 1; f--) - { - var offsetX = Math.Abs(frame.Offset.X); - var offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y); - - Console.WriteLine("calculated OffsetX: {0}", offsetX); - Console.WriteLine("calculated OffsetY: {0}", offsetY); - - var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly, - PixelFormat.Format8bppIndexed); - - for (var i = 0; i < frame.Size.Height; i++) - Marshal.Copy(frame.Image, i * frame.Size.Width, - new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width); - - bitmap.UnlockBits(data); - - x += frame.FrameSize.Width; - - frame = srcImage[f]; - } - } - else if (args.Contains("--wall")) - { - // complex resorting to RA/CnC compatible frame order - var d2kBrikFrameOrder = new int[] { 1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31 }; - foreach (int o in d2kBrikFrameOrder) - { - var f = startFrame - 1 + o; - - frame = srcImage[f]; - - var offsetX = Math.Abs(frame.Offset.X); - var offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y); - Console.WriteLine("calculated OffsetX: {0}", offsetX); - Console.WriteLine("calculated OffsetY: {0}", offsetY); - - var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly, - PixelFormat.Format8bppIndexed); - - for (var i = 0; i < frame.Size.Height; i++) - Marshal.Copy(frame.Image, i * frame.Size.Width, - new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width); - - bitmap.UnlockBits(data); - - x += frame.FrameSize.Width; - } - } - else if (args.Contains("--tileset")) + if (args.Contains("--tileset")) { int f = 0; var tileset = new Bitmap(frame.FrameSize.Width * 20, frame.FrameSize.Height * 40, PixelFormat.Format8bppIndexed); @@ -287,39 +169,6 @@ namespace OpenRA.Utility bitmap = tileset; } - else - { - for (int f = startFrame; f < endFrame; f++) - { - frame = srcImage[f]; - var offsetX = 0; - var offsetY = 0; - if (args.Contains("--infantrydeath")) - { - offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2; - offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2; - } - else if (args.Contains("--building")) - { - offsetX = Math.Abs(frame.Offset.X); - offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y); - } - - Console.WriteLine("calculated OffsetX: {0}", offsetX); - Console.WriteLine("calculated OffsetY: {0}", offsetY); - - var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly, - PixelFormat.Format8bppIndexed); - - for (var i = 0; i < frame.Size.Height; i++) - Marshal.Copy(frame.Image, i * frame.Size.Width, - new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Size.Width); - - bitmap.UnlockBits(data); - - x += frame.FrameSize.Width; - } - } bitmap.Save(filename + ".png"); Console.WriteLine(filename + ".png saved"); diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index 17660cc513..f3c9edea08 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -64,7 +64,7 @@ namespace OpenRA.Utility Console.WriteLine(" --extract MOD[,MOD]* FILES [--userdir] Extract files from mod packages to the current (or user) directory"); Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG"); Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette"); - Console.WriteLine(" --r8 R8FILE PALETTE START END FILENAME [--noshadow] [--infrantry] [--vehicle] [--projectile] [--building] [--wall] [--tileset] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as type for correct offset to append multiple frames to one PNG named by filename optionally removing the shadow."); + Console.WriteLine(" --r8 R8FILE PALETTE START END FILENAME [--noshadow] [--tileset] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as type to append multiple frames to one PNG named by filename optionally removing the shadow."); Console.WriteLine(" --transpose SRCSHP DESTSHP START N M [START N M ...] Transpose the N*M block of frames starting at START."); Console.WriteLine(" --docs MOD Generate trait documentation in MarkDown format."); Console.WriteLine(" --map-hash MAPFILE Generate hash of specified oramap file."); diff --git a/README.md b/README.md index 87130b374d..fa796db879 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Join the [Forums](http://www.sleipnirstuff.com/forum/viewforum.php?f=80) for dis Distributed mods include a reimagining of * Command & Conquer: Red Alert * Command & Conquer: Tiberian Dawn -* Dune 2000 (experimental) +* Dune 2000 Check our [Playing the Game](https://github.com/OpenRA/OpenRA/wiki/Playing-the-game) Guide to win multiplayer matches. @@ -24,7 +24,6 @@ Check our [Playing the Game](https://github.com/OpenRA/OpenRA/wiki/Playing-the-g * Please read [INSTALL](https://github.com/OpenRA/OpenRA/blob/bleed/INSTALL) and [Compiling](https://github.com/OpenRA/OpenRA/wiki/Compiling) on how to set up an OpenRA development environment. * Read [HACKING](https://github.com/OpenRA/OpenRA/blob/bleed/HACKING) for an overview of the engine. * To get your patches merged please adhere to the [Contributing](https://github.com/OpenRA/OpenRA/blob/bleed/CONTRIBUTING.md) guidelines. -* Some insights on the upcoming [Translation](https://github.com/OpenRA/OpenRA/wiki/Translation) framework. ## Mapping @@ -33,7 +32,7 @@ Check our [Playing the Game](https://github.com/OpenRA/OpenRA/wiki/Playing-the-g ## Modding -* There exists an incomplete [Trait documentation](https://github.com/OpenRA/OpenRA/wiki/Trait-Documentation) to get started with yaml files. +* There exists an auto-generated [Trait documentation](https://github.com/OpenRA/OpenRA/wiki/Traits) to get started with yaml files. * Check the [Modding Guide](https://github.com/OpenRA/OpenRA/wiki/Modding%20Guide) to create your own classic RTS. * Some hints on to create new OpenRA compatible [Pixelart](https://github.com/OpenRA/OpenRA/wiki/Pixelart). * Upload total conversions at [our ModDB profile](http://www.moddb.com/games/openra/mods) diff --git a/mods/cnc/cursors.yaml b/mods/cnc/cursors.yaml index 356daf14e4..cad78974c9 100644 --- a/mods/cnc/cursors.yaml +++ b/mods/cnc/cursors.yaml @@ -7,281 +7,173 @@ Cursors: mouse2: cursor scroll-t: start:1 - x:14 - y:-2 scroll-tr: start:2 - x:14 - y:-2 scroll-r: start:3 - x:28 - y:12 scroll-br: start:4 - x:28 - y:22 scroll-b: start:5 - x:14 - y:22 scroll-bl: start:6 - x:-2 - y:22 scroll-l: start:7 - x:-1 - y:13 scroll-tl: start:8 - x:-2 - y:-2 scroll-t-blocked: start:130 - x:14 - y:-2 scroll-tr-blocked: start:131 - x:14 - y:-2 scroll-r-blocked: start:132 - x:28 - y:12 scroll-br-blocked: start:133 - x:28 - y:22 scroll-b-blocked: start:134 - x:14 - y:22 scroll-bl-blocked: start:135 - x:-2 - y:22 scroll-l-blocked: start:136 - x:-1 - y:13 scroll-tl-blocked: start:137 - x:-2 - y:-2 select: start:12 length:6 - x:12 - y:12 default: start:0 + x: -16 + y: -12 default-minimap: start:86 length:1 + x: -16 + y: -12 generic-blocked: start:9 - x:12 - y:12 generic-blocked-minimap: start:27 - x:12 - y:12 attack: start:18 length:8 - x:12 - y:12 attack-minimap: start:140 length:8 - x:12 - y:12 harvest: start:18 length:8 - x:12 - y:12 harvest-minimap: start:140 length:8 - x:12 - y:12 enter: start:119 length:3 - x:12 - y:12 enter-minimap: start:148 length:3 - x:12 - y:12 c4: start:122 length:3 - x:12 - y:12 c4-minimap: start:127 length:3 - x:12 - y:12 guard: start:153 length:1 - x:12 - y:12 guard-minimap: start:152 length:1 - x:12 - y:12 # Cursors that need minimap variants deploy: start:53 length:9 - x:12 - y:12 repair: start:29 length:24 - x:12 - y:12 repair-blocked: start:126 length:1 - x:12 - y:12 sell: start:62 length:24 - x:12 - y:12 sell-blocked: start:125 length:1 - x:12 - y:12 ability: start:88 length:8 - x:12 - y:12 nuke: start:96 length:7 - x:12 - y:12 ioncannon: start:103 length:16 - x:12 - y:12 sell-vehicle: start:154 length:24 - x:12 - y:12 mouse4:cursor move: start:0 length:8 - x:12 - y:12 move-minimap: start:9 length:4 - x:12 - y:12 move-rough: start:0 length: 8 - x: 12 - y: 12 attackmove:cursor attackmove: start:0 length:8 - x:12 - y:12 attackmove-minimap: start:9 length:4 - x:12 - y:12 move-blocked: start:8 - x:12 - y:12 move-blocked-minimap: start:13 length:1 - x:12 - y:12 mouse3: cursor2 enter-blocked: start:212 length:1 - x:12 - y:12 enter-blocked-minimap: start:33 length:1 capture: start:164 length:3 - x:12 - y:12 capture-minimap: start:167 length:3 - x:12 - y:12 heal: start:160 length:4 - x:12 - y:12 heal-minimap: start:194 length:1 - x:12 - y:12 ability-minimap: start:214 length:8 - x:12 - y:12 deploy-blocked: start:211 length:1 - x:12 - y:12 goldwrench: start:170 length:24 - x:12 - y:12 goldwrench-blocked: start:213 length:1 - x:12 - y:12 nopower: cursor powerdown-blocked: start:0 length: 1 - x: 12 - y: 12 powerdown: start:1 - length: 3 - x: 12 - y: 12 \ No newline at end of file + length: 3 \ No newline at end of file diff --git a/mods/cnc/rules/aircraft.yaml b/mods/cnc/rules/aircraft.yaml index 49fd8db64c..1608909af2 100644 --- a/mods/cnc/rules/aircraft.yaml +++ b/mods/cnc/rules/aircraft.yaml @@ -4,7 +4,6 @@ TRAN: Cost: 750 Tooltip: Name: Chinook Transport - Icon:tranicnh Description: Fast Infantry Transport Helicopter.\n Unarmed Buildable: BuildPaletteOrder: 10 @@ -47,7 +46,6 @@ HELI: Cost: 1200 Tooltip: Name: Apache Longbow - Icon: heliicnh Description: Helicopter Gunship with Chainguns.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks Buildable: BuildPaletteOrder: 20 @@ -100,7 +98,6 @@ ORCA: Cost: 1200 Tooltip: Name: Orca - Icon: orcaicnh Description: Helicopter Gunship with AG Missiles.\n Strong vs Buildings, Tanks\n Weak vs Infantry Buildable: BuildPaletteOrder: 20 @@ -148,7 +145,6 @@ C17: Tooltip: Name: Supply Aircraft Description: Drops vehicle reinforcements on Airstrips - Icon: c17icnh Valued: Cost: 2000 Plane: @@ -175,7 +171,6 @@ A10: Inherits: ^Plane Tooltip: Name: A10 Bomber - Icon: a10icnh Description: Used to deliver Napalm strikes. Valued: Cost: 2000 diff --git a/mods/cnc/rules/infantry.yaml b/mods/cnc/rules/infantry.yaml index 4750ba8706..de45d06684 100644 --- a/mods/cnc/rules/infantry.yaml +++ b/mods/cnc/rules/infantry.yaml @@ -5,7 +5,6 @@ E1: Tooltip: Name: Minigunner Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles - Icon: e1icnh Buildable: BuildPaletteOrder: 10 Owner: gdi, nod @@ -30,7 +29,6 @@ E2: Tooltip: Name: Grenadier Description: Infantry armed with grenades. \n Strong vs Buildings, Infantry\n Weak vs Vehicles - Icon: e2icnh Buildable: BuildPaletteOrder: 40 Prerequisites: anyhq @@ -62,7 +60,6 @@ E3: Tooltip: Name: Rocket Soldier Description: Anti-tank/Anti-aircraft infantry. \n Strong vs Tanks, Aircraft\n Weak vs Infantry - Icon: e3icnh Buildable: BuildPaletteOrder: 20 Owner: nod, gdi @@ -89,7 +86,6 @@ E4: Tooltip: Name: Flamethrower Description: Advanced Anti-infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles - Icon: e4icnh Buildable: BuildPaletteOrder: 40 Owner: nod @@ -118,7 +114,6 @@ E5: Tooltip: Name: Chem Warrior Description: Advanced Anti-infantry unit.\n Strong vs Infantry\n Weak vs Vehicles - Icon: e5icnh Buildable: BuildPaletteOrder: 50 Owner: nod @@ -153,7 +148,6 @@ E6: Tooltip: Name: Engineer Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything - Icon: e6icnh Buildable: BuildPaletteOrder: 30 Owner: gdi,nod @@ -181,7 +175,6 @@ RMBO: Valued: Cost: 1000 Tooltip: - Icon: rmboicnh Name: Commando Description: Elite sniper infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles Buildable: @@ -224,7 +217,6 @@ PVICE: Owner: gdi, nod Tooltip: Description: Mutated abomination that spits liquid tiberium.\n Strong vs Infantry, Buildings\n Weak vs Aircraft - Icon: viceicnh DrawLineToTarget: SelectionDecorations: ActorLostNotification: @@ -234,7 +226,6 @@ STEG: Tooltip: Name: Stegosaurus Description: A large, heavily built, herbivorous quadruped - Icon: stegicnh Armament: Weapon: tail @@ -243,7 +234,6 @@ TREX: Tooltip: Name: Tyrannosaurus rex Description: Bipedal carnivore with a massive skull - Icon: trexicnh Armament: Weapon: teeth @@ -252,7 +242,6 @@ TRIC: Tooltip: Name: Triceratops Description: Quadruped with large bony frill and three horns - Icon: tricicnh Armament: Weapon: horn @@ -261,6 +250,5 @@ RAPT: Tooltip: Name: Velociraptor Description: Bipedal with enlarged sickle-shaped claw on each hindfoot - Icon: rapticnh Armament: Weapon: claw diff --git a/mods/cnc/rules/ships.yaml b/mods/cnc/rules/ships.yaml index 520c144d20..a4fc8c43c5 100644 --- a/mods/cnc/rules/ships.yaml +++ b/mods/cnc/rules/ships.yaml @@ -4,7 +4,6 @@ BOAT: Cost: 300 Tooltip: Name: Gunboat - Icon: boaticnh Health: HP: 700 Armor: diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml index c8c49ade2e..1f71570662 100644 --- a/mods/cnc/rules/structures.yaml +++ b/mods/cnc/rules/structures.yaml @@ -11,7 +11,6 @@ FACT: Tooltip: Name: Construction Yard Description: Builds structures - Icon: facticnh Building: Power: 15 Footprint: xxx xxx @@ -55,7 +54,6 @@ NUKE: Cost: 300 Tooltip: Name: Power Plant - Icon: nukeicnh Description: Generates power ProvidesCustomPrerequisite: Prerequisite: anypower @@ -79,7 +77,6 @@ NUK2: Cost: 500 Tooltip: Name: Advanced Power Plant - Icon:nuk2icnh Description: Provides more power, cheaper than the \nstandard Power Plant ProvidesCustomPrerequisite: Prerequisite: anypower @@ -103,7 +100,6 @@ PROC: Cost: 1500 Tooltip: Name: Tiberium Refinery - Icon: procicnh Description: Processes raw Tiberium\ninto useable resources Buildable: BuildPaletteOrder: 20 @@ -142,7 +138,6 @@ SILO: Cost: 300 Tooltip: Name: Tiberium Silo - Icon: siloicnh Description: Stores processed Tiberium Buildable: Queue: Defense @@ -174,7 +169,6 @@ PYLE: Cost: 300 Tooltip: Name: Barracks - Icon: pyleicnh Description: Trains infantry ProvidesCustomPrerequisite: Prerequisite: barracks @@ -213,7 +207,6 @@ HAND: Cost: 300 Tooltip: Name: Hand of Nod - Icon: handicnh Description: Trains infantry ProvidesCustomPrerequisite: Prerequisite: barracks @@ -249,7 +242,6 @@ AFLD: Cost: 2000 Tooltip: Name: Airstrip - Icon: afldicnh Description: Provides a dropzone\nfor vehicle reinforcements ProvidesCustomPrerequisite: Prerequisite: vehicleproduction @@ -287,7 +279,6 @@ WEAP: Cost: 2000 Tooltip: Name: Weapons Factory - Icon: weapicnh Description: Assembly point for\nvehicle reinforcements ProvidesCustomPrerequisite: Prerequisite: vehicleproduction @@ -326,7 +317,6 @@ HPAD: Cost: 1000 Tooltip: Name: Helipad - Icon:hpadicnh Description: Produces, rearms and\nrepairs helicopters Buildable: BuildPaletteOrder: 60 @@ -362,7 +352,6 @@ HQ: Cost: 1000 Tooltip: Name: Communications Center - Icon: hqicnh Description: Provides an overview of the battlefield.\n Requires power to operate. ProvidesCustomPrerequisite: Prerequisite: anyhq @@ -384,7 +373,7 @@ HQ: DetectCloaked: Range: 8 AirstrikePower: - Image: bombicnh + Icon: airstrike ChargeTime: 180 Description: Air Strike LongDesc: Deploy an aerial napalm strike.\nBurns buildings and infantry along a line. @@ -399,7 +388,6 @@ FIX: Cost: 500 Tooltip: Name: Repair Facility - Icon: fixicnh Description: Repairs vehicles Buildable: BuildPaletteOrder: 80 @@ -425,7 +413,6 @@ EYE: Cost: 1800 Tooltip: Name: Advanced Communications Center - Icon: eyeicnh Description: Provides access to the Ion Cannon.\n Requires power to operate. ProvidesCustomPrerequisite: Prerequisite: anyhq @@ -447,7 +434,7 @@ EYE: DetectCloaked: Range: 8 IonCannonPower: - Image: ionicnh + Icon: ioncannon ChargeTime: 180 Description: Ion Cannon LongDesc: Initiate an Ion Cannon strike.\nApplies instant damage to a small area. @@ -465,7 +452,6 @@ TMPL: Cost: 2000 Tooltip: Name: Temple of Nod - Icon: tmplicnh Description: Place of worship and secret missile silo.\n Requires power to operate. ProvidesCustomPrerequisite: Prerequisite: anyhq @@ -483,7 +469,7 @@ TMPL: Range: 6 Bib: NukePower: - Image: atomicnh + Icon: abomb ChargeTime: 300 Description: Nuclear Strike LongDesc: Launch a tactical nuke.\nApplies heavy damage over a large area. @@ -500,7 +486,6 @@ GUN: Cost: 600 Tooltip: Name: Turret - Icon: gunicnh Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft Buildable: Queue: Defense @@ -538,7 +523,6 @@ SAM: Cost: 750 Tooltip: Name: SAM Site - Icon: samicnh Description: Anti-Air base defense.\n Strong vs Aircraft\n Weak vs Infantry, Tanks Buildable: Queue: Defense @@ -575,7 +559,6 @@ OBLI: Cost: 1500 Tooltip: Name: Obelisk of Light - Icon:obliicnh Description: Advanced base defense.\n Requires power to operate.\n Strong vs Tanks, Infantry\n Weak vs Aircraft Buildable: Queue: Defense @@ -616,7 +599,6 @@ GTWR: Cost: 500 Tooltip: Name: Guard Tower - Icon: gtwricnh Description: Basic defensive structure.\n Strong vs Infantry\n Weak vs Tanks, Aircraft Buildable: Queue: Defense @@ -652,7 +634,6 @@ ATWR: Cost: 1000 Tooltip: Name: Advanced Guard Tower - Icon: atwricnh Description: Anti-armor defensive structure.\n Strong vs Light Vehicles, Tanks\n Weak vs Infantry Buildable: Queue: Defense @@ -694,7 +675,6 @@ SBAG: Value: 0 Tooltip: Name: Sandbag Barrier - Icon:sbagicnh Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. Buildable: Queue: Defense @@ -714,7 +694,6 @@ CYCL: Value: 0 Tooltip: Name: Chain Link Barrier - Icon:cyclicnh Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. Buildable: Queue: Defense @@ -734,7 +713,6 @@ BRIK: Value: 0 Tooltip: Name: Concrete Barrier - Icon:brikicnh Description: Stop units and blocks enemy fire. Buildable: Queue: Defense diff --git a/mods/cnc/rules/tech.yaml b/mods/cnc/rules/tech.yaml index 174de04d59..2bbc406fc2 100644 --- a/mods/cnc/rules/tech.yaml +++ b/mods/cnc/rules/tech.yaml @@ -85,7 +85,6 @@ MISS: Dimensions: 3,2 Tooltip: Name: Tech Center - Icon: missicnh Buildable: Queue: Building BuildPaletteOrder: 1000 diff --git a/mods/cnc/rules/vehicles.yaml b/mods/cnc/rules/vehicles.yaml index fa5a5f5b0e..b0c4050320 100644 --- a/mods/cnc/rules/vehicles.yaml +++ b/mods/cnc/rules/vehicles.yaml @@ -4,7 +4,6 @@ MCV: Cost: 2000 Tooltip: Name: Mobile Construction Vehicle - Icon: mcvicnh Description: Deploys into another Construction Yard.\n Unarmed Buildable: BuildPaletteOrder: 100 @@ -45,7 +44,6 @@ HARV: Cost: 1200 Tooltip: Name: Harvester - Icon: harvicnh Description: Collects Tiberium for processing.\n Unarmed Buildable: BuildPaletteOrder: 10 @@ -83,7 +81,6 @@ APC: Cost: 600 Tooltip: Name: APC - Icon: apcicnh Description: Armored infantry transport and mobile AA\n Strong vs Aircraft, Vehicles\n Weak vs Infantry Buildable: BuildPaletteOrder: 30 @@ -132,7 +129,6 @@ ARTY: Cost: 600 Tooltip: Name: Artillery - Icon:artyicnh Description: Long-range artillery.\n Strong vs Infantry, Vehicles\n Weak vs Tanks, Aircraft Buildable: BuildPaletteOrder: 60 @@ -167,7 +163,6 @@ FTNK: Cost: 800 Tooltip: Name: Flame Tank - Icon: ftnkicnh Description: Heavily armored flame-throwing vehicle.\n Strong vs Infantry, Buildings, Vehicles\n Weak vs Aircraft Buildable: BuildPaletteOrder: 50 @@ -201,7 +196,6 @@ BGGY: Cost: 300 Tooltip: Name: Nod Buggy - Icon: bggyicnh Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry, Vehicles\n Weak vs Tanks, Aircraft Buildable: BuildPaletteOrder: 20 @@ -236,7 +230,6 @@ BIKE: Cost: 500 Tooltip: Name: Recon Bike - Icon: bikeicnh Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry Buildable: BuildPaletteOrder: 30 @@ -274,7 +267,6 @@ JEEP: Cost: 400 Tooltip: Name: Hum-Vee - Icon: jeepicnh Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry, Vehicles\n Weak vs Tanks, Aircraft Buildable: BuildPaletteOrder: 20 @@ -309,7 +301,6 @@ LTNK: Cost: 600 Tooltip: Name: Light Tank - Icon: ltnkicnh Description: Fast, light tank.\n Strong vs Vehicles, Tanks\n Weak vs Infantry, Aircraft Buildable: BuildPaletteOrder: 40 @@ -348,7 +339,6 @@ MTNK: Cost: 800 Tooltip: Name: Med. Tank - Icon: mtnkicnh Description: General-Purpose GDI Tank.\n Strong vs Tanks, Vehicles\n Weak vs Infantry, Aircraft Buildable: BuildPaletteOrder: 40 @@ -388,7 +378,6 @@ HTNK: Cost: 1500 Tooltip: Name: Mammoth Tank - Icon: htnkicnh Description: Heavily armored GDI Tank.\n Strong vs Everything Buildable: BuildPaletteOrder: 60 @@ -440,7 +429,6 @@ MSAM: Cost: 1200 Tooltip: Name: MLRS - Icon: msamicnh Description: Long range rocket artillery.\n Strong vs all ground units. Buildable: BuildPaletteOrder: 50 @@ -475,7 +463,6 @@ MLRS: Cost: 600 Tooltip: Name: Mobile S.A.M. - Icon: mlrsicnh Description: Powerful anti-air unit.\nCannot attack ground units. Buildable: BuildPaletteOrder: 70 @@ -516,7 +503,6 @@ STNK: Cost: 900 Tooltip: Name: Stealth Tank - Icon: stnkicnh Description: Long-range missile tank that can cloak.\nHas weak armor. Can be spotted by infantry.\n Strong vs Vehicles, Tanks, Aircraft\n Weak vs Infantry. Buildable: BuildPaletteOrder: 90 @@ -554,7 +540,6 @@ MHQ: Cost: 1000 Tooltip: Name: Mobile HQ - Icon: mhqicnh Description: Base of operations Health: HP: 200 diff --git a/mods/cnc/sequences/aircraft.yaml b/mods/cnc/sequences/aircraft.yaml index 369ff97360..ce1e5e54a0 100644 --- a/mods/cnc/sequences/aircraft.yaml +++ b/mods/cnc/sequences/aircraft.yaml @@ -2,6 +2,8 @@ c17: idle: Start: 0 Facings: 32 + icon: c17iconh + Start: 0 tran: idle: @@ -24,6 +26,8 @@ tran: Length: 4 unload: Start: 35 + icon: tranicnh + Start: 0 heli: idle: @@ -39,6 +43,9 @@ heli: Start: 0 Length: 6 Facings: 8 + icon: heliicnh + Start: 0 + orca: idle: Start: 0 @@ -46,8 +53,12 @@ orca: damaged-idle: Start: 32 Facings: 32 + icon: orcaicnh + Start: 0 a10: idle: Start: 0 - Facings: 32 \ No newline at end of file + Facings: 32 + icon: a10icnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/campaign.yaml b/mods/cnc/sequences/campaign.yaml index 9053b858f7..075db1aeaf 100644 --- a/mods/cnc/sequences/campaign.yaml +++ b/mods/cnc/sequences/campaign.yaml @@ -34,4 +34,6 @@ boat: wake-right: wake Start: 0 Length: 6 - Offset: -1,2 \ No newline at end of file + Offset: -1,2 + icon: boaticnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/funpark.yaml b/mods/cnc/sequences/funpark.yaml index e873e99f79..a2e280c35d 100644 --- a/mods/cnc/sequences/funpark.yaml +++ b/mods/cnc/sequences/funpark.yaml @@ -31,6 +31,8 @@ steg: die6: Start: 176 Length: 22 + icon: stegicnh + Start: 0 trex: stand: @@ -65,6 +67,8 @@ trex: die6: Start: 144 Length: 40 + icon: trexicnh + Start: 0 tric: stand: @@ -99,6 +103,8 @@ tric: die6: Start: 176 Length: 20 + icon: tricicnh + Start: 0 rapt: stand: @@ -132,4 +138,6 @@ rapt: Length: 40 die6: Start: 144 - Length: 40 \ No newline at end of file + Length: 40 + icon: rapticnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/infantry.yaml b/mods/cnc/sequences/infantry.yaml index 9291ea3664..105fe23b19 100644 --- a/mods/cnc/sequences/infantry.yaml +++ b/mods/cnc/sequences/infantry.yaml @@ -6,6 +6,9 @@ vice: Start: 0 Length: 13 Facings: 8 + icon: viceicnh + Start: 0 + pvice: idle: Start: 0 @@ -14,6 +17,9 @@ pvice: Start: 0 Length: 13 Facings: 8 + icon: viceicnh + Start: 0 + e1: stand: Start: 0 @@ -109,6 +115,8 @@ e1: Start: 16 Length: 4 Tick: 1600 + icon: e1icnh + Start: 0 e2: stand: @@ -196,6 +204,8 @@ e2: Start: 16 Length: 4 Tick: 1600 + icon: e2icnh + Start: 0 e3: stand: @@ -283,6 +293,8 @@ e3: Start: 16 Length: 4 Tick: 1600 + icon: e3icnh + Start: 0 e4: stand: @@ -374,6 +386,9 @@ e4: Start: 0 Length: 13 Facings: 8 + icon: e4icnh + Start: 0 + e5: stand: Start: 0 @@ -464,6 +479,9 @@ e5: Start: 0 Length: 13 Facings: 8 + icon: e5icnh + Start: 0 + e6: stand: Start: 0 @@ -542,6 +560,9 @@ e6: Start: 16 Length: 4 Tick: 1600 + icon: e6icnh + Start: 0 + rmbo: stand: Start: 0 @@ -632,3 +653,5 @@ rmbo: Start: 16 Length: 4 Tick: 1600 + icon: rmboicnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/map.yaml b/mods/cnc/sequences/map.yaml index e6a6f3419c..94cc0a1d8c 100644 --- a/mods/cnc/sequences/map.yaml +++ b/mods/cnc/sequences/map.yaml @@ -734,6 +734,8 @@ miss: Start: 0 Length: * Tick: 80 + icon: missicnh + Start: 0 miss.husk: idle: miss diff --git a/mods/cnc/sequences/misc.yaml b/mods/cnc/sequences/misc.yaml index 0617455d36..7328ce4543 100644 --- a/mods/cnc/sequences/misc.yaml +++ b/mods/cnc/sequences/misc.yaml @@ -296,4 +296,12 @@ poweroff: offline: Start: 0 Length: * - Tick: 160 \ No newline at end of file + Tick: 160 + +icon: + airstrike: bombicnh + Start: 0 + ioncannon: ionicnh + Start: 0 + abomb: atomicnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/structures.yaml b/mods/cnc/sequences/structures.yaml index eb8fa9b1bf..0fa5404bac 100644 --- a/mods/cnc/sequences/structures.yaml +++ b/mods/cnc/sequences/structures.yaml @@ -24,6 +24,8 @@ fact: bib: bib2 Start: 0 Length: * + icon: facticnh + Start: 0 nuke: idle: @@ -44,6 +46,8 @@ nuke: bib: bib3 Start: 0 Length: * + icon: nukeicnh + Start: 0 proc: idle: @@ -71,6 +75,8 @@ proc: bib: bib2 Start: 0 Length: * + icon: procicnh + Start: 0 silo: idle: @@ -88,6 +94,8 @@ silo: bib: bib3 Start: 0 Length: * + icon: siloicnh + Start: 0 hand: idle: @@ -103,6 +111,8 @@ hand: bib: bib3 Start: 0 Length: * + icon: handicnh + Start: 0 pyle: idle: @@ -123,6 +133,8 @@ pyle: bib: bib3 Start: 0 Length: * + icon: pyleicnh + Start: 0 weap: idle: @@ -148,6 +160,8 @@ weap: bib: bib2 Start: 0 Length: * + icon: weapicnh + Start: 0 afld: idle: @@ -178,6 +192,8 @@ afld: bib: bib1 Start: 0 Length: * + icon: afldicnh + Start: 0 hq: idle: @@ -197,6 +213,8 @@ hq: bib: bib3 Start: 0 Length: * + icon: hqicnh + Start: 0 nuk2: idle: @@ -216,6 +234,8 @@ nuk2: bib: bib3 Start: 0 Length: * + icon: nuk2icnh + Start: 0 hpad: idle: @@ -241,6 +261,8 @@ hpad: Start: 0 Length: * Tick: 80 + icon: hpadicnh + Start: 0 fix: idle: @@ -263,6 +285,8 @@ fix: Start: 0 Length: 14 Tick: 60 + icon: fixicnh + Start: 0 eye: idle: @@ -282,6 +306,8 @@ eye: bib: bib3 Start: 0 Length: * + icon: eyeicnh + Start: 0 tmpl: idle: @@ -303,6 +329,8 @@ tmpl: bib: bib2 Start: 0 Length: * + icon: tmplicnh + Start: 0 obli: idle: @@ -321,6 +349,8 @@ obli: Start: 0 Length: 13 Tick: 80 + icon: obliicnh + Start: 0 brik: idle: @@ -335,6 +365,8 @@ brik: critical-idle: Start: 48 Length: 16 + icon: brikicnh + Start: 0 sbag: idle: @@ -343,6 +375,8 @@ sbag: damaged-idle: Start: 16 Length: 16 + icon: sbagicnh + Start: 0 cycl: idle: @@ -354,6 +388,8 @@ cycl: critical-idle: Start: 32 Length: 16 + icon: cyclicnh + Start: 0 barb: idle: @@ -391,6 +427,8 @@ gun: muzzle: gunfire2 Start: 0 Length: * + icon: gunicnh + Start: 0 sam: closed-idle: @@ -429,6 +467,9 @@ sam: Start: 0 Length: 18 Facings: 8 + icon: samicnh + Start: 0 + gtwr: idle: Start: 0 @@ -444,6 +485,8 @@ gtwr: Start: 0 Length: 6 Facings: 8 + icon: gtwricnh + Start: 0 atwr: idle: @@ -459,4 +502,5 @@ atwr: muzzle: gunfire2 Start: 0 Length: * - + icon: atwricnh + Start: 0 \ No newline at end of file diff --git a/mods/cnc/sequences/vehicles.yaml b/mods/cnc/sequences/vehicles.yaml index 03943a467b..0a738cf4bc 100644 --- a/mods/cnc/sequences/vehicles.yaml +++ b/mods/cnc/sequences/vehicles.yaml @@ -2,6 +2,8 @@ mcv: idle: Start: 0 Facings: 32 + icon: mcvicnh + Start: 0 harv: idle: @@ -18,6 +20,8 @@ harv: dock-loop: harvdump Start: 7 Length: 1 + icon: harvicnh + Start: 0 bggy: idle: @@ -30,6 +34,8 @@ bggy: Start: 0 Length: 6 Facings: 8 + icon: bggyicnh + Start: 0 mtnk: idle: @@ -41,6 +47,8 @@ mtnk: muzzle: gunfire2 Start: 0 Length: * + icon: mtnkicnh + Start: 0 ltnk: idle: @@ -52,6 +60,8 @@ ltnk: muzzle: gunfire2 Start: 0 Length: * + icon: ltnkicnh + Start: 0 htnk: idle: @@ -63,6 +73,8 @@ htnk: muzzle: gunfire2 Start: 0 Length: * + icon: htnkicnh + Start: 0 jeep: idle: @@ -75,11 +87,15 @@ jeep: Start: 0 Length: 6 Facings: 8 + icon: jeepicnh + Start: 0 bike: idle: Start: 0 Facings: 32 + icon: bikeicnh + Start: 0 ftnk: idle: @@ -89,6 +105,8 @@ ftnk: Start: 0 Length: 13 Facings: 8 + icon: ftnkicnh + Start: 0 mhq: idle: @@ -97,6 +115,8 @@ mhq: spinner: Start: 32 Length: 32 + icon: mhqicnh + Start: 0 msam: idle: @@ -111,6 +131,8 @@ msam: turret-3: Start: 64 Facings: 32 + icon: msamicnh + Start: 0 mlrs: idle: @@ -125,11 +147,15 @@ mlrs: turret-3: Start: 96 Facings: 32 + icon: mlrsicnh + Start: 0 stnk: idle: Start: 0 Facings: 32 + icon: stnkicnh + Start: 0 arty: idle: @@ -138,6 +164,8 @@ arty: muzzle: gunfire2 Start: 0 Length: * + icon: artyicnh + Start: 0 apc: idle: @@ -155,4 +183,6 @@ apc: Start: 32 Length: 3 unload: - Start: 32 \ No newline at end of file + Start: 32 + icon: apcicnh + Start: 0 \ No newline at end of file diff --git a/mods/d2k/bits/90mm.shp b/mods/d2k/bits/90mm.shp deleted file mode 100644 index 5a538ce10c..0000000000 Binary files a/mods/d2k/bits/90mm.shp and /dev/null differ diff --git a/mods/d2k/bits/allyrepair.shp b/mods/d2k/bits/allyrepair.shp deleted file mode 100644 index baeb7f384d..0000000000 Binary files a/mods/d2k/bits/allyrepair.shp and /dev/null differ diff --git a/mods/d2k/bits/bib2x.shp b/mods/d2k/bits/bib2x.shp deleted file mode 100644 index 66c2e6dcae..0000000000 Binary files a/mods/d2k/bits/bib2x.shp and /dev/null differ diff --git a/mods/d2k/bits/bib3x.shp b/mods/d2k/bits/bib3x.shp deleted file mode 100644 index 09801d3395..0000000000 Binary files a/mods/d2k/bits/bib3x.shp and /dev/null differ diff --git a/mods/d2k/bits/bigboom.shp b/mods/d2k/bits/bigboom.shp deleted file mode 100644 index 40c6085d5c..0000000000 Binary files a/mods/d2k/bits/bigboom.shp and /dev/null differ diff --git a/mods/d2k/bits/deathhandmissile.shp b/mods/d2k/bits/deathhandmissile.shp deleted file mode 100644 index 213742236f..0000000000 Binary files a/mods/d2k/bits/deathhandmissile.shp and /dev/null differ diff --git a/mods/d2k/bits/doubleblast.shp b/mods/d2k/bits/doubleblast.shp deleted file mode 100644 index 02743187fc..0000000000 Binary files a/mods/d2k/bits/doubleblast.shp and /dev/null differ diff --git a/mods/d2k/bits/doubleblastmuzzle.shp b/mods/d2k/bits/doubleblastmuzzle.shp deleted file mode 100644 index 90934c190d..0000000000 Binary files a/mods/d2k/bits/doubleblastmuzzle.shp and /dev/null differ diff --git a/mods/d2k/bits/fire1.shp b/mods/d2k/bits/fire1.shp deleted file mode 100644 index ca7d6fce7b..0000000000 Binary files a/mods/d2k/bits/fire1.shp and /dev/null differ diff --git a/mods/d2k/bits/fire2.shp b/mods/d2k/bits/fire2.shp deleted file mode 100644 index d6aebc5620..0000000000 Binary files a/mods/d2k/bits/fire2.shp and /dev/null differ diff --git a/mods/d2k/bits/fire3.shp b/mods/d2k/bits/fire3.shp deleted file mode 100644 index 32dc3964ce..0000000000 Binary files a/mods/d2k/bits/fire3.shp and /dev/null differ diff --git a/mods/d2k/bits/fire4.shp b/mods/d2k/bits/fire4.shp deleted file mode 100644 index abea58b29f..0000000000 Binary files a/mods/d2k/bits/fire4.shp and /dev/null differ diff --git a/mods/d2k/bits/harvest2.shp b/mods/d2k/bits/harvest2.shp deleted file mode 100644 index b09ec60ab1..0000000000 Binary files a/mods/d2k/bits/harvest2.shp and /dev/null differ diff --git a/mods/d2k/bits/harvester.shp b/mods/d2k/bits/harvester.shp deleted file mode 100644 index b8de8cc9ee..0000000000 Binary files a/mods/d2k/bits/harvester.shp and /dev/null differ diff --git a/mods/d2k/bits/mouse.r8 b/mods/d2k/bits/mouse.r8 new file mode 100644 index 0000000000..363b1e3de4 Binary files /dev/null and b/mods/d2k/bits/mouse.r8 differ diff --git a/mods/d2k/bits/mouse.shp b/mods/d2k/bits/mouse.shp deleted file mode 100644 index e7d9d70a35..0000000000 Binary files a/mods/d2k/bits/mouse.shp and /dev/null differ diff --git a/mods/d2k/bits/palaceh.shp b/mods/d2k/bits/palaceh.shp deleted file mode 100644 index d72467ae4a..0000000000 Binary files a/mods/d2k/bits/palaceh.shp and /dev/null differ diff --git a/mods/d2k/bits/pwra.shp b/mods/d2k/bits/pwra.shp deleted file mode 100644 index d536efdcf5..0000000000 Binary files a/mods/d2k/bits/pwra.shp and /dev/null differ diff --git a/mods/d2k/bits/pwrh.shp b/mods/d2k/bits/pwrh.shp deleted file mode 100644 index 4d033a0f31..0000000000 Binary files a/mods/d2k/bits/pwrh.shp and /dev/null differ diff --git a/mods/d2k/bits/pwro.shp b/mods/d2k/bits/pwro.shp deleted file mode 100644 index 0d7b0e9d93..0000000000 Binary files a/mods/d2k/bits/pwro.shp and /dev/null differ diff --git a/mods/d2k/bits/repair.shp b/mods/d2k/bits/repair.shp deleted file mode 100644 index 554dd84165..0000000000 Binary files a/mods/d2k/bits/repair.shp and /dev/null differ diff --git a/mods/d2k/bits/research.shp b/mods/d2k/bits/research.shp deleted file mode 100644 index a87f480055..0000000000 Binary files a/mods/d2k/bits/research.shp and /dev/null differ diff --git a/mods/d2k/bits/rockcrater1.shp b/mods/d2k/bits/rockcrater1.shp new file mode 100644 index 0000000000..1a800f2d8b Binary files /dev/null and b/mods/d2k/bits/rockcrater1.shp differ diff --git a/mods/d2k/bits/rockcrater2.shp b/mods/d2k/bits/rockcrater2.shp new file mode 100644 index 0000000000..ce4cca6e97 Binary files /dev/null and b/mods/d2k/bits/rockcrater2.shp differ diff --git a/mods/d2k/bits/sandcrater1.shp b/mods/d2k/bits/sandcrater1.shp new file mode 100644 index 0000000000..326dd7d78a Binary files /dev/null and b/mods/d2k/bits/sandcrater1.shp differ diff --git a/mods/d2k/bits/sandcrater2.shp b/mods/d2k/bits/sandcrater2.shp new file mode 100644 index 0000000000..b2c6b5c032 Binary files /dev/null and b/mods/d2k/bits/sandcrater2.shp differ diff --git a/mods/d2k/bits/shockwave.shp b/mods/d2k/bits/shockwave.shp deleted file mode 100644 index 7527644668..0000000000 Binary files a/mods/d2k/bits/shockwave.shp and /dev/null differ diff --git a/mods/d2k/bits/spice0.shp b/mods/d2k/bits/spice0.shp new file mode 100644 index 0000000000..ebf845306e Binary files /dev/null and b/mods/d2k/bits/spice0.shp differ diff --git a/mods/d2k/bits/temperat.pal b/mods/d2k/bits/temperat.pal deleted file mode 100644 index bb63fcdd50..0000000000 Binary files a/mods/d2k/bits/temperat.pal and /dev/null differ diff --git a/mods/d2k/bits/unload2.shp b/mods/d2k/bits/unload2.shp deleted file mode 100644 index 2b69c2c078..0000000000 Binary files a/mods/d2k/bits/unload2.shp and /dev/null differ diff --git a/mods/d2k/chrome/assetbrowser.yaml b/mods/d2k/chrome/assetbrowser.yaml new file mode 100644 index 0000000000..65289f5767 --- /dev/null +++ b/mods/d2k/chrome/assetbrowser.yaml @@ -0,0 +1,203 @@ +Background@ASSETBROWSER_BG: + Logic:AssetBrowserLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:700 + Height:410 + Children: + Label@ASSETBROWSER_TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Game Asset Viewer & Converter + Align:Center + Font:Bold + DropDownButton@SOURCE_SELECTOR: + X:40 + Y:45 + Width:160 + Height:25 + Font:Bold + Text:Folders + ScrollPanel@ASSET_LIST: + X:40 + Y:80 + Width:160 + Height:190 + Children: + ScrollItem@ASSET_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@TITLE: + X:10 + Width:PARENT_RIGHT-20 + Height:25 + TextField@FILENAME_INPUT: + X:40 + Y:280 + Width:140 + Height:25 + Button@LOAD_BUTTON: + X:40 + Y:310 + Width:140 + Height:25 + Text:Load + Font:Bold + Key:return + Label@PREVIEW_TITLE: + X:320 + Y:45 + Width:PARENT_RIGHT + Height:25 + Text:Preview + Font:Bold + Background@SPRITE_BG: + X:220 + Y:80 + Width:250 + Height:250 + Background:dialog4 + Children: + ShpImage@SPRITE: + X:4 + Y:4 + Width:246 + Height:246 + Image:DATA.R8 + Palette:colorpicker + Label@ACTIONS_TITLE: + X:PARENT_RIGHT - 150 + Y:45 + Width:PARENT_RIGHT + Height:25 + Text:Actions + Font:Bold + Button@EXPORT_BUTTON: + X:PARENT_RIGHT - 200 + Y:80 + Width:160 + Height:25 + Text:Selected to PNG + Font:Bold + Button@EXTRACT_BUTTON: + X:PARENT_RIGHT - 200 + Y:115 + Width:160 + Height:25 + Text:Extract all to PNG + Font:Bold + TextField@IMAGE_FILENAME_INPUT: + X:PARENT_RIGHT - 200 + Y:PARENT_BOTTOM - 235 + Width:100 + Height:25 + Text:pixelart.png + TextField@IMAGE_SIZE_INPUT: + X:PARENT_RIGHT - 90 + Y:PARENT_BOTTOM - 235 + Width:50 + Height:25 + Text:width + Button@IMPORT_BUTTON: + X:PARENT_RIGHT - 200 + Y:PARENT_BOTTOM - 200 + Width:160 + Height:25 + Text:Import from PNG + Font:Bold + Button@CLOSE_BUTTON: + X:PARENT_RIGHT - 200 + Y:PARENT_BOTTOM - 115 + Width:160 + Height:25 + Text:Close + Font:Bold + Key:escape + Container@FRAME_SELECTOR: + X:45 + Y:360 + Children: + Button@BUTTON_PREV: + X:0 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PREV: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:prev + Button@BUTTON_PLAY: + X:35 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PLAY: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:play + Button@BUTTON_PAUSE: + Visible: no + X:35 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PAUSE: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:pause + Button@BUTTON_STOP: + X:70 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_STOP: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:stop + Button@BUTTON_NEXT: + X:105 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_NEXT: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:next + Slider@FRAME_SLIDER: + X:160 + Y:0 + Width:410 + Height:20 + MinimumValue: 0 + Label@FRAME_COUNT: + X:585 + Y:0 + Width:25 + Height:25 + Font:Bold \ No newline at end of file diff --git a/mods/d2k/chrome/color-picker.yaml b/mods/d2k/chrome/color-picker.yaml index 3a4d93c0c5..5a099fff48 100644 --- a/mods/d2k/chrome/color-picker.yaml +++ b/mods/d2k/chrome/color-picker.yaml @@ -32,8 +32,8 @@ Background@COLOR_CHOOSER: ShpImage@FACT: X:160 Y:8 - Image:carryall - Frame:13 + Image:DATA.R8 + Frame:1936 Palette:colorpicker Button@RANDOM_BUTTON: Key:tab diff --git a/mods/d2k/chrome/gameinit.yaml b/mods/d2k/chrome/gameinit.yaml index d847aa27fc..e521aa3c73 100644 --- a/mods/d2k/chrome/gameinit.yaml +++ b/mods/d2k/chrome/gameinit.yaml @@ -3,7 +3,7 @@ Background@INSTALL_PANEL: X:(WINDOW_RIGHT - WIDTH)/2 Y:(WINDOW_BOTTOM - HEIGHT)/2 Width:630 - Height:350 + Height:200 Children: Label@TITLE: X:0 @@ -13,51 +13,23 @@ Background@INSTALL_PANEL: Text:Content files missing Align:Center Font:Bold - Label@DESC1: + Label@WELCOME: X:0 Y:50 Width:PARENT_RIGHT Height:25 - Text:This is the work in progress Dune 2000 mod. + Text:This is the work in progress Dune 2000 mod. It requires the original game files. Align:Center - Label@DESC2: + Label@DOWNLOAD: X:0 Y:90 Width:PARENT_RIGHT Height:25 - Text:It requires the original Dune 2000 assets whose fileformats differ from other C&C games. + Text:The easiest way is to simply click "Download" to fetch a minimal subset to get started. Align:Center - Label@DESC3: + Label@VIA_CD: X:0 - Y:130 - Width:PARENT_RIGHT - Height:25 - Text:The easiest way is to simply click download to fetch already prepared files and restart. - Align:Center - Label@DESC4: - X:0 - Y:170 - Width:PARENT_RIGHT - Height:25 - Text:You can also copy "Dune 2000/Data/GAMESFX" folder and "Dune 2000/DATA/*.R8" files - Align:Center - Label@DESC5: - X:0 - Y:190 - Width:PARENT_RIGHT - Height:25 - Text: from your local Dune 2000 1.03 installation to ~/.openra/Content/d2k/ (Linux) - Align:Center - Label@DESC6: - X:0 - Y:210 - Width:PARENT_RIGHT - Height:25 - Text: or "My Documents/OpenRA/Content/d2k/" (Windows) and click "Extract Data". - Align:Center - Label@DESC7: - X:0 - Y:250 + Y:110 Width:PARENT_RIGHT Height:25 Text: Put in your Dune 2000 CD and click "From CD" to extract game assets including music. @@ -76,13 +48,6 @@ Background@INSTALL_PANEL: Height:25 Text:From CD Font:Bold - Button@EXTRACT_BUTTON: - X:260 - Y:PARENT_BOTTOM - 45 - Width:110 - Height:25 - Text:Extract Data - Font:Bold Button@MODS_BUTTON: X:PARENT_RIGHT - 250 Y:PARENT_BOTTOM - 45 @@ -205,69 +170,4 @@ Background@INSTALL_FROMCD_PANEL: Height:25 Text:Back Font:Bold - Key:escape - -Background@EXTRACT_GAMEFILES_PANEL: - Logic:D2kExtractGameFilesLogic - X:(WINDOW_RIGHT - WIDTH)/2 - Y:(WINDOW_BOTTOM - HEIGHT)/2 - Width:500 - Height:160 - Children: - Label@TITLE: - X:0 - Y:20 - Width:PARENT_RIGHT - Height:25 - Text:Extracting and Converting Dune 2000 Gamefiles - Align:Center - Font:Bold - Container@EXTRACTING: - Width:PARENT_RIGHT - Height:PARENT_BOTTOM - Visible: false - Children: - ProgressBar@PROGRESS_BAR: - X:50 - Y:55 - Width:PARENT_RIGHT - 100 - Height:25 - Label@STATUS_LABEL: - X:50 - Y:80 - Width:PARENT_RIGHT - 100 - Height:25 - Align:Left - Container@COPY_FILES: - Width:PARENT_RIGHT - Height:PARENT_BOTTOM - Visible: false - Children: - Label@INFO: - Y:50 - Width:PARENT_RIGHT - Height:25 - Text:Gamefiles not not found. - Align:Center - Label@INFO2: - Y:70 - Width:PARENT_RIGHT - Height:25 - Text:Please copy the Data/*.R8 files from your Dune 2000 installation to OpenRAs Content/d2k directory then click Retry. - Align:Center - Button@RETRY_BUTTON: - X:PARENT_RIGHT - 280 - Y:PARENT_BOTTOM - 45 - Width:120 - Height:25 - Text:Retry - Font:Bold - Key:return - Button@BACK_BUTTON: - X:PARENT_RIGHT - 140 - Y:PARENT_BOTTOM - 45 - Width:120 - Height:25 - Text:Back - Font:Bold - Key:escape + Key:escape \ No newline at end of file diff --git a/mods/d2k/chrome/ingame.yaml b/mods/d2k/chrome/ingame.yaml index aa23ebd289..b9d113e351 100644 --- a/mods/d2k/chrome/ingame.yaml +++ b/mods/d2k/chrome/ingame.yaml @@ -153,13 +153,15 @@ Container@PLAYER_WIDGETS: BuildPalette@INGAME_BUILD_PALETTE: X:WINDOW_RIGHT - 250 Y:280 - Width:238 # TODO: why is this ignored? + Width:238 Height:500 ReadyText: READY HoldText: ON HOLD RequiresText: Requires IconWidth: 60 IconHeight: 48 + Columns: 3 + Rows: 4 Background@DIPLOMACY_BG: Logic:DiplomacyLogic X:(WINDOW_RIGHT - WIDTH)/2 diff --git a/mods/d2k/cursors.yaml b/mods/d2k/cursors.yaml index f3081ee8d1..f3d920dcb8 100644 --- a/mods/d2k/cursors.yaml +++ b/mods/d2k/cursors.yaml @@ -2,246 +2,255 @@ ShadowIndex: 1 Palettes: cursor: cursor.pal - mouse: d2k.pal + mouse.r8: d2k.pal Cursors: - mouse: mouse + mouse.r8: mouse.r8 scroll-t: start:112 - x: 12 - y: 12 + x: 24 + y: 24 scroll-tr: start: 120 - x: 12 - y: 12 + x: 24 + y: 24 scroll-r: start: 128 - x: 12 - y: 12 + x: 24 + y: 24 scroll-br: start: 136 - x: 12 - y: 12 + x: 24 + y: 24 scroll-b: start:148 - x: 12 - y: 12 + x: 24 + y: 24 scroll-bl: start:156 - x: 12 - y: 12 + x: 24 + y: 24 scroll-l: start:164 - x: 12 - y: 12 + x: 24 + y: 24 scroll-tl: start:172 - x: 12 - y: 12 + x: 24 + y: 24 scroll-t-blocked: start:180 - x: 12 - y: 12 + x: 24 + y: 24 scroll-tr-blocked: start:188 - x: 12 - y: 12 + x: 24 + y: 24 scroll-r-blocked: start:196 - x: 12 - y: 12 + x: 24 + y: 24 scroll-br-blocked: start:204 - x: 12 - y: 12 + x: 24 + y: 24 scroll-b-blocked: start:212 - x: 12 - y: 12 + x: 24 + y: 24 scroll-bl-blocked: start:220 - x: 12 - y: 12 + x: 24 + y: 24 scroll-l-blocked: start:228 - x: 12 - y: 12 + x: 24 + y: 24 scroll-tl-blocked: start:236 - x: 12 - y: 12 + x: 24 + y: 24 select: start:40 length: 8 - x: 12 - y: 12 - + x: 24 + y: 24 default: start:0 + x: 24 + y: 24 default-minimap: start:0 + x: 24 + y: 24 generic-blocked: start:24 + x: 24 + y: 24 generic-blocked-minimap: start:24 + x: 24 + y: 24 move: start:8 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 move-minimap: start:48 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 move-blocked: start:24 - x: 12 - y: 12 + x: 24 + y: 24 move-blocked-minimap: start:24 - x: 12 - y: 12 + x: 24 + y: 24 attack: start:16 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 attack-minimap: start:16 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 attackmove: start:16 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 attackmove-minimap: start:16 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 harvest: start:16 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 harvest-minimap: start:203 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 enter: start:32 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 enter-minimap: start:32 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 enter-blocked: start:104 length: 1 - x: 12 - y: 12 + x: 24 + y: 24 enter-blocked-minimap: start:104 + x: 24 + y: 24 c4: start:248 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 c4-minimap: start:248 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 guard: start:72 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 guard-minimap: start:72 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 capture: start:32 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 capture-minimap: start:32 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 ability: start:72 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 ability-minimap: start:72 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 # Cursors that need minimap variants deploy: start:96 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 deploy-blocked: start:104 length: 1 - x: 12 - y: 12 + x: 24 + y: 24 nuke: start:240 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 sell: start:80 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 sell-blocked: start:56 length: 1 - x: 12 - y: 12 + x: 24 + y: 24 repair: start:88 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 repair-blocked: start:64 length: 1 - x: 12 - y: 12 + x: 24 + y: 24 goldwrench: start:88 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 goldwrench-blocked: start:64 length: 1 - x: 12 - y: 12 + x: 24 + y: 24 move-rough: start:256 length: 8 - x: 12 - y: 12 + x: 24 + y: 24 nopower: cursor powerdown-blocked: diff --git a/mods/d2k/maps/black-mesa.oramap b/mods/d2k/maps/black-mesa.oramap deleted file mode 100644 index dcfc24764d..0000000000 Binary files a/mods/d2k/maps/black-mesa.oramap and /dev/null differ diff --git a/mods/d2k/maps/dune-boogie.oramap b/mods/d2k/maps/dune-boogie.oramap deleted file mode 100644 index da8dec2b06..0000000000 Binary files a/mods/d2k/maps/dune-boogie.oramap and /dev/null differ diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index e94aaaa4cf..161d48223c 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -1,6 +1,6 @@ Metadata: - Title: Dune 2000 (beta) - Description: early version of the Dune 2000 mod + Title: Dune 2000 + Description: OpenRA Reimagining of the classic game Version: {DEV_VERSION} Author: The OpenRA Developers @@ -10,16 +10,11 @@ Folders: ./mods/d2k/bits ./mods/d2k/uibits ./mods/ra/uibits - ~^/Content/ra ~^/Content/d2k ~^/Content/d2k/GAMESFX ~^/Content/d2k/Music - ~^/Content/d2k/Tilesets - ~^/Content/d2k/SHPs Packages: - ~main.mix - conquer.mix SOUND.RS Rules: @@ -75,12 +70,10 @@ ChromeLayout: mods/ra/chrome/cheats.yaml mods/ra/chrome/musicplayer.yaml mods/d2k/chrome/tooltips.yaml - mods/ra/chrome/assetbrowser.yaml + mods/d2k/chrome/assetbrowser.yaml mods/ra/chrome/convertassets.yaml Weapons: - mods/d2k/weapons/defaults.yaml - mods/d2k/weapons/explosions.yaml mods/d2k/weapons.yaml Voices: @@ -101,8 +94,8 @@ Movies: LoadScreen: D2kLoadScreen InstallerMenuWidget: INSTALL_PANEL - TestFile: SOUND.RS - PackageURL: http://open-ra.org/get-dependency.php?file=d2k-complete-packages + TestFile: DATA.R8 + PackageURL: http://open-ra.org/get-dependency.php?file=d2k-103-packages ServerTraits: LobbyCommands diff --git a/mods/d2k/rules/aircraft.yaml b/mods/d2k/rules/aircraft.yaml index ff46bdb260..132e5ffb12 100644 --- a/mods/d2k/rules/aircraft.yaml +++ b/mods/d2k/rules/aircraft.yaml @@ -5,7 +5,6 @@ Tooltip: Name: Carryall Description: Fast drop ship.\n Unarmed - Icon: carryallicon Health: HP: 250 Armor: @@ -17,7 +16,7 @@ ROT: 4 Speed: 30 LandableTerrainTypes: Sand, Rock, Transition, Spice, Dune - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth LandAltitude: 800 RenderUnit: @@ -42,7 +41,7 @@ FRIGATE: Plane: ROT: 5 Speed: 50 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth Health: HP: 500 @@ -85,7 +84,7 @@ ORNI: InitialFacing: 20 ROT: 6 Speed: 40 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: WithShadow: @@ -108,7 +107,7 @@ ORNI.bomber: Plane: ROT: 5 Speed: 50 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth LimitedAmmo: Ammo: 5 @@ -137,7 +136,7 @@ CARRYALL.infantry: Plane: ROT: 4 Speed: 40 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: carryall @@ -169,7 +168,7 @@ CARRYALL.Husk: Helicopter: ROT: 4 Speed: 30 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: carryall @@ -182,7 +181,7 @@ ORNI.Husk: Helicopter: ROT: 6 Speed: 40 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: orni @@ -195,7 +194,7 @@ ORNI.bomber.Husk: Plane: ROT: 5 Speed: 50 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: orni @@ -208,7 +207,7 @@ CARRYALL.infantry.Husk: Plane: ROT: 4 Speed: 40 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: carryall @@ -221,7 +220,7 @@ BADR.Husk: Plane: ROT: 4 Speed: 40 - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh RearmBuildings: starporta,starporto,starporth RenderUnit: Image: carryall diff --git a/mods/d2k/rules/atreides.yaml b/mods/d2k/rules/atreides.yaml index d62f871944..a8946aa740 100644 --- a/mods/d2k/rules/atreides.yaml +++ b/mods/d2k/rules/atreides.yaml @@ -1,15 +1,21 @@ CONYARDA: Inherits: ^CONYARD - Transforms: - IntoActor: mcva - Offset:1,1 - Facing: 270 PWRA: Inherits: ^POWER Buildable: Owner: atreides +GUNTOWERA: + Inherits: ^GUNTOWER + Buildable: + Owner: atreides + +ROCKETTOWERA: + Inherits: ^ROCKETTOWER + Buildable: + Owner: atreides + REFA: Inherits: ^REFINERY Buildable: @@ -22,6 +28,15 @@ BARRA: Buildable: Owner: atreides +REPAIRA: + Inherits: ^REPAIR + Buildable: + Owner: atreides + +RESEARCHA: + Inherits: ^RESEARCH + Buildable: + Owner: atreides HIGHTECHA: Inherits: ^HIGHTECH @@ -33,7 +48,7 @@ PALACEA: Buildable: Owner: atreides AirstrikePower: - Image: orniicon + Icon: ornistrike Description: Air Strike ChargeTime: 180 LongDesc: Ornithopter drops a load of parachuted\nbombs on your target @@ -92,21 +107,6 @@ MCVA.starport: Valued: Cost: 2500 -TRIKEA: - Inherits: ^TRIKE - Buildable: - Owner: atreides, harkonnen - RenderUnit: - Image: TRIKE - -TRIKEA.starport: - Inherits: TRIKEA - Buildable: - Owner: atreides, harkonnen, ordos - Queue: Starport - Valued: - Cost: 315 - CARRYALLA: Inherits: ^CARRYALL RenderUnit: @@ -119,8 +119,6 @@ CARRYALLA.starport: COMBATA: Inherits: ^COMBAT - Tooltip: - Icon: combataicon Buildable: Owner: atreides RevealsShroud: @@ -141,8 +139,6 @@ COMBATA: COMBATA.Husk: Inherits: ^COMBAT.Husk - Tooltip: - Icon: combataicon RenderUnit: Image: COMBATA @@ -166,7 +162,6 @@ SONICTANK: Tooltip: Name: Sonic Tank Description: Fires sonic shocks\n Strong vs Infantry, Vehicles\n Weak vs Artillery, Aircraft - Icon: sonictankicon Selectable: Bounds: 30,30 Health: @@ -193,8 +188,6 @@ SONICTANK: SONICTANK.Husk: Inherits: ^Husk - Tooltip: - Icon: sonictankicon RenderUnit: Image: SONICTANK diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index 367d800a60..d59a8f5b35 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -28,10 +28,11 @@ Types:Vehicle GivesBounty: Repairable: - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh DebugMuzzlePositions: Guard: Guardable: + RenderUnit: BodyOrientation: UpdatesPlayerStatistics: @@ -65,10 +66,11 @@ Types:Tank GivesBounty: Repairable: - RepairBuildings: repair + RepairBuildings: repaira,repairo,repairh DebugMuzzlePositions: Guard: Guardable: + RenderUnit: BodyOrientation: UpdatesPlayerStatistics: @@ -234,3 +236,4 @@ Range: 3 BodyOrientation: UpdatesPlayerStatistics: + WithCrumbleOverlay: \ No newline at end of file diff --git a/mods/d2k/rules/harkonnen.yaml b/mods/d2k/rules/harkonnen.yaml index 0bc3b78092..ce191b57b1 100644 --- a/mods/d2k/rules/harkonnen.yaml +++ b/mods/d2k/rules/harkonnen.yaml @@ -1,15 +1,21 @@ CONYARDH: Inherits: ^CONYARD - Transforms: - IntoActor: mcvh - Offset:1,1 - Facing: 270 PWRH: Inherits: ^POWER Buildable: Owner: harkonnen +GUNTOWERH: + Inherits: ^GUNTOWER + Buildable: + Owner: harkonnen + +ROCKETTOWERH: + Inherits: ^ROCKETTOWER + Buildable: + Owner: harkonnen + REFH: Inherits: ^REFINERY Buildable: @@ -23,6 +29,16 @@ BARRH: Owner: harkonnen -RepairsUnits: +REPAIRH: + Inherits: ^REPAIR + Buildable: + Owner: harkonnen + +RESEARCHH: + Inherits: ^RESEARCH + Buildable: + Owner: harkonnen + SILOH: Inherits: ^SILO Buildable: @@ -64,7 +80,7 @@ PALACEH: Tooltip: Description: Provides elite infantry\n Special Ability: Death Hand Missile NukePower: - Image: deathhandicon + Icon: deathhand ChargeTime: 300 Description: Death Hand LongDesc: Launches a nuclear missile at a target location @@ -97,38 +113,6 @@ MCVH.starport: Valued: Cost: 2500 -#TRIKEH: -# Inherits: ^TRIKE -# Buildable: -# Owner: harkonnen -# Valued: -# Cost: 250 -# Tooltip: -# Name: Scout Quad -# Description: Heavy Scout\n Strong vs Infantry -# Icon: quadicon -# Health: -# HP: 125 -# Mobile: -# ROT: 9 -# Speed: 11 -# Armament: -# Weapon: M60mg -# LocalOffset: 43,0,128 -# AttackFrontal: -# RenderUnit: -# Image: QUAD - -#TRIKEH.starport: -# Inherits: ^TRIKE -# Buildable: -# Owner: harkonnen -# Queue: Starport -# Valued: -# Cost: 149 -# RenderUnit: -# Image: TRIKE - CARRYALLH: Inherits: ^CARRYALL RenderUnit: @@ -139,16 +123,8 @@ CARRYALLH.starport: Valued: Cost: 1500 -QUADH: - Inherits: QUAD - Buildable: - -Prerequisites: - Owner: harkonnen - COMBATH: Inherits: ^COMBAT - Tooltip: - Icon: combathicon Buildable: Owner: harkonnen Mobile: @@ -166,8 +142,6 @@ COMBATH: COMBATH.Husk: Inherits: ^COMBAT.Husk - Tooltip: - Icon: combathicon RenderUnit: Image: COMBATH @@ -183,7 +157,7 @@ DEVAST: Buildable: Queue: Armor BuildPaletteOrder: 100 - Prerequisites: Ix + Prerequisites: Research Owner: harkonnen Hotkey: d Valued: @@ -191,7 +165,6 @@ DEVAST: Tooltip: Name: Devastator Description: Super Heavy Tank\n Strong vs Tanks\n Weak vs Artillery, Aircraft - Icon: devasticon Health: HP: 650 Armor: @@ -220,8 +193,6 @@ DEVAST.Husk: Inherits: ^Husk Health: HP: 125 - Tooltip: - Icon: devasticon RenderUnit: Image: DEVAST diff --git a/mods/d2k/rules/infantry.yaml b/mods/d2k/rules/infantry.yaml index 0ace1ddb48..3d357dd673 100644 --- a/mods/d2k/rules/infantry.yaml +++ b/mods/d2k/rules/infantry.yaml @@ -91,7 +91,6 @@ MEDIC: Tooltip: Name: Medic Description: Heals nearby infantry\n Strong vs Nothing\n Weak vs Everything - Icon: thumpericon Selectable: Bounds: 12,17,0,0 Voice: EngineerVoice @@ -108,59 +107,4 @@ MEDIC: PipType: Blue -AutoTarget: AttackMove: - JustMove: true - RenderInfantry: - Image: THUMPER - - -#THUMPER: -# Inherits: ^Infantry -# Buildable: -# Queue: Infantry -# BuildPaletteOrder: 50 -# Owner: atreides,harkonnen,ordos -# Valued: -# Cost: 400 -# Tooltip: -# Name: Thumper -# Description: Attracts sandsworm through vibrations\n Strong vs Nothing\n Weak vs Everything -# Selectable: -# Bounds: 12,17,0,0 -# Health: -# HP: 25 -# Mobile: -# Speed: 4 -# Passenger: -# -AutoTarget: -# AttackMove: -# JustMove: true -# Transforms: -# IntoActor: thumping -# Offset:1,1 -# Facing: 1 -# -#THUMPING: -# Inherits: ^Building -# Building: -# Power: 0 -# Footprint: x -# Dimensions: 1,1 -# TerrainTypes: Sand, Dune -# Health: -# HP: 25 -# Armor: -# Type: None -# RevealsShroud: -# Range: 5 -# Valued: -# Cost: 400 -# Tooltip: -# Name: Thumper -# -Capturable: -# -CapturableBar: -# -Sellable: -# -GivesBuildableArea: -# FreeActor: -# Actor: SANDWORM -# SpawnOffset: 1,2 -# Facing: 1 + JustMove: true \ No newline at end of file diff --git a/mods/d2k/rules/ordos.yaml b/mods/d2k/rules/ordos.yaml index f3c40c0a16..8a2d03ab39 100644 --- a/mods/d2k/rules/ordos.yaml +++ b/mods/d2k/rules/ordos.yaml @@ -1,15 +1,21 @@ CONYARDO: Inherits: ^CONYARD - Transforms: - IntoActor: mcvo - Offset:1,1 - Facing: 270 PWRO: Inherits: ^POWER Buildable: Owner: ordos +GUNTOWERO: + Inherits: ^GUNTOWER + Buildable: + Owner: ordos + +ROCKETTOWERO: + Inherits: ^ROCKETTOWER + Buildable: + Owner: ordos + REFO: Inherits: ^REFINERY Buildable: @@ -22,6 +28,16 @@ BARRO: Buildable: Owner: ordos +REPAIRO: + Inherits: ^REPAIR + Buildable: + Owner: ordos + +RESEARCHO: + Inherits: ^RESEARCH + Buildable: + Owner: ordos + SILOO: Inherits: ^SILO Buildable: @@ -61,7 +77,7 @@ PALACEO: Buildable: Owner: ordos AirstrikePower: - Image: orniicon + Icon: ornistrike Description: Air Strike ChargeTime: 180 LongDesc: Ornithopter drops a load of parachuted\nbombs on your target @@ -93,8 +109,6 @@ MCVO.starport: COMBATO: Inherits: ^COMBAT - Tooltip: - Icon: combatoicon Buildable: Owner: ordos RevealsShroud: @@ -113,8 +127,6 @@ COMBATO: COMBATO.Husk: Inherits: ^COMBAT.Husk - Tooltip: - Icon: combatoicon RenderUnit: Image: COMBATO @@ -125,31 +137,44 @@ COMBATO.starport: Valued: Cost: 875 -TRIKEO: - Inherits: ^TRIKE +RAIDER: + Inherits: ^Vehicle Buildable: + Queue: Vehicle + BuildPaletteOrder: 10 + Hotkey: w Owner: ordos Valued: Cost: 300 Tooltip: Name: Raider Trike Description: Improved Scout\n Strong vs Infantry, Light Vehicles - Icon: raidericon + Selectable: + Bounds: 24,24 Health: HP: 110 + Armor: + Type: Light Mobile: ROT: 10 Speed: 14 + RevealsShroud: + Range: 7 RenderUnit: - Image: RAIDER + WithMuzzleFlash: Armament: Weapon: HMGo LocalOffset: 256,0,128 AttackFrontal: + AutoTarget: + Explodes: + Weapon: UnitExplodeTiny + EmptyWeapon: UnitExplodeTiny -STEALTHTRIKE: - Inherits: ^TRIKE +STEALTHRAIDER: + Inherits: ^Vehicle Buildable: + Queue: Vehicle Prerequisites: Hitech Owner: ordos BuildPaletteOrder: 30 @@ -158,18 +183,26 @@ STEALTHTRIKE: Tooltip: Name: Stealth Raider Trike Description: Invisible Raider Trike\n Strong vs Infantry, Light Vehicles - Icon: raidersicon + Selectable: + Bounds: 24,24 Health: HP: 110 + Armor: + Type: Light Mobile: ROT: 10 Speed: 14 + RevealsShroud: + Range: 7 RenderUnit: - Image: RAIDER + WithMuzzleFlash: Armament: Weapon: HMGo LocalOffset: 256,0,128 AttackFrontal: + Explodes: + Weapon: UnitExplodeTiny + EmptyWeapon: UnitExplodeTiny Cloak: InitialDelay: 45 CloakDelay: 90 @@ -178,16 +211,6 @@ STEALTHTRIKE: AutoTarget: InitialStance: HoldFire -#TRIKEO.starport: -# Inherits: ^TRIKE -# Buildable: -# Queue: Starport -# Owner: ordos -# RenderUnit: -# Image: TRIKE -# Valued: -# Cost: 149 - CARRYALLO: Inherits: ^CARRYALL RenderUnit: @@ -205,7 +228,6 @@ DEVIATORTANK: Tooltip: Name: Deviator Description: Causes no actual damage\nFires a warhead which changes allegiances\n but does not effect buildings or tanks - Icon: deviatortankicon Buildable: Queue: Armor BuildPaletteOrder: 50 @@ -238,8 +260,6 @@ DEVIATORTANK: DEVIATORTANK.Husk: Inherits: ^Husk - Tooltip: - Icon: deviatortankicon RenderUnit: Image: DEVIATORTANK diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index b4bac470bb..7e5e400794 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -61,6 +61,8 @@ Range: 4 ProvidesCustomPrerequisite: Prerequisite: Power + WithIdleOverlay@ZAPS: + Sequence: idle-zaps ^BARRACKS: Inherits: ^Building @@ -215,6 +217,8 @@ ProductionBar: ProvidesCustomPrerequisite: Prerequisite: Light + WithIdleOverlay@WELDING: + Sequence: idle-welding ^HEAVY: Inherits: ^Building @@ -253,11 +257,13 @@ ProductionBar: ProvidesCustomPrerequisite: Prerequisite: Heavy + WithIdleOverlay@WELDING: + Sequence: idle-welding ^RADAR: + Inherits: ^Building RequiresPower: CanPowerDown: - Inherits: ^Building Buildable: Prerequisites: Barracks Queue: Building @@ -287,6 +293,8 @@ RenderDetectionCircle: ProvidesCustomPrerequisite: Prerequisite: Outpost + WithIdleOverlay@DISH: + Sequence: idle-dish ^STARPORT: Inherits: ^Building @@ -330,12 +338,15 @@ Prerequisite: Starport WALL: + Inherits: ^WALL + Buildable: + Owner: + +^WALL: Buildable: Queue: Building Prerequisites: Barracks - Owner: atreides, harkonnen, ordos BuildPaletteOrder: 60 - #Hotkey: g SoundOnDamageTransition: DamagedSound: DestroyedSound: EXPLSML4.WAV @@ -346,7 +357,6 @@ WALL: Tooltip: Name: Concrete Wall Description: Stop units and blocks enemy fire. - Icon: wallaicon AppearsOnRadar: Building: BuildSounds: CHUNG.WAV @@ -361,15 +371,14 @@ WALL: CrushClasses: Concretewall LineBuild: Range: 8 - #SelectionDecorations: - #Selectable: - # Priority: 1 +# SelectionDecorations: +# Selectable: +# Priority: 1 TargetableBuilding: TargetTypes: Ground, C4 RenderBuildingWall: HasMakeAnimation: false Image: walla - #GivesExperience: EditorAppearance: RelativeToTopLeft: yes AutoTargetIgnore: @@ -379,12 +388,11 @@ WALL: Guardable: BodyOrientation: -GUNTOWER: +^GUNTOWER: Inherits: ^Building Buildable: Queue: Building Prerequisites: Barracks - Owner: atreides, harkonnen, ordos BuildPaletteOrder: 90 Hotkey: g Valued: @@ -392,7 +400,6 @@ GUNTOWER: Tooltip: Name: Gun Tower Description: Defensive structure\n Strong vs Tanks\n Weak vs Infantry, Aircraft - Icon: guntoweraicon Building: Power: -20 Adjacent: 4 @@ -411,7 +418,6 @@ GUNTOWER: RenderRangeCircle: RenderBuilding: HasMakeAnimation: false - Image: guntowera WithTurret: Turreted: ROT: 6 @@ -421,26 +427,16 @@ GUNTOWER: LocalOffset: 469,0,299 AttackTurreted: AutoTarget: - LeavesHusk: - HuskActor: Guntower.Husk RenderDetectionCircle: DetectCloaked: Range: 5 + -WithCrumbleOverlay: -GUNTOWER.Husk: - Inherits: ^TowerHusk - Tooltip: - Name: Destroyed Tower - Icon: guntoweraicon - RenderUnit: - Image: guntowera - -ROCKETTOWER: +^ROCKETTOWER: Inherits: ^Building Buildable: Queue: Building Prerequisites: Outpost - Owner: atreides, harkonnen, ordos BuildPaletteOrder: 120 Hotkey: m Valued: @@ -448,7 +444,6 @@ ROCKETTOWER: Tooltip: Name: Rocket Tower Description: Defensive structure\n Strong vs Infantry, Aircraft\n Weak vs Tanks\n\n Requires power to operate - Icon: rockettoweraicon Building: Power: -30 Adjacent: 4 @@ -467,7 +462,6 @@ ROCKETTOWER: RenderRangeCircle: RenderBuilding: HasMakeAnimation: false - Image: rockettowera WithTurret: Armament: Weapon: TowerMissile @@ -479,26 +473,16 @@ ROCKETTOWER: AutoTarget: RequiresPower: CanPowerDown: - LeavesHusk: - HuskActor: Rockettower.Husk RenderDetectionCircle: DetectCloaked: Range: 6 + -WithCrumbleOverlay: -ROCKETTOWER.Husk: - Inherits: ^TowerHusk - Tooltip: - Name: Destroyed Tower - Icon: rockettoweraicon - RenderUnit: - Image: rockettowera - -REPAIR: +^REPAIR: Inherits: ^Building Buildable: Queue: Building Prerequisites: Heavy - Owner: atreides, harkonnen, ordos BuildPaletteOrder: 130 Hotkey: e Valued: @@ -506,7 +490,6 @@ REPAIR: Tooltip: Name: Repair Pad Description: Repairs vehicles\n Allows construction of MCVs - Icon: repairaicon Building: Power: -10 Footprint: =x= =x= === @@ -523,6 +506,8 @@ REPAIR: ValuePercentage: 50 RallyPoint: RallyPoint: 1,3 + ProvidesCustomPrerequisite: + Prerequisite: Repair ^HIGHTECH: Inherits: ^Building @@ -551,13 +536,14 @@ REPAIR: Range: 4 ProvidesCustomPrerequisite: Prerequisite: Hitech + WithIdleOverlay@WELDING: + Sequence: idle-welding -RESEARCH: +^RESEARCH: Inherits: ^Building Buildable: Queue: Building Prerequisites: Hitech - Owner: atreides, harkonnen, ordos BuildPaletteOrder: 140 Hotkey: v Selectable: @@ -567,9 +553,8 @@ RESEARCH: Tooltip: Name: IX Research Center Description: Unlocks experimental tanks\n Special Ability: Carryall Combat Drop - Icon: researchaicon ParatroopersPower: - Image: carryallicon + Icon: paratroopers UnitType: carryall.infantry FlareTime: 0 ChargeTime: 180 @@ -581,8 +566,8 @@ RESEARCH: FlareType: Building: Power: -40 - Footprint: xxx xxx - Dimensions: 3,2 + Footprint: _x_ xxx xxx + Dimensions: 3,3 Bib: Health: HP: 1000 @@ -591,12 +576,14 @@ RESEARCH: RevealsShroud: Range: 4 ProvidesCustomPrerequisite: - Prerequisite: Ix + Prerequisite: Research + WithIdleOverlay@LIGHTS: + Sequence: idle-lights ^PALACE: Inherits: ^Building Buildable: - Prerequisites: Ix + Prerequisites: Research Queue: Building BuildPaletteOrder: 150 Hotkey: p @@ -609,8 +596,8 @@ RESEARCH: Description: Unlocks elite infantry\n Special Ability: Ornithopter Strike Building: Power: -50 - Footprint: _x_ xxx =xx - Dimensions: 3,3 + Footprint: xxx xxx + Dimensions: 3,2 Bib: Health: HP: 2000 @@ -622,7 +609,7 @@ RESEARCH: DetectCloaked: Range: 4 ProvidesCustomPrerequisite: - Prerequisite: TPal + Prerequisite: Palace SIETCH: Inherits: ^Building @@ -685,6 +672,10 @@ HITECH: Tooltip: Name: High-Tech Facility -IX: +REPAIR: Tooltip: - Name: IX Research Center + Name: Repair Pad + +RESEARCH: + Tooltip: + Name: Ix Research Center diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml index 2f9c28583f..779579c39a 100644 --- a/mods/d2k/rules/system.yaml +++ b/mods/d2k/rules/system.yaml @@ -117,9 +117,7 @@ Player: fremen: 0.5% sardaukar: 1.5% harvester: 0.1% - trikea.starport: 5% - #trikeh.starport: 5% - #trikeo.starport: 5% + trike.starport: 5% quad.starport: 7.5% siegetank.starport: 5% missiletank.starport: 7.5% @@ -129,9 +127,7 @@ Player: sonictank: 10% devast: 10% deviatortank: 7.5% - trikea: 10% - #trikeh: 10% - trikeo: 10% + trike: 10% quad: 15% siegetank: 10% missiletank: 15% @@ -143,6 +139,14 @@ Player: Name:Vidious UnitQueues: Infantry, Vehicle, Armor, Starport RallypointTestBuilding: conyarda + BuildingCommonNames: + ConstructionYard: conyarda,conyardh,conyardo + Refinery: refa,refh,refo + Power: pwra,pwrh,pwro + VehiclesFactory: lighta,lighth,lighto,heavya,heavyh,heavyo + Silo: siloa, siloh, siloo + UnitsCommonNames: + Mcv: mcva,mcvh,mcvo BuildingFractions: refa: 20.1% refh: 20.1% @@ -180,9 +184,7 @@ Player: fremen: 0.25% sardaukar: 1% harvester: 0.1% - trikea.starport: 7.5% - #trikeh.starport: 7.5% - #trikeo.starport: 7.5% + trike.starport: 7.5% quad.starport: 12.5% siegetank.starport: 5% missiletank.starport: 7.5% @@ -192,9 +194,8 @@ Player: sonictank: 10% devast: 10% deviatortank: 7.5% - trikea: 15% - #trikeh: 15% - trikeo: 15% + trike: 15% + raider: 15% quad: 25% siegetank: 10% missiletank: 15% @@ -206,6 +207,14 @@ Player: Name:Gladius UnitQueues: Infantry, Vehicle, Armor, Starport RallypointTestBuilding: conyarda + BuildingCommonNames: + ConstructionYard: conyarda,conyardh,conyardo + Refinery: refa,refh,refo + Power: pwra,pwrh,pwro + VehiclesFactory: lighta,lighth,lighto,heavya,heavyh,heavyo + Silo: siloa, siloh, siloo + UnitsCommonNames: + Mcv: mcva,mcvh,mcvo BuildingFractions: refa: 20.1% refh: 20.1% @@ -241,9 +250,7 @@ Player: fremen: 1% sardaukar: 3% harvester: 0.1% - trikea.starport: 5% - #trikeh.starport: 5% - #trikeo.starport: 5% + trike.starport: 5% quad.starport: 7.5% siegetank.starport: 5% missiletank.starport: 7.5% @@ -253,9 +260,8 @@ Player: sonictank: 10% devast: 10% deviatortank: 7.5% - trikea: 10% - #trikeh: 10% - trikeo: 10% + trike: 10% + raider: 10% quad: 15% siegetank: 10% missiletank: 15% @@ -276,7 +282,7 @@ World: LoadWidgetAtGameStart: Widget: INGAME_ROOT ScreenShaker: - NukePaletteEffect: +# NukePaletteEffect: # TODO: does not work well with additive blending (idle overlays still use player palette effects) BuildingInfluence: ChooseBuildTabOnSelect: CrateSpawner: @@ -299,8 +305,9 @@ World: AllowModifiers: false PaletteFromFile@effect: Name: effect - Filename: temperat.pal + Filename: d2k.pal ShadowIndex: 4 + AllowModifiers: false PaletteFromFile@colorpicker: Name: colorpicker Filename: d2k.pal @@ -413,12 +420,12 @@ CRATE: Amount: 1500 SelectionShares: 25 UseCashTick: yes - GiveUnitCrateAction@TrikeA: + GiveUnitCrateAction@Trike: SelectionShares: 20 - Unit: trikea - GiveUnitCrateAction@TrikeO: + Unit: trike + GiveUnitCrateAction@Raider: SelectionShares: 15 - Unit: trikeo + Unit: raider GiveUnitCrateAction@Quad: SelectionShares: 40 Unit: quad @@ -437,9 +444,9 @@ CRATE: GiveUnitCrateAction@MissileTank: SelectionShares: 10 Unit: missiletank - GiveUnitCrateAction@StealthTrike: + GiveUnitCrateAction@StealthRaider: SelectionShares: 7 - Unit: stealthtrike + Unit: stealthraider GiveUnitCrateAction@Fremen: SelectionShares: 5 Unit: fremen diff --git a/mods/d2k/rules/vehicles.yaml b/mods/d2k/rules/vehicles.yaml index 675f66817b..7001a390c7 100644 --- a/mods/d2k/rules/vehicles.yaml +++ b/mods/d2k/rules/vehicles.yaml @@ -1,7 +1,7 @@ ^MCV: Inherits: ^Vehicle Buildable: - Prerequisites: repair + Prerequisites: Repair Queue: Armor BuildPaletteOrder: 110 Hotkey: m @@ -10,7 +10,6 @@ Tooltip: Name: Mobile Construction Vehicle Description: Deploys into another Construction Yard\n Unarmed - Icon: mcvicon Selectable: Priority: 3 Bounds: 42,42 @@ -40,7 +39,6 @@ MCV.Husk: HP: 175 Tooltip: Name: Destroyed Mobile Construction Vehicle - Icon: missiletankicon RenderUnit: Image: DMCV @@ -57,7 +55,6 @@ HARVESTER: Tooltip: Name: Spice Harvester Description: Collects Spice for processing\n Unarmed - Icon: harvestericon Selectable: Priority: 7 Bounds: 42,42 @@ -96,7 +93,6 @@ HARVESTER.Husk: HP: 150 Tooltip: Name: Destroyed Spice Harvester - Icon: harvestericon RenderUnit: Image: HARVESTER @@ -108,18 +104,18 @@ HARVESTER.starport: Valued: Cost: 1500 -^TRIKE: +TRIKE: Inherits: ^Vehicle Buildable: Queue: Vehicle BuildPaletteOrder: 10 Hotkey: w + Owner: atreides, harkonnen Valued: Cost: 250 Tooltip: Name: Scout Trike Description: Fast Scout\n Strong vs Infantry - Icon: trikeicon Selectable: Bounds: 24,24 Health: @@ -141,18 +137,28 @@ HARVESTER.starport: Explodes: Weapon: UnitExplodeTiny EmptyWeapon: UnitExplodeTiny - #Cargo: - # Types: Infantry - # MaxWeight: 1 - # PipCount: 1 - # UnloadFacing: 220 +# Cargo: +# Types: Infantry +# MaxWeight: 1 +# PipCount: 1 +# UnloadFacing: 220 + +TRIKE.starport: + Inherits: TRIKE + Buildable: + Owner: atreides, harkonnen, ordos + Queue: Starport + Valued: + Cost: 315 + RenderUnit: + Image: TRIKE QUAD: Inherits: ^Vehicle Buildable: Queue: Vehicle Prerequisites: Light,Outpost - Owner: atreides, ordos + Owner: atreides, ordos, harkonnen BuildPaletteOrder: 20 Hotkey: q Valued: @@ -160,7 +166,6 @@ QUAD: Tooltip: Name: Missile Quad Description: Missile Scout\n Strong vs Vehicles\n Weak vs Infantry - Icon: quadicon Health: HP: 125 Armor: @@ -170,8 +175,6 @@ QUAD: Speed: 9 RevealsShroud: Range: 8 - RenderUnit: - Image: QUAD Armament: Weapon: QuadRockets LocalOffset: 128,0,85#-4 @@ -190,6 +193,8 @@ QUAD.starport: Queue: Starport Valued: Cost: 500 + RenderUnit: + Image: QUAD ^COMBAT: Inherits: ^Tank @@ -250,7 +255,6 @@ SIEGETANK: Tooltip: Name: Siege Tank Description: Siege Artillery\n Strong vs Infantry, Buildings\n Weak vs Tanks, Aircraft - Icon: siegetankicon Health: HP: 120 Armor: @@ -286,7 +290,6 @@ SIEGETANK: SIEGETANK.Husk: Inherits: ^Husk Tooltip: - Icon: siegetankicon ThrowsParticle@turret: Anim: turret RenderUnit: @@ -306,7 +309,6 @@ MISSILETANK: Tooltip: Name: Rocket Tank Description: Rocket Artillery\n Strong vs Vehicles, Buildings\n Weak vs Infantry, Aircraft - Icon: missiletankicon Buildable: Queue: Armor Prerequisites: Hitech @@ -327,7 +329,7 @@ MISSILETANK: Armament: Weapon: 227mm LocalOffset: -213,128,171, -213,-256,171 - FireDelay: 15 + FireDelay: 15 AttackFrontal: AutoTarget: InitialStance: Defend @@ -341,8 +343,6 @@ MISSILETANK: MISSILETANK.Husk: Inherits: ^Husk - Tooltip: - Icon: missiletankicon RenderUnit: Image: MISSILETANK diff --git a/mods/d2k/sequences/aircraft.yaml b/mods/d2k/sequences/aircraft.yaml index eddbd5be7d..bdbf974858 100644 --- a/mods/d2k/sequences/aircraft.yaml +++ b/mods/d2k/sequences/aircraft.yaml @@ -1,19 +1,27 @@ carryall: - idle: - Start: 0 - Facings: 32 - unload: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1923 + Facings: -32 + unload: DATA.R8 + Start: 1923 + Facings: -32 + icon: DATA.R8 + Start: 4029 + Offset: -30,-24 + orni: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1955 + Facings: -32 Length: 3 Tick: 120 + Transpose: true + icon: DATA.R8 + Start: 4031 + Offset: -30,-24 frigate: - idle: - Start: 0 + idle: DATA.R8 + Start: 2517 Facings: 1 \ No newline at end of file diff --git a/mods/d2k/sequences/infantry.yaml b/mods/d2k/sequences/infantry.yaml index 97762bfdc6..7747737bbe 100644 --- a/mods/d2k/sequences/infantry.yaml +++ b/mods/d2k/sequences/infantry.yaml @@ -1,385 +1,441 @@ rifle: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - stand3: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 206 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 206 + Facings: -8 + Transpose: true + stand3: DATA.R8 + Start: 206 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 214 Length: 6 - Facings: 8 + Facings: -8 Tick: 110 - shoot: - Start: 56 - Length: 5 - Facings: 8 - Tick: 120 - prone-stand: - Start: 104 - Length: 1 - Facings: 8 - prone-run: - Start: 112 + Transpose: true + shoot: DATA.R8 + Start: 254 + Length: 6 + Facings: -8 + Transpose: true + prone-stand: DATA.R8 + Start: 302 + Facings: -8 + Transpose: true + prone-run: DATA.R8 + Start: 310 Length: 3 - Facings: 8 + Facings: -8 + Transpose: true Tick: 110 - standup-0: - Start: 96 - Length: 1 - Facings: 8 + standup-0: DATA.R8 + Start: 302 + Facings: -8 + Transpose: true Tick: 120 - prone-shoot: - Start: 136 + prone-shoot: DATA.R8 + Start: 334 + Length: 6 + Facings: -8 + Transpose: true + die1: DATA.R8 + Start: 382 Length: 5 - Facings: 8 - Tick: 120 - die1: rifledeath - Start: 12 - Length: 12 + die2: DATA.R8 + Start: 387 + Length: 7 Tick: 80 - die2: rifledeath - Start: 12 + die3: DATA.R8 + Start: 394 + Length: 7 + die4: DATA.R8 + Start: 401 + Length: 7 + die5: DATA.R8 + Start: 408 + Length: 7 + die6: DATA.R8 + Start: 415 Length: 12 - Tick: 80 - die3: rifledeath - Start: 36 + die-crushed: DATA.R8 + Start: 430 Length: 12 - Tick: 80 - die4: rifledeath - Start: 24 - Length: 12 - Tick: 80 - die5: rifledeath - Start: 0 - Length: 12 - Tick: 80 - die6: rifledeath - Start: 12 - Length: 12 - Tick: 80 - die-crushed: rifledeath - Start: 48 - Length: 12 - Tick: 160 + Tick: 1600 + icon: DATA.R8 + Start: 4011 + Offset: -30,-24 bazooka: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - stand3: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 458 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 458 + Facings: -8 + Transpose: true + stand3: DATA.R8 + Start: 458 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 466 Length: 6 - Facings: 8 + Facings: -8 Tick: 120 - shoot: - Start: 56 - Length: 5 - Facings: 8 - Tick: 120 - prone-stand: - Start: 104 + Transpose: true + shoot: DATA.R8 + Start: 506 + Length: 6 + Facings: -8 + Transpose: true + prone-stand: DATA.R8 + Start: 562 Length: 1 - Facings: 8 - prone-run: - Start: 112 + Facings: -8 + Transpose: true + prone-run: DATA.R8 + Start: 570 Length: 3 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - standup-0: - Start: 96 + standup-0: DATA.R8 + Start: 554 Length: 1 - Facings: 8 - prone-shoot: - Start: 136 + Facings: -8 + Transpose: true + prone-shoot: DATA.R8 + Start: 586 + Length: 6 + Facings: -8 + Transpose: true + die1: DATA.R8 + Start: 634 Length: 5 - Facings: 8 - Tick: 120 - die1: bazookadeath - Start: 0 - Length: 5 - die2: bazookadeath - Start: 5 + die2: DATA.R8 + Start: 639 Length: 7 - die3: bazookadeath - Start: 12 + die3: DATA.R8 + Start: 646 Length: 7 - die4: bazookadeath - Start: 19 + die4: DATA.R8 + Start: 653 Length: 7 - die5: bazookadeath - Start: 26 + die5: DATA.R8 + Start: 660 Length: 7 - die6: bazookadeath - Start: 26 + die6: DATA.R8 + Start: 660 Length: 7 - die-crushed: bazookadeath - Start: 34 + die-crushed: DATA.R8 + Start: 668 Length: 26 Tick: 1600 + icon: DATA.R8 + Start: 4012 + Offset: -30,-24 engineer: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 1166 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 1166 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 1174 Length: 6 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - die1: engineerdeath - Start: 0 + die1: DATA.R8 + Start: 1342 Length: 5 - die2: engineerdeath - Start: 5 + die2: DATA.R8 + Start: 1347 Length: 7 - die3: engineerdeath - Start: 12 + die3: DATA.R8 + Start: 1354 Length: 7 - die4: engineerdeath - Start: 19 + die4: DATA.R8 + Start: 1361 Length: 7 - die5: engineerdeath - Start: 26 + die5: DATA.R8 + Start: 1368 Length: 7 - die6: engineerdeath - Start: 26 + die6: DATA.R8 + Start: 1368 Length: 7 - die-crushed: engineerdeath - Start: 34 + die-crushed: DATA.R8 + Start: 1376 Length: 26 Tick: 1600 + icon: DATA.R8 + Start: 4013 + Offset: -30,-24 -thumper: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - run: - Start: 8 +medic: # actually thumper + stand: DATA.R8 + Start: 1402 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 1402 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 1410 Length: 6 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - heal: thumping - Start: 0 - Length: 4 - Tick: 480 - die1: thumperdeath - Start: 0 + heal: DATA.R8 + Start: 1458 Length: 5 - die2: thumperdeath - Start: 5 + Tick: 480 + die1: DATA.R8 + Start: 1543 + Length: 5 + die2: DATA.R8 + Start: 1548 Length: 7 - die3: thumperdeath - Start: 12 + die3: DATA.R8 + Start: 1555 Length: 7 - die4: thumperdeath - Start: 19 + die4: DATA.R8 + Start: 1562 Length: 7 - die5: thumperdeath - Start: 26 + die5: DATA.R8 + Start: 1569 Length: 7 - die6: thumperdeath - Start: 26 + die6: DATA.R8 + Start: 1569 Length: 7 - die-crushed: thumperdeath - Start: 34 + die-crushed: DATA.R8 + Start: 1577 Length: 26 Tick: 1600 + icon: DATA.R8 + Start: 4014 + Offset: -30,-24 thumping: - idle: - Start: 0 - Length: 4 + idle: DATA.R8 + Start: 1458 + Length: 5 Tick: 150 - make: - Start: 0 - Length: 4 - damaged-idle: - Start: 0 - Length: 4 + make: DATA.R8 + Start: 1458 + Length: 5 + damaged-idle: DATA.R8 + Start: 1458 + Length: 5 Tick: 150 + icon: DATA.R8 + Frames: 4014 + Offset: -30,-24 fremen: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 694 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 694 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 702 Length: 6 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - shoot: - Start: 56 - Length: 5 - Facings: 8 - Tick: 120 - prone-stand: - Start: 104 + shoot: DATA.R8 + Start: 742 + Length: 6 + Facings: -8 + Transpose: true + prone-stand: DATA.R8 + Start: 798 Length: 1 - Facings: 8 - prone-run: - Start: 112 + Facings: -8 + Transpose: true + prone-run: DATA.R8 + Start: 806 Length: 3 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - standup-0: - Start: 96 + standup-0: DATA.R8 + Start: 790 Length: 1 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - prone-shoot: - Start: 136 + prone-shoot: DATA.R8 + Start: 822 + Length: 6 + Facings: -8 + Transpose: true + die1: DATA.R8 + Start: 870 Length: 5 - Facings: 8 - Tick: 120 - die1: fremendeath - Start: 0 - Length: 5 - die2: fremendeath - Start: 5 + die2: DATA.R8 + Start: 875 Length: 7 - die3: fremendeath - Start: 12 + die3: DATA.R8 + Start: 882 Length: 7 - die4: fremendeath - Start: 19 + die4: DATA.R8 + Start: 889 Length: 7 - die5: fremendeath - Start: 26 + die5: DATA.R8 + Start: 896 Length: 7 - die6: fremendeath - Start: 26 + die6: DATA.R8 + Start: 896 Length: 7 - die-crushed: fremendeath - Start: 34 + die-crushed: DATA.R8 + Start: 904 Length: 26 Tick: 1600 + icon: DATA.R8 + Start: 4032 + Offset: -30,-24 saboteur: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - stand3: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 2149 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 2149 + Facings: -8 + Transpose: true + stand3: DATA.R8 + Start: 2149 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 2157 Length: 6 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - prone-stand: - Start: 104 + prone-stand: DATA.R8 + Start: 2253 Length: 1 - Facings: 8 - prone-run: - Start: 112 + Facings: -8 + Transpose: true + prone-run: DATA.R8 + Start: 2261 Length: 3 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - standup-0: - Start: 96 + standup-0: DATA.R8 + Start: 2245 Length: 1 - Facings: 8 + Facings: -8 + Transpose: true Tick: 120 - die1: saboteurdeath - Start: 0 + die1: DATA.R8 + Start: 2325 Length: 5 - die2: saboteurdeath - Start: 5 + die2: DATA.R8 + Start: 2330 Length: 7 - die3: saboteurdeath - Start: 12 + die3: DATA.R8 + Start: 2337 Length: 7 - die4: saboteurdeath - Start: 19 + die4: DATA.R8 + Start: 2344 Length: 7 - die5: saboteurdeath - Start: 26 + die5: DATA.R8 + Start: 2351 Length: 7 - die6: saboteurdeath - Start: 26 + die6: DATA.R8 + Start: 2351 Length: 7 - die-crushed: saboteurdeath - Start: 34 + die-crushed: DATA.R8 + Start: 2359 Length: 26 Tick: 1600 + icon: DATA.R8 + Start: 4034 + Offset: -30,-24 sardaukar: - stand: - Start: 0 - Facings: 8 - stand2: - Start: 0 - Facings: 8 - run: - Start: 8 + stand: DATA.R8 + Start: 930 + Facings: -8 + Transpose: true + stand2: DATA.R8 + Start: 930 + Facings: -8 + Transpose: true + run: DATA.R8 + Start: 938 + Length: 6 + Facings: -8 + Transpose: true + Tick: 120 + shoot: DATA.R8 + Start: 978 + Length: 6 + Facings: -8 + Transpose: true + prone-stand: DATA.R8 + Start: 1034 + Length: 1 + Facings: -8 + Transpose: true + prone-run: DATA.R8 + Start: 1042 + Length: 3 + Facings: -8 + Transpose: true + Tick: 120 + standup-0: DATA.R8 + Start: 1026 + Length: 1 + Facings: -8 + Transpose: true + Tick: 120 + prone-shoot: DATA.R8 + Start: 1058 Length: 6 Facings: 8 - Tick: 120 - shoot: - Start: 56 + Transpose: true + die1: DATA.R8 + Start: 1106 Length: 5 - Facings: 8 - Tick: 120 - prone-stand: - Start: 104 - Length: 1 - Facings: 8 - prone-run: - Start: 112 - Length: 3 - Facings: 8 - Tick: 120 - standup-0: - Start: 96 - Length: 1 - Facings: 8 - Tick: 120 - prone-shoot: - Start: 136 - Length: 5 - Facings: 8 - Tick: 120 - die1: sardaukardeath - Start: 0 - Length: 5 - die2: sardaukardeath - Start: 5 + die2: DATA.R8 + Start: 1111 Length: 7 - die3: sardaukardeath - Start: 12 + die3: DATA.R8 + Start: 1118 Length: 7 - die4: sardaukardeath - Start: 19 + die4: DATA.R8 + Start: 1125 Length: 7 - die5: sardaukardeath - Start: 26 + die5: DATA.R8 + Start: 1132 Length: 7 - die6: sardaukardeath - Start: 26 + die6: DATA.R8 + Start: 1132 Length: 7 - die-crushed: sardaukardeath - Start: 34 + die-crushed: DATA.R8 + Start: 1140 Length: 26 - Tick: 1600 \ No newline at end of file + Tick: 1600 + icon: DATA.R8 + Start: 4015 + Offset: -30,-24 diff --git a/mods/d2k/sequences/map.yaml b/mods/d2k/sequences/map.yaml index 49f56711f4..f2e820645a 100644 --- a/mods/d2k/sequences/map.yaml +++ b/mods/d2k/sequences/map.yaml @@ -1,67 +1,24 @@ -crate: - idle: crates - Start: 0 +crate: + idle: DATA.R8 + Start: 102 ZOffset: -511 - land: crates - Start: 0 + Offset: -16,-16 + land: DATA.R8 + Start: 102 ZOffset: -511 + Offset: -16,-16 spicebloom: - make: - Start: 0 + make: DATA.R8 + Start: 107 Length: 3 - active: - Start: 2 + Offset: -16,-16 + active: DATA.R8 + Start: 109 Length: 1 ZOffset: -511 - idle: - Start: 2 + Offset: -16,-16 + idle: DATA.R8 + Start: 109 ZOffset: -511 - -sandworm: - stand: wormsigns1 - Start: 0 - Length: * - run: wormsigns2 - Start: 0 - Facings: 15 - Length: 1 - die1: wormsigns3 - Start: 0 - Length: 1 - die2: wormsigns3 - Start: 0 - Length: 1 - die3: wormsigns3 - Start: 0 - Length: 1 - die4: wormsigns3 - Start: 0 - Length: 1 - die5: wormsigns3 - Start: 0 - Length: 1 - die6: wormsigns3 - Start: 0 - Length: 1 - die-crushed: wormsigns3 - Start: 0 - Length: 1 - Tick: 1600 - wormattack: wormjaw - Start: 0 - Length: 15 - -plates: - idle: - Start: 0 - Length: 6 - scratched-idle: - Start: 0 - Length: 6 - damaged-idle: - Start: 0 - Length: 6 - critical-idle: - Start: 0 - Length: 6 \ No newline at end of file + Offset: -16,-16 \ No newline at end of file diff --git a/mods/d2k/sequences/misc.yaml b/mods/d2k/sequences/misc.yaml index 7a9cea85d3..c8c21f53a5 100644 --- a/mods/d2k/sequences/misc.yaml +++ b/mods/d2k/sequences/misc.yaml @@ -1,73 +1,76 @@ explosion: - piff: minipiff - Start: 0 - Length: * - piffs: minipiff - Start: 0 - Length: * - small_explosion: veh-hit3 - Start: 0 - Length: * - med_explosion: frag1 - Start: 0 - Length: * - large_explosion: bigboom - Start: 0 - Length: * - small_artillery: veh-hit2 - Start: 0 - Length: * - artillery: art-exp1 - Start: 0 - Length: * - self_destruct: art-exp1 - Start: 0 - Length: * - small_building: veh-hit1 - Start: 0 - Length: * - building: fball1 - Start: 0 - Length: * - small_napalm: napalm1 - Start: 0 - Length: * - napalm: napalm2 - Start: 0 - Length: * - napalm2: napalm2 - Start: 0 - Length: * + piff: DATA.R8 + Start: 3626 + Length: 5 + piffs: DATA.R8 + Start: 3626 + Length: 5 + small_explosion: DATA.R8 + Start: 3386 + Length: 4 + BlendMode: Additive + med_explosion: DATA.R8 + Start: 3390 + Length: 12 + BlendMode: Additive + tiny_explosion: DATA.R8 + Start: 3390 + Length: 12 + BlendMode: Additive + nuke: DATA.R8 + Start: 3965 + Length: 14 Tick: 60 - shockwave: shockwave - Start: 0 - Length: * - Tick: 30 - nuke: atomsfx - Start: 0 - Length: * + BlendMode: Additive + mini_explosion: DATA.R8 + Start: 3403 + Length: 15 Tick: 60 - -90mm: - idle: - Start: 0 - Facings: 32 + BlendMode: Additive + self_destruct: DATA.R8 + Start: 3433 + Length: 15 + BlendMode: Additive + building: DATA.R8 + Start: 3448 + Length: 22 + BlendMode: Additive + large_explosion: DATA.R8 + Start: 3988 + Length: 22 + BlendMode: Additive + artillery: DATA.R8 + Start: 3988 + Length: 22 + BlendMode: Additive + small_artillery: DATA.R8 + Start: 3988 + Length: 22 + BlendMode: Additive + small_napalm: DATA.R8 + Start: 3421 + Length: 8 + BlendMode: Additive + shockwave: DATA.R8 + Start: 3687 + Length: 6 + BlendMode: Additive laserfire: - idle: miniboom - Start: 0 - Length: * + idle: DATA.R8 + Start: 3386 + Length: 3 pips: - groups: numbers - Start: 0 + groups: DATA.R8 + Start: 17 Length: 10 - tag-primary: stars - Start: 0 - pip-empty: dots - Start: 0 - pip-green: dots - Start: 1 + tag-primary: DATA.R8 + Start: 110 + pip-empty: DATA.R8 + Start: 15 + pip-green: DATA.R8 + Start: 16 clock: idle: @@ -90,16 +93,21 @@ rank: Length: * overlay: - build-valid-arrakis: + build-valid-arrakis: DATA.R8 Start: 0 - build-invalid: + Offset: -20,-20 + build-invalid: DATA.R8 Start: 1 - target-select: + Offset: -20,-20 + target-select: DATA.R8 Start: 2 - target-valid-arrakis: + Offset: -20,-20 + target-valid-arrakis: DATA.R8 Start: 0 - target-invalid: + Offset: -20,-20 + target-invalid: DATA.R8 Start: 1 + Offset: -20,-20 rallypoint: flag:flagfly @@ -111,84 +119,91 @@ rallypoint: Length: * rpg: - idle: - Start: 0 + idle: DATA.R8 + Start: 3015 Facings: 32 crate-effects: - dollar: selling - Start: 0 - Length: * - reveal-map: orbit - Start: 0 - Length: * - hide-map: reveal - Start: 0 - Length: * + dollar: DATA.R8 + Start: 3679 + Length: 8 + reveal-map: DATA.R8 + Start: 3947 + Length: 18 + hide-map: DATA.R8 + Start: 3911 + Length: 36 levelup: levelup Start: 0 Length: * Tick: 200 allyrepair: - repair: - Start: 0 - Length: * - Tick: 160 + repair: DATA.R8 + Frames: 3, 39 + Length: 2 + Tick: 300 missile: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 3088 + Facings: -32 missile2: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 3306 + Facings: -32 atomic: - up: deathhandmissile - Start: 0 + up: DATA.R8 + Start: 2147 Length: 1 - down: deathhandmissile - Start: 1 + down: DATA.R8 + Start: 2148 Length: 1 fire: - 1: fire2 - Start: 0 - Length: * + 1: DATA.R8 + Start: 3712 + Length: 10 Offset: 0,-3 - 2: fire2 - Start: 0 - Length: * + BlendMode: Additive + 2: DATA.R8 + Start: 3723 + Length: 11 Offset: 0,-3 - 3: fire3 - Start: 0 - Length: * + BlendMode: Additive + 3: DATA.R8 + Start: 3885 + Length: 13 Offset: 0,-3 - 4: fire - Start: 0 - Length: * + BlendMode: Additive + 4: DATA.R8 + Start: 3712 + Length: 10 Offset: 0,-3 + BlendMode: Additive smoke_m: - idle: minifire - Start: 0 - Length: * - loop: minifire - Start: 0 - Length: * - end: minifire - Start: 0 + idle: DATA.R8 + Start: 3418 + Length: 2 + BlendMode: Additive + loop: DATA.R8 + Start: 3418 + Length: 2 + BlendMode: Additive + end: DATA.R8 + Start: 3418 Length: 3 + BlendMode: Additive bombs: - open: - Start: 0 + open: DATA.R8 + Start: 3280 Length: 4 - idle: - Start: 0 + idle: DATA.R8 + Start: 3280 Length: 4 parach: @@ -210,10 +225,22 @@ waypoint: Length: * sietch: - idle: - Start: 0 + idle: DATA.R8 + Start: 2998 doubleblast: - idle: - Start: 0 - Facings: 16 \ No newline at end of file + idle: DATA.R8 + Start: 3279 + Facings: -16 + BlendMode: Additive + +icon: + paratroopers: DATA.R8 + Start: 4029 + Offset: -30,-24 + ornistrike: DATA.R8 + Start: 4031 + Offset: -30,-24 + deathhand: DATA.R8 + Start: 4035 + Offset: -30,-24 diff --git a/mods/d2k/sequences/structures.yaml b/mods/d2k/sequences/structures.yaml index 96f71aea6e..7a4279f92b 100644 --- a/mods/d2k/sequences/structures.yaml +++ b/mods/d2k/sequences/structures.yaml @@ -1,678 +1,1603 @@ walla: - idle: - Start: 0 + idle: DATA.R8 + Frames: 2527, 2530, 2528, 2538, 2531, 2532, 2542, 2535, 2529, 2539, 2533, 2534, 2540, 2536, 2537, 2541 Length: 16 - scratched-idle: - Start: 0 + Offset: -16,16 + scratched-idle: DATA.R8 + Frames: 2527, 2530, 2528, 2538, 2531, 2532, 2542, 2535, 2529, 2539, 2533, 2534, 2540, 2536, 2537, 2541 Length: 16 - damaged-idle: - Start: 16 + Offset: -16,16 + damaged-idle: DATA.R8 + Frames: 2543, 2546, 2544, 2554, 2547, 2548, 2558, 2551, 2545, 2555, 2549, 2550, 2556, 2552, 2553, 2557 Length: 16 - critical-idle: - Start: 16 + Offset: -16,16 + critical-idle: DATA.R8 + Frames: 2543, 2546, 2544, 2554, 2547, 2548, 2558, 2551, 2545, 2555, 2549, 2550, 2556, 2552, 2553, 2557 Length: 16 + Offset: -16,16 + icon: DATA.R8 + Start: 4063 + Offset: -30,-24 + +wallh: + idle: DATA.R8 + Frames: 2687, 2690, 2688, 2698, 2691, 2692, 2702, 2695, 2689, 2699, 2693, 2694, 2700, 2696, 2697, 2701 + Length: 16 + Offset: -16,16 + scratched-idle: DATA.R8 + Frames: 2687, 2690, 2688, 2698, 2691, 2692, 2702, 2695, 2689, 2699, 2693, 2694, 2700, 2696, 2697, 2701 + Length: 16 + Offset: -16,16 + damaged-idle: DATA.R8 + Frames: 2703, 2706, 2704, 2714, 2707, 2708, 2718, 2711, 2705, 2715, 2709, 2710, 2716, 2712, 2713, 2717 + Length: 16 + Offset: -16,16 + critical-idle: DATA.R8 + Frames: 2703, 2706, 2704, 2714, 2707, 2708, 2718, 2711, 2705, 2715, 2709, 2710, 2716, 2712, 2713, 2717 + Length: 16 + Offset: -16,16 + icon: DATA.R8 + Start: 4064 + Offset: -30,-24 + +wallo: + idle: DATA.R8 + Frames: 2847, 2850, 2848, 2858, 2851, 2852, 2862, 2855, 2849, 2859, 2853, 2854, 2860, 2856, 2857, 2861 + Length: 16 + Offset: -16,16 + scratched-idle: DATA.R8 + Frames: 2847, 2850, 2848, 2858, 2851, 2852, 2862, 2855, 2849, 2859, 2853, 2854, 2860, 2856, 2857, 2861 + Length: 16 + Offset: -16,16 + damaged-idle: DATA.R8 + Frames: 2863, 2866, 2864, 2874, 2867, 2868, 2878, 2871, 2865, 2875, 2869, 2870, 2876, 2872, 2873, 2877 + Length: 16 + Offset: -16,16 + critical-idle: DATA.R8 + Frames: 2863, 2866, 2864, 2874, 2867, 2868, 2878, 2871, 2865, 2875, 2869, 2870, 2876, 2872, 2873, 2877 + Length: 16 + Offset: -16,16 + icon: DATA.R8 + Start: 4065 + Offset: -30,-24 guntowera: - idle: - Start: 0 + idle: DATA.R8 + Start: 2573 Facings: 1 - recoil: - Start: 0 + Offset: -24,24 + recoil: DATA.R8 + Start: 2573 Facings: 1 - damaged-idle: - Start: 0 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2573 Facings: 1 - damaged-recoil: - Start: 0 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2573 Facings: 1 - turret: gunturreta - Start: 0 - Facings: 32 + Offset: -24,24 + turret: DATA.R8 + Start: 2589 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Start: 4069 + Offset: -30,-24 + +guntowerh: + idle: DATA.R8 + Start: 2733 + Facings: 1 + Offset: -24,24 + recoil: DATA.R8 + Start: 2733 + Facings: 1 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2733 + Facings: 1 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2733 + Facings: 1 + Offset: -24,24 + turret: DATA.R8 + Start: 2749 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Frames: 4070 + Offset: -30,-24 + +guntowero: + idle: DATA.R8 + Start: 2893 + Facings: 1 + Offset: -24,24 + recoil: DATA.R8 + Start: 2893 + Facings: 1 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2893 + Facings: 1 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2893 + Facings: 1 + Offset: -24,24 + turret: DATA.R8 + Start: 2909 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Start: 4071 + Offset: -30,-24 rockettowera: - idle: - Start: 0 + idle: DATA.R8 + Start: 2733 Facings: 1 - recoil: - Start: 0 + Offset: -24,24 + recoil: DATA.R8 + Start: 2733 Facings: 1 - damaged-idle: - Start: 0 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2733 Facings: 1 - damaged-recoil: - Start: 0 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2733 Facings: 1 - turret: rocketturreta - Start: 0 - Facings: 32 + Offset: -24,24 + turret: DATA.R8 + Start: 2637 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Start: 4075 + Offset: -30,-24 + +rockettowerh: + idle: DATA.R8 + Start: 2781 + Facings: 1 + Offset: -24,24 + recoil: DATA.R8 + Start: 2781 + Facings: 1 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2781 + Facings: 1 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2781 + Facings: 1 + Offset: -24,24 + turret: DATA.R8 + Start: 2797 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Start: 4076 + Offset: -30,-24 + +rockettowero: + idle: DATA.R8 + Start: 2941 + Facings: 1 + Offset: -24,24 + recoil: DATA.R8 + Start: 2941 + Facings: 1 + Offset: -24,24 + damaged-idle: DATA.R8 + Start: 2941 + Facings: 1 + Offset: -24,24 + damaged-recoil: DATA.R8 + Start: 2941 + Facings: 1 + Offset: -24,24 + turret: DATA.R8 + Start: 2957 + Facings: -32 + Offset: -24,24 + icon: DATA.R8 + Start: 4077 + Offset: -30,-24 conyarda: - idle: - Start: 0 - make: conmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * - #build: cranea - # Start: 0 - # Length: 14 - # Tick: 75 - #damaged-build: cranea - # Start: 0 - # Length: 14 - # Tick: 75 + idle: DATA.R8 + Start: 2559 + Offset: -48,64 + make: DATA.R8 + Start: 4109 + Length: 30 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4139 + Length: 12 + Offset: -48,64 + Tick: 170 + damaged-idle: DATA.R8 + Start: 2560 + Offset: -48,64 +# build: DATA.R8 # TODO: overlay +# Start: 4436 +# Length: 14 +# Offset: -48,64 +# damaged-build: DATA.R8 # TODO: overlay +# Start: 4436 +# Length: 14 +# Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4046 + Offset: -30,-24 -repair: - idle: - Start: 0 - ZOffset: -1c511 - active: - Start: 0 +repaira: + make: DATA.R8 + Start: 4370 Length: 10 - Tick: 60 - ZOffset: -1c511 - damaged-idle: - Start: 10 - ZOffset: -1c511 - damaged-active: - Start: 10 + Offset: -48,48 + crumble-overlay: DATA.R8 + Start: 4380 Length: 10 - Tick: 60 + Offset: -48,48 + Tick: 100 + idle: DATA.R8 + Start: 2571 + Offset: -48,48 ZOffset: -1c511 - make: repairmake - Start: 0 - Length: * +# active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Offset: -48,48 +# ZOffset: -1c511 +# damaged-active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Tick: 60 +# Offset: -48,48 +# ZOffset: -1c511 + damaged-idle: DATA.R8 + Start: 2572 + Offset: -48,48 + ZOffset: -1c511 + icon: DATA.R8 + Start: 4096 + Offset: -30,-24 + +repairh: + make: DATA.R8 + Start: 4370 + Length: 10 + Offset: -48,48 + crumble-overlay: DATA.R8 + Start: 4380 + Length: 10 + Offset: -48,48 + Tick: 100 + idle: DATA.R8 + Start: 2731 + Offset: -48,48 + ZOffset: -1c511 +# active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Offset: -48,48 +# ZOffset: -1c511 +# damaged-active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Tick: 60 +# Offset: -48,48 +# ZOffset: -1c511 + damaged-idle: DATA.R8 + Start: 2732 + Offset: -48,48 + ZOffset: -1c511 + icon: DATA.R8 + Start: 4097 + Offset: -30,-24 + +repairo: + make: DATA.R8 + Start: 4370 + Length: 10 + Offset: -48,48 + crumble-overlay: DATA.R8 + Start: 4380 + Length: 10 + Offset: -48,48 + Tick: 100 + idle: DATA.R8 + Start: 2891 + Offset: -48,48 + ZOffset: -1c511 +# active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Offset: -48,48 +# ZOffset: -1c511 +# damaged-active: DATA.R8 # TODO: overlay +# Start: 4746 +# Length: 14 +# Tick: 60 +# Offset: -48,48 +# ZOffset: -1c511 + damaged-idle: DATA.R8 + Start: 2892 + Offset: -48,48 + ZOffset: -1c511 + icon: DATA.R8 + Start: 4098 + Offset: -30,-24 starporta: - idle: - Start: 0 + idle: DATA.R8 + Start: 2671 ZOffset: -1c511 - active: - Start: 0 + Offset: -48,64 + active: DATA.R8 + Start: 2671 Length: 1 ZOffset: -1c511 - damaged-idle: - Start: 1 + Offset: -48,64 + damaged-idle: DATA.R8 + Start: 2672 ZOffset: -1c511 - damaged-active: - Start: 1 + Offset: -48,64 + damaged-active: DATA.R8 + Start: 2672 ZOffset: -1c511 - make: starportmake - Start: 0 - Length: * - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + make: DATA.R8 + Start: 4347 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4358 + Length: 11 + Offset: -48,64 + Tick: 100 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4092 + Offset: -30,-24 pwra: - idle: - Start: 0 - Length: 6 - Tick: 160 - make: wtrpmake - Start: 0 - Length: * - damaged-idle: - Start: 6 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2523 + Offset: -32,64 + make: DATA.R8 + Start: 4151 + Length: 12 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4163 + Length: 12 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2524 + Offset: -32,64 + idle-zaps: DATA.R8 + Start: 4492 + Length: 10 + Offset: -32,64 + Tick: 200 + damaged-idle-zaps: DATA.R8 + Start: 4497 + Length: 5 + Offset: -32,64 + Tick: 200 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4056 + Offset: -30,-24 barra: - idle: - Start: 0 - make: barramake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2525 + Offset: -32,64 + make: DATA.R8 + Start: 4213 + Length: 8 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4221 + Length: 9 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2526 + Offset: -32,64 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4059 + Offset: -30,-24 radara: - idle: - Start: 0 - make: radarmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2521 + Offset: -48,80 + make: DATA.R8 + Start: 4254 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4263 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2522 + Offset: -48,80 + idle-dish: DATA.R8 + Start: 4522 + Length: 30 + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4072 + Offset: -30,-24 refa: - idle: - Start: 0 + idle: DATA.R8 + Start: 2561 Length: 1 - make: refmake - 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 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + make: DATA.R8 + Start: 4231 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4241 + Length: 12 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2561 + Offset: -48,64 + idle-top: DATA.R8 + Start: 2562 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2563 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4066 + Offset: -30,-24 siloa: - idle: - Start: 0 + idle: DATA.R8 + Start: 2566 Length: 4 - damaged-idle: - Start: 4 + Offset: -16,16 + damaged-idle: DATA.R8 + Start: 2569 Length: 1 - make: silomake - Start: 0 - Length: * + Offset: -16,16 + make: DATA.R8 + Start: 4313 + Length: 7 + Offset: -16,16 + crumble-overlay: DATA.R8 + Start: 4320 + Length: 7 + Offset: -16,16 + Tick: 200 + icon: DATA.R8 + Start: 4084 + Offset: -30,-24 hightecha: - idle: - Start: 0 - make: highmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2564 + Offset: -48,80 + make: DATA.R8 + Start: 4274 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4284 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2565 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4614 + Length: 30 + Offset: -48,80 + Tick: 500 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4078 + Offset: -30,-24 -research: - idle: - Start: 0 - Length: 20 +researcha: + idle: DATA.R8 + Start: 2669 + Offset: -48,80 + make: DATA.R8 + Start: 4391 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4401 + Length: 11 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2670 + Offset: -48,80 + idle-lights: DATA.R8 + Start: 4760 + Length: 60 Tick: 80 - make: researchmake - Start: 0 - Length: * - damaged-idle: - Start: 20 - Length: 20 + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4099 + Offset: -30,-24 + +researchh: + idle: DATA.R8 + Start: 2829 + Offset: -48,80 + make: DATA.R8 + Start: 4391 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4401 + Length: 11 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2830 + Offset: -48,80 + idle-lights: DATA.R8 + Start: 4760 + Length: 60 Tick: 80 - bib: bib3x - Start: 0 - Length: * + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4100 + Offset: -30,-24 + +researcho: + idle: DATA.R8 + Start: 2989 + Offset: -48,80 + make: DATA.R8 + Start: 4391 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4401 + Length: 11 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2990 + Offset: -48,80 + idle-lights: DATA.R8 + Start: 4760 + Length: 60 + Tick: 80 + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4101 + Offset: -30,-24 palacea: - idle: - Start: 0 - make: palacemake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2676 + Offset: -48,48 + make: DATA.R8 + Start: 4413 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4424 + Length: 11 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2677 + Offset: -48,48 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4102 + Offset: -30,-24 lighta: - idle: - Start: 0 + idle: DATA.R8 + Start: 2673 Length: 1 - make: lightmake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,64 + make: DATA.R8 + Start: 4295 + Length: 8 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4303 + Length: 9 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2673 + Offset: -48,64 + build-top: DATA.R8 + Start: 2674 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,64 + damaged-build-top: DATA.R8 + Start: 2675 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + idle-top: DATA.R8 + Start: 2674 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2675 + Offset: -48,64 + idle-welding: DATA.R8 + Start: 4644 + Length: 30 + Offset: -48,64 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4081 + Offset: -30,-24 heavya: - idle: - Start: 0 + idle: DATA.R8 + Start: 2518 Length: 1 - make: heavymake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,80 + make: DATA.R8 + Start: 4328 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4337 + Length: 9 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2518 + Offset: -48,80 + build-top: DATA.R8 + Start: 2519 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,80 + damaged-build-top: DATA.R8 + Start: 2520 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,80 + idle-top: DATA.R8 + Start: 2519 + Offset: -48,80 + damaged-idle-top: DATA.R8 + Start: 2520 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4674 + Length: 47 + Offset: -48,80 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4087 + Offset: -30,-24 conyardh: - idle: - Start: 0 - make: conmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2719 + Offset: -48,64 + make: DATA.R8 + Start: 4109 + Length: 30 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4139 + Length: 12 + Offset: -48,64 + Tick: 170 + damaged-idle: DATA.R8 + Start: 2720 + Offset: -48,64 +# build: DATA.R8 # TODO: overlay +# Start: 4450 +# Length: 14 +# Offset: -48,64 +# damaged-build: DATA.R8 # TODO: overlay +# Start: 4450 +# Length: 14 +# Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4047 + Offset: -30,-24 starporth: - idle: - Start: 0 + idle: DATA.R8 + Start: 2831 ZOffset: -1c511 - active: - Start: 0 + Offset: -48,64 + active: DATA.R8 + Start: 2831 Length: 1 + Offset: -48,64 ZOffset: -1c511 - damaged-idle: - Start: 1 + damaged-idle: DATA.R8 + Start: 2832 + Offset: -48,64 ZOffset: -1c511 - damaged-active: - Start: 1 + damaged-active: DATA.R8 + Start: 2832 + Offset: -48,64 ZOffset: -1c511 - make: starportmake - Start: 0 - Length: * - bib: bib3x - Start: 0 - Length: * + make: DATA.R8 + Start: 4347 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4358 + Length: 11 + Offset: -48,64 + Tick: 100 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4093 + Offset: -30,-24 pwrh: - idle: - Start: 0 - Length: 6 - Tick: 160 - make: wtrpmake - Start: 0 - Length: * - damaged-idle: - Start: 6 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2683 + Offset: -32,64 + make: DATA.R8 + Start: 4151 + Length: 12 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4163 + Length: 12 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2684 + Offset: -32,64 + idle-zaps: DATA.R8 + Start: 4502 + Length: 10 + Offset: -32,64 + Tick: 200 + damaged-idle-zaps: DATA.R8 + Start: 4507 + Length: 5 + Offset: -32,64 + Tick: 200 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4057 + Offset: -30,-24 barrh: - idle: - Start: 0 - make: barrhmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2685 + Offset: -32,64 + make: DATA.R8 + Start: 4213 + Length: 8 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4221 + Length: 9 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2686 + Offset: -32,64 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4060 + Offset: -30,-24 radarh: - idle: - Start: 0 - make: radarmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2681 + Offset: -48,80 + make: DATA.R8 + Start: 4254 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4263 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2682 + Offset: -48,80 + idle-dish: DATA.R8 + Start: 4553 + Length: 30 + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4073 + Offset: -30,-24 refh: - idle: - Start: 0 + idle: DATA.R8 + Start: 2721 Length: 1 - make: refmake - 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 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + make: DATA.R8 + Start: 4231 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4241 + Length: 12 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2721 + Offset: -48,64 + idle-top: DATA.R8 + Start: 2722 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2723 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4067 + Offset: -30,-24 siloh: - idle: - Start: 0 + idle: DATA.R8 + Start: 2726 Length: 4 - damaged-idle: - Start: 4 + Offset: -16,16 + damaged-idle: DATA.R8 + Start: 2730 Length: 1 - make: silomake - Start: 0 - Length: * + Offset: -16,16 + make: DATA.R8 + Start: 4313 + Length: 7 + Offset: -16,16 + crumble-overlay: DATA.R8 + Start: 4320 + Length: 7 + Offset: -16,16 + Tick: 200 + icon: DATA.R8 + Start: 4085 + Offset: -30,-24 hightechh: - idle: - Start: 0 - make: highmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2724 + Offset: -48,80 + make: DATA.R8 + Start: 4274 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4284 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2725 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4614 + Length: 30 + Offset: -48,80 + Tick: 500 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4079 + Offset: -30,-24 palaceh: - idle: - Start: 0 - make: palacemake - Start: 0 - Length: * - damaged-idle: - Start: 7 - active: - Start: 1 + idle: DATA.R8 + Start: 2836 + Offset: -48,64 + make: DATA.R8 + Start: 4413 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4424 + Length: 11 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2837 + Offset: -48,64 +# active: DATA.R8 # TODO: overlay +# Start: 4820 +# Length: 20 +# Offset: -48,64 + damaged-active: DATA.R8 + Start: 4820 + Length: 20 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 Length: 6 - Tick: 160 - damaged-active: - Start: 8 - Length: 6 - Tick: 160 - bib: bib3x - Start: 0 - Length: * + Offset: -16,-16 + icon: DATA.R8 + Start: 4103 + Offset: -30,-24 lighth: - idle: - Start: 0 + idle: DATA.R8 + Start: 2833 Length: 1 - make: lightmake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,64 + make: DATA.R8 + Start: 4295 + Length: 8 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4303 + Length: 9 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2833 + Offset: -48,64 + build-top: DATA.R8 + Start: 2834 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,64 + damaged-build-top: DATA.R8 + Start: 2835 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + idle-top: DATA.R8 + Start: 2834 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2835 + Offset: -48,64 + idle-welding: DATA.R8 + Start: 4644 + Length: 30 + Offset: -48,64 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4082 + Offset: -30,-24 heavyh: - idle: - Start: 0 + idle: DATA.R8 + Start: 2678 Length: 1 - make: heavymake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,80 + make: DATA.R8 + Start: 4328 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4337 + Length: 9 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2678 + Offset: -48,80 + build-top: DATA.R8 + Start: 2679 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,80 + damaged-build-top: DATA.R8 + Start: 2680 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,80 + idle-top: DATA.R8 + Start: 2679 + Offset: -48,80 + damaged-idle-top: DATA.R8 + Start: 2680 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4674 + Length: 47 + Offset: -48,80 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4088 + Offset: -30,-24 conyardo: - idle: - Start: 0 - make: conmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2879 + Offset: -48,64 + make: DATA.R8 + Start: 4109 + Length: 30 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4139 + Length: 12 + Offset: -48,64 + Tick: 170 + damaged-idle: DATA.R8 + Start: 2880 + Offset: -48,64 +# build: DATA.R8 # TODO: overlay +# Start: 4464 +# Length: 14 +# Offset: -48,64 +# damaged-build: DATA.R8 # TODO: overlay +# Start: 4464 +# Length: 14 +# Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4048 + Offset: -30,-24 starporto: - idle: - Start: 0 + idle: DATA.R8 + Start: 2991 + Offset: -48,64 ZOffset: -1c511 - active: - Start: 0 + active: DATA.R8 + Start: 2991 Length: 1 + Offset: -48,64 ZOffset: -1c511 - damaged-idle: - Start: 1 + damaged-idle: DATA.R8 + Start: 2992 + Offset: -48,64 ZOffset: -1c511 - damaged-active: - Start: 1 + damaged-active: DATA.R8 + Start: 2992 + Offset: -48,64 ZOffset: -1c511 - make: starportmake - Start: 0 - Length: * - bib: bib3x - Start: 0 - Length: * + make: DATA.R8 + Start: 4347 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4358 + Length: 11 + Offset: -48,64 + Tick: 100 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4094 + Offset: -30,-24 pwro: - idle: - Start: 0 - Length: 6 - Tick: 160 - make: wtrpmake - Start: 0 - Length: * - damaged-idle: - Start: 6 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2843 + Length: 1 + Offset: -32,64 + make: DATA.R8 + Start: 4151 + Length: 12 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4163 + Length: 12 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2844 + Offset: -32,64 + idle-zaps: DATA.R8 + Start: 4512 + Length: 10 + Offset: -32,64 + Tick: 200 + damaged-idle-zaps: DATA.R8 + Start: 4517 + Length: 5 + Offset: -32,64 + Tick: 200 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4058 + Offset: -30,-24 barro: - idle: - Start: 0 - make: barromake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib2x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2845 + Offset: -32,64 + make: DATA.R8 + Start: 4213 + Length: 8 + Offset: -32,64 + crumble-overlay: DATA.R8 + Start: 4221 + Length: 9 + Offset: -32,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2846 + Offset: -32,64 + bib: BLOXBASE.R8 + Frames: 617, 618, 637, 638 + Length: 4 + Offset: -16,-16 + icon: DATA.R8 + Start: 4061 + Offset: -30,-24 radaro: - idle: - Start: 0 - make: radarmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2841 + Offset: -48,80 + make: DATA.R8 + Start: 4254 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4263 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2842 + Offset: -48,80 + idle-dish: DATA.R8 + Start: 4583 + Length: 30 + Offset: -48,80 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4074 + Offset: -30,-24 refo: - idle: - Start: 0 + idle: DATA.R8 + Start: 2881 Length: 1 - make: refmake - 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 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + make: DATA.R8 + Start: 4231 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4241 + Length: 12 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2881 + Offset: -48,64 + idle-top: DATA.R8 + Start: 2882 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2883 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4068 + Offset: -30,-24 siloo: - idle: - Start: 0 + idle: DATA.R8 + Start: 2886 Length: 4 - damaged-idle: - Start: 4 + Offset: -16,16 + damaged-idle: DATA.R8 + Start: 2890 Length: 1 - make: silomake - Start: 0 - Length: * + Offset: -16,16 + make: DATA.R8 + Start: 4313 + Length: 7 + Offset: -16,16 + crumble-overlay: DATA.R8 + Start: 4320 + Length: 7 + Offset: -16,16 + Tick: 200 + icon: DATA.R8 + Start: 4086 + Offset: -30,-24 hightecho: - idle: - Start: 0 - make: highmake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2884 + Offset: -48,80 + make: DATA.R8 + Start: 4274 + Length: 10 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4284 + Length: 10 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2885 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4614 + Length: 30 + Offset: -48,80 + Tick: 500 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4080 + Offset: -30,-24 palaceo: - idle: - Start: 0 - make: palacemake - Start: 0 - Length: * - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + idle: DATA.R8 + Start: 2996 + Offset: -48,64 + make: DATA.R8 + Start: 4413 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4424 + Length: 11 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2997 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4104 + Offset: -30,-24 lighto: - idle: - Start: 0 + idle: DATA.R8 + Start: 2993 Length: 1 - make: lightmake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,64 + make: DATA.R8 + Start: 4295 + Length: 8 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4303 + Length: 9 + Offset: -48,64 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2993 + Offset: -48,64 + build-top: DATA.R8 + Start: 2994 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,64 + damaged-build-top: DATA.R8 + Start: 2995 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + idle-top: DATA.R8 + Start: 2994 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 2995 + Offset: -48,64 + idle-welding: DATA.R8 + Start: 4644 + Length: 30 + Offset: -48,64 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4083 + Offset: -30,-24 heavyo: - idle: - Start: 0 + idle: DATA.R8 + Start: 2838 Length: 1 - make: heavymake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,80 + make: DATA.R8 + Start: 4328 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4337 + Length: 9 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 2838 + Offset: -48,80 + build-top: DATA.R8 + Start: 2839 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,80 + damaged-build-top: DATA.R8 + Start: 2840 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,80 + idle-top: DATA.R8 + Start: 2839 + Offset: -48,80 + damaged-idle-top: DATA.R8 + Start: 2840 + Offset: -48,80 + idle-welding: DATA.R8 + Start: 4674 + Length: 47 + Offset: -48,80 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4089 + Offset: -30,-24 -palacec: - idle: +palacec: # TODO: unused + idle: DATA.R8 + Start: 3004 + Offset: -48,64 + damaged-idle: DATA.R8 + Start: 3005 + Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: palacecicon Start: 0 - damaged-idle: - Start: 1 - bib: bib3x - Start: 0 - Length: * + make: DATA.R8 + Start: 4413 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4424 + Length: 11 + Offset: -48,64 + Tick: 100 -starportc: - idle: - Start: 0 +starportc: # TODO: unused + idle: DATA.R8 + Start: 2999 + Offset: -48,64 ZOffset: -1c511 - active: - Start: 0 + active: DATA.R8 + Start: 2999 Length: 1 + Offset: -48,64 ZOffset: -1c511 - damaged-idle: - Start: 1 + damaged-idle: DATA.R8 + Start: 3000 + Offset: -48,64 ZOffset: -1c511 - damaged-active: - Start: 1 + damaged-active: DATA.R8 + Start: 3000 + Offset: -48,64 ZOffset: -1c511 - make: starportmake - Start: 0 - Length: * - bib: bib3x - Start: 0 - Length: * + make: DATA.R8 + Start: 4347 + Length: 11 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4358 + Length: 11 + Offset: -48,64 + Tick: 100 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 # TODO: blank + Start: 4020 + Offset: -30,-24 -heavyc: - idle: - Start: 0 +heavyc: # TODO: unused + idle: DATA.R8 + Start: 3001 Length: 1 - make: heavymake - Start: 0 - Length: * - damaged-idle: - Start: 0 - build-top: - Start: 1 + Offset: -48,64 + make: DATA.R8 + Start: 4328 + Length: 9 + Offset: -48,80 + crumble-overlay: DATA.R8 + Start: 4337 + Length: 9 + Offset: -48,80 + Tick: 100 + damaged-idle: DATA.R8 + Start: 3001 + Offset: -48,64 + build-top: DATA.R8 + Start: 3002 Length: 1 - damaged-build-top: - Start: 2 + Offset: -48,64 + damaged-build-top: DATA.R8 + Start: 3003 Length: 1 - idle-top: - Start: 1 - damaged-idle-top: - Start: 2 - bib: bib3x - Start: 0 - Length: * + Offset: -48,64 + idle-top: DATA.R8 + Start: 3002 + Offset: -48,64 + damaged-idle-top: DATA.R8 + Start: 3003 + Offset: -48,64 + idle-welding: DATA.R8 + Start: 4674 + Length: 47 + Offset: -48,80 + Tick: 200 + BlendMode: Additive + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 # TODO: blank + Start: 4020 + Offset: -30,-24 + +conyardc: # TODO: unused + idle: DATA.R8 + Start: 3006 + Offset: -48,64 + make: DATA.R8 + Start: 4109 + Length: 30 + Offset: -48,64 + crumble-overlay: DATA.R8 + Start: 4139 + Length: 12 + Offset: -48,64 + Tick: 200 + damaged-idle: DATA.R8 + Start: 3007 + Offset: -48,64 +# build: DATA.R8 # TODO: overlay +# Start: 4478 +# Length: 14 +# Offset: -48,64 +# damaged-build: DATA.R8 # TODO: overlay +# Start: 4478 +# Length: 14 +# Offset: -48,64 + bib: BLOXBASE.R8 + Frames: 611, 612, 613, 631, 632, 633 + Length: 6 + Offset: -16,-16 + icon: DATA.R8 + Start: 4049 + Offset: -30,-24 + +plates: # TODO: unused + idle: DATA.R8 + Start: 3008 + Length: 6 + 4-plates-icon: DATA.R8 + Start: 4050 + Offset: -30,-24 + 6-plates-icon: DATA.R8 + Start: 4053 + Offset: -30,-24 diff --git a/mods/d2k/sequences/vehicles.yaml b/mods/d2k/sequences/vehicles.yaml index bd2c65da6a..cee9dba417 100644 --- a/mods/d2k/sequences/vehicles.yaml +++ b/mods/d2k/sequences/vehicles.yaml @@ -1,113 +1,162 @@ dmcv: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1795 + Facings: -32 + icon: DATA.R8 + Start: 4023 + Offset: -30,-24 harvester: - idle: - Start: 0 - Facings: 32 - harvest: harvest2 - Start: 0 + idle: DATA.R8 + Start: 1699 + Facings: -32 + harvest: DATA.R8 + Start: 3631 Length: 6 - Facings: 8 + Facings: -8 Tick: 80 ZOffset: 1 - dock: unload2 - Start: 0 + dock: DATA.R8 + Start: 3370 Length: 10 - dock-loop: unload2 - Start: 10 + dock-loop: DATA.R8 + Start: 3380 Length: 1 + icon: DATA.R8 + Start: 4019 + Offset: -30,-24 trike: - idle: - Start: 0 - Facings: 32 - unload: - Start: 0 - Facings: 32 - muzzle: minimuzzle - Start: 0 - Length: 1 - Facings: 32 + idle: DATA.R8 + Start: 1635 + Facings: -32 + unload: DATA.R8 + Start: 1635 + Facings: -32 + muzzle: DATA.R8 + Start: 3839 + Facings: -32 + icon: DATA.R8 + Start: 4041 + Offset: -30,-24 quad: - idle: - Start: 0 - Facings: 32 - unload: - Start: 0 - Facings: 32 - muzzle: minimuzzle - Start: 0 - Length: 1 - Facings: 32 + idle: DATA.R8 + Start: 1667 + Facings: -32 + unload: DATA.R8 + Start: 1667 + Facings: -32 + muzzle: DATA.R8 + Start: 3839 + Facings: -32 + icon: DATA.R8 + Start: 4018 + Offset: -30,-24 siegetank: - idle: - Start: 0 - Facings: 32 - turret: siegeturret - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1763 + Facings: -32 + turret: DATA.R8 + Start: 1891 + Facings: -32 + icon: DATA.R8 + Start: 4026 + Offset: -30,-24 missiletank: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1603 + Facings: -32 + icon: DATA.R8 + Start: 4024 + Offset: -30,-24 sonictank: - idle: - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1827 + Facings: -32 + icon: DATA.R8 + Start: 4027 + Offset: -30,-24 combata: - idle: - Start: 0 - Facings: 32 - turret: combataturret - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 1731 + Facings: -32 + turret: DATA.R8 + Start: 1859 + Facings: -32 + icon: DATA.R8 + Start: 4020 + Offset: -30,-24 combath: - idle: - Start: 0 - Facings: 32 - turret: combathturret - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 2051 + Facings: -32 + turret: DATA.R8 + Start: 2115 + Facings: -32 + icon: DATA.R8 + Start: 4021 + Offset: -30,-24 devast: - idle: - Start: 0 - Facings: 32 - muzzle: doubleblastmuzzle - Start: 0 + idle: DATA.R8 + Start: 2083 + Facings: -32 + muzzle: DATA.R8 + Start: 3807 Length: 1 - Facings: 32 + Facings: -32 + icon: DATA.R8 + Start: 4028 + Offset: -30,-24 combato: - idle: - Start: 0 - Facings: 32 - turret: combatoturret - Start: 0 - Facings: 32 + idle: DATA.R8 + Start: 2453 + Facings: -32 + turret: DATA.R8 + Start: 2485 + Facings: -32 + icon: DATA.R8 + Start: 4022 + Offset: -30,-24 raider: - idle: + idle: DATA.R8 + Start: 2421 + Facings: -32 + unload: DATA.R8 + Start: 2421 + Facings: -32 + muzzle: DATA.R8 + Start: 3839 + Facings: -32 + icon: DATA.R8 + Start: 4017 + Offset: -30,-24 + +stealthraider: + idle: DATA.R8 + Start: 2421 + Facings: -32 + unload: DATA.R8 + Start: 2421 + Facings: -32 + muzzle: DATA.R8 + Start: 3839 + Facings: -32 + icon: raidersicon Start: 0 - Facings: 32 - unload: - Start: 0 - Facings: 32 - muzzle: minimuzzle - Start: 0 - Length: 1 - Facings: 32 deviatortank: - idle: - Start: 0 - Facings: 32 \ No newline at end of file + idle: DATA.R8 + Start: 2389 + Facings: -32 + icon: DATA.R8 + Start: 4025 + Offset: -30,-24 \ No newline at end of file diff --git a/mods/d2k/tilesets/arrakis.yaml b/mods/d2k/tilesets/arrakis.yaml index 0327fbe592..75a25ba749 100644 --- a/mods/d2k/tilesets/arrakis.yaml +++ b/mods/d2k/tilesets/arrakis.yaml @@ -3,7 +3,7 @@ General: Id: ARRAKIS SheetSize: 1024 Palette: d2k.pal - Extensions: .bas,.bat,.bgb,.ice,.tre,.was,.ext,.shp + Extensions: .R8, .shp Terrain: TerrainType@Sand: @@ -61,14 +61,16 @@ Terrain: Templates: Template@0: Id: 0 - Image: BASE00 + Image: BLOXBASE + Frames: 0 Size: 1,1 PickAny: False Tiles: 0: Sand Template@1: Id: 1 - Image: BASE01 + Image: BLOXBASE + Frames: 10,11,30,31 Size: 2,2 Category: Dune PickAny: False @@ -79,7 +81,8 @@ Templates: 2: Dune Template@2: Id: 2 - Image: BASE02 + Image: BLOXBASE + Frames: 12,13,32,33 Size: 2,2 Category: SandyCliff PickAny: False @@ -90,7 +93,8 @@ Templates: 2: Rough Template@3: Id: 3 - Image: BASE03 + Image: BLOXBASE + Frames: 14,15,34,35 Size: 2,2 Category: SandyCliff PickAny: False @@ -101,7 +105,8 @@ Templates: 2: Rough Template@4: Id: 4 - Image: BASE04 + Image: BLOXBASE + Frames: 16,17,36,37 Size: 2,2 Category: Dune PickAny: False @@ -112,7 +117,8 @@ Templates: 1: Dune Template@5: Id: 5 - Image: BASE05 + Image: BLOXBASE + Frames: 18,19,38,39 Size: 2,2 Category: Dune PickAny: False @@ -123,7 +129,8 @@ Templates: 1: Sand Template@6: Id: 6 - Image: BASE06 + Image: BLOXBASE + Frames: 58,59,78,79 Size: 2,2 Category: Dune PickAny: False @@ -134,9 +141,10 @@ Templates: 0: Dune Template@7: Id: 7 - Image: BASE07 + Image: BLOXBASE + Frames: 56,57,76,77 Size: 2,2 - Category: Dune + Category: Dune PickAny: False Tiles: 1: Dune @@ -145,7 +153,8 @@ Templates: 0: Dune Template@8: Id: 8 - Image: BASE08 + Image: BLOXBASE + Frames: 54,55,74,75 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -156,7 +165,8 @@ Templates: 0: Cliff Template@9: Id: 9 - Image: BASE09 + Image: BLOXBASE + Frames: 53,73 Size: 1,2 Category: SandyCliff PickAny: False @@ -165,7 +175,8 @@ Templates: 1: Transition Template@10: Id: 10 - Image: BASE10 + Image: BLOXBASE + Frames: 98,99,118,119 Size: 2,2 Category: SandyCliff PickAny: False @@ -176,7 +187,8 @@ Templates: 1: Cliff Template@11: Id: 11 - Image: BASE11 + Image: BLOXBASE + Frames: 138,139,158,159 Size: 2,2 Category: SandyCliff PickAny: False @@ -187,7 +199,8 @@ Templates: 2: Cliff Template@12: Id: 12 - Image: BASE12 + Image: BLOXBASE + Frames: 136,137,156,157 Size: 2,2 Category: SandyCliff PickAny: False @@ -198,7 +211,8 @@ Templates: 1: Cliff Template@13: Id: 13 - Image: BASE13 + Image: BLOXBASE + Frames: 134,135,154,155 Size: 2,2 Category: SandyCliff PickAny: False @@ -209,7 +223,8 @@ Templates: 3: Cliff Template@14: Id: 14 - Image: BASE14 + Image: BLOXBASE + Frames: 132,133,152,153 Size: 2,2 Category: SandyCliff PickAny: False @@ -220,7 +235,8 @@ Templates: 1: Cliff Template@15: Id: 15 - Image: BASE15 + Image: BLOXBASE + Frames: 130,131,150,151 Size: 2,2 Category: SandyCliff PickAny: False @@ -231,7 +247,8 @@ Templates: 2: Cliff Template@16: Id: 16 - Image: BASE16 + Image: BLOXBASE + Frames: 128,129,148,149 Size: 2,2 Category: SandyCliff PickAny: False @@ -242,7 +259,8 @@ Templates: 1: Cliff Template@17: Id: 17 - Image: BASE17 + Image: BLOXBASE + Frames: 126,127,146,147 Size: 2,2 Category: SandyCliff PickAny: False @@ -253,7 +271,8 @@ Templates: 0: Cliff Template@18: Id: 18 - Image: BASE18 + Image: BLOXBASE + Frames: 124,125,144,145 Size: 2,2 Category: SandyCliff PickAny: False @@ -264,7 +283,8 @@ Templates: 0: Cliff Template@19: Id: 19 - Image: BASE19 + Image: BLOXBASE + Frames: 122,123,142,143 Size: 2,2 Category: SandyCliff PickAny: False @@ -275,7 +295,8 @@ Templates: 0: Cliff Template@20: Id: 20 - Image: BASE20 + Image: BLOXBASE + Frames: 120,121,140,141 Size: 2,2 Category: SandyCliff PickAny: False @@ -286,7 +307,8 @@ Templates: 0: Cliff Template@21: Id: 21 - Image: BASE21 + Image: BLOXBASE + Frames: 178,179,198,199 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -297,7 +319,8 @@ Templates: 1: Transition Template@22: Id: 22 - Image: BASE22 + Image: BLOXBASE + Frames: 176,177,196,197 Size: 2,2 Category: SandyCliff PickAny: False @@ -308,7 +331,8 @@ Templates: 0: Rough Template@23: Id: 23 - Image: BASE23 + Image: BLOXBASE + Frames: 174,175,194,195 Size: 2,2 Category: SandyCliff PickAny: False @@ -319,7 +343,8 @@ Templates: 0: Rough Template@24: Id: 24 - Image: BASE24 + Image: BLOXBASE + Frames: 172,173,192,193 Size: 2,2 Category: SandyCliff PickAny: False @@ -330,7 +355,8 @@ Templates: 0: Cliff Template@25: Id: 25 - Image: BASE25 + Image: BLOXBASE + Frames: 170,171,190,191 Size: 2,2 Category: SandyCliff PickAny: False @@ -341,7 +367,8 @@ Templates: 0: Cliff Template@26: Id: 26 - Image: BASE26 + Image: BLOXBASE + Frames: 168,169,188,189 Size: 2,2 Category: SandyCliff PickAny: False @@ -352,7 +379,8 @@ Templates: 0: Cliff Template@27: Id: 27 - Image: BASE27 + Image: BLOXBASE + Frames: 166,167,186,187 Size: 2,2 Category: SandyCliff PickAny: False @@ -363,7 +391,8 @@ Templates: 0: Rough Template@28: Id: 28 - Image: BASE28 + Image: BLOXBASE + Frames: 164,165,184,185 Size: 2,2 Category: Rock-Detail PickAny: False @@ -374,7 +403,8 @@ Templates: 0: Rough Template@29: Id: 29 - Image: BASE29 + Image: BLOXBASE + Frames: 162,163,182,183 Size: 2,2 Category: SandyCliff PickAny: False @@ -385,7 +415,8 @@ Templates: 0: Cliff Template@30: Id: 30 - Image: BASE30 + Image: BLOXBASE + Frames: 160,161,180,181 Size: 2,2 Category: SandyCliff PickAny: False @@ -396,7 +427,8 @@ Templates: 0: Cliff Template@31: Id: 31 - Image: BASE31 + Image: BLOXBASE + Frames: 202,203,222,223,242,243 Size: 2,3 Category: SandyCliff PickAny: False @@ -409,7 +441,8 @@ Templates: 5: Cliff Template@32: Id: 32 - Image: BASE32 + Image: BLOXBASE + Frames: 260,261,280,281 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -420,7 +453,8 @@ Templates: 0: Transition Template@33: Id: 33 - Image: BASE33 + Image: BLOXBASE + Frames: 200,201,220,221,240,241 Size: 2,3 Category: SandyCliff PickAny: False @@ -433,7 +467,8 @@ Templates: 0: Cliff Template@34: Id: 34 - Image: BASE34 + Image: BLOXBASE + Frames: 204,205,224,225,244,245 Size: 2,3 Category: SandyCliff PickAny: False @@ -446,7 +481,8 @@ Templates: 1: Sand Template@35: Id: 35 - Image: BASE35 + Image: BLOXBASE + Frames: 206,207,226,227,246,247 Size: 2,3 Category: SandyCliff PickAny: False @@ -459,7 +495,8 @@ Templates: 1: Cliff Template@36: Id: 36 - Image: BASE36 + Image: BLOXBASE + Frames: 262,263,282,283 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -470,7 +507,8 @@ Templates: 1: Transition Template@37: Id: 37 - Image: BASE37 + Image: BLOXBASE + Frames: 264,265,284,285 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -481,7 +519,8 @@ Templates: 1: Transition Template@38: Id: 38 - Image: BASE38 + Image: BLOXBASE + Frames: 85,86,105,106 Size: 2,2 Category: SandyCliff PickAny: False @@ -492,7 +531,8 @@ Templates: 2: Cliff Template@39: Id: 39 - Image: BASE39 + Image: BLOXBASE + Frames: 87,88,107,108 Size: 2,2 Category: SandyCliff PickAny: False @@ -503,7 +543,8 @@ Templates: 1: Cliff Template@40: Id: 40 - Image: BASE40 + Image: BLOXBASE + Frames: 89,90,109,110 Size: 2,2 Category: SandyCliff PickAny: False @@ -514,7 +555,8 @@ Templates: 2: Sand Template@41: Id: 41 - Image: BASE41 + Image: BLOXBASE + Frames: 91,92,111,112 Size: 2,2 Category: SandyCliff PickAny: False @@ -525,7 +567,8 @@ Templates: 1: Cliff Template@42: Id: 42 - Image: BASE42 + Image: BLOXBASE + Frames: 93,94,113,114 Size: 2,2 Category: SandyCliff PickAny: False @@ -536,7 +579,8 @@ Templates: 1: Cliff Template@43: Id: 43 - Image: BASE43 + Image: BLOXBASE + Frames: 95,96,115,116 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -547,7 +591,8 @@ Templates: 1: Cliff Template@44: Id: 44 - Image: BASE44 + Image: BLOXBASE + Frames: 218,219,238,239 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -558,7 +603,8 @@ Templates: 1: Transition Template@45: Id: 45 - Image: BASE45 + Image: BLOXBASE + Frames: 258,259,278,279 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -569,7 +615,8 @@ Templates: 3: Transition Template@46: Id: 46 - Image: BASE46 + Image: BLOXBASE + Frames: 256,257,276,277 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -580,7 +627,8 @@ Templates: 1: Transition Template@47: Id: 47 - Image: BASE47 + Image: BLOXBASE + Frames: 216,217,236,237 Size: 2,2 Category: SandyCliff PickAny: False @@ -591,7 +639,8 @@ Templates: 3: Cliff Template@48: Id: 48 - Image: BASE48 + Image: BLOXBASE + Frames: 214,215,234,235 Size: 2,2 Category: SandyCliff PickAny: False @@ -602,7 +651,8 @@ Templates: 1: Cliff Template@49: Id: 49 - Image: BASE49 + Image: BLOXBASE + Frames: 211,212,213,231,232,233 Size: 3,2 Category: SandyCliff PickAny: False @@ -615,7 +665,8 @@ Templates: 5: Cliff Template@50: Id: 50 - Image: BASE50 + Image: BLOXBASE + Frames: 251,252,253,271,272,273 Size: 3,2 Category: SandyCliff PickAny: False @@ -628,7 +679,8 @@ Templates: 5: Cliff Template@51: Id: 51 - Image: BASE51 + Image: BLOXBASE + Frames: 248,249,250,268,269,270 Size: 3,2 Category: SandyCliff PickAny: False @@ -641,7 +693,8 @@ Templates: 2: Cliff Template@52: Id: 52 - Image: BASE52 + Image: BLOXBASE + Frames: 208,209,210,228,229,230 Size: 3,2 Category: SandyCliff PickAny: False @@ -654,7 +707,8 @@ Templates: 2: Cliff Template@53: Id: 53 - Image: BASE53 + Image: BLOXBASE + Frames: 266,267,286,287 Size: 2,2 Category: Rock-SandSmooth PickAny: False @@ -663,37 +717,42 @@ Templates: 1: Transition 3: Transition 2: Transition -# Template@54: -# Id: 54 -# Image: BASE54 -# Size: 1,1 -# PickAny: False -# Tiles: -# 0: SpiceBlobs -# Template@55: -# Id: 55 -# Image: BASE55 -# Size: 1,1 -# PickAny: False -# Tiles: -# 0: SpiceBlobs -# Template@56: -# Id: 56 -# Image: BASE56 -# Size: 1,1 -# PickAny: False -# Tiles: -# 0: SpiceBlobs -# Template@57: -# Id: 57 -# Image: BASE57 -# Size: 1,1 -# PickAny: False -# Tiles: -# 0: SpiceBlobs + Template@54: + Id: 54 + Image: BLOXBASE + Frames: 301 + Size: 1,1 + PickAny: False + Tiles: + 0: SpiceBlobs + Template@55: + Id: 55 + Image: BLOXBASE + Frames: 300 + Size: 1,1 + PickAny: False + Tiles: + 0: SpiceBlobs + Template@56: + Id: 56 + Image: BLOXBASE + Frames: 320 + Size: 1,1 + PickAny: False + Tiles: + 0: SpiceBlobs + Template@57: + Id: 57 + Image: BLOXBASE + Frames: 321 + Size: 1,1 + PickAny: False + Tiles: + 0: SpiceBlobs Template@58: Id: 58 - Image: BASE58 + Image: BLOXBASE + Frames: 322 Size: 1,1 Category: Sand-Detail PickAny: False @@ -701,7 +760,8 @@ Templates: 0: Cliff Template@59: Id: 59 - Image: BASE59 + Image: BLOXBASE + Frames: 302 Size: 1,1 Category: Rock-Detail PickAny: False @@ -709,7 +769,8 @@ Templates: 0: Rock Template@60: Id: 60 - Image: BASE60 + Image: BLOXBASE + Frames: 288 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -717,7 +778,8 @@ Templates: 0: Sand Template@61: Id: 61 - Image: BASE61 + Image: BLOXBASE + Frames: 308 Size: 1,1 Category: Rock-Detail PickAny: False @@ -725,7 +787,8 @@ Templates: 0: Rock Template@62: Id: 62 - Image: BASE62 + Image: BLOXBASE + Frames: 328 Size: 1,1 Category: Sand-Detail PickAny: False @@ -733,7 +796,8 @@ Templates: 0: Sand Template@63: Id: 63 - Image: BASE63 + Image: BLOXBASE + Frames: 329 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -741,7 +805,8 @@ Templates: 0: Transition Template@64: Id: 64 - Image: BASE64 + Image: BLOXBASE + Frames: 330 Size: 1,1 Category: Sand-Detail PickAny: False @@ -749,7 +814,8 @@ Templates: 0: Sand Template@65: Id: 65 - Image: BASE65 + Image: BLOXBASE + Frames: 289,290,309,310 Size: 2,2 Category: Rock-Detail PickAny: False @@ -760,7 +826,8 @@ Templates: 1: Rough Template@66: Id: 66 - Image: BASE66 + Image: BLOXBASE + Frames: 331 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -768,7 +835,8 @@ Templates: 0: Transition Template@67: Id: 67 - Image: BASE67 + Image: BLOXBASE + Frames: 332 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -776,7 +844,8 @@ Templates: 0: Transition Template@68: Id: 68 - Image: BASE68 + Image: BLOXBASE + Frames: 298,299 Size: 2,1 Category: SandyCliff PickAny: False @@ -785,7 +854,8 @@ Templates: 1: Cliff Template@69: Id: 69 - Image: BASE69 + Image: BLOXBASE + Frames: 317,318 Size: 2,1 Category: Rock-SandSmooth PickAny: False @@ -794,7 +864,8 @@ Templates: 1: Transition Template@70: Id: 70 - Image: BASE70 + Image: BLOXBASE + Frames: 338,339,358,359 Size: 2,2 Category: Rock-Detail PickAny: False @@ -805,7 +876,8 @@ Templates: 1: Rough Template@71: Id: 71 - Image: BASE71 + Image: BLOXBASE + Frames: 337 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -813,7 +885,8 @@ Templates: 0: Transition Template@72: Id: 72 - Image: BASE72 + Image: BLOXBASE + Frames: 336 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -821,7 +894,8 @@ Templates: 0: Transition Template@73: Id: 73 - Image: BASE73 + Image: BLOXBASE + Frames: 335 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -829,7 +903,8 @@ Templates: 0: Transition Template@74: Id: 74 - Image: BASE74 + Image: BLOXBASE + Frames: 313,333 Size: 1,2 Category: Rock-SandSmooth PickAny: False @@ -838,7 +913,8 @@ Templates: 1: Transition Template@75: Id: 75 - Image: BASE75 + Image: BLOXBASE + Frames: 314,334 Size: 1,2 Category: Rock-SandSmooth PickAny: False @@ -847,7 +923,8 @@ Templates: 1: Transition Template@76: Id: 76 - Image: BASE76 + Image: BLOXBASE + Frames: 315 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -855,7 +932,8 @@ Templates: 0: Transition Template@77: Id: 77 - Image: BASE77 + Image: BLOXBASE + Frames: 291,292 Size: 2,1 Category: Rock-SandSmooth PickAny: False @@ -864,7 +942,8 @@ Templates: 1: Transition Template@78: Id: 78 - Image: BASE78 + Image: BLOXBASE + Frames: 293,294 Size: 2,1 Category: Rock-SandSmooth PickAny: False @@ -873,7 +952,8 @@ Templates: 1: Transition Template@79: Id: 79 - Image: BASE79 + Image: BLOXBASE + Frames: 295,296 Size: 2,1 Category: Rock-SandSmooth PickAny: False @@ -882,7 +962,8 @@ Templates: 1: Transition Template@80: Id: 80 - Image: BASE80 + Image: BLOXBASE + Frames: 719 Size: 1,1 Category: Sand-Detail PickAny: False @@ -890,7 +971,8 @@ Templates: 0: Rough Template@81: Id: 81 - Image: BASE81 + Image: BLOXBASE + Frames: 718 Size: 1,1 Category: Sand-Detail PickAny: False @@ -898,7 +980,8 @@ Templates: 0: Rough Template@82: Id: 82 - Image: BASE82 + Image: BLOXBASE + Frames: 738 Size: 1,1 Category: Sand-Detail PickAny: False @@ -906,7 +989,8 @@ Templates: 0: Sand Template@83: Id: 83 - Image: BASE83 + Image: BLOXBASE + Frames: 739 Size: 1,1 Category: Sand-Detail PickAny: False @@ -914,7 +998,8 @@ Templates: 0: Sand Template@84: Id: 84 - Image: BASE84 + Image: BLOXBASE + Frames: 737 Size: 1,1 Category: Sand-Detail PickAny: False @@ -922,7 +1007,8 @@ Templates: 0: Sand Template@85: Id: 85 - Image: BASE85 + Image: BLOXBASE + Frames: 717 Size: 1,1 Category: Sand-Detail PickAny: False @@ -930,7 +1016,8 @@ Templates: 0: Sand Template@86: Id: 86 - Image: BASE86 + Image: BLOXBASE + Frames: 716 Size: 1,1 Category: Rock-Detail PickAny: False @@ -938,7 +1025,8 @@ Templates: 0: Rough Template@87: Id: 87 - Image: BASE87 + Image: BLOXBASE + Frames: 736 Size: 1,1 Category: Sand-Detail PickAny: False @@ -946,7 +1034,8 @@ Templates: 0: Sand Template@88: Id: 88 - Image: BASE88 + Image: BLOXBASE + Frames: 657,658,659 Size: 3,1 Category: Brick PickAny: False @@ -956,7 +1045,8 @@ Templates: 2: Concrete Template@89: Id: 89 - Image: BASE89 + Image: BLOXBASE + Frames: 691 Size: 1,1 Category: Brick PickAny: False @@ -964,7 +1054,8 @@ Templates: 0: Concrete Template@90: Id: 90 - Image: BASE90 + Image: BLOXBASE + Frames: 649,650,651,669,670,671 Size: 3,2 Category: Brick PickAny: False @@ -977,7 +1068,8 @@ Templates: 1: Concrete Template@91: Id: 91 - Image: BASE91 + Image: BLOXBASE + Frames: 646,647,648,666,667,668,686,687,688 Size: 3,3 Category: Brick PickAny: False @@ -993,7 +1085,8 @@ Templates: 6: Concrete Template@92: Id: 92 - Image: BASE92 + Image: BLOXBASE + Frames: 685 Size: 1,1 Category: Rock-Detail PickAny: False @@ -1001,7 +1094,8 @@ Templates: 0: Rough Template@93: Id: 93 - Image: BASE93 + Image: BLOXBASE + Frames: 643,644,645,663,664,665 Size: 3,2 Category: Brick PickAny: False @@ -1014,7 +1108,8 @@ Templates: 2: Concrete Template@94: Id: 94 - Image: BASE94 + Image: BLOXBASE + Frames: 661,662,681,682 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1025,7 +1120,8 @@ Templates: 0: Rough Template@95: Id: 95 - Image: BASE95 + Image: BLOXBASE + Frames: 660,680 Size: 1,2 Category: Rock-Detail PickAny: False @@ -1034,7 +1130,8 @@ Templates: 1: Rock Template@96: Id: 96 - Image: BASE96 + Image: BLOXBASE + Frames: 614,615,616,634,635,636,654,655,656 Size: 3,3 Category: Rock-Detail PickAny: False @@ -1050,7 +1147,8 @@ Templates: 8: Rock Template@97: Id: 97 - Image: BASE97 + Image: BLOXBASE + Frames: 617,618,637,638 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1061,7 +1159,8 @@ Templates: 2: Rock Template@98: Id: 98 - Image: BASE98 + Image: BLOXBASE + Frames: 619,639 Size: 1,2 Category: Rock-Detail PickAny: False @@ -1070,7 +1169,8 @@ Templates: 1: Rock Template@99: Id: 99 - Image: BASE99 + Image: BLOXBASE + Frames: 538 Size: 1,1 Category: Rock-Detail PickAny: False @@ -1078,7 +1178,8 @@ Templates: 0: Rock Template@100: Id: 100 - Image: BASE100 + Image: BLOXBASE + Frames: 539 Size: 1,1 Category: Rock-Detail PickAny: False @@ -1086,7 +1187,8 @@ Templates: 0: Rock Template@101: Id: 101 - Image: BASE101 + Image: BLOXBASE + Frames: 557,558,559,577,578,579,597,598,599 Size: 3,3 Category: Rock-Detail PickAny: False @@ -1102,7 +1204,8 @@ Templates: 4: Rough Template@102: Id: 102 - Image: BASE102 + Image: BLOXBASE + Frames: 611,612,613,631,632,633 Size: 3,2 Category: Rock-Detail PickAny: False @@ -1115,7 +1218,8 @@ Templates: 3: Rock Template@103: Id: 103 - Image: BASE103 + Image: BLOXBASE + Frames: 652,653,672,673 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1126,7 +1230,8 @@ Templates: 1: Cliff Template@104: Id: 104 - Image: BASE104 + Image: BLOXBASE + Frames: 692,693 Size: 2,1 Category: SandyCliff PickAny: False @@ -1135,7 +1240,8 @@ Templates: 1: Sand Template@105: Id: 105 - Image: BASE105 + Image: BLOXBASE + Frames: 689,690 Size: 2,1 Category: SandyCliff PickAny: False @@ -1144,7 +1250,8 @@ Templates: 1: Cliff Template@106: Id: 106 - Image: BASE106 + Image: BLOXBASE + Frames: 674,694 Size: 1,2 Category: SandyCliff PickAny: False @@ -1153,7 +1260,8 @@ Templates: 1: Cliff Template@107: Id: 107 - Image: BASE107 + Image: BLOXBASE + Frames: 675,695 Size: 1,2 Category: SandyCliff PickAny: False @@ -1162,7 +1270,8 @@ Templates: 1: Sand Template@108: Id: 108 - Image: BASE108 + Image: BLOXBASE + Frames: 677 Size: 1,1 Category: Z-Crap(Unusual) PickAny: False @@ -1170,7 +1279,8 @@ Templates: 0: Cliff Template@109: Id: 109 - Image: BASE109 + Image: BLOXBASE + Frames: 697 Size: 1,1 Category: Rock-Detail PickAny: False @@ -1178,7 +1288,8 @@ Templates: 0: Rock Template@110: Id: 110 - Image: BASE110 + Image: BLOXBASE + Frames: 678,679 Size: 2,1 Category: SandyCliff PickAny: False @@ -1187,7 +1298,8 @@ Templates: 1: Cliff Template@111: Id: 111 - Image: BASE111 + Image: BLOXBASE + Frames: 698,699 Size: 2,1 Category: SandyCliff PickAny: False @@ -1196,7 +1308,8 @@ Templates: 0: Cliff Template@112: Id: 112 - Image: BASE112 + Image: BLOXBASE + Frames: 715,735 Size: 1,2 Category: Rock-Detail PickAny: False @@ -1205,7 +1318,8 @@ Templates: 1: Rough Template@113: Id: 113 - Image: BASE113 + Image: BLOXBASE + Frames: 711,712,713,714,731,732,733,734 Size: 4,2 Category: Rock-Detail PickAny: False @@ -1220,7 +1334,8 @@ Templates: 0: Rough Template@114: Id: 114 - Image: BASE114 + Image: BLOXBASE + Frames: 709,710,729,730 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1231,7 +1346,8 @@ Templates: 0: Rough Template@115: Id: 115 - Image: BASE115 + Image: BLOXBASE + Frames: 708 Size: 1,1 Category: Rock-Detail PickAny: False @@ -1239,7 +1355,8 @@ Templates: 0: Rough Template@116: Id: 116 - Image: BASE116 + Image: BLOXBASE + Frames: 728 Size: 1,1 Category: Sand-Detail PickAny: False @@ -1247,7 +1364,8 @@ Templates: 0: Rough Template@117: Id: 117 - Image: BASE117 + Image: BLOXBASE + Frames: 706,707,726,727 Size: 2,2 Category: Sand-Detail PickAny: False @@ -1258,7 +1376,8 @@ Templates: 1: Sand Template@118: Id: 118 - Image: BASE118 + Image: BLOXBASE + Frames: 700,701,702,720,721,722 Size: 3,2 Category: Sand-Detail PickAny: False @@ -1271,7 +1390,8 @@ Templates: 3: Rough Template@119: Id: 119 - Image: BASE119 + Image: BLOXBASE + Frames: 703,704,723,724 Size: 2,2 Category: Sand-Detail PickAny: False @@ -1282,7 +1402,8 @@ Templates: 1: Rough Template@120: Id: 120 - Image: BASE120 + Image: BLOXBASE + Frames: 705,725 Size: 1,2 Category: Sand-Detail PickAny: False @@ -1291,7 +1412,8 @@ Templates: 1: Rough Template@121: Id: 121 - Image: BASE121 + Image: BLOXBASE + Frames: 746,747 Size: 2,1 Category: Sand-Detail PickAny: False @@ -1300,7 +1422,8 @@ Templates: 0: Rough Template@122: Id: 122 - Image: BASE122 + Image: BLOXBASE + Frames: 744,745 Size: 2,1 Category: Sand-Detail PickAny: False @@ -1309,7 +1432,8 @@ Templates: 0: Rough Template@123: Id: 123 - Image: BASE123 + Image: BLOXBASE + Frames: 743 Size: 1,1 Category: Sand-Detail PickAny: False @@ -1317,7 +1441,8 @@ Templates: 0: Rough Template@124: Id: 124 - Image: BASE124 + Image: BLOXBASE + Frames: 742 Size: 1,1 Category: Sand-Detail PickAny: False @@ -1325,7 +1450,8 @@ Templates: 0: Rough Template@125: Id: 125 - Image: BASE125 + Image: BLOXBASE + Frames: 740,741 Size: 2,1 Category: Sand-Detail PickAny: False @@ -1334,357 +1460,408 @@ Templates: 0: Rough # Template@126: # Id: 126 -# Image: BASE126 +# Image: BLOXBASE +# Frames: 748 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@127: # Id: 127 -# Image: BASE127 +# Image: BLOXBASE +# Frames: 749 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@128: # Id: 128 -# Image: BASE128 +# Image: BLOXBASE +# Frames: 750 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@129: # Id: 129 -# Image: BASE129 +# Image: BLOXBASE +# Frames: 751 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@130: # Id: 130 -# Image: BASE130 +# Image: BLOXBASE +# Frames: 752 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@131: # Id: 131 -# Image: BASE131 +# Image: BLOXBASE +# Frames: 753 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@132: # Id: 132 -# Image: BASE132 +# Image: BLOXBASE +# Frames: 754 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@133: # Id: 133 -# Image: BASE133 +# Image: BLOXBASE +# Frames: 755 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@134: # Id: 134 -# Image: BASE134 +# Image: BLOXBASE +# Frames: 756 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@135: # Id: 135 -# Image: BASE135 +# Image: BLOXBASE +# Frames: 757 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@136: # Id: 136 -# Image: BASE136 +# Image: BLOXBASE +# Frames: 760 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@137: # Id: 137 -# Image: BASE137 +# Image: BLOXBASE +# Frames: 761 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@138: # Id: 138 -# Image: BASE138 +# Image: BLOXBASE +# Frames: 762 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@139: # Id: 139 -# Image: BASE139 +# Image: BLOXBASE +# Frames: 763 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@140: # Id: 140 -# Image: BASE140 +# Image: BLOXBASE +# Frames: 764 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@141: # Id: 141 -# Image: BASE141 +# Image: BLOXBASE +# Frames: 765 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@142: # Id: 142 -# Image: BASE142 +# Image: BLOXBASE +# Frames: 766 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@143: # Id: 143 -# Image: BASE143 +# Image: BLOXBASE +# Frames: 767 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@144: # Id: 144 -# Image: BASE144 +# Image: BLOXBASE +# Frames: 768 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@145: # Id: 145 -# Image: BASE145 +# Image: BLOXBASE +# Frames: 769 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@146: # Id: 146 -# Image: BASE146 +# Image: BLOXBASE +# Frames: 770 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@147: # Id: 147 -# Image: BASE147 +# Image: BLOXBASE +# Frames: 771 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@148: # Id: 148 -# Image: BASE148 +# Image: BLOXBASE +# Frames: 772 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@149: # Id: 149 -# Image: BASE149 +# Image: BLOXBASE +# Frames: 773 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@150: # Id: 150 -# Image: BASE150 +# Image: BLOXBASE +# Frames: 774 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@151: # Id: 151 -# Image: BASE151 +# Image: BLOXBASE +# Frames: 775 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@152: # Id: 152 -# Image: BASE152 +# Image: BLOXBASE +# Frames: 776 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@153: # Id: 153 -# Image: BASE153 +# Image: BLOXBASE +# Frames: 777 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@154: # Id: 154 -# Image: BASE154 +# Image: BLOXBASE +# Frames: 778 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@155: # Id: 155 -# Image: BASE155 +# Image: BLOXBASE +# Frames: 779 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@156: # Id: 156 -# Image: BASE156 +# Image: BLOXBASE +# Frames: 799 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@157: # Id: 157 -# Image: BASE157 +# Image: BLOXBASE +# Frames: 798 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@158: # Id: 158 -# Image: BASE158 +# Image: BLOXBASE +# Frames: 797 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@159: # Id: 159 -# Image: BASE159 +# Image: BLOXBASE +# Frames: 796 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@160: # Id: 160 -# Image: BASE160 +# Image: BLOXBASE +# Frames: 795 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@161: # Id: 161 -# Image: BASE161 +# Image: BLOXBASE +# Frames: 794 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@162: # Id: 162 -# Image: BASE162 +# Image: BLOXBASE +# Frames: 793 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@163: # Id: 163 -# Image: BASE163 +# Image: BLOXBASE +# Frames: 792 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@164: # Id: 164 -# Image: BASE164 +# Image: BLOXBASE +# Frames: 791 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@165: # Id: 165 -# Image: BASE165 +# Image: BLOXBASE +# Frames: 789 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@166: # Id: 166 -# Image: BASE166 +# Image: BLOXBASE +# Frames: 790 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@167: # Id: 167 -# Image: BASE167 +# Image: BLOXBASE +# Frames: 788 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@168: # Id: 168 -# Image: BASE168 +# Image: BLOXBASE +# Frames: 787 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@169: # Id: 169 -# Image: BASE169 +# Image: BLOXBASE +# Frames: 786 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@170: # Id: 170 -# Image: BASE170 +# Image: BLOXBASE +# Frames: 785 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@171: # Id: 171 -# Image: BASE171 +# Image: BLOXBASE +# Frames: 784 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@172: # Id: 172 -# Image: BASE172 +# Image: BLOXBASE +# Frames: 783 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@173: # Id: 173 -# Image: BASE173 +# Image: BLOXBASE +# Frames: 782 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@174: # Id: 174 -# Image: BASE174 +# Image: BLOXBASE +# Frames: 781 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice # Template@175: # Id: 175 -# Image: BASE175 +# Image: BLOXBASE +# Frames: 780 # Size: 1,1 # PickAny: False # Tiles: # 0: Spice Template@176: Id: 176 - Image: BASE176 + Image: BLOXBASE + Frames: 600,601,602,620,621,622,640,641,642 Size: 3,3 Category: BaseBorder-Cliff PickAny: False @@ -1700,7 +1877,8 @@ Templates: 4: Sand Template@177: Id: 177 - Image: BASE177 + Image: BLOXBASE + Frames: 603,604,623,624 Size: 2,2 Category: SandyCliff PickAny: False @@ -1711,7 +1889,8 @@ Templates: 2: Cliff Template@178: Id: 178 - Image: BASE178 + Image: BLOXBASE + Frames: 605,606,625,626 Size: 2,2 Category: SandyCliff PickAny: False @@ -1722,7 +1901,8 @@ Templates: 2: Cliff Template@179: Id: 179 - Image: BASE179 + Image: BLOXBASE + Frames: 564,565,584,585 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1733,7 +1913,8 @@ Templates: 2: Cliff Template@180: Id: 180 - Image: BASE180 + Image: BLOXBASE + Frames: 566,567,586,587 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1744,7 +1925,8 @@ Templates: 2: Cliff Template@181: Id: 181 - Image: BASE181 + Image: BLOXBASE + Frames: 562,563,582,583 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1755,7 +1937,8 @@ Templates: 0: Cliff Template@182: Id: 182 - Image: BASE182 + Image: BLOXBASE + Frames: 560,561,580,581 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1766,7 +1949,8 @@ Templates: 3: Rock Template@183: Id: 183 - Image: BASE183 + Image: BLOXBASE + Frames: 607,608,627,628 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1777,7 +1961,8 @@ Templates: 1: Cliff Template@184: Id: 184 - Image: BASE184 + Image: BLOXBASE + Frames: 609,610,629,630 Size: 2,2 Category: Rock-Detail PickAny: False @@ -1788,7 +1973,8 @@ Templates: 1: Sand Template@185: Id: 185 - Image: BASE185 + Image: BLOXBASE + Frames: 568,569,588,589 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1799,7 +1985,8 @@ Templates: 2: Cliff Template@186: Id: 186 - Image: BASE186 + Image: BLOXBASE + Frames: 570,571,590,591 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1810,7 +1997,8 @@ Templates: 1: Cliff Template@187: Id: 187 - Image: BASE187 + Image: BLOXBASE + Frames: 529,530,549,550 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1821,7 +2009,8 @@ Templates: 2: Rock Template@188: Id: 188 - Image: BASE188 + Image: BLOXBASE + Frames: 527,528,547,548 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1832,7 +2021,8 @@ Templates: 2: Rock Template@189: Id: 189 - Image: BASE189 + Image: BLOXBASE + Frames: 525,526,545,546 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1843,7 +2033,8 @@ Templates: 2: Rock Template@190: Id: 190 - Image: BASE190 + Image: BLOXBASE + Frames: 523,524,543,544 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1854,7 +2045,8 @@ Templates: 2: Sand Template@191: Id: 191 - Image: BASE191 + Image: BLOXBASE + Frames: 520,521,522,540,541,542 Size: 3,2 Category: BaseBorder-Cliff PickAny: False @@ -1867,7 +2059,8 @@ Templates: 4: Cliff Template@192: Id: 192 - Image: BASE192 + Image: BLOXBASE + Frames: 480,481,482,500,501,502 Size: 3,2 Category: BaseBorder-Cliff PickAny: False @@ -1880,7 +2073,8 @@ Templates: 5: Cliff Template@193: Id: 193 - Image: BASE193 + Image: BLOXBASE + Frames: 440,441,460,461 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1891,7 +2085,8 @@ Templates: 0: Transition Template@194: Id: 194 - Image: BASE194 + Image: BLOXBASE + Frames: 402,403,422,423,442,443 Size: 2,3 Category: BaseBorder-Cliff PickAny: False @@ -1904,7 +2099,8 @@ Templates: 1: Cliff Template@195: Id: 195 - Image: BASE195 + Image: BLOXBASE + Frames: 400,401,420,421 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1915,7 +2111,8 @@ Templates: 1: Cliff Template@196: Id: 196 - Image: BASE196 + Image: BLOXBASE + Frames: 408,409,428,429 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1926,7 +2123,8 @@ Templates: 1: Cliff Template@197: Id: 197 - Image: BASE197 + Image: BLOXBASE + Frames: 410,411,430,431,450,451 Size: 2,3 Category: BaseBorder-Cliff PickAny: False @@ -1939,7 +2137,8 @@ Templates: 1: Cliff Template@198: Id: 198 - Image: BASE198 + Image: BLOXBASE + Frames: 412,413,432,433 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1950,7 +2149,8 @@ Templates: 1: Transition Template@199: Id: 199 - Image: BASE199 + Image: BLOXBASE + Frames: 452,453 Size: 2,1 Category: BaseBorder-Cliff PickAny: False @@ -1959,7 +2159,8 @@ Templates: 1: Sand Template@200: Id: 200 - Image: BASE200 + Image: BLOXBASE + Frames: 454,455,474,475,494,495 Size: 2,3 Category: BaseBorder-Cliff PickAny: False @@ -1972,7 +2173,8 @@ Templates: 2: Cliff Template@201: Id: 201 - Image: BASE201 + Image: BLOXBASE + Frames: 489,490,509,510 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -1983,18 +2185,20 @@ Templates: 0: Cliff Template@202: Id: 202 - Image: BASE202 + Image: BLOXBASE + Frames: 448,449,468,469 Size: 2,2 Category: BaseBorder-Cliff PickAny: False Tiles: - 0: Cliff - 2: Cliff + 0: Transition + 2: Transition 3: Rock 1: Transition Template@203: Id: 203 - Image: BASE203 + Image: BLOXBASE + Frames: 487,488,507,508 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2005,7 +2209,8 @@ Templates: 0: Cliff Template@204: Id: 204 - Image: BASE204 + Image: BLOXBASE + Frames: 446,447,466,467 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2016,7 +2221,8 @@ Templates: 0: Cliff Template@205: Id: 205 - Image: BASE205 + Image: BLOXBASE + Frames: 444,445,464,465 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2027,7 +2233,8 @@ Templates: 0: Cliff Template@206: Id: 206 - Image: BASE206 + Image: BLOXBASE + Frames: 456,457,476,477,496,497 Size: 2,3 Category: BaseBorder-Cliff PickAny: False @@ -2040,7 +2247,8 @@ Templates: 0: Cliff Template@207: Id: 207 - Image: BASE207 + Image: BLOXBASE + Frames: 498,499,518,519 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -2051,7 +2259,8 @@ Templates: 2: Transition Template@208: Id: 208 - Image: BASE208 + Image: BLOXBASE + Frames: 458,459,478,479 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -2062,7 +2271,8 @@ Templates: 1: Cliff Template@209: Id: 209 - Image: BASE209 + Image: BLOXBASE + Frames: 418,419,438,439 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2073,7 +2283,8 @@ Templates: 1: Cliff Template@210: Id: 210 - Image: BASE210 + Image: BLOXBASE + Frames: 378,379,398,399 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2084,7 +2295,8 @@ Templates: 2: Cliff Template@211: Id: 211 - Image: BASE211 + Image: BLOXBASE + Frames: 416,417,436,437 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2095,7 +2307,8 @@ Templates: 3: Cliff Template@212: Id: 212 - Image: BASE212 + Image: BLOXBASE + Frames: 376,377,396,397 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2106,7 +2319,8 @@ Templates: 2: Cliff Template@213: Id: 213 - Image: BASE213 + Image: BLOXBASE + Frames: 414,415,434,435 Size: 2,2 Category: Sand-Detail PickAny: False @@ -2117,7 +2331,8 @@ Templates: 2: Cliff Template@214: Id: 214 - Image: BASE214 + Image: BLOXBASE + Frames: 354,355,374,375,394,395 Size: 2,3 Category: Sand-Detail PickAny: False @@ -2130,7 +2345,8 @@ Templates: 5: Rough Template@215: Id: 215 - Image: BASE215 + Image: BLOXBASE + Frames: 356 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2138,7 +2354,8 @@ Templates: 0: Sand Template@216: Id: 216 - Image: BASE216 + Image: BLOXBASE + Frames: 347,348,367,368,387,388 Size: 2,3 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2151,7 +2368,8 @@ Templates: 0: Sand Template@217: Id: 217 - Image: BASE217 + Image: BLOXBASE + Frames: 386 Size: 1,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2159,7 +2377,8 @@ Templates: 0: Rough Template@218: Id: 218 - Image: BASE218 + Image: BLOXBASE + Frames: 345,346,365,366 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2170,7 +2389,8 @@ Templates: 0: Rough Template@219: Id: 219 - Image: BASE219 + Image: BLOXBASE + Frames: 343,344,363,364 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2181,7 +2401,8 @@ Templates: 0: Sand Template@220: Id: 220 - Image: BASE220 + Image: BLOXBASE + Frames: 340,341,342,360,361,362 Size: 3,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2194,7 +2415,8 @@ Templates: 3: Rough Template@221: Id: 221 - Image: BASE221 + Image: BLOXBASE + Frames: 380,381,382 Size: 3,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2204,7 +2426,8 @@ Templates: 2: Sand Template@222: Id: 222 - Image: BASE222 + Image: BLOXBASE + Frames: 483,484,503,504 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2215,7 +2438,8 @@ Templates: 0: Cliff Template@223: Id: 223 - Image: BASE223 + Image: BLOXBASE + Frames: 485,486,505,506 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2226,7 +2450,8 @@ Templates: 1: Cliff Template@224: Id: 224 - Image: BASE224 + Image: BLOXBASE + Frames: 83,84,103,104 Size: 2,2 Category: Dune PickAny: False @@ -2237,7 +2462,8 @@ Templates: 2: Dune Template@225: Id: 225 - Image: BASE225 + Image: BLOXBASE + Frames: 28 Size: 1,1 Category: Dune PickAny: False @@ -2245,28 +2471,32 @@ Templates: 0: Dune Template@226: Id: 226 - Image: BASE226 + Image: BLOXBASE + Frames: 8 Size: 1,1 PickAny: False Tiles: 0: Sand Template@227: Id: 227 - Image: BASE227 + Image: BLOXBASE + Frames: 9 Size: 1,1 PickAny: False Tiles: 0: Sand Template@228: Id: 228 - Image: BASE228 + Image: BLOXBASE + Frames: 29 Size: 1,1 PickAny: False Tiles: 0: Sand Template@229: Id: 229 - Image: BASE229 + Image: BLOXBASE + Frames: 26,27,46,47 Size: 2,2 Category: Dune PickAny: False @@ -2277,7 +2507,8 @@ Templates: 0: Dune Template@230: Id: 230 - Image: BASE230 + Image: BLOXBASE + Frames: 65,66 Size: 2,1 Category: Dune PickAny: False @@ -2286,7 +2517,8 @@ Templates: 0: Dune Template@231: Id: 231 - Image: BASE231 + Image: BLOXBASE + Frames: 63,64 Size: 2,1 Category: Dune PickAny: False @@ -2295,7 +2527,8 @@ Templates: 0: Dune Template@232: Id: 232 - Image: BASE232 + Image: BLOXBASE + Frames: 22,23,42,43 Size: 2,2 Category: Dune PickAny: False @@ -2306,7 +2539,8 @@ Templates: 0: Dune Template@233: Id: 233 - Image: BASE233 + Image: BLOXBASE + Frames: 60 Size: 1,1 Category: Dune PickAny: False @@ -2314,7 +2548,8 @@ Templates: 0: Dune Template@234: Id: 234 - Image: BASE234 + Image: BLOXBASE + Frames: 61 Size: 1,1 Category: Dune PickAny: False @@ -2322,7 +2557,8 @@ Templates: 0: Dune Template@235: Id: 235 - Image: BASE235 + Image: BLOXBASE + Frames: 62 Size: 1,1 Category: Dune PickAny: False @@ -2330,7 +2566,8 @@ Templates: 0: Dune Template@236: Id: 236 - Image: BASE236 + Image: BLOXBASE + Frames: 82 Size: 1,1 Category: Dune PickAny: False @@ -2338,7 +2575,8 @@ Templates: 0: Dune Template@237: Id: 237 - Image: BASE237 + Image: BLOXBASE + Frames: 102 Size: 1,1 Category: Dune PickAny: False @@ -2346,7 +2584,8 @@ Templates: 0: Dune Template@238: Id: 238 - Image: BASE238 + Image: BLOXBASE + Frames: 101 Size: 1,1 Category: Dune PickAny: False @@ -2354,7 +2593,8 @@ Templates: 0: Dune Template@239: Id: 239 - Image: BASE239 + Image: BLOXBASE + Frames: 100 Size: 1,1 Category: Dune PickAny: False @@ -2362,7 +2602,8 @@ Templates: 0: Dune Template@240: Id: 240 - Image: BASE240 + Image: BLOXBASE + Frames: 80 Size: 1,1 Category: Dune PickAny: False @@ -2370,7 +2611,8 @@ Templates: 0: Dune Template@241: Id: 241 - Image: BASE241 + Image: BLOXBASE + Frames: 81 Size: 1,1 Category: Dune PickAny: False @@ -2378,7 +2620,8 @@ Templates: 0: Dune Template@242: Id: 242 - Image: BASE242 + Image: BLOXBASE + Frames: 21 Size: 1,1 Category: Dune PickAny: False @@ -2386,7 +2629,8 @@ Templates: 0: Dune Template@243: Id: 243 - Image: BASE243 + Image: BLOXBASE + Frames: 41 Size: 1,1 Category: Dune PickAny: False @@ -2394,7 +2638,8 @@ Templates: 0: Dune Template@244: Id: 244 - Image: BASE244 + Image: BLOXBASE + Frames: 40 Size: 1,1 Category: Dune PickAny: False @@ -2402,7 +2647,8 @@ Templates: 0: Dune Template@245: Id: 245 - Image: BASE245 + Image: BLOXBASE + Frames: 20 Size: 1,1 Category: Dune PickAny: False @@ -2410,7 +2656,8 @@ Templates: 0: Dune Template@246: Id: 246 - Image: BASE246 + Image: BLOXBASE + Frames: 24,25,44,45 Size: 2,2 Category: Dune PickAny: False @@ -2421,7 +2668,8 @@ Templates: 2: Sand Template@247: Id: 247 - Image: BASE247 + Image: BLOXBASE + Frames: 352,353,372,373 Size: 2,2 Category: Sand-Detail PickAny: False @@ -2432,7 +2680,8 @@ Templates: 1: Sand Template@248: Id: 248 - Image: BASE248 + Image: BLOXBASE + Frames: 392,393 Size: 2,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2441,7 +2690,8 @@ Templates: 0: Sand Template@249: Id: 249 - Image: BASE249 + Image: BLOXBASE + Frames: 390 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2449,7 +2699,8 @@ Templates: 0: Rough Template@250: Id: 250 - Image: BASE250 + Image: BLOXBASE + Frames: 389 Size: 1,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2457,7 +2708,8 @@ Templates: 0: Rough Template@251: Id: 251 - Image: BASE251 + Image: BLOXBASE + Frames: 349,350,369,370 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2468,7 +2720,8 @@ Templates: 1: Rough Template@252: Id: 252 - Image: BASE252 + Image: BLOXBASE + Frames: 254,255,274,275 Size: 2,2 Category: Z-Crap(Unusual) PickAny: False @@ -2479,7 +2732,8 @@ Templates: 2: Sand Template@253: Id: 253 - Image: BASE253 + Image: BLOXBASE + Frames: 514,515,534,535 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -2490,7 +2744,8 @@ Templates: 0: Cliff Template@254: Id: 254 - Image: BASE254 + Image: BLOXBASE + Frames: 516,517,536,537 Size: 2,2 Category: Cliff-Type-Changer PickAny: False @@ -2501,7 +2756,8 @@ Templates: 1: Cliff Template@255: Id: 255 - Image: BASE255 + Image: BLOXBASE + Frames: 404,405,424,425 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2512,7 +2768,8 @@ Templates: 2: Cliff Template@256: Id: 256 - Image: BASE256 + Image: BLOXBASE + Frames: 406,407,426,427 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -2523,7 +2780,8 @@ Templates: 0: Cliff Template@257: Id: 257 - Image: BASE257 + Image: BLOXBASE + Frames: 48,49,50,51,52,68,69,70,71,72 Size: 5,2 PickAny: False Tiles: @@ -2539,7 +2797,8 @@ Templates: 5: Sand Template@258: Id: 258 - Image: BASE258 + Image: BLOXBASE + Frames: 676,696 Size: 1,2 Category: BaseBorder-Cliff PickAny: False @@ -2548,7 +2807,8 @@ Templates: 0: Cliff Template@259: Id: 259 - Image: BASE259 + Image: BLOXBASE + Frames: 303 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -2556,7 +2816,8 @@ Templates: 0: Transition Template@260: Id: 260 - Image: BASE260 + Image: BLOXBASE + Frames: 304 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -2564,7 +2825,8 @@ Templates: 0: Transition Template@261: Id: 261 - Image: BASE261 + Image: BLOXBASE + Frames: 324 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -2572,7 +2834,8 @@ Templates: 0: Transition Template@262: Id: 262 - Image: BASE262 + Image: BLOXBASE + Frames: 323 Size: 1,1 Category: Rock-SandSmooth PickAny: False @@ -2580,7 +2843,8 @@ Templates: 0: Transition Template@263: Id: 263 - Image: BASE263 + Image: BLOXBASE + Frames: 511,512,513,531,532,533 Size: 3,2 Category: BaseBorder-Cliff PickAny: False @@ -2593,7 +2857,8 @@ Templates: 3: Cliff Template@264: Id: 264 - Image: BASE264 + Image: BLOXBASE + Frames: 471,472,473,491,492,493 Size: 3,2 Category: BaseBorder-Cliff PickAny: False @@ -2606,7 +2871,8 @@ Templates: 0: Cliff Template@265: Id: 265 - Image: BASE265 + Image: BLOXBASE + Frames: 552,553,554,555,556,572,573,574,575,576 Size: 5,2 PickAny: False Tiles: @@ -2622,21 +2888,24 @@ Templates: 1: Rock Template@266: Id: 266 - Image: BASE266 + Image: BLOXBASE + Frames: 595 Size: 1,1 PickAny: False Tiles: 0: Rock Template@267: Id: 267 - Image: BASE267 + Image: BLOXBASE + Frames: 596 Size: 1,1 PickAny: False Tiles: 0: Rock Template@268: Id: 268 - Image: BASE268 + Image: BLOXBASE + Frames: 306,307 Size: 2,1 PickAny: False Tiles: @@ -2644,7 +2913,8 @@ Templates: 1: Rock Template@269: Id: 269 - Image: BASE269 + Image: BLOXBASE + Frames: 326,327 Size: 2,1 Category: Rock-SandSmooth PickAny: False @@ -2653,7 +2923,8 @@ Templates: 0: Transition Template@270: Id: 270 - Image: BASE270 + Image: BLOXBASE + Frames: 592,593,594 Size: 3,1 PickAny: False Tiles: @@ -2662,7 +2933,8 @@ Templates: 2: Rock Template@271: Id: 271 - Image: BAT00 + Image: BLOXBAT + Frames: 1 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2670,7 +2942,8 @@ Templates: 0: Rough Template@272: Id: 272 - Image: BAT01 + Image: BLOXBAT + Frames: 2 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2678,7 +2951,8 @@ Templates: 0: Rough Template@273: Id: 273 - Image: BAT02 + Image: BLOXBAT + Frames: 3 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2686,7 +2960,8 @@ Templates: 0: Rough Template@274: Id: 274 - Image: BAT03 + Image: BLOXBAT + Frames: 4 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2694,7 +2969,8 @@ Templates: 0: Rough Template@275: Id: 275 - Image: BAT04 + Image: BLOXBAT + Frames: 5 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2702,7 +2978,8 @@ Templates: 0: Rough Template@276: Id: 276 - Image: BAT05 + Image: BLOXBAT + Frames: 6 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2710,7 +2987,8 @@ Templates: 0: Rough Template@277: Id: 277 - Image: BAT06 + Image: BLOXBAT + Frames: 322 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2718,7 +2996,8 @@ Templates: 0: Cliff Template@278: Id: 278 - Image: BAT07 + Image: BLOXBAT + Frames: 165 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2726,7 +3005,8 @@ Templates: 0: Rough Template@279: Id: 279 - Image: BAT08 + Image: BLOXBAT + Frames: 164 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2734,7 +3014,8 @@ Templates: 0: Rough Template@280: Id: 280 - Image: BAT09 + Image: BLOXBAT + Frames: 184 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2742,7 +3023,8 @@ Templates: 0: Rock Template@281: Id: 281 - Image: BAT10 + Image: BLOXBAT + Frames: 305 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2750,7 +3032,8 @@ Templates: 0: Rough Template@282: Id: 282 - Image: BAT11 + Image: BLOXBAT + Frames: 325 Size: 1,1 Category: Rock-Detail PickAny: False @@ -2758,7 +3041,8 @@ Templates: 0: Rough Template@283: Id: 283 - Image: BAT12 + Image: BLOXBAT + Frames: 289,290,309,310 Size: 2,2 Category: Sand-Detail PickAny: False @@ -2769,7 +3053,8 @@ Templates: 1: Rough Template@284: Id: 284 - Image: BAT13 + Image: BLOXBAT + Frames: 316 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2777,7 +3062,8 @@ Templates: 0: Sand Template@285: Id: 285 - Image: BAT14 + Image: BLOXBAT + Frames: 297 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2785,7 +3071,8 @@ Templates: 0: Sand Template@286: Id: 286 - Image: BAT15 + Image: BLOXBAT + Frames: 338,339,358,359 Size: 2,2 Category: Sand-Detail PickAny: False @@ -2796,7 +3083,8 @@ Templates: 1: Sand Template@287: Id: 287 - Image: BAT16 + Image: BLOXBAT + Frames: 340,341,360,361,380,381 Size: 2,3 Category: Sand-Detail PickAny: False @@ -2809,7 +3097,8 @@ Templates: 1: Rough Template@288: Id: 288 - Image: BAT17 + Image: BLOXBAT + Frames: 342,343,362,363,382,383 Size: 2,3 Category: Sand-Detail PickAny: False @@ -2822,7 +3111,8 @@ Templates: 1: Rough Template@289: Id: 289 - Image: BAT18 + Image: BLOXBAT + Frames: 344,345,364,365,384,385 Size: 2,3 Category: Sand-Detail PickAny: False @@ -2835,7 +3125,8 @@ Templates: 1: Rough Template@290: Id: 290 - Image: BAT19 + Image: BLOXBAT + Frames: 349,350,369,370,389,390 Size: 2,3 Category: Sand-Detail PickAny: False @@ -2848,7 +3139,8 @@ Templates: 1: Sand Template@291: Id: 291 - Image: BAT20 + Image: BLOXBAT + Frames: 351,371 Size: 1,2 Category: Sand-Detail PickAny: False @@ -2857,7 +3149,8 @@ Templates: 1: Sand Template@292: Id: 292 - Image: BAT21 + Image: BLOXBAT + Frames: 391 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2865,7 +3158,8 @@ Templates: 0: Sand Template@293: Id: 293 - Image: BAT22 + Image: BLOXBAT + Frames: 392 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2873,7 +3167,8 @@ Templates: 0: Sand Template@294: Id: 294 - Image: BAT23 + Image: BLOXBAT + Frames: 393 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2881,7 +3176,8 @@ Templates: 0: Sand Template@295: Id: 295 - Image: BAT24 + Image: BLOXBAT + Frames: 352,372 Size: 1,2 Category: Sand-Detail PickAny: False @@ -2890,7 +3186,8 @@ Templates: 0: Sand Template@296: Id: 296 - Image: BAT25 + Image: BLOXBAT + Frames: 353 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2898,7 +3195,8 @@ Templates: 0: Sand Template@297: Id: 297 - Image: BAT26 + Image: BLOXBAT + Frames: 354 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2906,7 +3204,8 @@ Templates: 0: Sand Template@298: Id: 298 - Image: BAT27 + Image: BLOXBAT + Frames: 374 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2914,7 +3213,8 @@ Templates: 0: Sand Template@299: Id: 299 - Image: BAT28 + Image: BLOXBAT + Frames: 373 Size: 1,1 Category: Sand-Detail PickAny: False @@ -2922,7 +3222,8 @@ Templates: 0: Sand Template@300: Id: 300 - Image: BAT29 + Image: BLOXBAT + Frames: 394,395,414,415 Size: 2,2 Category: Sand-Detail PickAny: False @@ -2933,7 +3234,8 @@ Templates: 1: Sand Template@301: Id: 301 - Image: BAT30 + Image: BLOXBAT + Frames: 434,435 Size: 2,1 Category: Rock-Detail PickAny: False @@ -2942,7 +3244,8 @@ Templates: 1: Rough Template@302: Id: 302 - Image: BAT31 + Image: BLOXBAT + Frames: 355,375 Size: 1,2 Category: Rock-Detail PickAny: False @@ -2951,7 +3254,8 @@ Templates: 1: Rough Template@303: Id: 303 - Image: BAT32 + Image: BLOXBAT + Frames: 356,357 Size: 2,1 Category: Rock-Detail PickAny: False @@ -2960,7 +3264,8 @@ Templates: 1: Rough Template@304: Id: 304 - Image: BAT33 + Image: BLOXBAT + Frames: 462,463 Size: 2,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2969,7 +3274,8 @@ Templates: 1: Rough Template@305: Id: 305 - Image: BAT34 + Image: BLOXBAT + Frames: 551 Size: 1,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2977,7 +3283,8 @@ Templates: 0: Rough Template@306: Id: 306 - Image: BAT35 + Image: BLOXBAT + Frames: 607,608,627,628 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2988,7 +3295,8 @@ Templates: 1: Rough Template@307: Id: 307 - Image: BAT36 + Image: BLOXBAT + Frames: 609,610,629,630 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -2999,7 +3307,8 @@ Templates: 1: Rough Template@308: Id: 308 - Image: BAT37 + Image: BLOXBAT + Frames: 652,653,672,673 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -3010,7 +3319,8 @@ Templates: 1: Rough Template@309: Id: 309 - Image: BAT38 + Image: BLOXBAT + Frames: 713,714,715,733,734,735 Size: 3,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -3023,7 +3333,8 @@ Templates: 1: Rough Template@310: Id: 310 - Image: BAT39 + Image: BLOXBAT + Frames: 709,710,711,712,729,730,731,732 Size: 4,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -3038,7 +3349,8 @@ Templates: 1: Rough Template@311: Id: 311 - Image: BAT40 + Image: BLOXBAT + Frames: 661,662,681,682 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3049,7 +3361,8 @@ Templates: 1: Sand Template@312: Id: 312 - Image: BAT41 + Image: BLOXBAT + Frames: 683 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3057,7 +3370,8 @@ Templates: 0: Sand Template@313: Id: 313 - Image: BAT42 + Image: BLOXBAT + Frames: 684 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3065,7 +3379,8 @@ Templates: 0: Sand Template@314: Id: 314 - Image: BAT43 + Image: BLOXBAT + Frames: 703 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3073,7 +3388,8 @@ Templates: 0: Sand Template@315: Id: 315 - Image: BAT44 + Image: BLOXBAT + Frames: 723 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3081,7 +3397,8 @@ Templates: 0: Sand Template@316: Id: 316 - Image: BAT45 + Image: BLOXBAT + Frames: 722 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3089,7 +3406,8 @@ Templates: 0: Sand Template@317: Id: 317 - Image: BAT46 + Image: BLOXBAT + Frames: 721 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3097,7 +3415,8 @@ Templates: 0: Sand Template@318: Id: 318 - Image: BAT47 + Image: BLOXBAT + Frames: 720 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3105,7 +3424,8 @@ Templates: 0: Sand Template@319: Id: 319 - Image: BAT48 + Image: BLOXBAT + Frames: 700 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3113,7 +3433,8 @@ Templates: 0: Sand Template@320: Id: 320 - Image: BAT49 + Image: BLOXBAT + Frames: 701,702 Size: 2,1 Category: Sand-Detail PickAny: False @@ -3122,7 +3443,8 @@ Templates: 1: Sand Template@321: Id: 321 - Image: BAT50 + Image: BLOXBAT + Frames: 741 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3130,7 +3452,8 @@ Templates: 0: Sand Template@322: Id: 322 - Image: BAT51 + Image: BLOXBAT + Frames: 742 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3138,7 +3461,8 @@ Templates: 0: Sand Template@323: Id: 323 - Image: BAT52 + Image: BLOXBAT + Frames: 743 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3146,7 +3470,8 @@ Templates: 0: Sand Template@324: Id: 324 - Image: BAT53 + Image: BLOXBAT + Frames: 744 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3154,7 +3479,8 @@ Templates: 0: Sand Template@325: Id: 325 - Image: BAT54 + Image: BLOXBAT + Frames: 745,746 Size: 2,1 Category: Sand-Detail PickAny: False @@ -3163,7 +3489,8 @@ Templates: 1: Sand Template@326: Id: 326 - Image: BAT55 + Image: BLOXBAT + Frames: 747 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3171,7 +3498,8 @@ Templates: 0: Sand Template@327: Id: 327 - Image: BAT56 + Image: BLOXBAT + Frames: 728 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3179,7 +3507,8 @@ Templates: 0: Sand Template@328: Id: 328 - Image: BAT57 + Image: BLOXBAT + Frames: 708 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3187,7 +3516,8 @@ Templates: 0: Sand Template@329: Id: 329 - Image: BAT58 + Image: BLOXBAT + Frames: 716,717,736,737 Size: 2,2 Category: Rock-Detail(Cliff) PickAny: False @@ -3198,7 +3528,8 @@ Templates: 1: Cliff Template@330: Id: 330 - Image: BAT59 + Image: BLOXBAT + Frames: 538,539,558,559 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3209,7 +3540,8 @@ Templates: 1: Rough Template@331: Id: 331 - Image: BAT60 + Image: BLOXBAT + Frames: 578,579,598,599 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3220,7 +3552,8 @@ Templates: 1: Rough Template@332: Id: 332 - Image: BAT61 + Image: BLOXBAT + Frames: 718,719,738,739,758,759 Size: 2,3 Category: Sand-Detail PickAny: False @@ -3233,7 +3566,8 @@ Templates: 1: Rough Template@333: Id: 333 - Image: BAT62 + Image: BLOXBAT + Frames: 704,705,724,725 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3244,7 +3578,8 @@ Templates: 1: Rock Template@334: Id: 334 - Image: BAT63 + Image: BLOXBAT + Frames: 706,707,726,727 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3255,7 +3590,8 @@ Templates: 1: Rock Template@335: Id: 335 - Image: BAT64 + Image: BLOXBAT + Frames: 660,680 Size: 1,2 Category: Sand-Detail PickAny: False @@ -3264,7 +3600,8 @@ Templates: 1: Sand Template@336: Id: 336 - Image: BAT65 + Image: BLOXBAT + Frames: 388 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3272,7 +3609,8 @@ Templates: 0: Sand Template@337: Id: 337 - Image: BAT66 + Image: BLOXBAT + Frames: 346,347,348,366,367,368 Size: 3,2 Category: Sand-Detail PickAny: False @@ -3285,7 +3623,8 @@ Templates: 1: Rough Template@338: Id: 338 - Image: BAT67 + Image: BLOXBAT + Frames: 386,387 Size: 2,1 Category: Sand-Detail PickAny: False @@ -3294,7 +3633,8 @@ Templates: 0: Rough Template@339: Id: 339 - Image: BGBS00 + Image: BLOXBGBS + Frames: 164,165,184,185 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3305,7 +3645,8 @@ Templates: 1: Rough Template@340: Id: 340 - Image: BGBS01 + Image: BLOXBGBS + Frames: 289,290,309,310 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3316,7 +3657,8 @@ Templates: 1: Sand Template@341: Id: 341 - Image: BGBS02 + Image: BLOXBGBS + Frames: 338,339,358,359 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3327,7 +3669,8 @@ Templates: 1: Rough Template@342: Id: 342 - Image: BGBS03 + Image: BLOXBGBS + Frames: 349,350,351,352,353,354,369,370,371,372,373,374,389,390,391,392,393,394 Size: 6,3 Category: Rock-Detail(Cliff) PickAny: False @@ -3352,7 +3695,8 @@ Templates: 7: Transition Template@343: Id: 343 - Image: BGBS04 + Image: BLOXBGBS + Frames: 340,341,342,360,361,362,380,381,382 Size: 3,3 Category: Rock-Detail(Cliff) PickAny: False @@ -3368,7 +3712,8 @@ Templates: 4: Transition Template@344: Id: 344 - Image: BGBS05 + Image: BLOXBGBS + Frames: 363,364,383,384 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3379,7 +3724,8 @@ Templates: 1: Rock Template@345: Id: 345 - Image: BGBS06 + Image: BLOXBGBS + Frames: 343,344 Size: 2,1 Category: Rock-Detail PickAny: False @@ -3388,7 +3734,8 @@ Templates: 1: Rock Template@346: Id: 346 - Image: BGBS07 + Image: BLOXBGBS + Frames: 345,346 Size: 2,1 Category: Rock-Detail PickAny: False @@ -3397,7 +3744,8 @@ Templates: 1: Rock Template@347: Id: 347 - Image: BGBS08 + Image: BLOXBGBS + Frames: 365,366,367,368,385,386,387,388 Size: 4,2 Category: Rock-Detail PickAny: False @@ -3412,7 +3760,8 @@ Templates: 1: Cliff Template@348: Id: 348 - Image: BGBS09 + Image: BLOXBGBS + Frames: 414,415,434,435 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3423,7 +3772,8 @@ Templates: 1: Rock Template@349: Id: 349 - Image: BGBS10 + Image: BLOXBGBS + Frames: 607,608,609,627,628,629 Size: 3,2 Category: Sand-Detail PickAny: False @@ -3436,7 +3786,8 @@ Templates: 1: Sand Template@350: Id: 350 - Image: BGBS11 + Image: BLOXBGBS + Frames: 610 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3444,7 +3795,8 @@ Templates: 0: Sand Template@351: Id: 351 - Image: BGBS12 + Image: BLOXBGBS + Frames: 652,653,672,673 Size: 2,2 Category: Rock-Detail PickAny: False @@ -3455,7 +3807,8 @@ Templates: 1: Rough Template@352: Id: 352 - Image: BGBS13 + Image: BLOXBGBS + Frames: 700 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3463,7 +3816,8 @@ Templates: 0: Sand Template@353: Id: 353 - Image: BGBS14 + Image: BLOXBGBS + Frames: 720 Size: 1,1 Category: Sand-Detail PickAny: False @@ -3471,7 +3825,8 @@ Templates: 0: Sand Template@354: Id: 354 - Image: BGBS15 + Image: BLOXBGBS + Frames: 701,702,703,721,722,723,741,742,743 Size: 3,3 Category: Sand-Detail PickAny: False @@ -3487,7 +3842,8 @@ Templates: 1: Rough Template@355: Id: 355 - Image: BGBS16 + Image: BLOXBGBS + Frames: 724,725,744,745 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3498,7 +3854,8 @@ Templates: 1: Rough Template@356: Id: 356 - Image: BGBS17 + Image: BLOXBGBS + Frames: 726,727,746,747 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3509,7 +3866,8 @@ Templates: 1: Rough Template@357: Id: 357 - Image: BGBS18 + Image: BLOXBGBS + Frames: 734,735 Size: 2,1 Category: Sand-Detail PickAny: False @@ -3518,7 +3876,8 @@ Templates: 1: Rough Template@358: Id: 358 - Image: BGBS19 + Image: BLOXBGBS + Frames: 716,717,736,737 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3529,7 +3888,8 @@ Templates: 1: Rough Template@359: Id: 359 - Image: BGBS20 + Image: BLOXBGBS + Frames: 718,719,738,739 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3540,7 +3900,8 @@ Templates: 1: Sand Template@360: Id: 360 - Image: BGBS21 + Image: BLOXBGBS + Frames: 758,759 Size: 2,1 Category: Sand-Detail PickAny: False @@ -3549,7 +3910,8 @@ Templates: 0: Rough Template@361: Id: 361 - Image: ICE00 + Image: BLOXICE + Frames: 1,2,3,4 Size: 4,1 Category: Sand-Detail PickAny: False @@ -3560,7 +3922,8 @@ Templates: 3: Cliff Template@362: Id: 362 - Image: ICE01 + Image: BLOXICE + Frames: 5,6,7 Size: 3,1 Category: Sand-Detail PickAny: False @@ -3570,7 +3933,8 @@ Templates: 2: Sand Template@363: Id: 363 - Image: ICE02 + Image: BLOXICE + Frames: 97,117 Size: 1,2 Category: Ice PickAny: False @@ -3579,7 +3943,8 @@ Templates: 1: Cliff Template@364: Id: 364 - Image: ICE03 + Image: BLOXICE + Frames: 164,165,184,185 Size: 2,2 Category: Rock-Detail(Cliff) PickAny: False @@ -3590,7 +3955,8 @@ Templates: 1: Cliff Template@365: Id: 365 - Image: ICE04 + Image: BLOXICE + Frames: 289,290 Size: 2,1 Category: Ice-Detail PickAny: False @@ -3599,7 +3965,8 @@ Templates: 1: Sand Template@366: Id: 366 - Image: ICE05 + Image: BLOXICE + Frames: 309,310,311,312 Size: 4,1 Category: Ice-Detail PickAny: False @@ -3610,7 +3977,8 @@ Templates: 3: Sand Template@367: Id: 367 - Image: ICE06 + Image: BLOXICE + Frames: 322 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3618,7 +3986,8 @@ Templates: 0: Sand Template@368: Id: 368 - Image: ICE07 + Image: BLOXICE + Frames: 325 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3626,7 +3995,8 @@ Templates: 0: Sand Template@369: Id: 369 - Image: ICE08 + Image: BLOXICE + Frames: 305 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3634,7 +4004,8 @@ Templates: 0: Sand Template@370: Id: 370 - Image: ICE09 + Image: BLOXICE + Frames: 297 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3642,7 +4013,8 @@ Templates: 0: Sand Template@371: Id: 371 - Image: ICE10 + Image: BLOXICE + Frames: 375,395,415,435 Size: 1,4 Category: Ice-Detail PickAny: False @@ -3653,7 +4025,8 @@ Templates: 3: Sand Template@372: Id: 372 - Image: ICE11 + Image: BLOXICE + Frames: 414,434 Size: 1,2 Category: Ice-Detail PickAny: False @@ -3662,7 +4035,8 @@ Templates: 1: Sand Template@373: Id: 373 - Image: ICE12 + Image: BLOXICE + Frames: 340,341,342,343,344,345,360,361,362,363,364,365,380,381,382,383,384,385 Size: 6,3 Category: Ice-Detail PickAny: False @@ -3687,7 +4061,8 @@ Templates: 7: Sand Template@374: Id: 374 - Image: ICE13 + Image: BLOXICE + Frames: 366,367,368,386,387,388 Size: 3,2 Category: Ice-Detail PickAny: False @@ -3700,7 +4075,8 @@ Templates: 1: Sand Template@375: Id: 375 - Image: ICE14 + Image: BLOXICE + Frames: 346 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3708,7 +4084,8 @@ Templates: 0: Sand Template@376: Id: 376 - Image: ICE15 + Image: BLOXICE + Frames: 349,350,351,352,369,370,371,372,389,390,391,392 Size: 4,3 Category: Ice PickAny: False @@ -3727,7 +4104,8 @@ Templates: 6: Cliff Template@377: Id: 377 - Image: ICE16 + Image: BLOXICE + Frames: 355,356,357,358 Size: 4,1 Category: Ice-Detail PickAny: False @@ -3738,7 +4116,8 @@ Templates: 3: Sand Template@378: Id: 378 - Image: ICE17 + Image: BLOXICE + Frames: 353,354,373,374,393,394 Size: 2,3 Category: Ice-Detail PickAny: False @@ -3751,7 +4130,8 @@ Templates: 1: Sand Template@379: Id: 379 - Image: ICE18 + Image: BLOXICE + Frames: 462 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3759,7 +4139,8 @@ Templates: 0: Sand Template@380: Id: 380 - Image: ICE19 + Image: BLOXICE + Frames: 463 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3767,7 +4148,8 @@ Templates: 0: Sand Template@381: Id: 381 - Image: ICE20 + Image: BLOXICE + Frames: 551 Size: 1,1 Category: Z-Crap(Unusual) PickAny: False @@ -3775,7 +4157,8 @@ Templates: 0: Sand Template@382: Id: 382 - Image: ICE21 + Image: BLOXICE + Frames: 579,599,619,639 Size: 1,4 Category: Z-Crap(Unusual) PickAny: False @@ -3786,7 +4169,8 @@ Templates: 3: Cliff Template@383: Id: 383 - Image: ICE22 + Image: BLOXICE + Frames: 539,559 Size: 1,2 Category: Z-Crap(Unusual) PickAny: False @@ -3795,7 +4179,8 @@ Templates: 0: Cliff Template@384: Id: 384 - Image: ICE23 + Image: BLOXICE + Frames: 557,558,577,578,597,598 Size: 2,3 Category: Sand-Detail PickAny: False @@ -3808,7 +4193,8 @@ Templates: 0: Rough Template@385: Id: 385 - Image: ICE24 + Image: BLOXICE + Frames: 607,608,627,628 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3819,7 +4205,8 @@ Templates: 1: Rough Template@386: Id: 386 - Image: ICE25 + Image: BLOXICE + Frames: 609,610,629,630 Size: 2,2 Category: Sand-Detail PickAny: False @@ -3830,7 +4217,8 @@ Templates: 1: Sand Template@387: Id: 387 - Image: ICE26 + Image: BLOXICE + Frames: 700,701,720,721,740,741 Size: 2,3 Category: Ice PickAny: False @@ -3843,7 +4231,8 @@ Templates: 1: Cliff Template@388: Id: 388 - Image: ICE27 + Image: BLOXICE + Frames: 702,703,722,723 Size: 2,2 Category: Ice PickAny: False @@ -3854,7 +4243,8 @@ Templates: 1: Cliff Template@389: Id: 389 - Image: ICE28 + Image: BLOXICE + Frames: 742 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3862,7 +4252,8 @@ Templates: 0: Sand Template@390: Id: 390 - Image: ICE29 + Image: BLOXICE + Frames: 743 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3870,7 +4261,8 @@ Templates: 0: Sand Template@391: Id: 391 - Image: ICE30 + Image: BLOXICE + Frames: 744 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3878,7 +4270,8 @@ Templates: 0: Sand Template@392: Id: 392 - Image: ICE31 + Image: BLOXICE + Frames: 745 Size: 1,1 Category: Ice-Detail PickAny: False @@ -3886,7 +4279,8 @@ Templates: 0: Sand Template@393: Id: 393 - Image: ICE32 + Image: BLOXICE + Frames: 704,705,724,725 Size: 2,2 Category: Ice PickAny: False @@ -3897,7 +4291,8 @@ Templates: 0: Cliff Template@394: Id: 394 - Image: ICE33 + Image: BLOXICE + Frames: 706,707,726,727,746,747 Size: 2,3 Category: Ice PickAny: False @@ -3910,7 +4305,8 @@ Templates: 1: Ice Template@395: Id: 395 - Image: ICE34 + Image: BLOXICE + Frames: 708,709,728,729 Size: 2,2 Category: Ice PickAny: False @@ -3921,7 +4317,8 @@ Templates: 1: Cliff Template@396: Id: 396 - Image: ICE35 + Image: BLOXICE + Frames: 710,711,730,731 Size: 2,2 Category: Ice PickAny: False @@ -3932,7 +4329,8 @@ Templates: 1: Ice Template@397: Id: 397 - Image: ICE36 + Image: BLOXICE + Frames: 712,713,732,733 Size: 2,2 Category: Ice PickAny: False @@ -3943,7 +4341,8 @@ Templates: 1: Cliff Template@398: Id: 398 - Image: ICE37 + Image: BLOXICE + Frames: 714,715,734,735 Size: 2,2 Category: Ice PickAny: False @@ -3954,7 +4353,8 @@ Templates: 1: Ice Template@399: Id: 399 - Image: ICE38 + Image: BLOXICE + Frames: 716,717 Size: 2,1 Category: Ice-Detail PickAny: False @@ -3963,7 +4363,8 @@ Templates: 1: Sand Template@400: Id: 400 - Image: ICE39 + Image: BLOXICE + Frames: 736,737 Size: 2,1 Category: Ice-Detail PickAny: False @@ -3972,7 +4373,8 @@ Templates: 0: Sand Template@401: Id: 401 - Image: ICE40 + Image: BLOXICE + Frames: 718,719,738,739,758,759 Size: 2,3 Category: Rock-Detail(Cliff) PickAny: False @@ -3985,7 +4387,8 @@ Templates: 1: Sand Template@402: Id: 402 - Image: ICE41 + Image: BLOXICE + Frames: 660,661,662 Size: 3,1 Category: Z-Crap(Unusual) PickAny: False @@ -3995,7 +4398,8 @@ Templates: 2: Rough Template@403: Id: 403 - Image: ICE42 + Image: BLOXICE + Frames: 680,681 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4004,7 +4408,8 @@ Templates: 1: Rough Template@404: Id: 404 - Image: ICE43 + Image: BLOXICE + Frames: 682,683 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4013,7 +4418,8 @@ Templates: 1: Rough Template@405: Id: 405 - Image: ICE44 + Image: BLOXICE + Frames: 684,685 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4022,7 +4428,8 @@ Templates: 1: Rough Template@406: Id: 406 - Image: ICE45 + Image: BLOXICE + Frames: 652,653 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4031,7 +4438,8 @@ Templates: 1: Rough Template@407: Id: 407 - Image: ICE46 + Image: BLOXICE + Frames: 672,673 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4040,7 +4448,8 @@ Templates: 0: Rough Template@408: Id: 408 - Image: TREE00 + Image: BLOXTREE + Frames: 6 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4048,7 +4457,8 @@ Templates: 0: Rough Template@409: Id: 409 - Image: TREE01 + Image: BLOXTREE + Frames: 7 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4056,14 +4466,16 @@ Templates: 0: Rough Template@410: Id: 410 - Image: TREE02 + Image: BLOXTREE + Frames: 67 Size: 1,1 PickAny: False Tiles: 0: Rock Template@411: Id: 411 - Image: TREE03 + Image: BLOXTREE + Frames: 97,117 Size: 1,2 Category: Sand-Detail PickAny: False @@ -4072,7 +4484,8 @@ Templates: 1: Cliff Template@412: Id: 412 - Image: TREE04 + Image: BLOXTREE + Frames: 340,341,360,361 Size: 2,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -4083,7 +4496,8 @@ Templates: 1: Rough Template@413: Id: 413 - Image: TREE05 + Image: BLOXTREE + Frames: 342,343,344,362,363,364 Size: 3,2 Category: Sand-Detail(Rotten Base) PickAny: False @@ -4096,7 +4510,8 @@ Templates: 1: Rough Template@414: Id: 414 - Image: TREE06 + Image: BLOXTREE + Frames: 1,2,3,4,5 Size: 5,1 Category: Rock-Detail PickAny: False @@ -4108,7 +4523,8 @@ Templates: 4: Rock Template@415: Id: 415 - Image: TREE07 + Image: BLOXTREE + Frames: 305,325 Size: 1,2 Category: Sand-Detail PickAny: False @@ -4117,7 +4533,8 @@ Templates: 1: Sand Template@416: Id: 416 - Image: TREE08 + Image: BLOXTREE + Frames: 289,290,309,310 Size: 2,2 Category: Sand-Detail PickAny: False @@ -4128,7 +4545,8 @@ Templates: 1: Sand Template@417: Id: 417 - Image: TREE09 + Image: BLOXTREE + Frames: 311,312 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4137,7 +4555,8 @@ Templates: 1: Transition Template@418: Id: 418 - Image: TREE10 + Image: BLOXTREE + Frames: 316 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4145,7 +4564,8 @@ Templates: 0: Rock Template@419: Id: 419 - Image: TREE11 + Image: BLOXTREE + Frames: 297 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4153,7 +4573,8 @@ Templates: 0: Rock Template@420: Id: 420 - Image: TREE12 + Image: BLOXTREE + Frames: 319 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4161,7 +4582,8 @@ Templates: 0: Rock Template@421: Id: 421 - Image: TREE13 + Image: BLOXTREE + Frames: 338,339,358,359 Size: 2,2 Category: Rock-Detail PickAny: False @@ -4172,7 +4594,8 @@ Templates: 1: Sand Template@422: Id: 422 - Image: TREE14 + Image: BLOXTREE + Frames: 374,375,394,395 Size: 2,2 Category: Rock-Detail PickAny: False @@ -4183,7 +4606,8 @@ Templates: 1: Rock Template@423: Id: 423 - Image: TREE15 + Image: BLOXTREE + Frames: 414,415,434,435 Size: 2,2 Category: Rock-Detail PickAny: False @@ -4194,7 +4618,8 @@ Templates: 1: Rock Template@424: Id: 424 - Image: TREE16 + Image: BLOXTREE + Frames: 349,350,351,352,353,354 Size: 6,1 Category: Rock-Detail PickAny: False @@ -4207,7 +4632,8 @@ Templates: 5: Rock Template@425: Id: 425 - Image: TREE17 + Image: BLOXTREE + Frames: 355,356,357 Size: 3,1 Category: Rock-Detail PickAny: False @@ -4217,7 +4643,8 @@ Templates: 2: Rock Template@426: Id: 426 - Image: TREE18 + Image: BLOXTREE + Frames: 462,463 Size: 2,1 Category: Rock-Detail PickAny: False @@ -4226,7 +4653,8 @@ Templates: 0: Rock Template@427: Id: 427 - Image: TREE19 + Image: BLOXTREE + Frames: 538,539,558,559 Size: 2,2 Category: SandyCliff PickAny: False @@ -4237,7 +4665,8 @@ Templates: 1: Cliff Template@428: Id: 428 - Image: TREE20 + Image: BLOXTREE + Frames: 578,579,598,599 Size: 2,2 Category: Sand-Detail PickAny: False @@ -4248,7 +4677,8 @@ Templates: 1: Transition Template@429: Id: 429 - Image: TREE21 + Image: BLOXTREE + Frames: 700,701,702,720,721,722,740,741,742 Size: 3,3 Category: Sand-Detail PickAny: False @@ -4264,7 +4694,8 @@ Templates: 4: Rough Template@430: Id: 430 - Image: TREE22 + Image: BLOXTREE + Frames: 747 Size: 1,1 Category: Z-Crap(Unusual) PickAny: False @@ -4272,7 +4703,8 @@ Templates: 0: Rough Template@431: Id: 431 - Image: TREE23 + Image: BLOXTREE + Frames: 707,708,727,728 Size: 2,2 Category: Sand-Detail PickAny: False @@ -4283,7 +4715,8 @@ Templates: 1: Rough Template@432: Id: 432 - Image: TREE24 + Image: BLOXTREE + Frames: 709 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4291,7 +4724,8 @@ Templates: 0: Sand Template@433: Id: 433 - Image: TREE25 + Image: BLOXTREE + Frames: 729 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4299,7 +4733,8 @@ Templates: 0: Rough Template@434: Id: 434 - Image: TREE26 + Image: BLOXTREE + Frames: 730,731 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4308,7 +4743,8 @@ Templates: 0: Rough Template@435: Id: 435 - Image: TREE27 + Image: BLOXTREE + Frames: 710,711,712 Size: 3,1 Category: Sand-Detail PickAny: False @@ -4318,7 +4754,8 @@ Templates: 2: Rough Template@436: Id: 436 - Image: TREE28 + Image: BLOXTREE + Frames: 718,719,738,739,758,759 Size: 2,3 Category: Sand-Detail PickAny: False @@ -4331,14 +4768,16 @@ Templates: 1: Rough Template@437: Id: 437 - Image: TREE29 + Image: BLOXTREE + Frames: 732 Size: 1,1 PickAny: False Tiles: 0: Rock Template@438: Id: 438 - Image: TREE30 + Image: BLOXTREE + Frames: 713,714,733,734 Size: 2,2 Category: Rock-Detail PickAny: False @@ -4349,7 +4788,8 @@ Templates: 1: Rock Template@439: Id: 439 - Image: TREE31 + Image: BLOXTREE + Frames: 715,716,717,735,736,737 Size: 3,2 Category: Rock-Detail PickAny: False @@ -4362,7 +4802,8 @@ Templates: 5: Rock Template@440: Id: 440 - Image: TREE32 + Image: BLOXTREE + Frames: 652,653,672,673 Size: 2,2 Category: Rock-Detail PickAny: False @@ -4373,7 +4814,8 @@ Templates: 1: Rock Template@441: Id: 441 - Image: TREE33 + Image: BLOXTREE + Frames: 610 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4381,7 +4823,8 @@ Templates: 0: Rock Template@442: Id: 442 - Image: TREE34 + Image: BLOXTREE + Frames: 630 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4389,7 +4832,8 @@ Templates: 0: Rock Template@443: Id: 443 - Image: TREE35 + Image: BLOXTREE + Frames: 607,608,609,627,628,629 Size: 3,2 Category: Rock-Detail(Cliff) PickAny: False @@ -4402,7 +4846,8 @@ Templates: 4: Cliff Template@444: Id: 444 - Image: TREE36 + Image: BLOXTREE + Frames: 551 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4410,7 +4855,8 @@ Templates: 0: Rock Template@445: Id: 445 - Image: WAST00 + Image: BLOXWAST + Frames: 700,701,702,703,704,705,720,721,722,723,724,725,740,741,742,743,744,745 Size: 6,3 Category: Sand-Detail PickAny: False @@ -4435,7 +4881,8 @@ Templates: 10: Sand Template@446: Id: 446 - Image: WAST01 + Image: BLOXWAST + Frames: 683,684,685 Size: 3,1 Category: Sand-Detail PickAny: False @@ -4445,7 +4892,8 @@ Templates: 2: Dune Template@447: Id: 447 - Image: WAST02 + Image: BLOXWAST + Frames: 746,747 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4454,7 +4902,8 @@ Templates: 1: Dune Template@448: Id: 448 - Image: WAST03 + Image: BLOXWAST + Frames: 708,709,728,729 Size: 2,2 Category: Sand-Detail PickAny: False @@ -4465,7 +4914,8 @@ Templates: 0: Dune Template@449: Id: 449 - Image: WAST04 + Image: BLOXWAST + Frames: 710,711 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4474,7 +4924,8 @@ Templates: 1: Dune Template@450: Id: 450 - Image: WAST05 + Image: BLOXWAST + Frames: 730,731 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4483,7 +4934,8 @@ Templates: 0: Sand Template@451: Id: 451 - Image: WAST06 + Image: BLOXWAST + Frames: 712 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4491,7 +4943,8 @@ Templates: 0: Sand Template@452: Id: 452 - Image: WAST07 + Image: BLOXWAST + Frames: 732 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4499,7 +4952,8 @@ Templates: 0: Sand Template@453: Id: 453 - Image: WAST08 + Image: BLOXWAST + Frames: 713,733 Size: 1,2 Category: Sand-Detail PickAny: False @@ -4508,7 +4962,8 @@ Templates: 1: Dune Template@454: Id: 454 - Image: WAST09 + Image: BLOXWAST + Frames: 734,735 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4517,7 +4972,8 @@ Templates: 1: Sand Template@455: Id: 455 - Image: WAST10 + Image: BLOXWAST + Frames: 714,715 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4526,7 +4982,8 @@ Templates: 1: Sand Template@456: Id: 456 - Image: WAST11 + Image: BLOXWAST + Frames: 716,717,718,736,737,738 Size: 3,2 Category: Sand-Detail PickAny: False @@ -4539,7 +4996,8 @@ Templates: 5: Sand Template@457: Id: 457 - Image: WAST12 + Image: BLOXWAST + Frames: 739 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4547,7 +5005,8 @@ Templates: 0: Sand Template@458: Id: 458 - Image: WAST13 + Image: BLOXWAST + Frames: 758,759 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4556,7 +5015,8 @@ Templates: 0: Sand Template@459: Id: 459 - Image: WAST14 + Image: BLOXWAST + Frames: 652,653,672,673 Size: 2,2 Category: Sand-Detail PickAny: False @@ -4567,7 +5027,8 @@ Templates: 1: Sand Template@460: Id: 460 - Image: WAST15 + Image: BLOXWAST + Frames: 345,346,365,366 Size: 2,2 Category: Dead-Wurm PickAny: False @@ -4578,7 +5039,8 @@ Templates: 1: Rough Template@461: Id: 461 - Image: WAST16 + Image: BLOXWAST + Frames: 373,374,375 Size: 3,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -4588,7 +5050,8 @@ Templates: 2: Rough Template@462: Id: 462 - Image: WAST17 + Image: BLOXWAST + Frames: 355,356,357,358,359 Size: 5,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -4600,7 +5063,8 @@ Templates: 4: Rough Template@463: Id: 463 - Image: WAST18 + Image: BLOXWAST + Frames: 338,339 Size: 2,1 Category: Sand-Detail(Rotten Base) PickAny: False @@ -4609,7 +5073,8 @@ Templates: 1: Rough Template@464: Id: 464 - Image: WAST19 + Image: BLOXWAST + Frames: 97,117 Size: 1,2 Category: Dead-Wurm PickAny: False @@ -4618,7 +5083,8 @@ Templates: 1: Cliff Template@465: Id: 465 - Image: WAST20 + Image: BLOXWAST + Frames: 67 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4626,7 +5092,8 @@ Templates: 0: Sand Template@466: Id: 466 - Image: WAST21 + Image: BLOXWAST + Frames: 1 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4634,7 +5101,8 @@ Templates: 0: Sand Template@467: Id: 467 - Image: WAST22 + Image: BLOXWAST + Frames: 2,3 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4643,7 +5111,8 @@ Templates: 1: Sand Template@468: Id: 468 - Image: WAST23 + Image: BLOXWAST + Frames: 4 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4651,7 +5120,8 @@ Templates: 0: Cliff Template@469: Id: 469 - Image: WAST24 + Image: BLOXWAST + Frames: 5 Size: 1,1 Category: Sand-Detail PickAny: False @@ -4659,7 +5129,8 @@ Templates: 0: Cliff Template@470: Id: 470 - Image: WAST25 + Image: BLOXWAST + Frames: 6,7 Size: 2,1 Category: Sand-Detail PickAny: False @@ -4668,7 +5139,8 @@ Templates: 1: Cliff Template@471: Id: 471 - Image: WAST26 + Image: BLOXWAST + Frames: 312 Size: 1,1 Category: Dead-Wurm PickAny: False @@ -4676,7 +5148,8 @@ Templates: 0: Sand Template@472: Id: 472 - Image: WAST27 + Image: BLOXWAST + Frames: 310,311 Size: 2,1 Category: Dead-Wurm PickAny: False @@ -4685,7 +5158,8 @@ Templates: 0: Sand Template@473: Id: 473 - Image: WAST28 + Image: BLOXWAST + Frames: 309 Size: 1,1 Category: Dead-Wurm PickAny: False @@ -4693,7 +5167,8 @@ Templates: 0: Sand Template@474: Id: 474 - Image: WAST29 + Image: BLOXWAST + Frames: 349,350,351,352,369,370,371,372,389,390,391,392 Size: 4,3 Category: Sand-Detail PickAny: False @@ -4712,7 +5187,8 @@ Templates: 6: Cliff Template@475: Id: 475 - Image: WAST30 + Image: BLOXWAST + Frames: 706,707,726,727 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -4723,7 +5199,8 @@ Templates: 1: Cliff Template@476: Id: 476 - Image: WAST31 + Image: BLOXWAST + Frames: 557,558,559,577,578,579 Size: 3,2 Category: BaseBorder-Cliff PickAny: False @@ -4736,7 +5213,8 @@ Templates: 5: Transition Template@477: Id: 477 - Image: WAST32 + Image: BLOXWAST + Frames: 619,639 Size: 1,2 Category: Sand-Detail PickAny: False @@ -4745,7 +5223,8 @@ Templates: 1: Rough Template@478: Id: 478 - Image: WAST33 + Image: BLOXWAST + Frames: 305 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4753,7 +5232,8 @@ Templates: 0: Rough Template@479: Id: 479 - Image: WAST34 + Image: BLOXWAST + Frames: 325 Size: 1,1 Category: Rock-Detail PickAny: False @@ -4761,7 +5241,8 @@ Templates: 0: Rough Template@480: Id: 480 - Image: WAST35 + Image: BLOXWAST + Frames: 385,386,387,388 Size: 4,1 Category: Sand-Detail PickAny: False @@ -4772,7 +5253,8 @@ Templates: 3: Rough Template@481: Id: 481 - Image: WAST36 + Image: BLOXWAST + Frames: 414,415,434,435 Size: 2,2 Category: BaseBorder-Cliff PickAny: False @@ -4783,7 +5265,8 @@ Templates: 1: Cliff Template@482: Id: 482 - Image: WAST37 + Image: BLOXWAST + Frames: 538,539 Size: 2,1 Category: Sand-Detail PickAny: False diff --git a/mods/d2k/weapons.yaml b/mods/d2k/weapons.yaml index bb480fd96c..4abfddd4fb 100644 --- a/mods/d2k/weapons.yaml +++ b/mods/d2k/weapons.yaml @@ -10,7 +10,7 @@ LMG: ContrailUsePlayerColor: true Warhead: Spread: 3 - Versus: + Versus: Wood: 25% Light: 40% Heavy: 10% @@ -36,13 +36,13 @@ Bazooka: RangeLimit: 35 Warhead: Spread: 3 - Versus: + Versus: None: 10% Wood: 75% Light: 60% Heavy: 90% Concrete: 40% - Explosion: small_artillery + Explosion: small_explosion InfDeath: 4 SmudgeType: SandCrater, RockCrater Damage: 50 @@ -61,7 +61,7 @@ Sniper: Warhead: Damage: 60 Spread: 1 - Versus: + Versus: None: 100% Wood: 0% Light: 1% @@ -82,7 +82,7 @@ Vulcan: ContrailUsePlayerColor: true Warhead: Spread: 3 - Versus: + Versus: Wood: 0% Light: 60% Heavy: 10% @@ -107,7 +107,7 @@ Slung: Image: MISSILE Warhead: Spread: 6 - Versus: + Versus: None: 0% Wood: 75% Light: 40% @@ -133,7 +133,7 @@ HMG: ContrailUsePlayerColor: true Warhead: Spread: 3 - Versus: + Versus: Wood: 15% Light: 45% Heavy: 20% @@ -156,7 +156,7 @@ HMGo: ContrailUsePlayerColor: true Warhead: Spread: 3 - Versus: + Versus: Wood: 15% Light: 45% Heavy: 25% @@ -183,7 +183,7 @@ QuadRockets: RangeLimit: 40 Warhead: Spread: 3 - Versus: + Versus: None: 35% Wood: 45% Light: 100% @@ -203,11 +203,10 @@ TurretGun: Speed: 55 High: yes Shadow: yes - Image: 90MM Inaccuracy: 9 Warhead: Spread: 8 - Versus: + Versus: None: 50% Wood: 75% Light: 100% @@ -258,10 +257,9 @@ TowerMissile: Projectile: Bullet Speed: 50 Inaccuracy: 12 - Image: 90MM Warhead: Spread: 8 - Versus: + Versus: None: 50% Wood: 50% Light: 100% @@ -279,10 +277,9 @@ TowerMissile: Projectile: Bullet Speed: 55 Inaccuracy: 11 - Image: 90MM Warhead: Spread: 8 - Versus: + Versus: None: 50% Wood: 50% Light: 100% @@ -302,7 +299,7 @@ DevBullet: Image: doubleblast Warhead: Spread: 8 - Versus: + Versus: None: 100% Wood: 50% Light: 100% @@ -313,7 +310,7 @@ DevBullet: SmudgeType: SandCrater, RockCrater Damage: 100 -227mm: +227mm: ROF: 100 Range: 10 MinRange: 4 @@ -333,7 +330,7 @@ DevBullet: ContrailLength: 5 Warhead: Spread: 12 - Versus: + Versus: None: 20% Wood: 50% Light: 100% @@ -361,7 +358,7 @@ FakeMissile: ContrailUsePlayerColor : True Warhead: Spread: 3 - Versus: + Versus: None: 0% Wood: 0% Concrete: 0% @@ -384,7 +381,7 @@ FakeMissile: ContrailLength: 20 Warhead: Spread: 12 - Versus: + Versus: None: 100% Wood: 80% Light: 75% @@ -408,7 +405,7 @@ Sound: UsePlayerColor: true Warhead: Spread: 1 - Versus: + Versus: None: 60% Wood: 85% Light: 80% @@ -426,7 +423,7 @@ ChainGun: High: true Warhead: Spread: 3 - Versus: + Versus: Wood: 50% Light: 60% Heavy: 25% @@ -443,7 +440,7 @@ Heal: Speed: 100 Warhead: Spread: 5 - Versus: + Versus: Wood: 0% Light: 0% Heavy: 0% @@ -457,7 +454,7 @@ WormJaw: Report: WORM.WAV Warhead: Spread: 5 - Versus: + Versus: Wood: 0% Concrete: 0% Damage: 100 @@ -470,7 +467,7 @@ ParaBomb: Image: BOMBS Warhead: Spread: 6 - Versus: + Versus: None: 30% Wood: 75% Light: 75% @@ -487,14 +484,117 @@ Napalm: Image: BOMBS Warhead: Spread: 20 - Versus: + Versus: None: 20% Wood: 100% Light: 30% Heavy: 20% Concrete: 70% InfDeath: 4 - Explosion: napalm + Explosion: small_artillery ImpactSound: NAPALM1.WAV SmudgeType: Crater Damage: 300 + +Crush: + Warhead: + ImpactSound: CRUSH1.WAV + Damage: 100 + +Demolish: + Warhead: + ImpactSound: EXPLLG2.WAV + Explosion: building + +Atomic: + Warhead: + Damage: 1800 + Spread: 64 + Versus: + None: 100% + Wood: 100% + Light: 100% + Heavy: 50% + Concrete: 50% + Explosion: nuke + InfDeath: 5 + ImpactSound: EXPLLG2.WAV + +CrateNuke: + Warhead: + Damage: 800 + Spread: 50 + Versus: + None: 20% + Wood: 75% + Light: 25% + Heavy: 25% + Concrete: 50% + Explosion: nuke + InfDeath: 5 + ImpactSound: EXPLLG2.WAV + +CrateExplosion: + Warhead: + Damage: 400 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: building + InfDeath: 4 + ImpactSound: EXPLSML4.WAV + +UnitExplode: + Warhead: + Damage: 500 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: building + InfDeath: 4 + ImpactSound: EXPLMD1.WAV + +UnitExplodeSmall: + Warhead: + Damage: 60 + Spread: 10 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: self_destruct + InfDeath: 4 + ImpactSound: EXPLHG1.WAV, EXPLLG1.WAV, EXPLMD1.WAV, EXPLSML4.WAV + +UnitExplodeTiny: + Warhead: + Damage: 30 + Spread: 7 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: med_explosion + InfDeath: 4 + ImpactSound: EXPLMD2.WAV, EXPLSML1.WAV, EXPLSML2.WAV, EXPLSML3.WAV + +UnitExplodeScale: + Warhead: + Damage: 90 + Spread: 13 + Versus: + None: 90% + Wood: 75% + Light: 60% + Heavy: 25% + Explosion: building + InfDeath: 4 + ImpactSound: EXPLLG2.WAV, EXPLLG3.WAV, EXPLLG5.WAV \ No newline at end of file diff --git a/mods/d2k/weapons/defaults.yaml b/mods/d2k/weapons/defaults.yaml deleted file mode 100644 index 6ab421e003..0000000000 --- a/mods/d2k/weapons/defaults.yaml +++ /dev/null @@ -1,188 +0,0 @@ -# to do: explosion animations, spreads - - - -### Warheads - -W_Bullets: # Machine Guns - Report: MGUN2.WAV #machine gun burst sound - Warhead: - Spread: 3 - Versus: - None: 100% - Wood: 75% - Light: 40% - Heavy: 20% - Concrete: 10% - Explosion: piffs - InfDeath: 2 - -W_Bazooka: - Warhead: - Spread: 3 - Versus: - None: 8% - Wood: 45% - Light: 70% - Heavy: 100% - Concrete: 75% - InfDeath: 4 - Explosion: med_explosion - WaterExplosion: med_splash - ImpactSound: kaboom12.aud # TODO: fallback to RA - -W_HE: # Grenadier, siege tank - Warhead: - Spread: 12 - Versus: - None: 125% - Wood: 70% - Light: 30% - Heavy: 20% - Concrete: 100% - # vvv below taken from 155mm - InfDeath: 3 - Explosion: self_destruct - WaterExplosion: large_splash - ImpactSound: explsml2 - SmudgeType: SandCrater, RockCrater - -W_GT_AT: # Sardaukar & Fremen's longer range weapons - Warhead: - Spread: 3 - Versus: - None: 25% - Wood: 65% - Light: 100% - Heavy: 50% - Concrete: 100% - InfDeath: 4 - Explosion: med_explosion - WaterExplosion: med_splash - ImpactSound: kaboom12.aud # TODO: fallback to RA - SmudgeType: SandCrater, RockCrater - -W_AT: # Tank shells, gun turret - Warhead: - Spread: 3 - Versus: - None: 20% - Wood: 60% - Light: 100% - Heavy: 75% - Concrete: 50% - Explosion: med_explosion - ImpactSound: kaboom30.aud # TODO: fallback to RA - InfDeath: 4 - SmudgeType: SandCrater, RockCrater - -W_AT_Mis: # Rocket Launcher, tower missile - Warhead: - Spread: 8 - Versus: - None: 15% - Wood: 65% - Light: 90% - Heavy: 100% - Concrete: 75% - InfDeath: 4 - Explosion: large_explosion - WaterExplosion: med_splash - ImpactSound: explsml1.wav - SmudgeType: SandCrater, RockCrater - -W_Deviate: - Warhead: - Spread: 8 - Versus: - None: 20% - Wood: 20% - Light: 20% - Heavy: 20% - Concrete: 20% - Explosion: med_explosion - WaterExplosion: med_splash - -W_Sonic: - Warhead: - Spread: 6 - Versus: - None: 100% - Wood: 100% - Light: 100% - Heavy: 60% - Concrete: 50% - Explosion: med_explosion - WaterExplosion: med_splash - -W_Plasma: - Warhead: - Spread: 3 - Versus: - None: 100% - Wood: 100% - Light: 60% - Heavy: 50% - Concrete: 100% - Explosion: med_explosion - WaterExplosion: med_splash - - - - -### Projectiles - -P_Bullets: #from M60mg - Projectile: Bullet - Speed: 100 - ContrailLength: 3 - TrailInterval: 1 - ContrailDelay: 0 - ContrailUsePlayerColor: true - -P_OneShot: #from Sniper - Report: RIFLE.AUD # TODO: fallback to RA - Projectile: Bullet - Speed: 150 - ContrailLength: 6 - TrailInterval: 1 - ContrailDelay: 0 - ContrailUsePlayerColor: true - -P_Bazooka: #From bazooka/1st (dragon?) - Projectile: Missile - Speed: 25 - Arm: 2 - High: true - Shadow: yes - Proximity: true - Trail: smokey - Inaccuracy: 3 - Image: DRAGON - ROT: 5 - RangeLimit: 35 - -P_Rocket: #From QuadRockets - Projectile: Missile - Arm: 0 - High: yes - Shadow: yes - Proximity: yes - Inaccuracy: 3 - Image: DRAGON - ROT: 10 - Trail: smokey - Speed: 40 - RangeLimit: 40 - -P_Missile: #From 227mm - Projectile: Bullet - Speed: 20 - Arm: 5 - High: yes - Shadow: yes - Inaccuracy: 55 - Angle: 0.2 - Image: MISSILE - ROT: 5 - ContrailLength: 5 \ No newline at end of file diff --git a/mods/d2k/weapons/explosions.yaml b/mods/d2k/weapons/explosions.yaml deleted file mode 100644 index 3d29ef49f7..0000000000 --- a/mods/d2k/weapons/explosions.yaml +++ /dev/null @@ -1,105 +0,0 @@ -Crush: - Warhead: - ImpactSound: CRUSH1.WAV - Damage: 100 - -Demolish: - Warhead: - ImpactSound: EXPLLG2.WAV - Explosion: building - -Atomic: - Warhead: - Damage: 1800 - Spread: 64 - Versus: - None: 100% - Wood: 100% - Light: 100% - Heavy: 50% - Concrete: 50% - Explosion: nuke - InfDeath: 5 - ImpactSound: EXPLLG2.WAV - -CrateNuke: - Warhead: - Damage: 800 - Spread: 50 - Versus: - None: 20% - Wood: 75% - Light: 25% - Heavy: 25% - Concrete: 50% - Explosion: nuke - InfDeath: 5 - ImpactSound: EXPLLG2.WAV - -CrateExplosion: - Warhead: - Damage: 400 - Spread: 10 - Versus: - None: 90% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: building - WaterExplosion: building - InfDeath: 4 - ImpactSound: EXPLSML4.WAV - -UnitExplode: - Warhead: - Damage: 500 - Spread: 10 - Versus: - None: 90% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: building - WaterExplosion: large_splash - InfDeath: 4 - ImpactSound: EXPLMD1.WAV - -UnitExplodeSmall: - Warhead: - Damage: 60 - Spread: 10 - Versus: - None: 90% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: self_destruct - InfDeath: 4 - ImpactSound: EXPLHG1.WAV, EXPLLG1.WAV, EXPLMD1.WAV, EXPLSML4.WAV - -UnitExplodeTiny: - Warhead: - Damage: 30 - Spread: 7 - Versus: - None: 90% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: med_explosion - InfDeath: 4 - ImpactSound: EXPLMD2.WAV, EXPLSML1.WAV, EXPLSML2.WAV, EXPLSML3.WAV - -UnitExplodeScale: - Warhead: - Damage: 90 - Spread: 13 - Versus: - None: 90% - Wood: 75% - Light: 60% - Heavy: 25% - Explosion: building - InfDeath: 4 - ImpactSound: EXPLLG2.WAV, EXPLLG3.WAV, EXPLLG5.WAV - diff --git a/mods/ra/cursors.yaml b/mods/ra/cursors.yaml index beef006a23..0e3e4c0347 100644 --- a/mods/ra/cursors.yaml +++ b/mods/ra/cursors.yaml @@ -5,78 +5,48 @@ Cursors: mouse: cursor scroll-t: start:1 - x: 12 - y: 12 scroll-tr: - start: 2 - x: 12 - y: 12 + start:2 scroll-r: - start: 3 - x: 12 - y: 12 + start:3 scroll-br: - start: 4 - x: 12 - y: 12 + start:4 scroll-b: start:5 - x: 12 - y: 12 scroll-bl: start:6 - x: 12 - y: 12 scroll-l: start:7 - x: 12 - y: 12 scroll-tl: start:8 - x: 12 - y: 12 scroll-t-blocked: start:124 - x: 12 - y: 12 scroll-tr-blocked: start:125 - x: 12 - y: 12 scroll-r-blocked: start:126 - x: 12 - y: 12 scroll-br-blocked: start:127 - x: 12 - y: 12 scroll-b-blocked: start:128 - x: 12 - y: 12 scroll-bl-blocked: start:129 - x: 12 - y: 12 scroll-l-blocked: start:130 - x: 12 - y: 12 scroll-tl-blocked: start:131 - x: 12 - y: 12 select: start:15 length: 6 - x: 12 - y: 12 default: start:0 + x: -16 + y: -12 default-minimap: start:80 + x: -16 + y: -12 generic-blocked: start:9 generic-blocked-minimap: @@ -84,181 +54,111 @@ Cursors: move: start:10 length: 4 - x: 12 - y: 12 move-minimap: start:29 length: 4 - x: 12 - y: 12 move-rough: start:10 length: 4 - x: 12 - y: 12 move-blocked: start:14 - x: 12 - y: 12 move-blocked-minimap: start:33 - x: 12 - y: 12 attack: start:195 length: 8 - x: 12 - y: 12 attack-minimap: start:203 length: 8 - x: 12 - y: 12 attackmove: start:21 length: 8 - x: 12 - y: 12 attackmove-minimap: start:134 length: 8 - x: 12 - y: 12 harvest: start:21 length: 8 - x: 12 - y: 12 harvest-minimap: start:134 length: 8 - x: 12 - y: 12 enter: start:113 length: 3 - x: 12 - y: 12 enter-minimap: start:139 length: 3 - x: 12 - y: 12 enter-blocked: start:212 length: 1 - x: 12 - y: 12 enter-blocked-minimap: start:33 c4: start:116 length: 3 - x: 12 - y: 12 c4-minimap: start:121 length: 3 - x: 12 - y: 12 guard: start:147 length: 1 - x: 12 - y: 12 guard-minimap: start:146 length: 1 - x: 12 - y: 12 capture: start:164 length: 3 - x: 12 - y: 12 capture-minimap: start:167 length: 3 - x: 12 - y: 12 heal: start:160 length: 4 - x: 12 - y: 12 heal-minimap: start:194 length: 1 - x: 12 - y: 12 ability: start:82 length: 8 - x: 12 - y: 12 ability-minimap: start:214 length: 8 - x: 12 - y: 12 # Cursors that need minimap variants deploy: start:59 length: 9 - x: 12 - y: 12 deploy-blocked: start:211 length: 1 - x: 12 - y: 12 goldwrench: start:170 length: 24 - x: 12 - y: 12 goldwrench-blocked: start:213 length: 1 - x: 12 - y: 12 nuke: start:90 length: 7 - x: 12 - y: 12 chrono-select: start:97 length: 8 - x: 12 - y: 12 chrono-target: start:105 length: 8 - x: 12 - y: 12 sell: start:68 length: 12 - x: 12 - y: 12 sell-blocked: start:119 length: 1 - x: 12 - y: 12 repair: start:35 length: 24 - x: 12 - y: 12 repair-blocked: start:120 length: 1 - x: 12 - y: 12 sell2: start:148 length: 12 @@ -267,10 +167,6 @@ Cursors: powerdown-blocked: start:0 length: 1 - x: 12 - y: 12 powerdown: start:1 - length: 3 - x: 12 - y: 12 \ No newline at end of file + length: 3 \ No newline at end of file diff --git a/mods/ra/rules/infantry.yaml b/mods/ra/rules/infantry.yaml index d29a76033d..e504615d04 100644 --- a/mods/ra/rules/infantry.yaml +++ b/mods/ra/rules/infantry.yaml @@ -448,7 +448,6 @@ SNIPER: Valued: Cost: 700 Tooltip: - Icon: snipericon Name: Sniper Description: Elite sniper infantry unit.\n Strong vs Infantry\n Weak vs Vehicles Buildable: @@ -492,7 +491,6 @@ Zombie: Valued: Cost: 100 Tooltip: - Icon: zombicon Name: Zombie Description: Slow undead. Attacks in close combat. Buildable: @@ -519,7 +517,6 @@ Ant: Valued: Cost: 300 Tooltip: - Icon: anticon Name: Giant Ant Description: Irradiated insect that grew oversize. Buildable: diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index 3980dd451a..63e7951f0d 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -5,7 +5,6 @@ MSLO: Tooltip: Name: Missile Silo Description: Launches a devastating atomic bomb\nat a target location.\n Special Ability: Atom Bomb\n\nMaximum 1 can be built - Icon: msloicon2 Buildable: Queue: Defense BuildPaletteOrder: 130 @@ -25,7 +24,7 @@ MSLO: Range: 5 IronCurtainable: NukePower: - Image: atomicon + Icon: abomb ChargeTime: 540 Description: Atom Bomb LongDesc: Launches a devastating atomic bomb\nat a target location. @@ -214,7 +213,7 @@ IRON: Range: 10 IronCurtainable: IronCurtainPower: - Image: infxicon + Icon: invuln ChargeTime: 120 Description: Invulnerability LongDesc: Makes a group of units invulnerable\nfor 20 seconds. @@ -252,7 +251,7 @@ PDOX: Range: 10 IronCurtainable: ChronoshiftPower: - Image: warpicon + Icon: chrono ChargeTime: 120 Description: Chronoshift LongDesc: Teleports a group of units across\nthe map for 20 seconds. @@ -459,7 +458,6 @@ PBOX.E1: Tooltip: Name: Pillbox (Guns) Description: Basic defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft - Icon: PBOXICON RenderBuilding: Image: PBOX RenderRangeCircle: @@ -624,7 +622,6 @@ HBOX.E1: Tooltip: Name: Camo Pillbox (Guns) Description: Hidden defensive structure.\n Strong vs Infantry, Light Vehicles\n Weak vs Tanks, Aircraft - Icon: HBOXICON RenderBuilding: Image: HBOX RenderRangeCircle: @@ -854,7 +851,7 @@ ATEK: Bib: IronCurtainable: GpsPower: - Image: gpssicon + Icon: gps OneShot: yes ChargeTime: 480 Description: GPS Satellite @@ -1077,14 +1074,14 @@ AFLD: Reservable: IronCurtainable: SpyPlanePower: - Image: smigicon + Icon: spyplane ChargeTime: 180 Description: Spy Plane LongDesc: Reveals an area of the map. SelectTargetSound: slcttgt1.aud EndChargeSound: spypln1.aud ParatroopersPower: - Image: pinficon + Icon: paratroopers ChargeTime: 360 Description: Paratroopers LongDesc: A Badger drops a squad of Riflemen \nanywhere on the map @@ -1310,6 +1307,7 @@ FACF: Hotkey: c Queue: Defense Tooltip: + Icon: fake-icon Name: Fake Construction Yard Description: Looks like a Construction Yard. Building: @@ -1339,6 +1337,7 @@ WEAF: Hotkey: x Queue: Defense Tooltip: + Icon: fake-icon Name: Fake War Factory Description: Looks like a War Factory. Building: @@ -1369,6 +1368,7 @@ SYRF: Hotkey: z Queue: Defense Tooltip: + Icon: fake-icon Name: Fake Shipyard Description: Looks like a Shipyard TargetableBuilding: @@ -1402,6 +1402,7 @@ SPEF: Hotkey: z Queue: Defense Tooltip: + Icon: fake-icon Name: Fake Sub Pen Description: Looks like a Sub Pen Building: @@ -1425,6 +1426,7 @@ DOMF: Valued: Cost: 50 Tooltip: + Icon: fake-icon Name: Fake Radar Dome Description: Looks like a Radar Dome Buildable: diff --git a/mods/ra/rules/vehicles.yaml b/mods/ra/rules/vehicles.yaml index c5dec0452a..39aa2b41ed 100644 --- a/mods/ra/rules/vehicles.yaml +++ b/mods/ra/rules/vehicles.yaml @@ -402,7 +402,6 @@ MNLY.AP: Cost: 800 Tooltip: Name: Minelayer (Anti-Personnel) - Icon: MNLYICON Description: Lays mines to destroy unwary enemy units.\n Unarmed Health: HP: 100 @@ -437,7 +436,6 @@ MNLY.AT: Cost: 800 Tooltip: Name: Minelayer (Anti-Tank) - Icon: MNLYICON Description: Lays mines to destroy unwary enemy units.\n Unarmed Health: HP: 100 diff --git a/mods/ra/sequences/aircraft.yaml b/mods/ra/sequences/aircraft.yaml index 5f0cd456bc..213f8cf344 100644 --- a/mods/ra/sequences/aircraft.yaml +++ b/mods/ra/sequences/aircraft.yaml @@ -2,6 +2,8 @@ mig: idle: Start: 0 Facings: 16 + icon: migicon + Start: 0 yak: idle: @@ -11,6 +13,8 @@ yak: Start: 0 Length: 6 Facings: 8 + icon: yakicon + Start: 0 heli: idle: @@ -22,6 +26,8 @@ heli: slow-rotor: lrotor Start: 4 Length: 8 + icon: heliicon + Start: 0 hind: idle: @@ -37,6 +43,8 @@ hind: Start: 0 Length: 6 Facings: 8 + icon: hindicon + Start: 0 tran: idle: tran2 @@ -60,6 +68,8 @@ tran: unload: tran2 Start: 32 Length: 4 + icon: tranicon + Start: 0 tran1husk: idle: diff --git a/mods/ra/sequences/infantry.yaml b/mods/ra/sequences/infantry.yaml index 042c336c46..7693f1ac37 100644 --- a/mods/ra/sequences/infantry.yaml +++ b/mods/ra/sequences/infantry.yaml @@ -64,6 +64,8 @@ e1: Start: 0 Length: 6 Tick: 1600 + icon: e1icon + Start: 0 sniper: stand: @@ -130,6 +132,8 @@ sniper: Start: 0 Length: 6 Tick: 1600 + icon: snipericon + Start: 0 e3: stand: @@ -190,6 +194,8 @@ e3: Start: 192 Length: 10 Facings: 8 + icon: e3icon + Start: 0 e6: stand: @@ -242,6 +248,8 @@ e6: Length: 4 Facings: 8 Tick: 100 + icon: e6icon + Start: 0 medi: stand: @@ -298,6 +306,8 @@ medi: Length: 4 Facings: 8 Tick: 100 + icon: mediicon + Start: 0 mech: stand: @@ -354,6 +364,8 @@ mech: Length: 4 Facings: 8 Tick: 100 + icon: mechicon + Start: 0 e2: stand: @@ -414,6 +426,8 @@ e2: Start: 288 Length: 12 Facings: 8 + icon: e2icon + Start: 0 dog: stand: @@ -458,6 +472,8 @@ dog: Start: 0 Length: 4 Facings: 8 + icon: dogicon + Start: 0 spy: stand: @@ -518,6 +534,8 @@ spy: Start: 192 Length: 8 Facings: 8 + icon: spyicon + Start: 0 thf: stand: @@ -550,6 +568,8 @@ thf: Start: 72 Length: 4 Facings: 8 + icon: thficon + Start: 0 e7: stand: @@ -607,6 +627,8 @@ e7: Start: 176 Length: 7 Facings: 8 + icon: e7icon + Start: 0 e4: stand: @@ -667,6 +689,8 @@ e4: Start: 256 Length: 16 Facings: 8 + icon: e4icon + Start: 0 gnrl: stand: @@ -786,6 +810,8 @@ shok: die6: electro Start: 0 Length: * + icon: shokicon + Start: 0 c1: stand: @@ -1080,6 +1106,8 @@ zombie: Start: 0 Length: 6 Tick: 1600 + icon: zombicon + Start: 0 ant: stand: @@ -1123,4 +1151,6 @@ ant: die-crushed: Start: 104 Length: 8 - Tick: 300 \ No newline at end of file + Tick: 300 + icon: anticon + Start: 0 \ No newline at end of file diff --git a/mods/ra/sequences/misc.yaml b/mods/ra/sequences/misc.yaml index f45fe3f9ed..3b34749e0f 100644 --- a/mods/ra/sequences/misc.yaml +++ b/mods/ra/sequences/misc.yaml @@ -396,3 +396,17 @@ gpsdot: Start: 5 Structure: Start: 6 + +icon: + abomb: atomicon + Start: 0 + invuln: infxicon + Start: 0 + chrono: warpicon + Start: 0 + spyplane: smigicon + Start: 0 + paratroopers: pinficon + Start: 0 + gps: gpssicon + Start: 0 diff --git a/mods/ra/sequences/ships.yaml b/mods/ra/sequences/ships.yaml index 49cc5f4f39..9e992b3d1c 100644 --- a/mods/ra/sequences/ships.yaml +++ b/mods/ra/sequences/ships.yaml @@ -2,6 +2,8 @@ ss: idle: Start: 0 Facings: 16 + icon: ssicon + Start: 0 ca: idle: @@ -13,6 +15,8 @@ ca: muzzle: gunfire2 Start: 0 Length: 5 + icon: caicon + Start: 0 dd: idle: @@ -21,6 +25,8 @@ dd: turret: ssam Start: 0 Facings: 32 + icon: ddicon + Start: 0 pt: idle: @@ -32,6 +38,8 @@ pt: muzzle: gunfire2 Start: 0 Length: 5 + icon: pticon + Start: 0 lst: idle: @@ -41,8 +49,12 @@ lst: Length: 4 unload: Start: 4 + icon: lsticon + Start: 0 msub: idle: Start: 0 Facings: 16 + icon: msubicon + Start: 0 \ No newline at end of file diff --git a/mods/ra/sequences/structures.yaml b/mods/ra/sequences/structures.yaml index 5f971ba1af..2d9e9e2426 100644 --- a/mods/ra/sequences/structures.yaml +++ b/mods/ra/sequences/structures.yaml @@ -60,6 +60,10 @@ fact: bib: bib2 Start: 0 Length: * + icon: facticon + Start: 0 + fake-icon: facficon + Start: 0 proc: idle: @@ -74,6 +78,8 @@ proc: bib: bib2 Start: 0 Length: * + icon: procicon + Start: 0 silo: idle: silo2 @@ -85,6 +91,8 @@ silo: make: silomake Start: 0 Length: * + icon: siloicon + Start: 0 powr: idle: @@ -99,6 +107,8 @@ powr: bib: bib3 Start: 0 Length: * + icon: powricon + Start: 0 apwr: idle: @@ -113,6 +123,8 @@ apwr: bib: bib2 Start: 0 Length: * + icon: apwricon + Start: 0 barr: idle: @@ -127,6 +139,8 @@ barr: bib: bib3 Start: 0 Length: * + icon: barricon + Start: 0 tent: idle: @@ -141,6 +155,8 @@ tent: bib: bib3 Start: 0 Length: * + icon: tenticon + Start: 0 kenn: idle: @@ -150,6 +166,8 @@ kenn: make: kennmake Start: 0 Length: * + icon: kennicon + Start: 0 dome: idle: @@ -162,6 +180,10 @@ dome: bib: bib3 Start: 0 Length: * + icon: domeicon + Start: 0 + fake-icon: domficon + Start: 0 atek: idle: @@ -178,6 +200,8 @@ atek: bib: bib3 Start: 0 Length: * + icon: atekicon + Start: 0 stek: idle: @@ -190,6 +214,8 @@ stek: bib: bib2 Start: 0 Length: * + icon: stekicon + Start: 0 weap: idle: @@ -212,6 +238,10 @@ weap: bib: bib2 Start: 0 Length: * + icon: weapicon + Start: 0 + fake-icon: weaficon + Start: 0 hpad: idle: @@ -234,6 +264,8 @@ hpad: bib: bib3 Start: 0 Length: * + icon: hpadicon + Start: 0 afld: idle: afldidle @@ -259,6 +291,8 @@ afld: make: afldmake Start: 0 Length: * + icon: afldicon + Start: 0 spen: idle: @@ -268,6 +302,10 @@ spen: make: spenmake Start: 0 Length: * + icon: spenicon + Start: 0 + fake-icon: speficon + Start: 0 syrd: idle: @@ -277,6 +315,10 @@ syrd: make: syrdmake Start: 0 Length: * + icon: syrdicon + Start: 0 + fake-icon: syrficon + Start: 0 fix: idle: @@ -296,6 +338,8 @@ fix: make: fixmake Start: 0 Length: * + icon: fixicon + Start: 0 gun: idle: @@ -316,6 +360,8 @@ gun: muzzle: gunfire2 Start: 0 Length: 5 + icon: gunicon + Start: 0 agun: idle: @@ -336,6 +382,8 @@ agun: muzzle: gunfire2 Start: 1 Length: 4 + icon: agunicon + Start: 0 sam: idle: @@ -351,6 +399,8 @@ sam: Start: 0 Length: 18 Facings: 8 + icon: samicon + Start: 0 ftur: idle: @@ -360,6 +410,8 @@ ftur: make: fturmake Start: 0 Length: * + icon: fturicon + Start: 0 tsla: idle: @@ -377,6 +429,8 @@ tsla: Start: 11 Length: 9 Tick: 100 + icon: tslaicon + Start: 0 pbox: idle: @@ -390,6 +444,8 @@ pbox: Start: 0 Length: 6 Facings: 8 + icon: pboxicon + Start: 0 hbox: damaged-idle: @@ -403,6 +459,8 @@ hbox: Start: 0 Length: 6 Facings: 8 + icon: hboxicon + Start: 0 gap: idle: @@ -414,6 +472,8 @@ gap: make: gapmake Start: 0 Length: * + icon: gapicon + Start: 0 iron: idle: @@ -434,6 +494,8 @@ iron: Start: 0 Length: * Offset: 0,-12 + icon: ironicon + Start: 0 pdox: idle: @@ -449,6 +511,8 @@ pdox: make: pdoxmake Start: 0 Length: * + icon: pdoxicon + Start: 0 mslo: idle: @@ -465,6 +529,8 @@ mslo: damaged-active: Start: 9 Length: 7 + icon: msloicon2 + Start: 0 miss: idle: @@ -491,6 +557,8 @@ brik: critical-idle: Start: 48 Length: 16 + icon: brikicon + Start: 0 sbag: idle: @@ -499,6 +567,8 @@ sbag: damaged-idle: Start: 16 Length: 16 + icon: sbagicon + Start: 0 fenc: idle: @@ -507,6 +577,8 @@ fenc: damaged-idle: Start: 16 Length: 16 + icon: fencicon + Start: 0 cycl: idle: diff --git a/mods/ra/sequences/vehicles.yaml b/mods/ra/sequences/vehicles.yaml index f9797882c1..b1688f105d 100644 --- a/mods/ra/sequences/vehicles.yaml +++ b/mods/ra/sequences/vehicles.yaml @@ -2,6 +2,8 @@ mcv: idle: Start: 0 Facings: 32 + icon: mcvicon + Start: 0 mcvhusk: idle: @@ -12,6 +14,8 @@ truk: idle: Start: 0 Facings: 32 + icon: trukicon + Start: 0 harv: idle: @@ -27,6 +31,8 @@ harv: dock-loop: Start: 104 Length: 7 + icon: harvicon + Start: 0 harvhalf: idle: @@ -78,6 +84,8 @@ hhusk2: muzzle: gunfire2 Start: 0 Length: 2 + icon: 1tnkicon + Start: 0 2tnk: idle: @@ -89,6 +97,8 @@ hhusk2: muzzle: gunfire2 Start: 0 Length: 5 + icon: 2tnkicon + Start: 0 3tnk: idle: @@ -100,6 +110,8 @@ hhusk2: muzzle: gunfire2 Start: 0 Length: 5 + icon: 3tnkicon + Start: 0 4tnk: idle: @@ -111,6 +123,8 @@ hhusk2: muzzle: gunfire2 Start: 0 Length: 5 + icon: 4tnkicon + Start: 0 v2rl: idle: @@ -125,6 +139,8 @@ v2rl: empty-aim: Start: 72 Facings: 8 + icon: v2rlicon + Start: 0 arty: idle: @@ -133,6 +149,8 @@ arty: muzzle: gunfire2 Start: 0 Length: 5 + icon: artyicon + Start: 0 jeep: idle: @@ -148,6 +166,8 @@ jeep: unload: Start: 0 Facings: 32 + icon: jeepicon + Start: 0 apc: idle: @@ -162,11 +182,15 @@ apc: Length: 3 unload: Start: 32 + icon: apcicon + Start: 0 mnly: idle: Start: 0 Facings: 32 + icon: mnlyicon + Start: 0 mrj: idle: @@ -175,6 +199,8 @@ mrj: spinner: Start: 32 Length: 32 + icon: mrjicon + Start: 0 mgg: idle: @@ -186,6 +212,8 @@ mgg: spinner-idle: Start: 32 Length: 1 + icon: mggicon + Start: 0 ttnk: idle: @@ -194,6 +222,8 @@ ttnk: spinner: Start: 32 Length: 32 + icon: ttnkicon + Start: 0 ftrk: idle: @@ -205,11 +235,15 @@ ftrk: muzzle: gunfire2 Start: 0 Length: 2 + icon: ftrkicon + Start: 0 dtrk: idle: Start: 0 Facings: 32 + icon: dtrkicon + Start: 0 ctnk: idle: @@ -218,3 +252,5 @@ ctnk: muzzle: gunfire2 Start: 0 Length: 5 + icon: ctnkicon + Start: 0 \ No newline at end of file diff --git a/mods/ts/cursors.yaml b/mods/ts/cursors.yaml index d57f5c5e9d..002451071e 100644 --- a/mods/ts/cursors.yaml +++ b/mods/ts/cursors.yaml @@ -5,77 +5,47 @@ Cursors: mouse: cursor scroll-t: #TODO start:1 - x: 12 - y: 12 scroll-tr: #TODO start: 2 - x: 12 - y: 12 scroll-r: #TODO start: 3 - x: 12 - y: 12 scroll-br: #TODO start: 4 - x: 12 - y: 12 scroll-b: #TODO start:5 - x: 12 - y: 12 scroll-bl: #TODO start:6 - x: 12 - y: 12 scroll-l: #TODO start:7 - x: 12 - y: 12 scroll-tl: #TODO start:8 - x: 12 - y: 12 scroll-t-blocked: #TODO start:124 - x: 12 - y: 12 scroll-tr-blocked: #TODO start:125 - x: 12 - y: 12 scroll-r-blocked: #TODO start:126 - x: 12 - y: 12 scroll-br-blocked: #TODO start:127 - x: 12 - y: 12 scroll-b-blocked: #TODO start:128 - x: 12 - y: 12 scroll-bl-blocked: #TODO start:129 - x: 12 - y: 12 scroll-l-blocked: #TODO start:130 - x: 12 - y: 12 scroll-tl-blocked:#TODO start:131 - x: 12 - y: 12 select: start:18 length: 12 - x: 12 - y: 12 default: start:0 + x: -26 + y: -20 default-minimap: start:1 + x: -26 + y: -20 generic-blocked: start:9 generic-blocked-minimap: @@ -83,193 +53,117 @@ Cursors: move: start:31 length: 10 - x: 12 - y: 12 move-minimap: start:42 length: 10 - x: 12 - y: 12 move-rough: start:31 length: 10 - x: 12 - y: 12 move-blocked: start:41 - x: 12 - y: 12 move-blocked-minimap: start:52 - x: 12 - y: 12 attack: start: 31 length: 10 - x: 12 - y: 12 attack-blocked: # TODO: unused start: 32 length: 1 - x: 12 - y: 12 attack-minimap: start: 42 length: 10 - x: 12 - y: 12 attackmove: #TODO start:21 length: 8 - x: 12 - y: 12 attackmove-minimap: #TODO start:134 length: 8 - x: 12 - y: 12 harvest: #TODO start:21 length: 8 - x: 12 - y: 12 harvest-minimap: #TODO start:134 length: 8 - x: 12 - y: 12 enter: #TODO start:113 length: 3 - x: 12 - y: 12 enter-minimap: #TODO start:139 length: 3 - x: 12 - y: 12 enter-blocked: #TODO start:212 length: 1 - x: 12 - y: 12 enter-blocked-minimap: #TODO start:33 c4: #TODO start:116 length: 3 - x: 12 - y: 12 c4-minimap: #TODO start:121 length: 3 - x: 12 - y: 12 guard: #TODO start:147 length: 1 - x: 12 - y: 12 guard-minimap: #TODO start:146 length: 1 - x: 12 - y: 12 capture: #TODO start:164 length: 3 - x: 12 - y: 12 capture-minimap: #TODO start:167 length: 3 - x: 12 - y: 12 heal: #TODO start:160 length: 4 - x: 12 - y: 12 heal-minimap: #TODO start:194 length: 1 - x: 12 - y: 12 ability: #TODO start:82 length: 8 - x: 12 - y: 12 ability-minimap: #TODO start:214 length: 8 - x: 12 - y: 12 deploy: start:110 length: 9 - x: 12 - y: 12 deploy-blocked: start:119 length: 1 - x: 12 - y: 12 undeploy: #TODO: unused start:120 length: 9 - x: 12 - y: 12 goldwrench: #TODO start:170 length: 24 - x: 12 - y: 12 goldwrench-blocked: #TODO start:213 length: 1 - x: 12 - y: 12 nuke: #TODO start:90 length: 7 - x: 12 - y: 12 sell: start:129 length: 10 - x: 12 - y: 12 sell-minimap: #TODO: unused start:139 length: 10 - x: 12 - y: 12 sell-blocked: start:149 length: 1 - x: 12 - y: 12 repair: start:170 length: 20 - x: 12 - y: 12 repair-blocked: start:190 length: 1 - x: 12 - y: 12 sell2: #TODO ? start:148 length: 12 powerdown-blocked: start:345 length: 1 - x: 12 - y: 12 powerdown: start:329 - length: 15 - x: 12 - y: 12 \ No newline at end of file + length: 15 \ No newline at end of file diff --git a/mods/ts/rules/aircraft.yaml b/mods/ts/rules/aircraft.yaml index 6361ffb1ef..df6145fe5a 100644 --- a/mods/ts/rules/aircraft.yaml +++ b/mods/ts/rules/aircraft.yaml @@ -4,7 +4,6 @@ DPOD: Cost: 10 Tooltip: Name: Drop Pod - Icon: podsicon Buildable: Queue: Air BuildPaletteOrder: 10 @@ -42,7 +41,6 @@ DSHP: Cost: 1000 Tooltip: Name: Dropship - Icon: xxicon Buildable: Queue: Air BuildPaletteOrder: 10 @@ -74,7 +72,6 @@ ORCA: Cost: 1000 Tooltip: Name: Orca Fighter - Icon: orcaicon Description: Helicopter Gunship with Missiles.\n Strong vs Buildings, Tanks\n Weak vs Infantry Buildable: Queue: Air @@ -111,7 +108,6 @@ ORCAB: Cost: 1600 Tooltip: Name: Orca Bomber - Icon: obmbicon Buildable: Queue: Air BuildPaletteOrder: 20 @@ -147,7 +143,6 @@ ORCATRAN: Cost: 1200 Tooltip: Name: Orca Transport - Icon: crryicon Buildable: Queue: Air BuildPaletteOrder: 10 @@ -179,7 +174,6 @@ TRNSPORT: # TODO: set up the vehicle cargo traits, but beware of desyncs Cost: 750 Tooltip: Name: Carryall - Icon: otrnicon Buildable: Queue: Air BuildPaletteOrder: 10 @@ -207,7 +201,6 @@ SCRIN: Cost: 1500 Tooltip: Name: Banshee Fighter - Icon: proicon Buildable: Queue: Air BuildPaletteOrder: 20 @@ -243,7 +236,6 @@ APACHE: Cost: 1000 Tooltip: Name: Harpy - Icon: apchicon Buildable: Queue: Air BuildPaletteOrder: 20 diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 9da6820afe..1bdb1a7818 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -91,7 +91,6 @@ Cost: 10 Tooltip: Name: Civilian - Icon: xxicon Buildable: # TODO: remove this once the testing period is over Queue: Infantry BuildPaletteOrder: 1000 diff --git a/mods/ts/rules/infantry.yaml b/mods/ts/rules/infantry.yaml index dba1fe2398..c378b22d1e 100644 --- a/mods/ts/rules/infantry.yaml +++ b/mods/ts/rules/infantry.yaml @@ -64,7 +64,6 @@ E3: Tooltip: Name: Rocket Infantry Description: Anti-tank infantry.\n Strong vs Tanks\n Weak vs Infantry - Icon: e4icon # TODO: really? Selectable: Bounds: 12,17,0,-9 Voice: Rocket @@ -88,7 +87,6 @@ WEEDGUY: Tooltip: Name: Chem Spray Infantry Description: Advanced Anti-infantry unit.\n Strong vs Infantry\n Weak vs Vehicles - Icon: weaticon Buildable: Queue: Infantry BuildPaletteOrder: 50 @@ -119,7 +117,6 @@ MEDIC: Tooltip: Name: Medic Description: Heals nearby infantry.\n Strong vs Nothing\n Weak vs Everything - Icon: mediicon Buildable: Queue: Infantry BuildPaletteOrder: 60 @@ -151,7 +148,6 @@ ENGINEER: Tooltip: Name: Engineer Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything - Icon: engnicon Buildable: Queue: Infantry BuildPaletteOrder: 30 @@ -183,7 +179,6 @@ UMAGON: Valued: Cost: 400 Tooltip: - Icon: umagicon Name: Umagon Description: Elite sniper infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles Buildable: @@ -214,7 +209,6 @@ GHOST: Valued: Cost: 1750 Tooltip: - Icon: gosticon Name: Ghost Stalker Description: Elite commando infantry, armed with \ndual pistols and C4.\n Strong vs Infantry, Buildings\n Weak vs Vehicles\n Special Ability: Destroy Building with C4\n\nMaximum 1 can be trained BuildLimit: 1 @@ -250,7 +244,6 @@ JUMPJET: Valued: Cost: 600 Tooltip: - Icon: jjeticon Name: Jumpjet Infantry Buildable: Queue: Infantry @@ -290,7 +283,6 @@ CHAMSPY: SpyToolTip: Name: Chameleon Spy Description: Infiltrates enemy structures to gather \nintelligence. Exact effect depends on the \nbuilding infiltrated.\n Strong vs Nothing\n Weak vs Everything\n Special Ability: Disguised - Icon: chamicon Selectable: Voice: Spy Bounds: 12,17,0,-9 @@ -320,7 +312,6 @@ CYBORG: Valued: Cost: 650 Tooltip: - Icon: cybiicon Name: Cyborg Infantry Description: Cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles Buildable: @@ -359,7 +350,6 @@ CYC2: Valued: Cost: 2000 Tooltip: - Icon: cybcicon Name: Cyborg Commando Description: Elite cybernetic infantry unit.\n Strong vs Infantry, Buildings\n Weak vs Vehicles Buildable: @@ -402,7 +392,6 @@ MUTANT: Tooltip: Name: Mutant Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Mutant @@ -433,7 +422,6 @@ MWMN: Tooltip: Name: Mutant Soldier Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Mutant @@ -464,7 +452,6 @@ MUTANT3: Tooltip: Name: Mutant Sergeant Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Mutant @@ -495,7 +482,6 @@ MHIJACK: # TODO: does not work Tooltip: Name: Mutant Hijacker Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Hijacker @@ -524,7 +510,6 @@ TRATOS: Cost: 100 Tooltip: Name: Tratos - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Tratos @@ -553,7 +538,6 @@ OXANNA: Cost: 100 Tooltip: Name: Oxanna - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Oxanna @@ -582,7 +566,6 @@ SLAV: Cost: 100 Tooltip: Name: Slavick - Icon: mutcicon Selectable: Bounds: 12,17,0,-9 Voice: Slavick @@ -605,7 +588,6 @@ DOGGIE: Inherits: ^Infantry Tooltip: Name: Tiberian Fiend - Icon: xxicon Buildable: Queue: Infantry BuildPaletteOrder: 100 @@ -638,7 +620,6 @@ VISSML: Inherits: ^Infantry Tooltip: Name: Baby Visceroid - Icon: xxicon Buildable: Queue: Infantry BuildPaletteOrder: 100 @@ -670,7 +651,6 @@ VISLRG: Inherits: ^Infantry Tooltip: Name: Adult Visceroid - Icon: xxicon Buildable: Queue: Infantry BuildPaletteOrder: 100 diff --git a/mods/ts/rules/structures.yaml b/mods/ts/rules/structures.yaml index 89afd5b241..69c03e16a1 100644 --- a/mods/ts/rules/structures.yaml +++ b/mods/ts/rules/structures.yaml @@ -21,7 +21,6 @@ GACNST: Tooltip: Name: Construction Yard Description: Builds base structures. - Icon: facticon CustomSellValue: Value: 2500 BaseBuilding: @@ -50,7 +49,6 @@ GAPOWR: Tooltip: Name: GDI Power Plant Description: Provides power for other structures - Icon: powricon ProvidesCustomPrerequisite: Prerequisite: anypower Building: @@ -81,7 +79,6 @@ GAPILE: Tooltip: Name: GDI Barracks Description: Produces infantry - Icon: brrkicon Building: Power: -20 Footprint: xx xx @@ -114,7 +111,6 @@ GAWEAP: Cost: 2000 Tooltip: Name: GDI War Factory - Icon: weapicon Description: Assembly point for\nvehicle reinforcements # ProvidesCustomPrerequisite: # Prerequisite: VehicleProduction @@ -158,7 +154,6 @@ GASAND: Tooltip: Name: Sandbags Description: Stops infantry and blocks enemy fire.\nCan be crushed by tanks. - Icon: sbagicon Health: HP: 250 Armor: @@ -303,7 +298,6 @@ GASPOT: # TODO: has moving spotlights Cost: 300 Tooltip: Name: Light Tower - Icon: spoticon Building: Power: -10 Footprint: x @@ -326,7 +320,6 @@ GAHPAD: Cost: 500 Tooltip: Name: Helipad - Icon: heliicon Description: Produces, rearms and\nrepairs helicopters Buildable: BuildPaletteOrder: 60 diff --git a/mods/ts/rules/vehicles.yaml b/mods/ts/rules/vehicles.yaml index b35f23eb7f..ca41fcc45e 100644 --- a/mods/ts/rules/vehicles.yaml +++ b/mods/ts/rules/vehicles.yaml @@ -41,7 +41,6 @@ APC: Cost: 600 Tooltip: Name: Amphibious APC # TODO: not yet amphibious - Icon: apcicon Description: Armored infantry transport and mobile AA\n Strong vs Aircraft, Vehicles\n Weak vs Infantry Buildable: Queue: Vehicle @@ -74,7 +73,6 @@ HARV: # TODO: without back: HORV Cost: 1400 Tooltip: Name: Harvester - Icon: harvicon Description: Collects Tiberium for processing.\n Unarmed Buildable: Queue: Vehicle @@ -117,7 +115,6 @@ HVR: Cost: 900 Tooltip: Name: Hover MLRS - Icon: hovricon Description: Hover Multi-Launch Rocket System Buildable: Queue: Vehicle @@ -148,7 +145,6 @@ HVR: Cost: 1700 Tooltip: Name: Mammoth Tank - Icon: xxicon Description: Heavily armored GDI Tank.\n Strong vs Everything Buildable: Queue: Vehicle @@ -191,7 +187,6 @@ TRUCKB: # NOTE: TRUCKA is unloaded Tooltip: Name: Truck Description: Transports cash to other players.\n Unarmed - Icon: xxicon Health: HP: 2000 Armor: @@ -214,7 +209,6 @@ LPST: Cost: 950 Tooltip: Name: Mobile Sensor Array - Icon: lpsticon Buildable: Queue: Vehicle BuildPaletteOrder: 100 @@ -246,7 +240,6 @@ ICBM: Cost: 1400 Tooltip: Name: Ballistic Missile Launcher - Icon: xxicon Buildable: Queue: Vehicle BuildPaletteOrder: 100 @@ -283,7 +276,6 @@ REPAIR: Tooltip: Name: Mobile Repair Vehicle Description: Repairs nearby vehicles.\n Strong vs Nothing\n Weak vs Everything - Icon: rboticon Health: HP: 200 Mobile: @@ -307,7 +299,6 @@ ART2: Cost: 975 Tooltip: Name: Artillery - Icon: artyicon Buildable: Queue: Vehicle BuildPaletteOrder: 100 @@ -339,7 +330,6 @@ WEED: Cost: 1400 Tooltip: Name: Weed Eater - Icon: weedicon Description: Collects veins for processing.\n Unarmed Buildable: Queue: Vehicle @@ -376,7 +366,6 @@ BUS: Cost: 800 Tooltip: Name: School Bus - Icon: xxicon Buildable: Queue: Vehicle BuildPaletteOrder: 300 @@ -406,7 +395,6 @@ PICK: Cost: 800 Tooltip: Name: Pickup - Icon: xxicon Buildable: Queue: Vehicle BuildPaletteOrder: 300 @@ -436,7 +424,6 @@ CAR: Cost: 800 Tooltip: Name: Automobile - Icon: xxicon Buildable: Queue: Vehicle BuildPaletteOrder: 300 @@ -466,7 +453,6 @@ GGHUNT: Cost: 1000 Tooltip: Name: Hunter-Seeker Droid - Icon: seekicon Buildable: BuildPaletteOrder: 20 Owner: gdi, nod @@ -494,7 +480,6 @@ WINI: Cost: 800 Tooltip: Name: Recreational Vehicle - Icon: xxicon Buildable: Queue: Vehicle BuildPaletteOrder: 300 @@ -524,7 +509,6 @@ MMCH: Cost: 800 Tooltip: Name: Medium Mech - Icon: mmchicon Buildable: Queue: Vehicle BuildPaletteOrder: 300 @@ -558,7 +542,6 @@ HMEC: Cost: 3000 Tooltip: Name: Mammoth Mk. II - Icon: hmecicon Buildable: Queue: Vehicle BuildPaletteOrder: 40 @@ -591,7 +574,6 @@ SMECH: Tooltip: Name: Wolverine Description: Small Mech - Icon: smchicon Buildable: Queue: Vehicle BuildPaletteOrder: 10 @@ -619,7 +601,6 @@ BIKE: Cost: 600 Tooltip: Name: Attack Cycle - Icon: cyclicon Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry Buildable: Queue: Vehicle @@ -650,7 +631,6 @@ BGGY: Cost: 500 Tooltip: Name: Attack Buggy - Icon: bggyicon Description: Fast scout & anti-infantry vehicle.\n Strong vs Infantry, Vehicles\n Weak vs Tanks, Aircraft Buildable: Queue: Vehicle @@ -679,7 +659,6 @@ SAPC: Cost: 800 Tooltip: Name: Subterranean APC # TODO: not yet subterranean - Icon: sapcicon Description: Armored infantry transport and mobile AA\n Strong vs Aircraft, Vehicles\n Weak vs Infantry Buildable: Queue: Vehicle @@ -710,7 +689,6 @@ SUBTANK: Cost: 750 Tooltip: Name: Devil's Tongue - Icon: subticon Description: Subterranean Tank Buildable: Queue: Vehicle @@ -739,7 +717,6 @@ SONIC: Cost: 1300 Tooltip: Name: Disruptor - Icon: soniicon Buildable: Queue: Vehicle BuildPaletteOrder: 40 @@ -769,7 +746,6 @@ TTNK: Cost: 800 Tooltip: Name: Tick Tank - Icon: tickicon Buildable: Queue: Vehicle BuildPaletteOrder: 60 @@ -800,7 +776,6 @@ STNK: Cost: 1100 Tooltip: Name: Stealth Tank - Icon: stnkicon Description: Long-range missile tank that can cloak.\nHas weak armor. Can be spotted by infantry.\n Strong vs Vehicles, Tanks, Aircraft\n Weak vs Infantry. Buildable: BuildPaletteOrder: 90 diff --git a/mods/ts/sequences/aircraft.yaml b/mods/ts/sequences/aircraft.yaml index e69de29bb2..70cca669a7 100644 --- a/mods/ts/sequences/aircraft.yaml +++ b/mods/ts/sequences/aircraft.yaml @@ -0,0 +1,31 @@ +dpod: + icon: podsicon + Start: 0 + +dshp: + icon: xxicon + Start: 0 + +orca: + icon: orcaicon + Start: 0 + +orcab: + icon: obmbicon + Start: 0 + +orcatran: + icon: crryicon + Start: 0 + +trnsport: + icon: otrnicon + Start: 0 + +scrin: + icon: proicon + Start: 0 + +apache: + icon: apchicon + Start: 0 \ No newline at end of file diff --git a/mods/ts/sequences/infantry.yaml b/mods/ts/sequences/infantry.yaml index 7ee45da330..00ad1d6548 100644 --- a/mods/ts/sequences/infantry.yaml +++ b/mods/ts/sequences/infantry.yaml @@ -60,6 +60,8 @@ e1: die6: electro Start: 0 Length: * + icon: e1icon + Start: 0 e2: stand: @@ -123,6 +125,8 @@ e2: die6: electro Start: 0 Length: * + icon: e2icon + Start: 0 e3: stand: @@ -186,6 +190,8 @@ e3: die6: electro Start: 0 Length: * + icon: e4icon + Start: 0 weedguy: stand: weed @@ -244,6 +250,8 @@ weedguy: die6: electro Start: 0 Length: * + icon: weaticon + Start: 0 medic: stand: @@ -298,6 +306,8 @@ medic: die6: electro Start: 0 Length: * + icon: mediicon + Start: 0 engineer: stand: @@ -341,6 +351,8 @@ engineer: die6: electro Start: 0 Length: * + icon: engnicon + Start: 0 umagon: stand: @@ -404,6 +416,8 @@ umagon: die6: electro Start: 0 Length: * + icon: umagicon + Start: 0 ghost: # TODO unused GUNFIRE.SHP stand: @@ -467,6 +481,8 @@ ghost: # TODO unused GUNFIRE.SHP die6: electro Start: 0 Length: * + icon: gosticon + Start: 0 jumpjet: # TODO: ShadowStart: stand: @@ -519,6 +535,8 @@ jumpjet: # TODO: ShadowStart: die6: electro Start: 0 Length: * + icon: jjeticon + Start: 0 mhijack: stand: @@ -582,6 +600,8 @@ mhijack: die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 chamspy: stand: @@ -645,6 +665,8 @@ chamspy: die6: electro Start: 0 Length: * + icon: chamicon + Start: 0 cyc2: stand: @@ -708,6 +730,8 @@ cyc2: die6: electro Start: 0 Length: * + icon: cybcicon + Start: 0 cyborg: stand: @@ -765,6 +789,8 @@ cyborg: die6: electro Start: 0 Length: * + icon: cybiicon + Start: 0 mutant: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW stand: @@ -828,6 +854,8 @@ mutant: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-N die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 mwmn: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW stand: @@ -891,6 +919,8 @@ mwmn: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 mutant3: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN-NW stand: @@ -954,6 +984,8 @@ mutant3: # TODO unused MGUN-N,MGUN-NE,MGUN-E,MGUN-SE,MGUN-S,MGUN-SW,MGUN-W,MGUN- die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 tratos: stand: @@ -1017,6 +1049,8 @@ tratos: die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 oxanna: stand: @@ -1080,6 +1114,8 @@ oxanna: die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 slav: stand: @@ -1143,6 +1179,8 @@ slav: die6: electro Start: 0 Length: * + icon: mutcicon + Start: 0 doggie: # TODO: not sure what frame 88 and following is stand: @@ -1176,12 +1214,16 @@ doggie: # TODO: not sure what frame 88 and following is Start: 109 Length: 9 ShadowStart: 228 + icon: xxicon + Start: 0 vissml: idle: Start: 0 Length: 90 ShadowStart: 90 + icon: xxicon + Start: 0 vislrg: idle: @@ -1193,6 +1235,8 @@ vislrg: Length: 5 Facings: 8 ShadowStart: 40 + icon: xxicon + Start: 0 civ1: stand: @@ -1230,6 +1274,8 @@ civ1: die6: electro Start: 0 Length: * + icon: xxicon + Start: 0 civ2: stand: @@ -1267,6 +1313,8 @@ civ2: die6: electro Start: 0 Length: * + icon: xxicon + Start: 0 civ3: stand: @@ -1303,4 +1351,6 @@ civ3: ShadowStart: 441 die6: electro Start: 0 - Length: * \ No newline at end of file + Length: * + icon: xxicon + Start: 0 \ No newline at end of file diff --git a/mods/ts/sequences/structures.yaml b/mods/ts/sequences/structures.yaml index f5fef7e830..51d7adff5a 100644 --- a/mods/ts/sequences/structures.yaml +++ b/mods/ts/sequences/structures.yaml @@ -46,6 +46,8 @@ gacnst: critical-idle-front: gtcnst_b Start: 0 Length: 10 + icon: facticon + Start: 0 gapowr: idle: gtpowr @@ -85,6 +87,8 @@ gapowr: Start: 0 Length: 20 ShadowStart: 20 + icon: powricon + Start: 0 gapile: idle: gtpile @@ -122,6 +126,8 @@ gapile: Start: 0 Length: 20 ShadowStart: 20 + icon: brrkicon + Start: 0 gaweap: idle: gtweap @@ -150,6 +156,8 @@ gaweap: Length: 20 Tick: 80 ShadowStart: 20 + icon: weapicon + Start: 0 # TODO: gtweap_1 & gtweapbb & gtweap_a & gtweap_b & gtweap_c are unused gasand: # TODO frame order (horizontal seems busted) @@ -161,6 +169,8 @@ gasand: # TODO frame order (horizontal seems busted) Start: 16 Length: 16 ShadowStart: 48 + icon: sbagicon + Start: 0 gatick: idle: @@ -244,6 +254,8 @@ gaspot: Start: 0 Length: 14 ShadowStart: 14 + icon: spoticon + Start: 0 gahpad: idle: @@ -282,4 +294,6 @@ gahpad: make: gahpadmk Start: 0 Length: 18 - ShadowStart: 18 \ No newline at end of file + ShadowStart: 18 + icon: heliicon + Start: 0 \ No newline at end of file diff --git a/mods/ts/sequences/vehicles.yaml b/mods/ts/sequences/vehicles.yaml index f8f01324bd..113219f6de 100644 --- a/mods/ts/sequences/vehicles.yaml +++ b/mods/ts/sequences/vehicles.yaml @@ -1,3 +1,95 @@ +mcv: + icon: mcvicon + Start: 0 + +apc: + icon: apcicon + Start: 0 + +harv: + icon: harvicon + Start: 0 + +hvr: + icon: hovricon + Start: 0 + +4tnk: + icon: xxicon + Start: 0 + +truckb: + icon: xxicon + Start: 0 + +lpst: + icon: lpsticon + Start: 0 + +icbm: + icon: xxicon + Start: 0 + +repair: + icon: rboticon + Start: 0 + +art2: + icon: artyicon + Start: 0 + +weed: + icon: weedicon + Start: 0 + +bus: + icon: xxicon + Start: 0 + +pick: + icon: xxicon + Start: 0 + +car: + icon: xxicon + Start: 0 + +wini: + icon: xxicon + Start: 0 + +hmec: + icon: hmecicon + Start: 0 + +bike: + icon: cyclicon + Start: 0 + +bggy: + icon: bggyicon + Start: 0 + +sapc: + icon: sapcicon + Start: 0 + +subtank: + icon: subticon + Start: 0 + +sonic: + icon: soniicon + Start: 0 + +ttnk: + icon: tickicon + Start: 0 + +stnk: + icon: stnkicon + Start: 0 + mmch: stand: Start: 0 @@ -12,6 +104,8 @@ mmch: turret: Start: 120 Facings: -32 + icon: mmchicon + Start: 0 gghunt: idle: @@ -19,6 +113,8 @@ gghunt: Facings: 1 Length: 8 ShadowStart: 8 + icon: seekicon + Start: 0 smech: stand: # TODO: slightly glitchy @@ -34,4 +130,6 @@ smech: Start: 104 Length: 4 Facings: -8 - ShadowStart: 240 \ No newline at end of file + ShadowStart: 240 + icon: smchicon + Start: 0 \ No newline at end of file diff --git a/packaging/windows/OpenRA.nsi b/packaging/windows/OpenRA.nsi index 38c6d6917f..1217cb43fd 100644 --- a/packaging/windows/OpenRA.nsi +++ b/packaging/windows/OpenRA.nsi @@ -157,7 +157,6 @@ SectionGroup /e "Mods" File /r "${SRCDIR}\mods\d2k\tilesets" File /r "${SRCDIR}\mods\d2k\sequences" File /r "${SRCDIR}\mods\d2k\uibits" - File /r "${SRCDIR}\mods\d2k\weapons" SectionEnd SectionGroupEnd