Merge pull request #2223 from Mailaender/dune

Latest updates from the Dune 2000 mod
This commit is contained in:
Chris Forbes
2012-06-16 22:30:00 -07:00
97 changed files with 7564 additions and 5438 deletions

View File

@@ -27,7 +27,7 @@ namespace OpenRA.Graphics
var sequences = new MiniYaml(null, sequenceFiles.Select(s => MiniYaml.FromFile(s)).Aggregate(MiniYaml.MergeLiberal));
foreach (var s in sequences.NodesDict["Palettes"].Nodes)
Game.modData.Palette.AddPalette(s.Key, new Palette(FileSystem.Open(s.Value.Value), false));
Game.modData.Palette.AddPalette(s.Key, new Palette(FileSystem.Open(s.Value.Value), true));
foreach (var s in sequences.NodesDict["Cursors"].Nodes)
LoadSequencesForCursor(s.Key, s.Value);

View File

@@ -58,10 +58,10 @@
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="D2kLoadScreen.cs" />
<Compile Include="Render\RenderBuildingSeparateTurret.cs" />
<Compile Include="Widgets\Logic\D2kInstallLogic.cs" />
<Compile Include="Widgets\Logic\D2kExtractGameFilesLogic.cs" />
<Compile Include="Widgets\Logic\D2kInstallFromCDLogic.cs" />
<Compile Include="Widgets\Logic\D2kDownloadPackagesLogic.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
@@ -86,5 +86,12 @@ cd "$(SolutionDir)"</PostBuildEvent>
<Project>{1A8E50CC-EE32-4E57-8842-0C39C8EA7541}</Project>
<Name>OpenRA.TilesetBuilder</Name>
</ProjectReference>
<ProjectReference Include="..\OpenRA.Mods.RA\OpenRA.Mods.RA.csproj">
<Project>{4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}</Project>
<Name>OpenRA.Mods.RA</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Render\" />
</ItemGroup>
</Project>

View File

@@ -1,48 +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 OpenRA.Mods.RA.Buildings;
using OpenRA.Graphics;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Render
{
class RenderBuildingSeparateTurretInfo : RenderBuildingInfo, Requires<TurretedInfo>, Requires<AttackBaseInfo>
{
public override object Create(ActorInitializer init) { return new RenderBuildingSeparateTurret( init, this ); }
}
class RenderBuildingSeparateTurret : RenderBuilding
{
public RenderBuildingSeparateTurret( ActorInitializer init, RenderBuildingInfo info )
: base(init, info, MakeTurretFacingFunc(init.self))
{
var turretAnim = new Animation(GetImage(self), () => turreted.turretFacing );
turretAnim.Play( "turret" );
for( var i = 0; i < attack.Turrets.Count; i++ )
{
var turret = attack.Turrets[i];
anims.Add( "turret_{0}".F(i),
new AnimationWithOffset( turretAnim,
() => Combat.GetTurretPosition( self, facing, turret ),
null));
}
}
static Func<int> MakeTurretFacingFunc(Actor self)
{
var turreted = self.Trait<Turreted>();
return () => turreted.turretFacing;
}
}
} */

View File

@@ -0,0 +1,111 @@
#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.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Net;
using OpenRA.FileFormats;
using OpenRA.Widgets;
namespace OpenRA.Mods.D2k.Widgets.Logic
{
public class D2kDownloadPackagesLogic
{
Widget panel;
Dictionary<string,string> installData;
ProgressBarWidget progressBar;
LabelWidget statusLabel;
//Action afterInstall;
[ObjectCreator.UseCtor]
public D2kDownloadPackagesLogic(Widget widget, Dictionary<string,string> installData, Action afterInstall)
{
this.installData = installData;
//this.afterInstall = afterInstall;
panel = widget.Get("INSTALL_DOWNLOAD_PANEL");
progressBar = panel.Get<ProgressBarWidget>("PROGRESS_BAR");
statusLabel = panel.Get<LabelWidget>("STATUS_LABEL");
ShowDownloadDialog();
}
void ShowDownloadDialog()
{
statusLabel.GetText = () => "Initializing...";
progressBar.SetIndeterminate(true);
var retryButton = panel.Get<ButtonWidget>("RETRY_BUTTON");
retryButton.IsVisible = () => false;
var cancelButton = panel.Get<ButtonWidget>("CANCEL_BUTTON");
// Save the package to a temp file
var file = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
var dest = new string[] { Platform.SupportDir, "Content", Game.modData.Manifest.Mods[0] }.Aggregate(Path.Combine);
Action<DownloadProgressChangedEventArgs> onDownloadProgress = i =>
{
if (progressBar.Indeterminate)
progressBar.SetIndeterminate(false);
progressBar.Percentage = i.ProgressPercentage;
statusLabel.GetText = () => "Downloading {1}/{2} kB ({0}%)".F(i.ProgressPercentage, i.BytesReceived / 1024, i.TotalBytesToReceive / 1024);
};
Action<string> onExtractProgress = s =>
{
Game.RunAfterTick(() => statusLabel.GetText = () => s);
};
Action<string> onError = s =>
{
Game.RunAfterTick(() =>
{
statusLabel.GetText = () => "Error: "+s;
retryButton.IsVisible = () => true;
});
};
Action<AsyncCompletedEventArgs, bool> onDownloadComplete = (i, cancelled) =>
{
if (i.Error != null)
{
onError(Download.FormatErrorMessage(i.Error));
return;
}
else if (cancelled)
{
onError("Download cancelled");
return;
}
// Automatically extract
statusLabel.GetText = () => "Extracting...";
progressBar.SetIndeterminate(true);
if (InstallUtils.ExtractZip(file, dest, onExtractProgress, onError))
{
Game.RunAfterTick(() =>
{
Ui.CloseWindow();
//afterInstall();
});
}
};
var dl = new Download(installData["PackageURL"], file, onDownloadProgress, onDownloadComplete);
cancelButton.OnClick = () => { dl.Cancel(); Ui.CloseWindow(); };
retryButton.OnClick = () => { dl.Cancel(); ShowDownloadDialog(); };
}
}
}

View File

@@ -55,387 +55,402 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
var PathToDataR8 = Path.Combine(Platform.SupportDir, "Content/d2k/DATA.R8");
var PathToPalette = "mods/d2k/bits/d2k.pal";
var PathToImages = Path.Combine(Platform.SupportDir, "Content/d2k/SHPs");
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(PathToImages, "overlay")},
//new string[] {"--r8", PathToDataR8, PathToPalette, "40", "101", Path.Combine(PathToImages, "shadow")},
new string[] {"--r8", PathToDataR8, PathToPalette, "102", "105", Path.Combine(PathToImages, "crates")},
new string[] {"--r8", PathToDataR8, PathToPalette, "107", "109", Path.Combine(PathToImages, "spicebloom")},
new string[] {"--r8", PathToDataR8, PathToPalette, "114", "129", Path.Combine(PathToImages, "rockcrater1")},
new string[] {"--r8", PathToDataR8, PathToPalette, "130", "145", Path.Combine(PathToImages, "rockcrater2")},
new string[] {"--r8", PathToDataR8, PathToPalette, "146", "161", Path.Combine(PathToImages, "sandcrater1")},
new string[] {"--r8", PathToDataR8, PathToPalette, "162", "177", Path.Combine(PathToImages, "sandcrater2")},
new string[] {"--r8", PathToDataR8, PathToPalette, "206", "381", Path.Combine(PathToImages, "rifle"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "382", "457", Path.Combine(PathToImages, "rifledeath"), "--infantrydeath"},
new string[] {"--r8", PathToDataR8, PathToPalette, "458", "693", Path.Combine(PathToImages, "rocket"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "694", "929", Path.Combine(PathToImages, "fremen"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "930", "1165", Path.Combine(PathToImages, "sardaukar"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1166", "1221", Path.Combine(PathToImages, "engineer"), "--infantry"}, // death animation 1342..1401
new string[] {"--r8", PathToDataR8, PathToPalette, "1402", "1502", Path.Combine(PathToImages, "thumper"), "--infantry"}, // death animations 1543..1602
new string[] {"--r8", PathToDataR8, PathToPalette, "1603", "1634", Path.Combine(PathToImages, "missile"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1635", "1666", Path.Combine(PathToImages, "trike"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1667", "1698", Path.Combine(PathToImages, "quad"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1699", "1730", Path.Combine(PathToImages, "harvester"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1731", "1762", Path.Combine(PathToImages, "combata"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1763", "1794", Path.Combine(PathToImages, "siege"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1795", "1826", Path.Combine(PathToImages, "dmcv"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1827", "1858", Path.Combine(PathToImages, "sonic"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1859", "1890", Path.Combine(PathToImages, "combataturret"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1891", "1922", Path.Combine(PathToImages, "siegeturret"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1923", "1954", Path.Combine(PathToImages, "carryall"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1955", "2050", Path.Combine(PathToImages, "orni"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2051", "2082", Path.Combine(PathToImages, "combath"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2083", "2114", Path.Combine(PathToImages, "devast"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2115", "2146", Path.Combine(PathToImages, "combathturret"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2147", "2148", Path.Combine(PathToImages, "deathhandmissile")},
new string[] {"--r8", PathToDataR8, PathToPalette, "2245", "2284", Path.Combine(PathToImages, "saboteur"), "--infantry"}, //#death animations 2325..2388
{ new string[] {"--r8", PathToDataR8, PathToPalette, "0", "2", Path.Combine(PathToSHPs, "overlay")},
//new string[] {"--r8", PathToDataR8, PathToPalette, "40", "101", Path.Combine(PathToSHPs, "shadow")},
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, "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, "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", "693", Path.Combine(PathToSHPs, "bazooka"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "694", "929", Path.Combine(PathToSHPs, "fremen"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "930", "1165", Path.Combine(PathToSHPs, "sardaukar"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1166", "1221", Path.Combine(PathToSHPs, "engineer"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1342", "1401", Path.Combine(PathToSHPs, "engineerdeath"), "--infantrydeath"},
new string[] {"--r8", PathToDataR8, PathToPalette, "1402", "1502", Path.Combine(PathToSHPs, "thumper"), "--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, "2245", "2284", Path.Combine(PathToSHPs, "saboteur"), "--infantry"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2325", "2388", Path.Combine(PathToSHPs, "saboteurdeath"), "--infantrydeath"},
//rifleinfantry repetitions?
new string[] {"--r8", PathToDataR8, PathToPalette, "2389", "2420", Path.Combine(PathToImages, "deviator"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2421", "2452", Path.Combine(PathToImages, "raider"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2453", "2484", Path.Combine(PathToImages, "combato"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2485", "2516", Path.Combine(PathToImages, "combatoturret"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2517", "2517", Path.Combine(PathToImages, "frigate"), "--vehicle"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2518", "2520", Path.Combine(PathToImages, "heavya"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2521", "2522", Path.Combine(PathToImages, "radara"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2523", "2524", Path.Combine(PathToImages, "pwra"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2525", "2526", Path.Combine(PathToImages, "barra"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2527", "2558", Path.Combine(PathToImages, "wall"), "--wall"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2559", "2560", Path.Combine(PathToImages, "conyarda"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2561", "2563", Path.Combine(PathToImages, "refa"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2564", "2565", Path.Combine(PathToImages, "hightecha"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2566", "2570", Path.Combine(PathToImages, "siloa"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2571", "2572", Path.Combine(PathToImages, "repaira"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2573", "2588", Path.Combine(PathToImages, "guntower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToImages, "gunturret"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToImages, "rockettower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToImages, "rocketturreta"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2669", "2670", Path.Combine(PathToImages, "researcha"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2671", "2672", Path.Combine(PathToImages, "starporta"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2673", "2675", Path.Combine(PathToImages, "lighta"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2676", "2677", Path.Combine(PathToImages, "palacea"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2678", "2680", Path.Combine(PathToImages, "heavyh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2681", "2682", Path.Combine(PathToImages, "radarh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2683", "2684", Path.Combine(PathToImages, "pwrh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2685", "2686", Path.Combine(PathToImages, "barrh"), "--building"},
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, "wall"), "--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, "guntower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToSHPs, "gunturret"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToSHPs, "rockettower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToSHPs, "rocketturreta"), "--building"},
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"},
// identical wall
new string[] {"--r8", PathToDataR8, PathToPalette, "2719", "2720", Path.Combine(PathToImages, "conyardh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2721", "2723", Path.Combine(PathToImages, "refh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2724", "2725", Path.Combine(PathToImages, "hightechh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2726", "2730", Path.Combine(PathToImages, "siloh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2731", "2732", Path.Combine(PathToImages, "repairh"), "--building"},
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"},
// identical guntower
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToImages, "gunturreth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToImages, "rocketturreth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2829", "2830", Path.Combine(PathToImages, "researchh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2831", "2832", Path.Combine(PathToImages, "starporth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2833", "2835", Path.Combine(PathToImages, "lighth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2836", "2837", Path.Combine(PathToImages, "palaceh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2838", "2840", Path.Combine(PathToImages, "heavyo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2841", "2842", Path.Combine(PathToImages, "radaro"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2843", "2844", Path.Combine(PathToImages, "pwro"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2845", "2846", Path.Combine(PathToImages, "barro"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToSHPs, "gunturreth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToSHPs, "rocketturreth"), "--building"},
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"},
// identical wall
new string[] {"--r8", PathToDataR8, PathToPalette, "2879", "2880", Path.Combine(PathToImages, "conyardo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2881", "2883", Path.Combine(PathToImages, "refo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2884", "2885", Path.Combine(PathToImages, "hightecho"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2886", "2890", Path.Combine(PathToImages, "siloo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2891", "2892", Path.Combine(PathToImages, "repairo"), "--building"},
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"},
// identical guntower
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToImages, "gunturreto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToImages, "rocketturreto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2989", "2990", Path.Combine(PathToImages, "researcho"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2991", "2992", Path.Combine(PathToImages, "starporto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2993", "2995", Path.Combine(PathToImages, "lighto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2996", "2997", Path.Combine(PathToImages, "palaceo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "3549", "3564", Path.Combine(PathToImages, "sandwormmouth")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3565", "3585", Path.Combine(PathToImages, "sandwormdust")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3586", "3600", Path.Combine(PathToImages, "wormsigns1")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3601", "3610", Path.Combine(PathToImages, "wormsigns2")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3611", "3615", Path.Combine(PathToImages, "wormsigns3")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3616", "3620", Path.Combine(PathToImages, "wormsigns4")},
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToSHPs, "gunturreto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToSHPs, "rocketturreto"), "--building"},
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, "3370", "3380", Path.Combine(PathToSHPs, "unload"), "--vehicle"},
//explosions
new string[] {"--r8", PathToDataR8, PathToPalette, "3549", "3564", Path.Combine(PathToSHPs, "sandwormmouth")},
new string[] {"--r8", PathToDataR8, PathToPalette, "3565", "3585", Path.Combine(PathToSHPs, "sandwormdust")},
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, "3679", "3686", "sell"},
//explosions and muzzle flash
new string[] {"--r8", PathToDataR8, PathToPalette, "4011", "4011", Path.Combine(PathToImages, "rifleicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4012", "4012", Path.Combine(PathToImages, "bazookaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4013", "4013", Path.Combine(PathToImages, "engineericon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4014", "4014", Path.Combine(PathToImages, "thumpericon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4015", "4015", Path.Combine(PathToImages, "sadaukaricon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4016", "4016", Path.Combine(PathToImages, "trikeicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4017", "4017", Path.Combine(PathToImages, "raidericon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4018", "4018", Path.Combine(PathToImages, "quadicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4019", "4019", Path.Combine(PathToImages, "harvestericon")}, // == 4044
new string[] {"--r8", PathToDataR8, PathToPalette, "4020", "4020", Path.Combine(PathToImages, "combataicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4021", "4021", Path.Combine(PathToImages, "combathicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4022", "4022", Path.Combine(PathToImages, "combatoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4023", "4023", Path.Combine(PathToImages, "mcvicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4024", "4024", Path.Combine(PathToImages, "missileicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4025", "4025", Path.Combine(PathToImages, "deviatoricon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4026", "4026", Path.Combine(PathToImages, "siegeicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4027", "4027", Path.Combine(PathToImages, "sonicicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4028", "4028", Path.Combine(PathToImages, "devasticon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4029", "4029", Path.Combine(PathToImages, "carryallicon")}, // == 4030
new string[] {"--r8", PathToDataR8, PathToPalette, "4031", "4031", Path.Combine(PathToImages, "orniicon")}, // == 4062
new string[] {"--r8", PathToDataR8, PathToPalette, "4032", "4032", Path.Combine(PathToImages, "fremenicon")}, // == 4033
new string[] {"--r8", PathToDataR8, PathToPalette, "4034", "4034", Path.Combine(PathToImages, "saboteuricon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4035", "4035", Path.Combine(PathToImages, "deathhandicon")},
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")}, // == 4044
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")}, // == 4030
new string[] {"--r8", PathToDataR8, PathToPalette, "4031", "4031", Path.Combine(PathToSHPs, "orniicon")}, // == 4062
new string[] {"--r8", PathToDataR8, PathToPalette, "4032", "4032", Path.Combine(PathToSHPs, "fremenicon")}, // == 4033
new string[] {"--r8", PathToDataR8, PathToPalette, "4034", "4034", Path.Combine(PathToSHPs, "saboteuricon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4035", "4035", Path.Combine(PathToSHPs, "deathhandicon")},
// "4036..4045 = repetitions
new string[] {"--r8", PathToDataR8, PathToPalette, "4046", "4046", Path.Combine(PathToImages, "conyardaicon")}, // == 4049
new string[] {"--r8", PathToDataR8, PathToPalette, "4047", "4047", Path.Combine(PathToImages, "conyardhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4048", "4048", Path.Combine(PathToImages, "conyardoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4050", "4050", Path.Combine(PathToImages, "4plateicon")}, // == 4051..4052
new string[] {"--r8", PathToDataR8, PathToPalette, "4053", "4053", Path.Combine(PathToImages, "6plateicon")}, // == 4054..4055
new string[] {"--r8", PathToDataR8, PathToPalette, "4056", "4056", Path.Combine(PathToImages, "pwraicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4057", "4057", Path.Combine(PathToImages, "pwrhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4058", "4058", Path.Combine(PathToImages, "pwroicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4059", "4059", Path.Combine(PathToImages, "barraicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4060", "4060", Path.Combine(PathToImages, "barrhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4061", "4061", Path.Combine(PathToImages, "barroicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4063", "4063", Path.Combine(PathToImages, "wallicon")}, // == 4061..4062
new string[] {"--r8", PathToDataR8, PathToPalette, "4066", "4066", Path.Combine(PathToImages, "refaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4067", "4067", Path.Combine(PathToImages, "refhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4068", "4068", Path.Combine(PathToImages, "refoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4069", "4069", Path.Combine(PathToImages, "turreticon")}, // == 4070..4071
new string[] {"--r8", PathToDataR8, PathToPalette, "4072", "4072", Path.Combine(PathToImages, "radaraicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4072", "4072", Path.Combine(PathToImages, "radaraicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4073", "4073", Path.Combine(PathToImages, "radarhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4074", "4074", Path.Combine(PathToImages, "radaroicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4075", "4075", Path.Combine(PathToImages, "rturreticon")}, // == 4076..4077
new string[] {"--r8", PathToDataR8, PathToPalette, "4078", "4078", Path.Combine(PathToImages, "hightechaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4079", "4079", Path.Combine(PathToImages, "hightechhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4080", "4080", Path.Combine(PathToImages, "hightechoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4081", "4081", Path.Combine(PathToImages, "lightaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4082", "4082", Path.Combine(PathToImages, "lighthicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4083", "4083", Path.Combine(PathToImages, "lightoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4084", "4084", Path.Combine(PathToImages, "siloaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4085", "4085", Path.Combine(PathToImages, "silohicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4086", "4086", Path.Combine(PathToImages, "silooicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4087", "4087", Path.Combine(PathToImages, "heavyaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4088", "4088", Path.Combine(PathToImages, "heavyhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4089", "4089", Path.Combine(PathToImages, "heavyoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4046", "4046", Path.Combine(PathToSHPs, "conyardaicon")}, // == 4049
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, "4050", "4050", Path.Combine(PathToSHPs, "4plateicon")}, // == 4051..4052
new string[] {"--r8", PathToDataR8, PathToPalette, "4053", "4053", Path.Combine(PathToSHPs, "6plateicon")}, // == 4054..4055
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, "4063", "4063", Path.Combine(PathToSHPs, "wallicon")}, // == 4061..4062
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, "turreticon")}, // == 4070..4071
new string[] {"--r8", PathToDataR8, PathToPalette, "4072", "4072", Path.Combine(PathToSHPs, "radaraicon")},
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, "rturreticon")}, // == 4076..4077
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")},
// 4090 == orniicon
// 4091 == heavyhicon
new string[] {"--r8", PathToDataR8, PathToPalette, "4092", "4092", Path.Combine(PathToImages, "starportaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4093", "4093", Path.Combine(PathToImages, "starporthicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4094", "4094", Path.Combine(PathToImages, "starportoicon")},
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")},
// 4095 = orniicon
new string[] {"--r8", PathToDataR8, PathToPalette, "4096", "4096", Path.Combine(PathToImages, "repairaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4097", "4097", Path.Combine(PathToImages, "repairhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4098", "4098", Path.Combine(PathToImages, "repairoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4099", "4099", Path.Combine(PathToImages, "researchaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4100", "4100", Path.Combine(PathToImages, "researchhicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4101", "4101", Path.Combine(PathToImages, "researchoicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4102", "4102", Path.Combine(PathToImages, "palaceaicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4103", "4103", Path.Combine(PathToImages, "palacehicon")},
new string[] {"--r8", PathToDataR8, PathToPalette, "4104", "4104", Path.Combine(PathToImages, "palaceoicon")},
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")},
// 4105 = orniicon
// 4106..4107 = radaraicon
// 4108 = conyardaicon
new string[] {"--r8", PathToDataR8, PathToPalette, "4109", "4150", Path.Combine(PathToImages, "conmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4151", "4174", Path.Combine(PathToImages, "wtrpmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4175", "4194", Path.Combine(PathToImages, "barramake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4231", "4253", Path.Combine(PathToImages, "refmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4254", "4273", Path.Combine(PathToImages, "radarmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4274", "4294", Path.Combine(PathToImages, "highmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4295", "4312", Path.Combine(PathToImages, "lightmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4313", "4327", Path.Combine(PathToImages, "silomake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4328", "4346", Path.Combine(PathToImages, "heavymake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4347", "4369", Path.Combine(PathToImages, "starportmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4370", "4390", Path.Combine(PathToImages, "repairmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4391", "4412", Path.Combine(PathToImages, "researchmake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4413", "4435", Path.Combine(PathToImages, "palacemake"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4436", "4449", Path.Combine(PathToImages, "cranea"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4450", "4463", Path.Combine(PathToImages, "craneh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4463", "4477", Path.Combine(PathToImages, "craneo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4760", "4819", Path.Combine(PathToImages, "windtrap_anim"), "--building"}, //?
new string[] {"--r8", PathToDataR8, PathToPalette, "4820", "4840", Path.Combine(PathToImages, "missile_launch"), "--building"},
new string[] {"--r8", Path.Combine(Platform.SupportDir, "Content/d2k/MOUSE.R8"), PathToPalette, "0", "264", Path.Combine(PathToImages, "mouse"), "--transparent"},
new string[] {"--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBASE.R8"), PathToPalette, "0", "799", Path.Combine(PathToImages, "BASE"), "--tileset"},
new string[] {"--r8", Path.Combine(Platform.SupportDir, "Content/d2k/BLOXBASE.R8"), PathToPalette, "748", "749", Path.Combine(PathToImages, "spice0")},
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, "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, "4463", "4477", Path.Combine(PathToSHPs, "craneo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "4760", "4819", Path.Combine(PathToSHPs, "windtrap_anim"), "--building"}, //?
new string[] {"--r8", PathToDataR8, PathToPalette, "4820", "4840", Path.Combine(PathToSHPs, "missile_launch"), "--building"},
new string[] {"--r8", Path.Combine(Platform.SupportDir, "Content/d2k/MOUSE.R8"), PathToPalette, "0", "264", Path.Combine(PathToSHPs, "mouse"), "--transparent"},
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 SHPsToCreate = new string[][]
{
new string[] {"--shp", Path.Combine(PathToImages, "overlay.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "crates.png"), "32"},
//new string[] {"--shp", Path.Combine(PathToImages, "shadow.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "spicebloom.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "rockcrater1.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "rockcrater2.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "sandcrater1.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "sandcrater2.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "rifle.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rifledeath.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rocket.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "fremen.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "sardaukar.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "engineer.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "thumper.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "missile.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "trike.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "quad.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "harvester.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "combata.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "siege.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "dmcv.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "sonic.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "combataturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "siegeturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "carryall.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "orni.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "combath.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "devast.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "combathturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "deathhandmissile.png"), "24"},
new string[] {"--shp", Path.Combine(PathToImages, "saboteur.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "deviator.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "raider.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "combato.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "combatoturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "frigate.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "heavya.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "radara.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "pwra.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "barra.png"), "80"},
new string[] {"--shp", Path.Combine(PathToImages, "wall.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "conyarda.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "refa.png"), "120"},
new string[] {"--shp", Path.Combine(PathToImages, "hightecha.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "siloa.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "repaira.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "guntower.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "gunturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rockettower.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rocketturreta.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "researcha.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "starporta.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "lighta.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "palacea.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "heavyh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "radarh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "pwrh.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "barrh.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "conyardh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "refh.png"), "120"},
new string[] {"--shp", Path.Combine(PathToImages, "hightechh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "siloh.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "repairh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "gunturreth.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rocketturreth.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "researchh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "starporth.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "lighth.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "palaceh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "heavyo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "radaro.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "pwro.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "barro.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "conyardo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "refo.png"), "120"},
new string[] {"--shp", Path.Combine(PathToImages, "hightecho.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "siloo.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "repairo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "gunturreto.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rocketturreto.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "researcho.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "starporto.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "lighto.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "palaceo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "sandwormmouth.png"), "68"},
new string[] {"--shp", Path.Combine(PathToImages, "sandwormdust.png"), "68"},
new string[] {"--shp", Path.Combine(PathToImages, "wormsigns1.png"), "16"},
new string[] {"--shp", Path.Combine(PathToImages, "wormsigns2.png"), "16"},
new string[] {"--shp", Path.Combine(PathToImages, "wormsigns3.png"), "16"},
new string[] {"--shp", Path.Combine(PathToImages, "wormsigns4.png"), "16"},
//new string[] {"--shp", Path.Combine(PathToImages, "sell.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "rifleicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "bazookaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "engineericon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "thumpericon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "sadaukaricon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "trikeicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "raidericon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "quadicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "harvestericon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "combataicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "combathicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "combatoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "mcvicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "missileicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "deviatoricon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "siegeicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "sonicicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "devasticon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "carryallicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "orniicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "fremenicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "saboteuricon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "deathhandicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "conyardaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "conyardhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "conyardoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "4plateicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "6plateicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "pwraicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "pwrhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "pwroicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "barraicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "barrhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "barroicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "wallicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "refaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "refhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "refoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "turreticon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "radaraicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "radarhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "radaroicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "rturreticon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "hightechaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "hightechhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "hightechoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "lightaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "lighthicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "lightoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "siloaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "silohicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "silooicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "heavyaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "heavyhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "heavyoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "starportaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "starporthicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "starportoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "repairaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "repairhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "repairoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "researchaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "researchhicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "researchoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "palaceaicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "palacehicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "palaceoicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToImages, "conmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "wtrpmake.png"), "64"},
new string[] {"--shp", Path.Combine(PathToImages, "barramake.png"), "80"},
new string[] {"--shp", Path.Combine(PathToImages, "refmake.png"), "120"},
new string[] {"--shp", Path.Combine(PathToImages, "radarmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "highmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "lightmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "silomake.png"), "32"},
new string[] {"--shp", Path.Combine(PathToImages, "heavymake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "starportmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "repairmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "researchmake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "palacemake.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "cranea.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "craneh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "craneo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "windtrap_anim.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "missile_launch.png"), "96"},
new string[] {"--shp", Path.Combine(PathToImages, "mouse.png"), "48"},
new string[] {"--shp", Path.Combine(PathToImages, "spice0.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "overlay.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "crates.png"), "32"},
//new string[] {"--shp", Path.Combine(PathToSHPs, "shadow.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "spicebloom.png"), "32"},
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, "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, "fremen.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "sardaukar.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, "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, "wall.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, "guntower.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettower.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, "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, "gunturreth.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, "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, "gunturreto.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, "unload.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "sandwormmouth.png"), "68"},
new string[] {"--shp", Path.Combine(PathToSHPs, "sandwormdust.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, "sell.png"), "48"},
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, "4plateicon.png"), "60"},
new string[] {"--shp", Path.Combine(PathToSHPs, "6plateicon.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, "wallicon.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, "turreticon.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, "rturreticon.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, "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, "windtrap_anim.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "missile_launch.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "mouse.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "spice0.png"), "32"},
};
var onError = (Action<string>)(s => Game.RunAfterTick(() =>
@@ -464,10 +479,26 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
File.Delete(SHPsToCreate[i][1]);
}
File.Delete(Path.Combine(PathToImages, "BASE.tsx"));
File.Copy("mods/d2k/tilesets/BASE.tsx", Path.Combine(PathToImages, "BASE.tsx"));
// this is ugly: a GUI will open and close immediately after some delay
Process.Start("OpenRA.TilesetBuilder.exe", Path.Combine(PathToImages, "BASE.png")+" 32 --export Content/d2k/Tilesets");
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)));
// 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(() =>
{

View File

@@ -26,6 +26,9 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
{ "installData", installData }
};
panel.Get<ButtonWidget>("DOWNLOAD_BUTTON").OnClick = () =>
Ui.OpenWindow("INSTALL_DOWNLOAD_PANEL", args);
panel.Get<ButtonWidget>("COPY_BUTTON").OnClick = () =>
Ui.OpenWindow("INSTALL_FROMCD_PANEL", args);

View File

@@ -9,7 +9,7 @@
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenRA.TilesetBuilder</RootNamespace>
<AssemblyName>OpenRA.TilesetBuilder2</AssemblyName>
<AssemblyName>OpenRA.TilesetBuilder</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ApplicationIcon>tilesetbuilder_icon copy.ico</ApplicationIcon>
@@ -18,7 +18,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>.</OutputPath>
<OutputPath>..</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -29,7 +29,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<OutputPath>..</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>

View File

@@ -44,7 +44,7 @@ namespace OpenRA.TilesetBuilder.Properties
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenRA.TilesetBuilder2.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenRA.TilesetBuilder.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;

View File

@@ -3,6 +3,10 @@ Terrain:
Type: Sand
AcceptSmudge: True
Color: 208, 192, 160
TerrainType@Transition:
Type: Transition
AcceptSmudge: True
Color: 207, 166, 100
TerrainType@Rock:
Type: Rock
AcceptSmudge: True

View File

@@ -246,7 +246,7 @@ namespace OpenRA.TilesetBuilder
string ExportTemplate(Template t, int n, string suffix, string dir)
{
var TileSize = size;
var filename = Path.Combine(dir, "t{0:00}{1}".F(n, suffix));
var filename = Path.Combine(dir, "{0}{1:00}{2}".F(txtTilesetName.Text, n, suffix));
var totalTiles = t.Width * t.Height;
var ms = new MemoryStream();
@@ -391,7 +391,7 @@ namespace OpenRA.TilesetBuilder
var template = new TileTemplate()
{
Id = cur,
Image = "t{0:00}".F(cur),
Image = "{0}{1:00}".F(txtTilesetName.Text, cur),
Size = new int2(tp.Width,tp.Height),
};

View File

@@ -52,6 +52,8 @@ namespace OpenRA.Utility
using (var destStream = File.Create(dest))
ShpWriter.Write(destStream, width, srcImage.Height,
srcImage.ToFrames(width));
Console.WriteLine(dest+" saved");
}
static IEnumerable<byte[]> ToFrames(this Bitmap bitmap, int width)

View File

@@ -1,30 +1,27 @@
# make structures appear earlier when errecting from ground
# harvester harvest and unload frames missing (too few DATA.R8 frames in general)
# too few DATA.R8 frames?
# carryalls should automatically transport harvesters (needs complex logic)
# windtrap animations missing
# outpost animations missing
# construction yard crane animations missing
# welding animation (factories) missing
# chimney animation (refinery) missing
# harvester unload and harvest animation missing
# add more spice tiles and make them fit
# add game logic for concrete plates (use terrain overlay from bridges/ressources)
# allow placing turrets on walls
# support separate turret sequence with RenderBuildingTurreted
# RenderBuildingTurreted does not support separate turret sequence
# ornithocopter should flap (might need new RenderOrni code for proper animation)
# R8 converter needs infantry frame resorter
# add trooper
# add engineer
# add fremen
# add saboteur
# add deathhand missile (nuke)
# add sandworm
# add thumper which really attracts sandworms
# add grenade thrower
# add sandworm (behave like a moving anti-vehicle mine)
# add thumper which deploys and really attracts sandworms
# add neutral buildings: emperor palace, fremen siech, smugglers factory
# add deathhand missile (nuke)
# maybe add ornithocopter strikes (they are currently directly contrallable units with non-reloading machine guns as in Dune II)
# allow upgrades
# allow different EVA voices for each faction (currently Atreides only)
# add SOUND.TS .wav file extractor to RA.Utility.exe
# convert .wav to .aud or support .wav files for Dune 2000 sounds
# add muzzles and explosions with lightning (might need engine update)
# add muzzles and explosions (currently falls back to RA)
# create a shellmap (currently just a blank placeholder)
# rework chrome UI, dialoges, tabs
# add sonic tank weapon (currently uses tesla)
@@ -32,8 +29,11 @@
# allow frigate to deliver 5 units at once to starport
# starport prices should vary
# reinforcements have arrived is played twice when ordering via starport
# add shroud (Dune's 32x32 tiles differ completely from RA/CnC)
# black spots on buildings should be transparent
# fix shroud, currently falls back to 24x24 shadow from RA (Dune's 32x32 tiles differ completely from RA/CnC)
# black spots on buildings should be fading team colors
# gamefile extraction (setup/setup.z) from CD fails
# support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new unit: grenade thrower
# mouse cursor has no transparency and is a little pixelish
# mouse cursor has no transparency and is a little pixelish
# infantry-only areas (Rough) do not show the dark-green mouse cursor
# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI)
# replace RA sounds by Dune 2000 ones

BIN
mods/d2k/bits/20MMGUN1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/BAZOOK1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/BUILD1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/BUTTON1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/CASHTIK1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/CHAT1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/CHUNG.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/CRUSH1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/ENDLIST1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLHG1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLHG2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLLG1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLLG2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLLG3.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLLG4.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLLG5.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLMD1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLMD2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLMD3.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLMD4.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLSML1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLSML2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLSML3.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/EXPLSML4.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/FLAMER1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/FREMODD1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY0.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY3.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY4.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY5.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY6.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY7.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY8.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/KILLGUY9.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/MEDTANK1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/MGUN2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/MISSLE1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/MORTAR1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/MULTI1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/NAPALM1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/POWRDN1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/POWRUP1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/RADRON1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/ROCKET1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/SCORTIK1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/SIDEBAR1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/SONIC1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/SONIC3.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/STEALTH1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/STEALTH2.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/TANKHVY1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/THUMPER1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/TURRET1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/WORM.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/WRMSIGN1.aud Normal file

Binary file not shown.

BIN
mods/d2k/bits/mouse.shp Normal file

Binary file not shown.

View File

@@ -3,7 +3,7 @@ Background@INSTALL_PANEL:
X:(WINDOW_RIGHT - WIDTH)/2
Y:(WINDOW_BOTTOM - HEIGHT)/2
Width:600
Height:300
Height:350
Children:
Label@TITLE:
X:0
@@ -22,35 +22,42 @@ Background@INSTALL_PANEL:
Align:Center
Label@DESC2:
X:0
Y:70
Y:90
Width:PARENT_RIGHT
Height:25
Text:It requires the original Dune 2000 (and still some Red Alert) game content.
Align:Center
Label@DESC4:
X:0
Y:110
Width:PARENT_RIGHT
Height:25
Text:You need to copy "Dune 2000/Data/GAMESFX" folder and "Dune 2000/DATA/*.R8" files
Align:Center
Label@DESC5:
Label@DESC3:
X:0
Y:130
Width:PARENT_RIGHT
Height:25
Text: from your local Dune 2000 installation to ~/.openra/Content/d2k/ (Linux)
Text:The easiest way is to simply click download to get 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:150
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:190
Y:250
Width:PARENT_RIGHT
Height:25
Text: Put in your Dune 2000 CD and click "Copy Music" to (optionally) download the tracks.
@@ -69,6 +76,13 @@ Background@INSTALL_PANEL:
Height:25
Text:Copy Music
Font:Bold
Button@DOWNLOAD_BUTTON:
X:PARENT_RIGHT - 560
Y:PARENT_BOTTOM - 45
Width:120
Height:25
Text:Download
Font:Bold
Button@QUIT_BUTTON:
X:PARENT_RIGHT - 140
Y:PARENT_BOTTOM - 45
@@ -77,6 +91,50 @@ Background@INSTALL_PANEL:
Text:Quit
Font:Bold
Background@INSTALL_DOWNLOAD_PANEL:
Logic:D2kDownloadPackagesLogic
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:Downloading Dune 2000 Content
Align:Center
Font:Bold
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
Button@RETRY_BUTTON:
X:PARENT_RIGHT - 280
Y:PARENT_BOTTOM - 45
Width:120
Height:25
Visible: false
Text:Retry
Font:Bold
Key:return
Button@CANCEL_BUTTON:
X:PARENT_RIGHT - 140
Y:PARENT_BOTTOM - 45
Width:120
Height:25
Text:Cancel
Font:Bold
Key:escape
Background@INSTALL_FROMCD_PANEL:
Logic:D2kInstallFromCDLogic
X:(WINDOW_RIGHT - WIDTH)/2

View File

@@ -417,10 +417,10 @@ Background@COLOR_CHOOSER:
Height:25
Text:Random
Font:Bold
ShpImage@FACT:
ShpImage@CARRYALL:
X:220
Y:10
Image:fact
Image:carryall
Palette:colorpicker
Label@HUE_LABEL:
X:0

View File

@@ -1,8 +1,9 @@
Palettes:
cursor: d2k.pal
cursor: cursor.pal
mouse: d2k.pal
Cursors:
mouse: cursor
mouse: mouse
scroll-t:
start:112
x: 12
@@ -148,12 +149,12 @@ Cursors:
start:104
c4:
start:252
length: 8
length: 4
x: 12
y: 12
c4-minimap:
start:252
length: 8
length: 4
x: 12
y: 12
guard:
@@ -224,6 +225,16 @@ Cursors:
length: 1
x: 12
y: 12
goldwrench:
start:88
length: 8
x: 12
y: 12
goldwrench-blocked:
start:64
length: 1
x: 12
y: 12
nopower: cursor
powerdown-blocked:

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -81,7 +81,7 @@ Voices:
mods/d2k/voices.yaml
TileSets:
mods/d2k/tilesets/base.yaml
mods/d2k/tilesets/arrakis.yaml
TileSize: 32
@@ -93,6 +93,7 @@ Movies:
LoadScreen: D2kLoadScreen
InstallerMenuWidget: INSTALL_PANEL
TestFile: carryall.shp
PackageURL: http://open-ra.org/get-dependency.php?file=d2k-packages
ServerTraits:
LobbyCommands

View File

@@ -20,8 +20,8 @@ CARRYALL:
Helicopter:
InitialFacing: 0
ROT: 5
Speed: 15
LandableTerrainTypes: Sand, Rock, Spice, Dune
Speed: 20
LandableTerrainTypes: Sand, Rock, Transition, Spice, Dune
RepairBuildings: repaira,repairo,repairh
RearmBuildings: hightecha
RenderUnit:

View File

@@ -99,7 +99,7 @@ MCVA:
Facing: 10
IntoActor: conyarda
Offset:-1,-1
TransformSounds:
TransformSounds: BUILD1.aud
NoTransformSounds: AI_DPLOY.AUD
RenderUnit:
Image: DMCV
@@ -110,7 +110,7 @@ COMBATA:
Prerequisites: heavya
Owner: atreides
SONIC:
SONICTANK:
Inherits: ^Vehicle
Buildable:
Queue: Vehicle
@@ -136,4 +136,40 @@ SONIC:
AttackFrontal:
PrimaryWeapon: TTankZap
PrimaryOffset: 0,0,0,-5
AutoTarget:
AutoTarget:
FREMEN:
Inherits: ^Infantry
Valued:
Cost: 800
Tooltip:
Name: Fremen
Description: Elite sniper infantry unit.\n Strong vs Infantry\n Weak vs Vehicles\n Special Ability: Invisible
Buildable:
Queue: Infantry
BuildPaletteOrder: 50
Owner: atreides
Prerequisites: palacea
Selectable:
Bounds: 12,17,0,-6
# Voice: CommandoVoice
Mobile:
Speed: 5
Health:
HP: 200
Passenger:
PipType: Red
RevealsShroud:
Range: 6
AutoTarget:
ScanRadius: 5
AttackFrontal:
PrimaryWeapon: Sniper
RenderInfantryProne:
-RenderInfantry:
TakeCover:
Cloak:
InitialDelay: 125
CloakDelay: 125
CloakSound:
UncloakSound:

View File

@@ -1,10 +1,11 @@
^Vehicle:
AppearsOnRadar:
Mobile:
Crushes: crate
Crushes: crate, worm
TerrainSpeeds:
Sand: 80
Rock: 90
Transition: 85
Concrete: 100
Spice: 70
SpiceBlobs: 70
@@ -34,10 +35,11 @@
^Tank:
AppearsOnRadar:
Mobile:
Crushes: crate
Crushes: crate, worm
TerrainSpeeds:
Sand: 80
Rock: 90
Transition: 85
Concrete: 100
Spice: 70
SpiceBlobs: 70
@@ -78,6 +80,7 @@
TerrainSpeeds:
Sand: 80
Rock: 90
Transition: 85
Concrete: 100
Spice: 70
SpiceBlobs: 70

View File

@@ -143,4 +143,35 @@ DEVAST:
EmptyWeapon: UnitExplodeSmall
LeavesHusk:
Selectable:
Bounds: 44,38,0,-4
Bounds: 44,38,0,-4
SARDAUKAR:
Inherits: ^Infantry
Buildable:
Queue: Infantry
BuildPaletteOrder: 110
Prerequisites: palaceh
Owner: harkonnen
Valued:
Cost: 800
Tooltip:
Name: Sardaukar
Description: Heavy infantry.
Selectable:
# Voice: TanyaVoice
Bounds: 12,17,0,-9
Health:
HP: 150
Mobile:
Speed: 5
RevealsShroud:
Range: 6
Passenger:
PipType: Red
TakeCover:
-RenderInfantry:
RenderInfantryProne:
AttackFrontal:
PrimaryWeapon: Vulcan
SecondaryWeapon: Dragon
PrimaryOffset: 0,0,0,-13

View File

@@ -7,7 +7,7 @@ RIFLE:
Valued:
Cost: 100
Tooltip:
Name: Rifle Infantry
Name: Rifleman
Description: General-purpose infantry.\n Strong vs Infantry\n Weak vs Vehicles
Selectable:
Bounds: 12,17,0,0
@@ -19,4 +19,56 @@ RIFLE:
PrimaryWeapon: M1Carbine
TakeCover:
-RenderInfantry:
RenderInfantryProne:
ENGINEER:
Inherits: ^Infantry
Buildable:
Queue: Infantry
BuildPaletteOrder: 50
Owner: atreides,harkonnen,ordos
Valued:
Cost: 500
Tooltip:
Name: Engineer
Description: Infiltrates and captures enemy structures.\n Strong vs Nothing\n Weak vs Everything
Selectable:
# Voice: EngineerVoice
Bounds: 12,17,0,-9
Health:
HP: 25
Mobile:
Speed: 4
Passenger:
PipType: Yellow
EngineerRepair:
Captures:
TakeCover:
-AutoTarget:
AttackMove:
JustMove: true
BAZOOKA:
Inherits: ^Infantry
Buildable:
Queue: Infantry
BuildPaletteOrder: 20
Owner: atreides,harkonnen,ordos
Valued:
Cost: 300
Tooltip:
Name: Trooper
Description: Anti-tank/Anti-aircraft infantry.\n Strong vs Tanks, Aircraft\n Weak vs Infantry
Selectable:
Bounds: 12,17,0,-9
Health:
HP: 45
Mobile:
Speed: 3
AttackFrontal:
PrimaryWeapon: RedEye
SecondaryWeapon: Dragon
PrimaryOffset: 0,0,0,-13
TakeCover:
-RenderInfantry:
RenderInfantryProne:

View File

@@ -141,7 +141,7 @@ RAIDER:
SecondaryOffset: 0,0,0,-4
AutoTarget:
DEVIATOR:
DEVIATORTANK:
Inherits: ^Tank
Valued:
Cost: 800
@@ -166,4 +166,36 @@ DEVIATOR:
PrimaryWeapon: MammothTusk
PrimaryLocalOffset: -7,2,0,0,25, 7,2,0,0,-25
PrimaryRecoil: 1
AutoTarget:
AutoTarget:
SABOTEUR:
Inherits: ^Infantry
Buildable:
Queue: Infantry
BuildPaletteOrder: 110
Prerequisites: palaceo
Owner: ordos
Valued:
Cost: 800
Tooltip:
Name: Saboteur
Description: Sneaky infantry, armed with explosives.\n Strong vs Buildings\n Weak vs Everything\n Special Ability: destroy buildings
Selectable:
# Voice: TanyaVoice
Bounds: 12,17,0,-9
Health:
HP: 100
Mobile:
Speed: 5
RevealsShroud:
Range: 6
C4Demolition:
C4Delay: 45
Passenger:
PipType: Red
TakeCover:
-RenderInfantry:
RenderInfantryProne:
-AutoTarget:
AttackMove:
JustMove: true

View File

@@ -374,7 +374,7 @@ WALL:
Footprint: x
BuildSounds:
Adjacent: 7
TerrainTypes: Clear,Road
TerrainTypes: Rock
Health:
HP: 500
Armor:
@@ -423,7 +423,6 @@ GUNTOWER:
RenderRangeCircle:
-RenderBuilding:
RenderBuildingTurreted:
Palette: d2k
Turreted:
ROT: 12
InitialFacing: 50

View File

@@ -86,6 +86,8 @@ Player:
powrh: 35%
powro: 35%
UnitsToBuild:
rifle: 30%
bazooka: 30%
trike: 30%
raider: 30%
quad: 40%
@@ -116,6 +118,7 @@ World:
Maximum: 3
SpawnInterval: 120
WaterChance: 0
ValidGround: Sand, Dune, Rock
PaletteFromCurrentTileset:
Name: terrain
PaletteFromFile@d2k:
@@ -172,6 +175,8 @@ World:
Name: Ordos
Race: ordos
# BibLayer:
# BibTypes: bib2x2,bib3x2,bib3x3
# BibWidths: 2,3,3
ResourceLayer:
ResourceType@spice:
ResourceType: 1
@@ -201,11 +206,11 @@ World:
Faction: ordos
#TODO: These are just the Atreides sounds.
EvaAlerts:
RadarUp:
RadarDown:
RadarUp: POWRUP1.aud
RadarDown: POWRDN1.aud
BuildingCannotPlaceAudio: AI_PLACE.AUD
CashTickUp:
CashTickDown:
CashTickUp: CASHTIK1.aud
CashTickDown:CASHTIK1.aud
NewOptions: AI_NEWOP.AUD
LowPower: AI_POWER.AUD
SilosNeeded: AI_SILOS.AUD
@@ -268,7 +273,6 @@ waypoint:
SPICEBLOOM:
RenderBuilding:
Palette: d2k
Building:
Footprint: x
Dimensions: 1,1
@@ -283,4 +287,29 @@ SPICEBLOOM:
SeedsResource:
ResourceType: Spice
RadarColorFromTerrain:
Terrain: Spice
Terrain: Spice
SANDWORM:
Inherits: ^Infantry
Buildable:
Owner: Creep
Valued:
Cost: 1000
Tooltip:
Name: Sandworm
Description: Attracted by vibrations in the sand. Will eat units whole and has a large appetite.
Icon: sandwormdust
Health:
HP: 10000
Mobile:
Speed: 5
TerrainSpeeds:
Sand: 100
Dune: 100
AutoTarget:
AttackWander:
AttackLeap:
PrimaryWeapon: WormJaw
CanAttackGround: no
RenderInfantry:
BelowUnits:

View File

@@ -146,7 +146,7 @@ QUAD:
Selectable:
Bounds: 30,30
SIEGE:
SIEGETANK:
Inherits: ^Tank
Buildable:
Queue: Vehicle
@@ -179,7 +179,7 @@ SIEGE:
Chance: 75
AutoTarget:
MISSILE:
MISSILETANK:
Inherits: ^Tank
Valued:
Cost: 800

View File

@@ -55,9 +55,7 @@ quad:
Start: 0
Facings: 32
siege:
siegetank:
idle:
Start: 0
Facings: 32
@@ -65,12 +63,12 @@ siege:
Start: 0
Facings: 32
missile:
missiletank:
idle:
Start: 0
Facings: 32
sonic:
sonictank:
idle:
Start: 0
Facings: 32
@@ -149,6 +147,202 @@ rifle:
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
Tick: 1600
bazooka:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
stand3:
Start: 0
Facings: 8
run:
Start: 8
Length: 6
Facings: 8
shoot:
Start: 56
Length: 5
Facings: 8
prone-stand:
Start: 104
Length: 1
Facings: 8
prone-run:
Start: 112
Length: 3
Facings: 8
standup-0:
Start: 96
Length: 1
Facings: 8
prone-shoot:
Start: 136
Length: 5
Facings: 8
die1: rifledeath
Start: 0
Length: 5
die2: rifledeath
Start: 5
Length: 7
die3: rifledeath
Start: 12
Length: 7
die4: rifledeath
Start: 19
Length: 7
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
Tick: 1600
engineer:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
Length: 6
Facings: 8
die1: rifledeath
Start: 0
Length: 5
die2: rifledeath
Start: 5
Length: 7
die3: rifledeath
Start: 12
Length: 7
die4: rifledeath
Start: 19
Length: 7
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
Tick: 1600
fremen:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
Length: 6
Facings: 8
die1: rifledeath
Start: 0
Length: 5
die2: rifledeath
Start: 5
Length: 7
die3: rifledeath
Start: 12
Length: 7
die4: rifledeath
Start: 19
Length: 7
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
Tick: 1600
saboteur:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
Length: 4
Facings: 8
die1: rifledeath
Start: 0
Length: 5
die2: rifledeath
Start: 5
Length: 7
die3: rifledeath
Start: 12
Length: 7
die4: rifledeath
Start: 19
Length: 7
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
Tick: 1600
sardaukar:
stand:
Start: 0
Facings: 8
stand2:
Start: 0
Facings: 8
run:
Start: 8
Length: 4
Facings: 8
die1: rifledeath
Start: 0
Length: 5
die2: rifledeath
Start: 5
Length: 7
die3: rifledeath
Start: 12
Length: 7
die4: rifledeath
Start: 19
Length: 7
die5: rifledeath
Start: 26
Length: 7
die6: rifledeath
Start: 26
Length: 7
die-crushed: rifledeath
Start: 54
Length: 22
@@ -662,7 +856,7 @@ raider:
Start: 0
Facings: 32
deviator:
deviatortank:
idle:
Start: 0
Facings: 32
@@ -882,6 +1076,10 @@ parach:
Start: 5
Length: 11
missile:
idle:
Start: 0
Facings: 32
spicebloom:
make:
@@ -891,4 +1089,40 @@ spicebloom:
Start: 2
Length: 1
idle:
Start: 2
Start: 2
sandworm:
stand: wormsigns2
Start: 0
Length: *
Tick: 150
run: sandwormdust
Start: 0
Facings: 4
Length: 5
Tick: 150
die1: sandwormdust
Start: 0
Length: 1
die2: sandwormdust
Start: 0
Length: 1
die3: sandwormdust
Start: 0
Length: 1
die4: sandwormdust
Start: 0
Length: 1
die5: sandwormdust
Start: 0
Length: 1
die6: sandwormdust
Start: 0
Length: 1
die-crushed: sandwormdust
Start: 0
Length: 1
Tick: 1600
wormattack: sandwormmouth
Start: 0
Length: 15

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,181 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<tileset>
<name value="Temperat" />
<template>
<cell x="0" y="0" />
</template>
<template>
<cell x="12" y="0" />
<cell x="13" y="0" />
<cell x="13" y="1" />
<cell x="12" y="1" />
</template>
<template>
<cell x="14" y="1" />
<cell x="15" y="1" />
<cell x="15" y="0" />
<cell x="14" y="0" />
</template>
<template>
<cell x="13" y="2" />
<cell x="13" y="3" />
</template>
<template>
<cell x="12" y="3" />
<cell x="11" y="3" />
<cell x="10" y="3" />
<cell x="9" y="3" />
<cell x="8" y="3" />
<cell x="8" y="2" />
<cell x="9" y="2" />
<cell x="10" y="2" />
<cell x="11" y="2" />
<cell x="12" y="2" />
</template>
<template>
<cell x="14" y="2" />
<cell x="14" y="3" />
<cell x="15" y="3" />
<cell x="15" y="2" />
</template>
<template>
<cell x="16" y="2" />
<cell x="17" y="2" />
<cell x="17" y="3" />
<cell x="16" y="3" />
</template>
<template>
<cell x="18" y="3" />
<cell x="19" y="3" />
<cell x="19" y="2" />
<cell x="18" y="2" />
</template>
<template>
<cell x="18" y="1" />
<cell x="18" y="0" />
<cell x="19" y="0" />
<cell x="19" y="1" />
</template>
<template>
<cell x="17" y="1" />
<cell x="16" y="1" />
<cell x="16" y="0" />
<cell x="17" y="0" />
</template>
<template>
<cell x="18" y="4" />
<cell x="18" y="5" />
<cell x="19" y="5" />
<cell x="19" y="4" />
</template>
<template>
<cell x="18" y="6" />
<cell x="18" y="7" />
<cell x="19" y="7" />
<cell x="19" y="6" />
</template>
<template>
<cell x="16" y="5" />
<cell x="15" y="5" />
<cell x="15" y="4" />
<cell x="16" y="4" />
</template>
<template>
<cell x="14" y="4" />
<cell x="13" y="4" />
<cell x="13" y="5" />
<cell x="14" y="5" />
</template>
<template>
<cell x="12" y="5" />
<cell x="11" y="5" />
<cell x="11" y="4" />
<cell x="12" y="4" />
</template>
<template>
<cell x="10" y="4" />
<cell x="9" y="4" />
<cell x="9" y="5" />
<cell x="10" y="5" />
</template>
<template>
<cell x="8" y="5" />
<cell x="7" y="5" />
<cell x="7" y="4" />
<cell x="8" y="4" />
</template>
<template>
<cell x="6" y="4" />
<cell x="5" y="4" />
<cell x="5" y="5" />
<cell x="6" y="5" />
</template>
<template>
<cell x="0" y="6" />
<cell x="1" y="6" />
<cell x="1" y="7" />
<cell x="0" y="7" />
</template>
<template>
<cell x="2" y="7" />
<cell x="3" y="7" />
<cell x="3" y="6" />
<cell x="2" y="6" />
</template>
<template>
<cell x="4" y="7" />
<cell x="5" y="7" />
<cell x="5" y="6" />
<cell x="4" y="6" />
</template>
<template>
<cell x="6" y="7" />
<cell x="7" y="7" />
<cell x="7" y="6" />
<cell x="6" y="6" />
</template>
<template>
<cell x="8" y="6" />
<cell x="8" y="7" />
<cell x="9" y="7" />
<cell x="9" y="6" />
</template>
<template>
<cell x="10" y="6" />
<cell x="10" y="7" />
<cell x="11" y="7" />
<cell x="11" y="6" />
</template>
<template>
<cell x="12" y="6" />
<cell x="12" y="7" />
<cell x="13" y="7" />
<cell x="13" y="6" />
</template>
<template>
<cell x="14" y="6" />
<cell x="14" y="7" />
<cell x="15" y="7" />
<cell x="15" y="6" />
</template>
<template>
<cell x="16" y="6" />
<cell x="16" y="7" />
<cell x="17" y="7" />
<cell x="17" y="6" />
</template>
<template>
<cell x="1" y="8" />
<cell x="1" y="9" />
<cell x="0" y="9" />
<cell x="0" y="8" />
</template>
<template>
<cell x="2" y="8" />
<cell x="2" y="9" />
<cell x="3" y="9" />
<cell x="3" y="8" />
</template>
<name value="BGBS" />
<terrain x="0" y="17" t="2" />
<terrain x="0" y="18" t="3" />
<terrain x="0" y="19" t="3" />
<terrain x="1" y="17" t="2" />
<terrain x="1" y="18" t="1" />
<terrain x="1" y="19" t="1" />
<terrain x="1" y="35" t="4" />
<terrain x="1" y="36" t="4" />
<terrain x="1" y="37" t="4" />
<terrain x="2" y="17" t="2" />
<terrain x="2" y="18" t="3" />
<terrain x="2" y="19" t="3" />
<terrain x="2" y="35" t="4" />
<terrain x="2" y="36" t="4" />
<terrain x="2" y="37" t="4" />
<terrain x="3" y="17" t="2" />
<terrain x="3" y="18" t="2" />
<terrain x="3" y="19" t="2" />
<terrain x="3" y="35" t="4" />
<terrain x="3" y="36" t="4" />
<terrain x="3" y="37" t="4" />
<terrain x="4" y="8" t="4" />
<terrain x="4" y="9" t="4" />
<terrain x="4" y="17" t="2" />
<terrain x="4" y="18" t="2" />
<terrain x="4" y="19" t="2" />
<terrain x="4" y="36" t="4" />
<terrain x="4" y="37" t="4" />
<terrain x="5" y="8" t="4" />
<terrain x="5" y="9" t="4" />
<terrain x="5" y="17" t="2" />
<terrain x="5" y="18" t="3" />
<terrain x="5" y="19" t="3" />
<terrain x="5" y="36" t="4" />
<terrain x="5" y="37" t="4" />
<terrain x="6" y="17" t="2" />
<terrain x="6" y="18" t="3" />
<terrain x="6" y="19" t="3" />
<terrain x="6" y="36" t="4" />
<terrain x="6" y="37" t="4" />
<terrain x="7" y="18" t="3" />
<terrain x="7" y="19" t="3" />
<terrain x="7" y="36" t="4" />
<terrain x="7" y="37" t="4" />
<terrain x="8" y="18" t="3" />
<terrain x="8" y="19" t="2" />
<terrain x="9" y="17" t="2" />
<terrain x="9" y="18" t="2" />
<terrain x="9" y="19" t="2" />
<terrain x="10" y="17" t="3" />
<terrain x="10" y="18" t="1" />
<terrain x="10" y="19" t="3" />
<terrain x="11" y="17" t="3" />
<terrain x="11" y="18" t="1" />
<terrain x="11" y="19" t="3" />
<terrain x="12" y="17" t="3" />
<terrain x="12" y="18" t="1" />
<terrain x="12" y="19" t="3" />
<terrain x="12" y="32" t="4" />
<terrain x="12" y="33" t="4" />
<terrain x="13" y="17" t="3" />
<terrain x="13" y="18" t="1" />
<terrain x="13" y="19" t="3" />
<terrain x="13" y="32" t="4" />
<terrain x="13" y="33" t="4" />
<terrain x="14" y="17" t="2" />
<terrain x="14" y="18" t="2" />
<terrain x="14" y="19" t="2" />
<terrain x="14" y="20" t="4" />
<terrain x="14" y="21" t="4" />
<terrain x="14" y="36" t="4" />
<terrain x="15" y="21" t="4" />
<terrain x="15" y="36" t="4" />
<terrain x="16" y="35" t="4" />
<terrain x="16" y="36" t="4" />
<terrain x="17" y="35" t="4" />
<terrain x="17" y="36" t="4" />
<terrain x="18" y="16" t="4" />
<terrain x="18" y="17" t="4" />
<terrain x="18" y="35" t="4" />
<terrain x="18" y="36" t="4" />
<terrain x="18" y="37" t="4" />
<terrain x="19" y="16" t="4" />
<terrain x="19" y="17" t="4" />
<terrain x="19" y="36" t="4" />
<terrain x="19" y="37" t="4" />
<template>
<cell x="4" y="8" />
<cell x="4" y="9" />
@@ -183,43 +94,142 @@
<cell x="5" y="8" />
</template>
<template>
<cell x="6" y="8" />
<cell x="6" y="9" />
<cell x="7" y="9" />
<cell x="7" y="8" />
<cell x="9" y="14" />
<cell x="9" y="15" />
<cell x="10" y="15" />
<cell x="10" y="14" />
</template>
<template>
<cell x="8" y="8" />
<cell x="8" y="9" />
<cell x="9" y="9" />
<cell x="9" y="8" />
<cell x="18" y="16" />
<cell x="18" y="17" />
<cell x="19" y="17" />
<cell x="19" y="16" />
</template>
<template>
<cell x="10" y="8" />
<cell x="10" y="9" />
<cell x="11" y="9" />
<cell x="11" y="8" />
<cell x="12" y="8" />
<cell x="12" y="9" />
<cell x="13" y="9" />
<cell x="13" y="8" />
<cell x="14" y="17" />
<cell x="14" y="18" />
<cell x="14" y="19" />
<cell x="13" y="19" />
<cell x="12" y="19" />
<cell x="11" y="19" />
<cell x="10" y="19" />
<cell x="9" y="19" />
<cell x="9" y="18" />
<cell x="9" y="17" />
<cell x="10" y="17" />
<cell x="11" y="17" />
<cell x="12" y="17" />
<cell x="13" y="17" />
<cell x="13" y="18" />
<cell x="12" y="18" />
<cell x="11" y="18" />
<cell x="10" y="18" />
</template>
<template>
<cell x="14" y="8" />
<cell x="14" y="9" />
<cell x="15" y="9" />
<cell x="15" y="8" />
<cell x="2" y="17" />
<cell x="2" y="18" />
<cell x="2" y="19" />
<cell x="1" y="19" />
<cell x="0" y="19" />
<cell x="0" y="18" />
<cell x="0" y="17" />
<cell x="1" y="17" />
<cell x="1" y="18" />
</template>
<template>
<cell x="16" y="8" />
<cell x="16" y="9" />
<cell x="17" y="9" />
<cell x="17" y="8" />
<cell x="3" y="18" />
<cell x="3" y="19" />
<cell x="4" y="19" />
<cell x="4" y="18" />
</template>
<template>
<cell x="18" y="8" />
<cell x="18" y="9" />
<cell x="19" y="9" />
<cell x="19" y="8" />
<cell x="3" y="17" />
<cell x="4" y="17" />
</template>
<template>
<cell x="5" y="17" />
<cell x="6" y="17" />
</template>
<template>
<cell x="5" y="18" />
<cell x="5" y="19" />
<cell x="6" y="19" />
<cell x="7" y="19" />
<cell x="8" y="19" />
<cell x="8" y="18" />
<cell x="7" y="18" />
<cell x="6" y="18" />
</template>
<template>
<cell x="14" y="20" />
<cell x="14" y="21" />
<cell x="15" y="21" />
<cell x="15" y="20" />
</template>
<template>
<cell x="7" y="30" />
<cell x="7" y="31" />
<cell x="8" y="31" />
<cell x="9" y="31" />
<cell x="9" y="30" />
<cell x="8" y="30" />
</template>
<template>
<cell x="10" y="30" />
</template>
<template>
<cell x="12" y="32" />
<cell x="12" y="33" />
<cell x="13" y="33" />
<cell x="13" y="32" />
</template>
<template>
<cell x="0" y="35" />
</template>
<template>
<cell x="0" y="36" />
</template>
<template>
<cell x="1" y="35" />
<cell x="1" y="36" />
<cell x="2" y="36" />
<cell x="2" y="37" />
<cell x="3" y="37" />
<cell x="1" y="37" />
<cell x="3" y="36" />
<cell x="3" y="35" />
<cell x="2" y="35" />
</template>
<template>
<cell x="4" y="36" />
<cell x="4" y="37" />
<cell x="5" y="37" />
<cell x="5" y="36" />
</template>
<template>
<cell x="6" y="36" />
<cell x="6" y="37" />
<cell x="7" y="37" />
<cell x="7" y="36" />
</template>
<template>
<cell x="14" y="36" />
<cell x="15" y="36" />
</template>
<template>
<cell x="16" y="35" />
<cell x="16" y="36" />
<cell x="17" y="36" />
<cell x="17" y="35" />
</template>
<template>
<cell x="18" y="35" />
<cell x="18" y="36" />
<cell x="19" y="36" />
<cell x="19" y="35" />
</template>
<template>
<cell x="19" y="37" />
<cell x="18" y="37" />
</template>
</tileset>

328
mods/d2k/tilesets/ICE.tsx Normal file
View File

@@ -0,0 +1,328 @@
<?xml version="1.0" encoding="utf-8"?>
<tileset>
<name value="ICE" />
<terrain x="0" y="33" t="4" />
<terrain x="0" y="35" t="9" />
<terrain x="0" y="36" t="9" />
<terrain x="0" y="37" t="9" />
<terrain x="1" y="0" t="3" />
<terrain x="1" y="35" t="3" />
<terrain x="1" y="36" t="3" />
<terrain x="1" y="37" t="3" />
<terrain x="2" y="0" t="3" />
<terrain x="2" y="33" t="4" />
<terrain x="2" y="35" t="3" />
<terrain x="2" y="36" t="3" />
<terrain x="3" y="0" t="3" />
<terrain x="3" y="35" t="3" />
<terrain x="3" y="36" t="3" />
<terrain x="4" y="0" t="3" />
<terrain x="4" y="8" t="3" />
<terrain x="4" y="9" t="3" />
<terrain x="4" y="35" t="3" />
<terrain x="4" y="36" t="3" />
<terrain x="5" y="8" t="3" />
<terrain x="5" y="9" t="3" />
<terrain x="5" y="35" t="3" />
<terrain x="5" y="36" t="3" />
<terrain x="6" y="35" t="3" />
<terrain x="6" y="36" t="3" />
<terrain x="6" y="37" t="3" />
<terrain x="7" y="35" t="9" />
<terrain x="7" y="36" t="9" />
<terrain x="7" y="37" t="3" />
<terrain x="8" y="35" t="3" />
<terrain x="8" y="36" t="3" />
<terrain x="9" y="15" t="3" />
<terrain x="9" y="17" t="3" />
<terrain x="9" y="18" t="3" />
<terrain x="9" y="19" t="3" />
<terrain x="9" y="35" t="3" />
<terrain x="9" y="36" t="3" />
<terrain x="10" y="15" t="3" />
<terrain x="10" y="17" t="9" />
<terrain x="10" y="18" t="3" />
<terrain x="10" y="19" t="3" />
<terrain x="10" y="35" t="9" />
<terrain x="10" y="36" t="9" />
<terrain x="11" y="15" t="3" />
<terrain x="11" y="17" t="9" />
<terrain x="11" y="18" t="3" />
<terrain x="11" y="19" t="3" />
<terrain x="11" y="35" t="9" />
<terrain x="11" y="36" t="9" />
<terrain x="12" y="17" t="3" />
<terrain x="12" y="18" t="3" />
<terrain x="12" y="35" t="9" />
<terrain x="12" y="36" t="9" />
<terrain x="13" y="35" t="3" />
<terrain x="13" y="36" t="3" />
<terrain x="14" y="35" t="9" />
<terrain x="14" y="36" t="3" />
<terrain x="15" y="35" t="9" />
<terrain x="15" y="36" t="9" />
<terrain x="17" y="4" t="3" />
<terrain x="17" y="5" t="3" />
<terrain x="19" y="26" t="3" />
<terrain x="19" y="27" t="3" />
<terrain x="19" y="28" t="3" />
<terrain x="19" y="29" t="3" />
<terrain x="19" y="30" t="3" />
<terrain x="19" y="31" t="3" />
<template>
<cell x="1" y="0" />
<cell x="2" y="0" />
<cell x="3" y="0" />
<cell x="4" y="0" />
</template>
<template>
<cell x="5" y="0" />
<cell x="6" y="0" />
<cell x="7" y="0" />
</template>
<template>
<cell x="17" y="4" />
<cell x="17" y="5" />
</template>
<template>
<cell x="4" y="8" />
<cell x="4" y="9" />
<cell x="5" y="9" />
<cell x="5" y="8" />
</template>
<template>
<cell x="9" y="14" />
<cell x="10" y="14" />
</template>
<template>
<cell x="9" y="15" />
<cell x="10" y="15" />
<cell x="11" y="15" />
<cell x="12" y="15" />
</template>
<template>
<cell x="2" y="16" />
</template>
<template>
<cell x="5" y="16" />
</template>
<template>
<cell x="5" y="15" />
</template>
<template>
<cell x="17" y="14" />
</template>
<template>
<cell x="15" y="18" />
<cell x="15" y="19" />
<cell x="15" y="20" />
<cell x="15" y="21" />
</template>
<template>
<cell x="14" y="20" />
<cell x="14" y="21" />
</template>
<template>
<cell x="5" y="17" />
<cell x="5" y="18" />
<cell x="5" y="19" />
<cell x="4" y="19" />
<cell x="3" y="19" />
<cell x="2" y="19" />
<cell x="1" y="19" />
<cell x="0" y="19" />
<cell x="0" y="18" />
<cell x="0" y="17" />
<cell x="1" y="17" />
<cell x="2" y="17" />
<cell x="3" y="17" />
<cell x="4" y="17" />
<cell x="4" y="18" />
<cell x="3" y="18" />
<cell x="2" y="18" />
<cell x="1" y="18" />
</template>
<template>
<cell x="6" y="18" />
<cell x="6" y="19" />
<cell x="7" y="19" />
<cell x="8" y="19" />
<cell x="8" y="18" />
<cell x="7" y="18" />
</template>
<template>
<cell x="6" y="17" />
</template>
<template>
<cell x="9" y="17" />
<cell x="9" y="18" />
<cell x="9" y="19" />
<cell x="10" y="19" />
<cell x="11" y="19" />
<cell x="12" y="19" />
<cell x="12" y="18" />
<cell x="12" y="17" />
<cell x="11" y="17" />
<cell x="10" y="17" />
<cell x="10" y="18" />
<cell x="11" y="18" />
</template>
<template>
<cell x="15" y="17" />
<cell x="16" y="17" />
<cell x="17" y="17" />
<cell x="18" y="17" />
</template>
<template>
<cell x="13" y="17" />
<cell x="13" y="18" />
<cell x="13" y="19" />
<cell x="14" y="19" />
<cell x="14" y="18" />
<cell x="14" y="17" />
</template>
<template>
<cell x="2" y="23" />
</template>
<template>
<cell x="3" y="23" />
</template>
<template>
<cell x="11" y="27" />
</template>
<template>
<cell x="19" y="28" />
<cell x="19" y="29" />
<cell x="19" y="30" />
<cell x="19" y="31" />
</template>
<template>
<cell x="19" y="27" />
<cell x="19" y="26" />
</template>
<template>
<cell x="18" y="27" />
<cell x="18" y="28" />
<cell x="18" y="29" />
<cell x="17" y="29" />
<cell x="17" y="28" />
<cell x="17" y="27" />
</template>
<template>
<cell x="7" y="30" />
<cell x="7" y="31" />
<cell x="8" y="31" />
<cell x="8" y="30" />
</template>
<template>
<cell x="9" y="30" />
<cell x="9" y="31" />
<cell x="10" y="31" />
<cell x="10" y="30" />
</template>
<template>
<cell x="0" y="35" />
<cell x="0" y="36" />
<cell x="0" y="37" />
<cell x="1" y="37" />
<cell x="1" y="36" />
<cell x="1" y="35" />
</template>
<template>
<cell x="2" y="35" />
<cell x="2" y="36" />
<cell x="3" y="36" />
<cell x="3" y="35" />
</template>
<template>
<cell x="2" y="37" />
</template>
<template>
<cell x="3" y="37" />
</template>
<template>
<cell x="4" y="37" />
</template>
<template>
<cell x="5" y="37" />
</template>
<template>
<cell x="4" y="36" />
<cell x="5" y="36" />
<cell x="5" y="35" />
<cell x="4" y="35" />
</template>
<template>
<cell x="6" y="35" />
<cell x="6" y="36" />
<cell x="6" y="37" />
<cell x="7" y="37" />
<cell x="7" y="36" />
<cell x="7" y="35" />
</template>
<template>
<cell x="8" y="35" />
<cell x="8" y="36" />
<cell x="9" y="36" />
<cell x="9" y="35" />
</template>
<template>
<cell x="10" y="35" />
<cell x="10" y="36" />
<cell x="11" y="36" />
<cell x="11" y="35" />
</template>
<template>
<cell x="12" y="35" />
<cell x="12" y="36" />
<cell x="13" y="36" />
<cell x="13" y="35" />
</template>
<template>
<cell x="14" y="35" />
<cell x="14" y="36" />
<cell x="15" y="36" />
<cell x="15" y="35" />
</template>
<template>
<cell x="16" y="35" />
<cell x="17" y="35" />
</template>
<template>
<cell x="17" y="36" />
<cell x="16" y="36" />
</template>
<template>
<cell x="18" y="35" />
<cell x="18" y="36" />
<cell x="18" y="37" />
<cell x="19" y="37" />
<cell x="19" y="36" />
<cell x="19" y="35" />
</template>
<template>
<cell x="0" y="33" />
<cell x="1" y="33" />
<cell x="2" y="33" />
</template>
<template>
<cell x="0" y="34" />
<cell x="1" y="34" />
</template>
<template>
<cell x="2" y="34" />
<cell x="3" y="34" />
</template>
<template>
<cell x="4" y="34" />
<cell x="5" y="34" />
</template>
<template>
<cell x="12" y="32" />
<cell x="13" y="32" />
</template>
<template>
<cell x="13" y="33" />
<cell x="12" y="33" />
</template>
</tileset>

289
mods/d2k/tilesets/TREE.tsx Normal file
View File

@@ -0,0 +1,289 @@
<?xml version="1.0" encoding="utf-8"?>
<tileset>
<name value="TREE" />
<terrain x="0" y="17" t="4" />
<terrain x="0" y="18" t="4" />
<terrain x="0" y="35" t="4" />
<terrain x="0" y="36" t="4" />
<terrain x="0" y="37" t="4" />
<terrain x="1" y="0" t="2" />
<terrain x="1" y="17" t="4" />
<terrain x="1" y="35" t="4" />
<terrain x="1" y="36" t="4" />
<terrain x="1" y="37" t="4" />
<terrain x="2" y="0" t="2" />
<terrain x="2" y="17" t="4" />
<terrain x="2" y="18" t="4" />
<terrain x="2" y="23" t="2" />
<terrain x="2" y="35" t="4" />
<terrain x="2" y="36" t="4" />
<terrain x="2" y="37" t="4" />
<terrain x="3" y="0" t="2" />
<terrain x="3" y="17" t="4" />
<terrain x="3" y="18" t="4" />
<terrain x="3" y="23" t="2" />
<terrain x="4" y="0" t="2" />
<terrain x="4" y="17" t="4" />
<terrain x="4" y="18" t="4" />
<terrain x="5" y="0" t="2" />
<terrain x="7" y="3" t="2" />
<terrain x="7" y="30" t="3" />
<terrain x="7" y="31" t="3" />
<terrain x="7" y="35" t="4" />
<terrain x="7" y="36" t="4" />
<terrain x="7" y="37" t="4" />
<terrain x="8" y="30" t="3" />
<terrain x="8" y="31" t="3" />
<terrain x="8" y="35" t="4" />
<terrain x="8" y="36" t="4" />
<terrain x="9" y="17" t="2" />
<terrain x="9" y="30" t="3" />
<terrain x="9" y="36" t="4" />
<terrain x="10" y="17" t="2" />
<terrain x="10" y="30" t="2" />
<terrain x="10" y="31" t="2" />
<terrain x="10" y="35" t="4" />
<terrain x="10" y="36" t="4" />
<terrain x="11" y="15" t="1" />
<terrain x="11" y="17" t="2" />
<terrain x="11" y="27" t="2" />
<terrain x="11" y="35" t="4" />
<terrain x="11" y="36" t="4" />
<terrain x="12" y="15" t="1" />
<terrain x="12" y="17" t="2" />
<terrain x="12" y="32" t="2" />
<terrain x="12" y="33" t="2" />
<terrain x="12" y="35" t="4" />
<terrain x="12" y="36" t="2" />
<terrain x="13" y="17" t="2" />
<terrain x="13" y="32" t="2" />
<terrain x="13" y="33" t="2" />
<terrain x="13" y="35" t="2" />
<terrain x="13" y="36" t="2" />
<terrain x="14" y="17" t="2" />
<terrain x="14" y="18" t="2" />
<terrain x="14" y="19" t="2" />
<terrain x="14" y="20" t="2" />
<terrain x="14" y="21" t="2" />
<terrain x="14" y="35" t="2" />
<terrain x="14" y="36" t="2" />
<terrain x="15" y="17" t="2" />
<terrain x="15" y="18" t="2" />
<terrain x="15" y="19" t="2" />
<terrain x="15" y="20" t="2" />
<terrain x="15" y="21" t="2" />
<terrain x="15" y="35" t="2" />
<terrain x="15" y="36" t="2" />
<terrain x="16" y="15" t="2" />
<terrain x="16" y="17" t="2" />
<terrain x="16" y="35" t="2" />
<terrain x="16" y="36" t="2" />
<terrain x="17" y="4" t="3" />
<terrain x="17" y="5" t="3" />
<terrain x="17" y="14" t="2" />
<terrain x="17" y="17" t="2" />
<terrain x="17" y="35" t="2" />
<terrain x="17" y="36" t="2" />
<terrain x="18" y="26" t="3" />
<terrain x="18" y="27" t="3" />
<terrain x="18" y="28" t="1" />
<terrain x="18" y="29" t="1" />
<terrain x="18" y="35" t="4" />
<terrain x="18" y="36" t="4" />
<terrain x="18" y="37" t="4" />
<terrain x="19" y="15" t="2" />
<terrain x="19" y="26" t="3" />
<terrain x="19" y="27" t="3" />
<terrain x="19" y="28" t="1" />
<terrain x="19" y="29" t="1" />
<terrain x="19" y="35" t="4" />
<terrain x="19" y="36" t="4" />
<terrain x="19" y="37" t="4" />
<template>
<cell x="6" y="0" />
</template>
<template>
<cell x="7" y="0" />
</template>
<template>
<cell x="7" y="3" />
</template>
<template>
<cell x="17" y="4" />
<cell x="17" y="5" />
</template>
<template>
<cell x="0" y="17" />
<cell x="0" y="18" />
<cell x="1" y="18" />
<cell x="1" y="17" />
</template>
<template>
<cell x="2" y="17" />
<cell x="2" y="18" />
<cell x="3" y="18" />
<cell x="4" y="18" />
<cell x="4" y="17" />
<cell x="3" y="17" />
</template>
<template>
<cell x="1" y="0" />
<cell x="2" y="0" />
<cell x="3" y="0" />
<cell x="4" y="0" />
<cell x="5" y="0" />
</template>
<template>
<cell x="5" y="15" />
<cell x="5" y="16" />
</template>
<template>
<cell x="9" y="14" />
<cell x="9" y="15" />
<cell x="10" y="15" />
<cell x="10" y="14" />
</template>
<template>
<cell x="11" y="15" />
<cell x="12" y="15" />
</template>
<template>
<cell x="16" y="15" />
</template>
<template>
<cell x="17" y="14" />
</template>
<template>
<cell x="19" y="15" />
</template>
<template>
<cell x="18" y="16" />
<cell x="18" y="17" />
<cell x="19" y="17" />
<cell x="19" y="16" />
</template>
<template>
<cell x="14" y="18" />
<cell x="14" y="19" />
<cell x="15" y="19" />
<cell x="15" y="18" />
</template>
<template>
<cell x="14" y="20" />
<cell x="14" y="21" />
<cell x="15" y="21" />
<cell x="15" y="20" />
</template>
<template>
<cell x="9" y="17" />
<cell x="10" y="17" />
<cell x="11" y="17" />
<cell x="12" y="17" />
<cell x="13" y="17" />
<cell x="14" y="17" />
</template>
<template>
<cell x="15" y="17" />
<cell x="16" y="17" />
<cell x="17" y="17" />
</template>
<template>
<cell x="3" y="23" />
<cell x="2" y="23" />
</template>
<template>
<cell x="18" y="26" />
<cell x="18" y="27" />
<cell x="19" y="27" />
<cell x="19" y="26" />
</template>
<template>
<cell x="18" y="28" />
<cell x="18" y="29" />
<cell x="19" y="29" />
<cell x="19" y="28" />
</template>
<template>
<cell x="0" y="35" />
<cell x="0" y="36" />
<cell x="0" y="37" />
<cell x="1" y="37" />
<cell x="2" y="37" />
<cell x="2" y="36" />
<cell x="2" y="35" />
<cell x="1" y="35" />
<cell x="1" y="36" />
</template>
<template>
<cell x="7" y="37" />
</template>
<template>
<cell x="7" y="35" />
<cell x="7" y="36" />
<cell x="8" y="36" />
<cell x="8" y="35" />
</template>
<template>
<cell x="9" y="35" />
</template>
<template>
<cell x="9" y="36" />
</template>
<template>
<cell x="11" y="36" />
<cell x="10" y="36" />
</template>
<template>
<cell x="10" y="35" />
<cell x="11" y="35" />
<cell x="12" y="35" />
</template>
<template>
<cell x="18" y="35" />
<cell x="18" y="36" />
<cell x="18" y="37" />
<cell x="19" y="37" />
<cell x="19" y="36" />
<cell x="19" y="35" />
</template>
<template>
<cell x="12" y="36" />
</template>
<template>
<cell x="13" y="35" />
<cell x="13" y="36" />
<cell x="14" y="36" />
<cell x="14" y="35" />
</template>
<template>
<cell x="15" y="35" />
<cell x="15" y="36" />
<cell x="16" y="36" />
<cell x="16" y="35" />
<cell x="17" y="35" />
<cell x="17" y="36" />
</template>
<template>
<cell x="12" y="32" />
<cell x="12" y="33" />
<cell x="13" y="33" />
<cell x="13" y="32" />
</template>
<template>
<cell x="10" y="30" />
</template>
<template>
<cell x="10" y="31" />
</template>
<template>
<cell x="9" y="31" />
<cell x="9" y="30" />
<cell x="8" y="30" />
<cell x="7" y="30" />
<cell x="7" y="31" />
<cell x="8" y="31" />
</template>
<template>
<cell x="11" y="27" />
</template>
</tileset>

252
mods/d2k/tilesets/WAST.tsx Normal file
View File

@@ -0,0 +1,252 @@
<?xml version="1.0" encoding="utf-8"?>
<tileset>
<name value="WAST" />
<terrain x="2" y="0" t="3" />
<terrain x="3" y="34" t="6" />
<terrain x="4" y="0" t="3" />
<terrain x="4" y="34" t="6" />
<terrain x="5" y="0" t="3" />
<terrain x="5" y="15" t="4" />
<terrain x="5" y="16" t="4" />
<terrain x="5" y="17" t="4" />
<terrain x="5" y="18" t="4" />
<terrain x="5" y="34" t="6" />
<terrain x="6" y="0" t="3" />
<terrain x="6" y="17" t="4" />
<terrain x="6" y="18" t="4" />
<terrain x="7" y="0" t="3" />
<terrain x="7" y="37" t="6" />
<terrain x="8" y="35" t="6" />
<terrain x="8" y="36" t="6" />
<terrain x="9" y="18" t="3" />
<terrain x="9" y="19" t="3" />
<terrain x="9" y="35" t="6" />
<terrain x="9" y="36" t="6" />
<terrain x="10" y="17" t="3" />
<terrain x="10" y="18" t="3" />
<terrain x="10" y="19" t="3" />
<terrain x="11" y="17" t="3" />
<terrain x="11" y="18" t="3" />
<terrain x="11" y="19" t="3" />
<terrain x="11" y="35" t="6" />
<terrain x="13" y="18" t="4" />
<terrain x="13" y="35" t="6" />
<terrain x="13" y="36" t="6" />
<terrain x="14" y="18" t="4" />
<terrain x="14" y="20" t="3" />
<terrain x="14" y="21" t="2" />
<terrain x="15" y="17" t="4" />
<terrain x="15" y="18" t="4" />
<terrain x="15" y="20" t="3" />
<terrain x="15" y="21" t="3" />
<terrain x="16" y="17" t="4" />
<terrain x="17" y="4" t="3" />
<terrain x="17" y="5" t="3" />
<terrain x="17" y="17" t="4" />
<terrain x="17" y="27" t="3" />
<terrain x="17" y="28" t="1" />
<terrain x="18" y="16" t="4" />
<terrain x="18" y="17" t="4" />
<terrain x="18" y="26" t="4" />
<terrain x="18" y="27" t="3" />
<terrain x="18" y="28" t="1" />
<terrain x="19" y="16" t="4" />
<terrain x="19" y="17" t="4" />
<terrain x="19" y="26" t="4" />
<terrain x="19" y="27" t="1" />
<terrain x="19" y="28" t="1" />
<terrain x="19" y="30" t="5" />
<terrain x="19" y="31" t="5" />
<template>
<cell x="0" y="35" />
<cell x="0" y="36" />
<cell x="0" y="37" />
<cell x="1" y="37" />
<cell x="2" y="37" />
<cell x="3" y="37" />
<cell x="4" y="37" />
<cell x="5" y="37" />
<cell x="5" y="36" />
<cell x="5" y="35" />
<cell x="4" y="35" />
<cell x="3" y="35" />
<cell x="2" y="35" />
<cell x="1" y="35" />
<cell x="1" y="36" />
<cell x="2" y="36" />
<cell x="3" y="36" />
<cell x="4" y="36" />
</template>
<template>
<cell x="3" y="34" />
<cell x="4" y="34" />
<cell x="5" y="34" />
</template>
<template>
<cell x="6" y="37" />
<cell x="7" y="37" />
</template>
<template>
<cell x="8" y="36" />
<cell x="9" y="36" />
<cell x="9" y="35" />
<cell x="8" y="35" />
</template>
<template>
<cell x="10" y="35" />
<cell x="11" y="35" />
</template>
<template>
<cell x="11" y="36" />
<cell x="10" y="36" />
</template>
<template>
<cell x="12" y="35" />
</template>
<template>
<cell x="12" y="36" />
</template>
<template>
<cell x="13" y="35" />
<cell x="13" y="36" />
</template>
<template>
<cell x="14" y="36" />
<cell x="15" y="36" />
</template>
<template>
<cell x="14" y="35" />
<cell x="15" y="35" />
</template>
<template>
<cell x="17" y="35" />
<cell x="17" y="36" />
<cell x="16" y="36" />
<cell x="16" y="35" />
<cell x="18" y="35" />
<cell x="18" y="36" />
</template>
<template>
<cell x="19" y="36" />
</template>
<template>
<cell x="19" y="37" />
<cell x="18" y="37" />
</template>
<template>
<cell x="12" y="32" />
<cell x="12" y="33" />
<cell x="13" y="33" />
<cell x="13" y="32" />
</template>
<template>
<cell x="5" y="17" />
<cell x="5" y="18" />
<cell x="6" y="18" />
<cell x="6" y="17" />
</template>
<template>
<cell x="13" y="18" />
<cell x="14" y="18" />
<cell x="15" y="18" />
</template>
<template>
<cell x="15" y="17" />
<cell x="16" y="17" />
<cell x="17" y="17" />
<cell x="18" y="17" />
<cell x="19" y="17" />
</template>
<template>
<cell x="18" y="16" />
<cell x="19" y="16" />
</template>
<template>
<cell x="17" y="4" />
<cell x="17" y="5" />
</template>
<template>
<cell x="7" y="3" />
</template>
<template>
<cell x="1" y="0" />
</template>
<template>
<cell x="2" y="0" />
<cell x="3" y="0" />
</template>
<template>
<cell x="4" y="0" />
</template>
<template>
<cell x="5" y="0" />
</template>
<template>
<cell x="6" y="0" />
<cell x="7" y="0" />
</template>
<template>
<cell x="12" y="15" />
</template>
<template>
<cell x="11" y="15" />
<cell x="10" y="15" />
</template>
<template>
<cell x="9" y="15" />
</template>
<template>
<cell x="9" y="17" />
<cell x="9" y="18" />
<cell x="9" y="19" />
<cell x="10" y="19" />
<cell x="11" y="19" />
<cell x="12" y="19" />
<cell x="12" y="18" />
<cell x="12" y="17" />
<cell x="11" y="17" />
<cell x="10" y="17" />
<cell x="10" y="18" />
<cell x="11" y="18" />
</template>
<template>
<cell x="7" y="36" />
<cell x="6" y="36" />
<cell x="6" y="35" />
<cell x="7" y="35" />
</template>
<template>
<cell x="17" y="27" />
<cell x="17" y="28" />
<cell x="18" y="28" />
<cell x="18" y="27" />
<cell x="19" y="27" />
<cell x="19" y="28" />
</template>
<template>
<cell x="19" y="30" />
<cell x="19" y="31" />
</template>
<template>
<cell x="5" y="15" />
</template>
<template>
<cell x="5" y="16" />
</template>
<template>
<cell x="5" y="19" />
<cell x="6" y="19" />
<cell x="7" y="19" />
<cell x="8" y="19" />
</template>
<template>
<cell x="14" y="20" />
<cell x="14" y="21" />
<cell x="15" y="21" />
<cell x="15" y="20" />
</template>
<template>
<cell x="18" y="26" />
<cell x="19" y="26" />
</template>
</tileset>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -428,4 +428,132 @@ UnitExplodeSmall:
Heavy: 25%
Explosion: large_explosion
InfDeath: 3
ImpactSound: kaboom15
ImpactSound: kaboom15
WormJaw:
ROF: 10
Range: 3
Report: AI_WATTK
Warhead:
Spread: 5
Versus:
Wood: 0%
Concrete: 0%
Damage: 100
RedEye:
ROF: 50
Range: 7.5
Report: MISSILE1
ValidTargets: Air
Projectile: Missile
Arm: 3
High: true
Shadow: false
Proximity: true
# Trail: smokey
ContrailLength: 10
Image: MISSILE
ROT: 20
RangeLimit: 30
Speed: 35
Warhead:
Spread: 3
Versus:
None: 90%
Wood: 75%
Light: 60%
Heavy: 25%
Explosion: med_explosion
InfDeath: 2
SmudgeType: Crater
Damage: 40
Sniper:
Report: GUN11
ROF: 40
Range: 7
Projectile: Bullet
Speed: 100
Warhead:
Damage: 100
Spread: 1
Versus:
None: 100%
Wood: 5%
Light: 5%
Heavy: 5%
InfDeath: 1
Vulcan:
ROF: 30
Range: 6
Report: GUN13
Projectile: Bullet
Speed: 100
ContrailLength: 1000
Warhead@1:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Warhead@2:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Delay: 2
Warhead@3:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Delay: 4
Warhead@4:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Delay: 6
Warhead@5:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Delay: 8
Warhead@6:
Spread: 3
Versus:
Wood: 50%
Light: 60%
Heavy: 25%
Concrete: 25%
Explosion: piffs
InfDeath: 1
Damage: 10
Delay: 10