put d2k mod stuff into it's own branch
14
Makefile
@@ -5,10 +5,10 @@ COMMON_LIBS = System.dll System.Core.dll System.Drawing.dll System.Xml.dll third
|
|||||||
PHONY = core tools package all mods clean distclean
|
PHONY = core tools package all mods clean distclean
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
core: game renderers mod_ra mod_cnc utility
|
core: game renderers mod_ra mod_cnc mod_d2k utility
|
||||||
tools: editor ralint tsbuild
|
tools: editor ralint tsbuild
|
||||||
package: core editor
|
package: core editor
|
||||||
mods: mod_ra mod_cnc
|
mods: mod_ra mod_cnc mod_d2k
|
||||||
all: core tools
|
all: core tools
|
||||||
clean:
|
clean:
|
||||||
@-rm -f *.exe *.dll *.mdb mods/**/*.dll mods/**/*.mdb *.resources
|
@-rm -f *.exe *.dll *.mdb mods/**/*.dll mods/**/*.mdb *.resources
|
||||||
@@ -97,6 +97,16 @@ mod_cnc_EXTRA_CMDS = mono --debug RALint.exe cnc
|
|||||||
PROGRAMS += mod_cnc
|
PROGRAMS += mod_cnc
|
||||||
mod_cnc: $(mod_cnc_TARGET)
|
mod_cnc: $(mod_cnc_TARGET)
|
||||||
|
|
||||||
|
# Dune 2000
|
||||||
|
mod_d2k_SRCS := $(shell find OpenRA.Mods.D2k/ -iname '*.cs')
|
||||||
|
mod_d2k_TARGET = mods/d2k/OpenRA.Mods.D2k.dll
|
||||||
|
mod_d2k_KIND = library
|
||||||
|
mod_d2k_DEPS = $(STD_MOD_DEPS) $(mod_ra_TARGET)
|
||||||
|
mod_d2k_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_ra_TARGET)
|
||||||
|
mod_d2k_EXTRA_CMDS = mono --debug RALint.exe d2k
|
||||||
|
PROGRAMS += mod_d2k
|
||||||
|
mod_d2k: $(mod_d2k_TARGET)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tools
|
# Tools
|
||||||
#
|
#
|
||||||
|
|||||||
138
OpenRA.FileFormats/Graphics/R8Reader.cs
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2010 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 LICENSE.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace OpenRA.FileFormats
|
||||||
|
{
|
||||||
|
public class R8Image
|
||||||
|
{
|
||||||
|
public int Width;
|
||||||
|
public int Height;
|
||||||
|
|
||||||
|
public byte FrameWidth;
|
||||||
|
public byte FrameHeight;
|
||||||
|
|
||||||
|
public int ImageHandle;
|
||||||
|
public int PaletteHandle;
|
||||||
|
|
||||||
|
public byte[] Image;
|
||||||
|
|
||||||
|
public int OffsetX;
|
||||||
|
public int OffsetY;
|
||||||
|
|
||||||
|
public R8Image(BinaryReader reader, int Frame)
|
||||||
|
{
|
||||||
|
var offset = reader.BaseStream.Position;
|
||||||
|
var ID = reader.ReadByte(); // 0 = no data, 1 = picture with palette, 2 = picture with current palette
|
||||||
|
while (ID == 0)
|
||||||
|
ID = reader.ReadByte();
|
||||||
|
Width = reader.ReadInt32(); //Width of picture
|
||||||
|
Height = reader.ReadInt32(); //Height of picture
|
||||||
|
OffsetX = reader.ReadInt32(); //Offset on X axis from left border edge of virtual frame
|
||||||
|
OffsetY = reader.ReadInt32(); //Offset on Y axis from top border edge of virtual frame
|
||||||
|
ImageHandle = reader.ReadInt32(); // 0 = no picture
|
||||||
|
PaletteHandle = reader.ReadInt32(); // 0 = no palette
|
||||||
|
var Bpp = reader.ReadByte(); // Bits per Pixel
|
||||||
|
FrameHeight = reader.ReadByte(); // Height of virtual frame
|
||||||
|
FrameWidth = reader.ReadByte(); // Width of virtual frame
|
||||||
|
var Align = reader.ReadByte(); //Alignment on even border
|
||||||
|
|
||||||
|
Console.WriteLine("Offset: {0}",offset);
|
||||||
|
Console.WriteLine("ID: {0}",ID);
|
||||||
|
Console.WriteLine("Width: {0}",Width);
|
||||||
|
Console.WriteLine("Height: {0}",Height);
|
||||||
|
Console.WriteLine("OffsetX: {0}",OffsetX);
|
||||||
|
Console.WriteLine("OffsetY: {0}",OffsetY);
|
||||||
|
Console.WriteLine("ImageHandle: {0}",ImageHandle);
|
||||||
|
Console.WriteLine("PaletteHandle: {0}",PaletteHandle);
|
||||||
|
Console.WriteLine("Bpp: {0}",Bpp);
|
||||||
|
Console.WriteLine("FrameWidth: {0}",FrameWidth);
|
||||||
|
Console.WriteLine("FrameHeight: {0}",FrameHeight);
|
||||||
|
Console.WriteLine("Align: {0}",Align);
|
||||||
|
|
||||||
|
// Load image
|
||||||
|
if (Bpp == 8)
|
||||||
|
Image = new byte[Width*Height];
|
||||||
|
else
|
||||||
|
throw new InvalidDataException("Error: {0} bits per pixel are not supported.".F(Bpp));
|
||||||
|
|
||||||
|
|
||||||
|
if (ID == 1 && PaletteHandle != 0)
|
||||||
|
{
|
||||||
|
// read and ignore custom palette
|
||||||
|
reader.ReadInt32(); //Memory
|
||||||
|
reader.ReadInt32(); //Handle
|
||||||
|
|
||||||
|
for (int i = 0; i < Width*Height; i++)
|
||||||
|
Image[i] = reader.ReadByte();
|
||||||
|
for (int i = 0; i < 256; i++)
|
||||||
|
reader.ReadUInt16();
|
||||||
|
}
|
||||||
|
else if (ID == 2 && PaletteHandle != 0)
|
||||||
|
{
|
||||||
|
// ignore image with custom palette
|
||||||
|
for (int i = 0; i < Width*Height; i++)
|
||||||
|
reader.ReadByte();
|
||||||
|
}
|
||||||
|
else //standard palette or 16 Bpp
|
||||||
|
{
|
||||||
|
for (int i = 0; i < Width*Height; i++)
|
||||||
|
Image[i] = reader.ReadByte();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class R8Reader : IEnumerable<R8Image>
|
||||||
|
{
|
||||||
|
private readonly List<R8Image> headers = new List<R8Image>();
|
||||||
|
|
||||||
|
public readonly int Frames;
|
||||||
|
public R8Reader( Stream stream )
|
||||||
|
{
|
||||||
|
BinaryReader reader = new BinaryReader( stream );
|
||||||
|
|
||||||
|
Frames = 0;
|
||||||
|
while (reader.BaseStream.Position < stream.Length)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("Frame {0}: {1}",Frames, reader.BaseStream.Position);
|
||||||
|
headers.Add( new R8Image( reader, Frames ) );
|
||||||
|
Frames++;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e.Message);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public R8Image this[ int index ]
|
||||||
|
{
|
||||||
|
get { return headers[ index ]; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerator<R8Image> GetEnumerator()
|
||||||
|
{
|
||||||
|
return headers.GetEnumerator();
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator IEnumerable.GetEnumerator()
|
||||||
|
{
|
||||||
|
return GetEnumerator();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -81,6 +81,7 @@
|
|||||||
<Compile Include="Graphics\IGraphicsDevice.cs" />
|
<Compile Include="Graphics\IGraphicsDevice.cs" />
|
||||||
<Compile Include="Graphics\IInputHandler.cs" />
|
<Compile Include="Graphics\IInputHandler.cs" />
|
||||||
<Compile Include="Graphics\PngLoader.cs" />
|
<Compile Include="Graphics\PngLoader.cs" />
|
||||||
|
<Compile Include="Graphics\R8Reader.cs" />
|
||||||
<Compile Include="Graphics\ShpReader.cs" />
|
<Compile Include="Graphics\ShpReader.cs" />
|
||||||
<Compile Include="Graphics\ShpWriter.cs" />
|
<Compile Include="Graphics\ShpWriter.cs" />
|
||||||
<Compile Include="Graphics\Vertex.cs" />
|
<Compile Include="Graphics\Vertex.cs" />
|
||||||
|
|||||||
81
OpenRA.Mods.D2k/D2kLoadScreen.cs
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 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.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using OpenRA.FileFormats;
|
||||||
|
using OpenRA.Graphics;
|
||||||
|
using OpenRA.Network;
|
||||||
|
using OpenRA.Support;
|
||||||
|
using OpenRA.Widgets;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.D2k
|
||||||
|
{
|
||||||
|
public class D2kLoadScreen : ILoadScreen
|
||||||
|
{
|
||||||
|
Dictionary<string, string> Info;
|
||||||
|
static string[] Comments = new[] {"Filling Crates...", "Breeding Sandworms..."};
|
||||||
|
|
||||||
|
Stopwatch lastLoadScreen = new Stopwatch();
|
||||||
|
Rectangle StripeRect;
|
||||||
|
Sprite Stripe, Logo;
|
||||||
|
float2 LogoPos;
|
||||||
|
|
||||||
|
Renderer r;
|
||||||
|
public void Init(Dictionary<string, string> info)
|
||||||
|
{
|
||||||
|
Info = info;
|
||||||
|
// Avoid standard loading mechanisms so we
|
||||||
|
// can display loadscreen as early as possible
|
||||||
|
r = Game.Renderer;
|
||||||
|
if (r == null) return;
|
||||||
|
|
||||||
|
var s = new Sheet("mods/d2k/uibits/loadscreen.png");
|
||||||
|
Logo = new Sprite(s, new Rectangle(0,0,256,256), TextureChannel.Alpha);
|
||||||
|
Stripe = new Sprite(s, new Rectangle(256,0,256,256), TextureChannel.Alpha);
|
||||||
|
StripeRect = new Rectangle(0, Renderer.Resolution.Height/2 - 128, Renderer.Resolution.Width, 256);
|
||||||
|
LogoPos = new float2(Renderer.Resolution.Width/2 - 128, Renderer.Resolution.Height/2 - 128);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Display()
|
||||||
|
{
|
||||||
|
if (r == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Update text at most every 0.5 seconds
|
||||||
|
if (lastLoadScreen.ElapsedTime() < 0.5)
|
||||||
|
return;
|
||||||
|
|
||||||
|
lastLoadScreen.Reset();
|
||||||
|
var text = Comments.Random(Game.CosmeticRandom);
|
||||||
|
var textSize = r.Fonts["Bold"].Measure(text);
|
||||||
|
|
||||||
|
r.BeginFrame(float2.Zero, 1f);
|
||||||
|
WidgetUtils.FillRectWithSprite(StripeRect, Stripe);
|
||||||
|
r.RgbaSpriteRenderer.DrawSprite(Logo, LogoPos);
|
||||||
|
r.Fonts["Bold"].DrawText(text, new float2(Renderer.Resolution.Width - textSize.X - 20, Renderer.Resolution.Height - textSize.Y - 20), Color.White);
|
||||||
|
r.EndFrame( new NullInputHandler() );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartGame()
|
||||||
|
{
|
||||||
|
TestAndContinue();
|
||||||
|
Game.JoinExternalGame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TestAndContinue()
|
||||||
|
{
|
||||||
|
Ui.ResetAll();
|
||||||
|
Game.LoadShellMap();
|
||||||
|
Ui.ResetAll();
|
||||||
|
Ui.OpenWindow("MAINMENU_BG");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
88
OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProductVersion>9.0.21022</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
<ProjectGuid>{C0B0465C-6BE2-409C-8770-3A9BF64C4344}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>OpenRA.Mods.D2k</RootNamespace>
|
||||||
|
<AssemblyName>OpenRA.Mods.D2k</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<OutputPath>bin\Debug</OutputPath>
|
||||||
|
<CustomCommands>
|
||||||
|
<CustomCommands>
|
||||||
|
<Command type="AfterBuild" command="cp ${TargetFile} ../mods/d2k" workingdir="${ProjectDir}" />
|
||||||
|
<Command type="AfterBuild" command="mono RALint.exe d2k" workingdir="${ProjectDir}/../" />
|
||||||
|
</CustomCommands>
|
||||||
|
</CustomCommands>
|
||||||
|
<DefineConstants>DEBUG;</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release</OutputPath>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core">
|
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml.Linq">
|
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Data.DataSetExtensions">
|
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="D2kLoadScreen.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||||
|
<Project>{BDAEAB25-991E-46A7-AF1E-4F0E03358DAA}</Project>
|
||||||
|
<Name>OpenRA.FileFormats</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
|
||||||
|
<Project>{0DFB103F-2962-400F-8C6D-E2C28CCBA633}</Project>
|
||||||
|
<Name>OpenRA.Game</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\OpenRA.Mods.RA\OpenRA.Mods.RA.csproj">
|
||||||
|
<Project>{4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}</Project>
|
||||||
|
<Name>OpenRA.Mods.RA</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\OpenRA.Mods.Cnc\OpenRA.Mods.Cnc.csproj">
|
||||||
|
<Project>{2881135D-4D62-493E-8F83-5EEE92CCC6BE}</Project>
|
||||||
|
<Name>OpenRA.Mods.Cnc</Name>
|
||||||
|
<Private>False</Private>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Properties\" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
39
OpenRA.Mods.D2k/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 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.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Information about this assembly is defined by the following attributes.
|
||||||
|
// Change them to the values specific to your project.
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("OpenRA.Mods.D2k")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("OpenRA.Mods.D2k")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2012")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||||
|
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||||
|
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||||
|
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
|
|
||||||
|
// The following attributes are used to specify the signing key for the assembly,
|
||||||
|
// if desired. See the Mono documentation for more information about signing.
|
||||||
|
|
||||||
|
//[assembly: AssemblyDelaySign(false)]
|
||||||
|
//[assembly: AssemblyKeyFile("")]
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#region Copyright & License Information
|
#region Copyright & License Information
|
||||||
/*
|
/*
|
||||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
* Copyright 2007-2012 The OpenRA Developers (see AUTHORS)
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
* 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
|
* available to you under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation. For more information,
|
* as published by the Free Software Foundation. For more information,
|
||||||
@@ -104,6 +104,116 @@ namespace OpenRA.Utility
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ConvertR8ToPng(string[] args)
|
||||||
|
{
|
||||||
|
var srcImage = new R8Reader(File.OpenRead(args[1]));
|
||||||
|
var shouldRemap = args.Contains("--transparent");
|
||||||
|
var palette = Palette.Load(args[2], shouldRemap);
|
||||||
|
var startFrame = int.Parse(args[3]);
|
||||||
|
var endFrame = int.Parse(args[4]) + 1;
|
||||||
|
var filename = args[5];
|
||||||
|
var FrameCount = endFrame - startFrame;
|
||||||
|
|
||||||
|
var frame = srcImage[startFrame];
|
||||||
|
var bitmap = new Bitmap(frame.FrameWidth * FrameCount, frame.FrameHeight, PixelFormat.Format8bppIndexed);
|
||||||
|
bitmap.Palette = palette.AsSystemPalette();
|
||||||
|
|
||||||
|
int OffsetX = 0;
|
||||||
|
int OffsetY = 0;
|
||||||
|
|
||||||
|
int x = 0;
|
||||||
|
|
||||||
|
if (args.Contains("--vehicle")) //complex resorting to RA/CnC compatible frame order
|
||||||
|
{
|
||||||
|
endFrame = endFrame - (FrameCount / 2);
|
||||||
|
startFrame--;
|
||||||
|
for (int f = endFrame; f > startFrame; f--)
|
||||||
|
{
|
||||||
|
frame = srcImage[f];
|
||||||
|
|
||||||
|
OffsetX = frame.FrameWidth/2 - frame.OffsetX;
|
||||||
|
OffsetY = frame.FrameHeight/2 - frame.OffsetY;
|
||||||
|
|
||||||
|
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
||||||
|
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
||||||
|
|
||||||
|
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Width, frame.Height), ImageLockMode.WriteOnly,
|
||||||
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
|
for (var i = 0; i < frame.Height; i++)
|
||||||
|
Marshal.Copy(frame.Image, i * frame.Width,
|
||||||
|
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Width);
|
||||||
|
|
||||||
|
bitmap.UnlockBits(data);
|
||||||
|
|
||||||
|
x += frame.FrameWidth;
|
||||||
|
}
|
||||||
|
endFrame = endFrame + (FrameCount / 2) - 1;
|
||||||
|
startFrame = startFrame + (FrameCount / 2) + 1;
|
||||||
|
for (int f = endFrame; f > startFrame; f--)
|
||||||
|
{
|
||||||
|
frame = srcImage[f];
|
||||||
|
|
||||||
|
OffsetX = frame.FrameWidth/2 - frame.OffsetX;
|
||||||
|
OffsetY = frame.FrameHeight/2 - frame.OffsetY;
|
||||||
|
|
||||||
|
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
||||||
|
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
||||||
|
|
||||||
|
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Width, frame.Height), ImageLockMode.WriteOnly,
|
||||||
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
|
for (var i = 0; i < frame.Height; i++)
|
||||||
|
Marshal.Copy(frame.Image, i * frame.Width,
|
||||||
|
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Width);
|
||||||
|
|
||||||
|
bitmap.UnlockBits(data);
|
||||||
|
|
||||||
|
x += frame.FrameWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int f = startFrame; f < endFrame; f++)
|
||||||
|
{
|
||||||
|
frame = srcImage[f];
|
||||||
|
|
||||||
|
if (args.Contains("--infrantry"))
|
||||||
|
{
|
||||||
|
OffsetX = frame.FrameWidth/2 - frame.Width/2;
|
||||||
|
OffsetY = frame.FrameHeight/2 - frame.Height/2;
|
||||||
|
}
|
||||||
|
else if (args.Contains("--projectile"))
|
||||||
|
{
|
||||||
|
OffsetX = frame.FrameWidth/2 - frame.OffsetX;
|
||||||
|
OffsetY = frame.FrameHeight/2 - frame.OffsetY;
|
||||||
|
}
|
||||||
|
else if (args.Contains("--building"))
|
||||||
|
{
|
||||||
|
if (frame.OffsetX < 0) { frame.OffsetX = 0 - frame.OffsetX; }
|
||||||
|
if (frame.OffsetY < 0) { frame.OffsetY = 0 - frame.OffsetY; }
|
||||||
|
OffsetX = 0 + frame.OffsetX;
|
||||||
|
OffsetY = frame.FrameHeight - frame.OffsetY;
|
||||||
|
}
|
||||||
|
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
||||||
|
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
||||||
|
|
||||||
|
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Width, frame.Height), ImageLockMode.WriteOnly,
|
||||||
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
|
for (var i = 0; i < frame.Height; i++)
|
||||||
|
Marshal.Copy(frame.Image, i * frame.Width,
|
||||||
|
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Width);
|
||||||
|
|
||||||
|
bitmap.UnlockBits(data);
|
||||||
|
|
||||||
|
x += frame.FrameWidth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bitmap.Save(filename+".png");
|
||||||
|
Console.WriteLine(filename+".png saved");
|
||||||
|
}
|
||||||
|
|
||||||
public static void ConvertTmpToPng(string[] args)
|
public static void ConvertTmpToPng(string[] args)
|
||||||
{
|
{
|
||||||
var mods = args[1].Split(',');
|
var mods = args[1].Split(',');
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#region Copyright & License Information
|
#region Copyright & License Information
|
||||||
/*
|
/*
|
||||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
* Copyright 2007-2012 The OpenRA Developers (see AUTHORS)
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
* 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
|
* available to you under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation. For more information,
|
* as published by the Free Software Foundation. For more information,
|
||||||
@@ -27,6 +27,7 @@ namespace OpenRA.Utility
|
|||||||
{ "--extract", Command.ExtractFiles },
|
{ "--extract", Command.ExtractFiles },
|
||||||
{ "--tmp-png", Command.ConvertTmpToPng },
|
{ "--tmp-png", Command.ConvertTmpToPng },
|
||||||
{ "--remap", Command.RemapShp },
|
{ "--remap", Command.RemapShp },
|
||||||
|
{ "--r8", Command.ConvertR8ToPng },
|
||||||
};
|
};
|
||||||
|
|
||||||
if (args.Length == 0) { PrintUsage(); return; }
|
if (args.Length == 0) { PrintUsage(); return; }
|
||||||
@@ -53,12 +54,14 @@ namespace OpenRA.Utility
|
|||||||
{
|
{
|
||||||
Console.WriteLine("Usage: OpenRA.Utility.exe [OPTION] [ARGS]");
|
Console.WriteLine("Usage: OpenRA.Utility.exe [OPTION] [ARGS]");
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
Console.WriteLine(" --settings-value KEY Get value of KEY from settings.yaml");
|
Console.WriteLine(" --settings-value KEY Get value of KEY from settings.yaml");
|
||||||
Console.WriteLine(" --shp PNGFILE FRAMEWIDTH Convert a PNG containing one or more frames to a SHP");
|
Console.WriteLine(" --shp PNGFILE FRAMEWIDTH Convert a single PNG with multiple frames appended after another to a SHP");
|
||||||
Console.WriteLine(" --png SHPFILE PALETTE [--transparent] Convert a SHP to a PNG containing all of its frames, optionally setting up transparency");
|
Console.WriteLine(" --png SHPFILE PALETTE [--transparent] Convert a SHP to a PNG containing all of its frames, optionally setting up transparency");
|
||||||
Console.WriteLine(" --extract MOD[,MOD]* FILES Extract files from mod packages");
|
Console.WriteLine(" --extract MOD[,MOD]* FILES Extract files from mod packages");
|
||||||
Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG");
|
Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG");
|
||||||
Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette");
|
Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette");
|
||||||
|
Console.WriteLine(" --r8 R8FILE PALETTE STARTFRAME ENDFRAME FILENAME [--transparent] ");
|
||||||
|
Console.WriteLine(" [--infrantry] [--vehicle] [--projectile] [--building] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as unit type for correct offset to append multiple frames to one PNG named by filename optionally setting up transparency");
|
||||||
}
|
}
|
||||||
|
|
||||||
static string GetNamedArg(string[] args, string arg)
|
static string GetNamedArg(string[] args, string arg)
|
||||||
|
|||||||
99
doc/d2k formatspecs.txt
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
Dune 2000 File Formats Specs. Specially for Programmers, who want make editor(s) for Dune 2000
|
||||||
|
|
||||||
|
Date: June 8, 2004
|
||||||
|
|
||||||
|
Author: Roman "Siberian GRemlin" Lotchenov
|
||||||
|
E-Mail #1: slos@scn.ru
|
||||||
|
E-Mail #2: SibGRem@rambler.ru
|
||||||
|
*****************************************************************************
|
||||||
|
Graphics Resources - .R8 and .R16
|
||||||
|
|
||||||
|
ImageHeader: Record
|
||||||
|
ID: Byte; //0 - no data, 1 - picture with pallete,
|
||||||
|
//2 - picture with current pallete.
|
||||||
|
Width: LongInt; //Width of picture
|
||||||
|
Height: LongInt; //Height of picture
|
||||||
|
X_Offset: LongInt; //Pictures offset on an axis X (from left border(edge) of virtual frame)
|
||||||
|
Y_Offset: LongInt; //Pictures offset on an axis Y (from top border(edge) of virtual frame)
|
||||||
|
ImageHandle: LongInt; //Handle to picture (in memory), 0 - image not have picture
|
||||||
|
PaletteHandle: LongInt; //Handle to pallete (in memory), 0 - image not have pallete,
|
||||||
|
//and using pallete from palette.bin filr. format - 256*RGB
|
||||||
|
Bpp: Byte; //Bpp of picture
|
||||||
|
FrameHeight: Byte; //Height of virtual frame, in which is displayed the picture
|
||||||
|
FrameWidth: Byte; //Width of virtual frame, in which is displayed the picture
|
||||||
|
Align: Byte; //Alignment on even border
|
||||||
|
End;
|
||||||
|
|
||||||
|
There is a matrix(array) of pixels by the size further:
|
||||||
|
For ImageHeader.Bpp = 8: ImageHeader.Width*ImageHeader.Height
|
||||||
|
For ImageHeader.Bpp = 16: ImageHeader.Width*ImageHeader.Height*2,
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
If PaletteOffset <> 0 and ImageHeader.ID = 1, then there is Pallete Header and Pallete
|
||||||
|
|
||||||
|
PalHeader: Record
|
||||||
|
Memory: LongInt; //The memory under a palette was allocated (There is no importance in a file)
|
||||||
|
PalHandle:LongInt; //Handle to colors array (in memory), if 0 - then game showe error message
|
||||||
|
End;
|
||||||
|
|
||||||
|
Palette: array[0..511] of byte; //Pallete: 256 records of colors
|
||||||
|
//Color record: 2 bytes - 5 bit red component, 6 bit green component,
|
||||||
|
//5 bit blue component
|
||||||
|
|
||||||
|
Warning: In files UI_ENG.R16 and UI_ENG.R8, cuted ImageHeader.ID
|
||||||
|
Warning: Files UIBB.R8 and UIBB.R16 is only picture(pixels array) without any headers. Width=640, Height=400
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
Sound Resources - [Dune2000 Folder]\Data\GameSFX\SOUND.RS
|
||||||
|
|
||||||
|
HeaderSize: LongInt; //Size of RSoundHeader
|
||||||
|
RSoundBody: array[0..56] of record
|
||||||
|
FileName: Char[0..12]; //File name
|
||||||
|
Zero: Byte; //Always $00
|
||||||
|
FileOffset: DWord; //Offfset of WAVE
|
||||||
|
FileSize: DWord; //Size of Wave file
|
||||||
|
end;
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
Text Resources - [Dune2000 Folder]\Data\UI_Data\TEXT.UIB
|
||||||
|
|
||||||
|
STUIBHeader: record
|
||||||
|
Strs: DWord; //Count of strings
|
||||||
|
end;
|
||||||
|
|
||||||
|
STUIBBody: array[0..STUIHeader.Strs] of record
|
||||||
|
NameCount: Word; //Count of symbols(chars) in string name
|
||||||
|
StrName: array[0..STUIBBody.NameCount] of char; //String name
|
||||||
|
StrCount: word; //Count of symbols(chars) in string
|
||||||
|
Str: array[0..STUIBBody.StrCount] of char; //String
|
||||||
|
end;
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
Fonts Resources - .FNT and .FPL
|
||||||
|
|
||||||
|
FontHeader of record
|
||||||
|
FontLoadedFlag: byte; //Must be $00
|
||||||
|
SpaceSize: byte; //Size of space (in pixels)
|
||||||
|
FirstSymbol: byte; //Code of first symbol in font
|
||||||
|
Interval: byte; //Size of interval between symbols (in pixels)
|
||||||
|
MaxHeight: byte; //Maximum height of symbol
|
||||||
|
Reserve: array[0..2] of byte; //not used
|
||||||
|
SymbolsHandle array[0..255] of LongInt; //Handle table to symbols in memory (There is no importance in a file)
|
||||||
|
end;
|
||||||
|
|
||||||
|
Symbols: array[0..255] of record
|
||||||
|
Width: LongInt; //Width of symbol
|
||||||
|
Heigth: LongInt; //Heigth of symvol
|
||||||
|
Pixels: array[1..(Symbols.Width*Symbols.Heigth)] of byte;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Warning: FONTCOL.FNT using pallete from FONTCOL.FPL, Format - 256*RGBF, F=Junk!
|
||||||
|
Warning: [Dune2000 Folder]\Data\BIN\Font.BIN - is sybmol code(index) table(map)
|
||||||
|
|
||||||
|
*****************************************************************************
|
||||||
|
Thanks to:
|
||||||
|
Michail Beschetnov for begins in R8 file format description
|
||||||
|
Magic Team for help with R8 file format and for Dune 2000 Image Converter
|
||||||
|
be-lam0r for help with FNT, R16 and R8
|
||||||
|
-=*************=-
|
||||||
|
Please sorry for my english...
|
||||||
174
mods/d2k/chrome.yaml
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
chrome-atreides: chrome-atreides.png
|
||||||
|
specialbin-top: 0,0,30,51
|
||||||
|
specialbin-middle: 0,51,30,51
|
||||||
|
specialbin-bottom: 0,153,30,39
|
||||||
|
moneybin: 192,0,320,32
|
||||||
|
tooltip-bg: 0,288,272,136
|
||||||
|
|
||||||
|
radar-atreides: chrome-atreides.png
|
||||||
|
left: 297,31,9,192
|
||||||
|
right: 498,31,9,192
|
||||||
|
bottom: 297,223,210,30
|
||||||
|
bg: 306,31,192,192
|
||||||
|
|
||||||
|
power-atreides: chrome-atreides.png
|
||||||
|
power-indicator: 187,4,4,7
|
||||||
|
|
||||||
|
palette-atreides: chrome-atreides.png
|
||||||
|
top: 297,288,201,9
|
||||||
|
dock-top: 498,274,14,23
|
||||||
|
bottom: 297,489,201,9
|
||||||
|
dock-bottom: 498,489,14,23
|
||||||
|
bg-0: 297,297,201,48
|
||||||
|
dock-0: 498,297,14,48
|
||||||
|
bg-1: 297,345,201,48
|
||||||
|
dock-1: 498,345,14,48
|
||||||
|
bg-2: 297,393,201,48
|
||||||
|
dock-2: 498,393,14,48
|
||||||
|
bg-3: 297,441,201,48
|
||||||
|
dock-3: 498,441,14,48
|
||||||
|
|
||||||
|
digits-atreides: chrome-atreides.png
|
||||||
|
0: 32,0,13,17
|
||||||
|
1: 45,0,13,17
|
||||||
|
2: 58,0,13,17
|
||||||
|
3: 71,0,13,17
|
||||||
|
4: 84,0,13,17
|
||||||
|
5: 97,0,13,17
|
||||||
|
6: 110,0,13,17
|
||||||
|
7: 123,0,13,17
|
||||||
|
8: 136,0,13,17
|
||||||
|
9: 149,0,13,17
|
||||||
|
|
||||||
|
chrome-harkonnen: chrome-harkonnen.png
|
||||||
|
specialbin-top: 0,0,30,51
|
||||||
|
specialbin-middle: 0,51,30,51
|
||||||
|
specialbin-bottom: 0,153,30,39
|
||||||
|
moneybin: 192,0,320,32
|
||||||
|
tooltip-bg: 0,288,272,136
|
||||||
|
|
||||||
|
radar-harkonnen: chrome-harkonnen.png
|
||||||
|
left: 297,31,9,192
|
||||||
|
right: 498,31,9,192
|
||||||
|
bottom: 297,223,210,30
|
||||||
|
bg: 306,31,192,192
|
||||||
|
power-indicator: 187,4,4,7
|
||||||
|
|
||||||
|
power-harkonnen: chrome-harkonnen.png
|
||||||
|
power-indicator: 187,4,4,7
|
||||||
|
|
||||||
|
palette-harkonnen: chrome-harkonnen.png
|
||||||
|
top: 297,288,201,9
|
||||||
|
dock-top: 498,274,14,23
|
||||||
|
bottom: 297,489,201,9
|
||||||
|
dock-bottom: 498,489,14,23
|
||||||
|
bg-0: 297,297,201,48
|
||||||
|
dock-0: 498,297,14,48
|
||||||
|
bg-1: 297,345,201,48
|
||||||
|
dock-1: 498,345,14,48
|
||||||
|
bg-2: 297,393,201,48
|
||||||
|
dock-2: 498,393,14,48
|
||||||
|
bg-3: 297,441,201,48
|
||||||
|
dock-3: 498,441,14,48
|
||||||
|
|
||||||
|
digits-harkonnen: chrome-harkonnen.png
|
||||||
|
0: 32,0,13,17
|
||||||
|
1: 45,0,13,17
|
||||||
|
2: 58,0,13,17
|
||||||
|
3: 71,0,13,17
|
||||||
|
4: 84,0,13,17
|
||||||
|
5: 97,0,13,17
|
||||||
|
6: 110,0,13,17
|
||||||
|
7: 123,0,13,17
|
||||||
|
8: 136,0,13,17
|
||||||
|
9: 149,0,13,17
|
||||||
|
|
||||||
|
chrome-ordos: chrome-ordos.png
|
||||||
|
specialbin-top: 0,0,30,51
|
||||||
|
specialbin-middle: 0,51,30,51
|
||||||
|
specialbin-bottom: 0,153,30,39
|
||||||
|
moneybin: 192,0,320,32
|
||||||
|
tooltip-bg: 0,288,272,136
|
||||||
|
|
||||||
|
radar-ordos: chrome-ordos.png
|
||||||
|
left: 297,31,9,192
|
||||||
|
right: 498,31,9,192
|
||||||
|
bottom: 297,223,210,30
|
||||||
|
bg: 306,31,192,192
|
||||||
|
|
||||||
|
power-ordos: chrome-ordos.png
|
||||||
|
power-indicator: 187,4,4,7
|
||||||
|
|
||||||
|
palette-ordos: chrome-ordos.png
|
||||||
|
top: 297,288,201,9
|
||||||
|
dock-top: 498,274,14,23
|
||||||
|
bottom: 297,489,201,9
|
||||||
|
dock-bottom: 498,489,14,23
|
||||||
|
bg-0: 297,297,201,48
|
||||||
|
dock-0: 498,297,14,48
|
||||||
|
bg-1: 297,345,201,48
|
||||||
|
dock-1: 498,345,14,48
|
||||||
|
bg-2: 297,393,201,48
|
||||||
|
dock-2: 498,393,14,48
|
||||||
|
bg-3: 297,441,201,48
|
||||||
|
dock-3: 498,441,14,48
|
||||||
|
|
||||||
|
digits-ordos: chrome-ordos.png
|
||||||
|
0: 32,0,13,17
|
||||||
|
1: 45,0,13,17
|
||||||
|
2: 58,0,13,17
|
||||||
|
3: 71,0,13,17
|
||||||
|
4: 84,0,13,17
|
||||||
|
5: 97,0,13,17
|
||||||
|
6: 110,0,13,17
|
||||||
|
7: 123,0,13,17
|
||||||
|
8: 136,0,13,17
|
||||||
|
9: 149,0,13,17
|
||||||
|
|
||||||
|
tabs-selected: tabs.png
|
||||||
|
atreides-Building: 0,0,27,41
|
||||||
|
atreides-Defense: 0,40,27,41
|
||||||
|
atreides-Infantry: 0,80,27,41
|
||||||
|
atreides-Vehicle: 0,120,27,41
|
||||||
|
atreides-Plane: 0,160,27,41
|
||||||
|
atreides-Ship: 0,200,27,41
|
||||||
|
harkonnen-Building: 80,0,27,41
|
||||||
|
harkonnen-Defense: 80,40,27,41
|
||||||
|
harkonnen-Infantry: 80,80,27,41
|
||||||
|
harkonnen-Vehicle: 80,120,27,41
|
||||||
|
harkonnen-Plane: 80,160,27,41
|
||||||
|
harkonnen-Ship: 80,200,27,41
|
||||||
|
|
||||||
|
tabs-ready: tabs.png
|
||||||
|
atreides-Building: 27,0,27,41
|
||||||
|
atreides-Defense: 27,40,27,41
|
||||||
|
atreides-Infantry: 27,80,27,41
|
||||||
|
atreides-Vehicle: 27,120,27,41
|
||||||
|
atreides-Plane: 27,160,27,41
|
||||||
|
atreides-Ship: 27,200,27,41
|
||||||
|
harkonnen-Building: 107,0,27,41
|
||||||
|
harkonnen-Defense: 107,40,27,41
|
||||||
|
harkonnen-Infantry: 107,80,27,41
|
||||||
|
harkonnen-Vehicle: 107,120,27,41
|
||||||
|
harkonnen-Plane: 107,160,27,41
|
||||||
|
harkonnen-Ship: 107,200,27,41
|
||||||
|
|
||||||
|
tabs-normal: tabs.png
|
||||||
|
atreides-Building: 54,0,27,41
|
||||||
|
atreides-Defense: 54,40,27,41
|
||||||
|
atreides-Infantry: 54,80,27,41
|
||||||
|
atreides-Vehicle: 54,120,27,41
|
||||||
|
atreides-Plane: 54,160,27,41
|
||||||
|
atreides-Ship: 54,200,27,41
|
||||||
|
harkonnen-Building: 134,0,27,41
|
||||||
|
harkonnen-Defense: 134,40,27,41
|
||||||
|
harkonnen-Infantry: 134,80,27,41
|
||||||
|
harkonnen-Vehicle: 134,120,27,41
|
||||||
|
harkonnen-Plane: 134,160,27,41
|
||||||
|
harkonnen-Ship: 134,200,27,41
|
||||||
|
|
||||||
|
flags: buttons.png
|
||||||
|
atreides: 60,84,30,15
|
||||||
|
harkonnen: 60,84,30,15
|
||||||
|
orodos: 60,84,30,15
|
||||||
|
|
||||||
@@ -1,455 +0,0 @@
|
|||||||
Background@SERVER_LOBBY:
|
|
||||||
Delegate:LobbyDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:800
|
|
||||||
Height:600
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LOBBY_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Align:Center
|
|
||||||
Width:800
|
|
||||||
Height:20
|
|
||||||
Bold:True
|
|
||||||
Text:OpenRA Multiplayer Lobby
|
|
||||||
Background@LOBBY_MAP_BG:
|
|
||||||
X:PARENT_RIGHT-268
|
|
||||||
Y:39
|
|
||||||
Width:252
|
|
||||||
Height:252
|
|
||||||
Background:dialog3
|
|
||||||
Children:
|
|
||||||
MapPreview@LOBBY_MAP_PREVIEW:
|
|
||||||
X:4
|
|
||||||
Y:4
|
|
||||||
Width:244
|
|
||||||
Height:244
|
|
||||||
Container@PLAYERS:
|
|
||||||
X:20
|
|
||||||
Y:75
|
|
||||||
Width:500
|
|
||||||
Height:200
|
|
||||||
Children:
|
|
||||||
Container@TEMPLATE_LOCAL:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:500
|
|
||||||
Height:30
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
TextField@NAME:
|
|
||||||
Text:Name
|
|
||||||
Width:139
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
MaxLength:16
|
|
||||||
Button@COLOR:
|
|
||||||
Width:65
|
|
||||||
Height:25
|
|
||||||
X:159
|
|
||||||
Y:0
|
|
||||||
Children:
|
|
||||||
ColorBlock@COLORBLOCK:
|
|
||||||
X:5
|
|
||||||
Y:7
|
|
||||||
Width:PARENT_RIGHT-10
|
|
||||||
Height:PARENT_BOTTOM-12
|
|
||||||
Button@FACTION:
|
|
||||||
Width:110
|
|
||||||
Height:25
|
|
||||||
X:244
|
|
||||||
Y:0
|
|
||||||
Children:
|
|
||||||
Image@FACTIONFLAG:
|
|
||||||
Width:30
|
|
||||||
Height:15
|
|
||||||
X:5
|
|
||||||
Y:5
|
|
||||||
Label@FACTIONNAME:
|
|
||||||
Text:Faction
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
X:40
|
|
||||||
Y:0
|
|
||||||
Button@TEAM:
|
|
||||||
Text:Team
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
X:374
|
|
||||||
Y:0
|
|
||||||
Checkbox@STATUS:
|
|
||||||
X:455
|
|
||||||
Y:2
|
|
||||||
Width:20
|
|
||||||
Height:20
|
|
||||||
Container@TEMPLATE_REMOTE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:500
|
|
||||||
Height:30
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@NAME:
|
|
||||||
Text:Name
|
|
||||||
Width:139
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
ColorBlock@COLOR:
|
|
||||||
X:164
|
|
||||||
Y:7
|
|
||||||
Width:55
|
|
||||||
Height:13
|
|
||||||
Label@FACTION:
|
|
||||||
Width:110
|
|
||||||
Height:25
|
|
||||||
X:244
|
|
||||||
Y:0
|
|
||||||
Children:
|
|
||||||
Image@FACTIONFLAG:
|
|
||||||
Width:30
|
|
||||||
Height:15
|
|
||||||
X:5
|
|
||||||
Y:5
|
|
||||||
Label@FACTIONNAME:
|
|
||||||
Text:Faction
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
X:40
|
|
||||||
Y:0
|
|
||||||
Label@TEAM:
|
|
||||||
Text:Team
|
|
||||||
Width:70
|
|
||||||
Height:25
|
|
||||||
X:351
|
|
||||||
Y:0
|
|
||||||
Align:Center
|
|
||||||
Bold: false
|
|
||||||
Checkbox@STATUS:
|
|
||||||
X:455
|
|
||||||
Y:2
|
|
||||||
Width:20
|
|
||||||
Height:20
|
|
||||||
Container@TEMPLATE_EMPTY:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:500
|
|
||||||
Height:30
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@NAME:
|
|
||||||
Text:Name
|
|
||||||
Width:139
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Button@JOIN:
|
|
||||||
Text:Play in this slot
|
|
||||||
Width:PARENT_RIGHT - 160
|
|
||||||
Height:25
|
|
||||||
X:160
|
|
||||||
Y:0
|
|
||||||
Container@TEMPLATE_EMPTY_HOST:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:500
|
|
||||||
Height:30
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Button@NAME: -- TODO: replace with dropdown
|
|
||||||
Text:Name
|
|
||||||
Width:155
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Button@JOIN:
|
|
||||||
Text:Play in this slot
|
|
||||||
Width:PARENT_RIGHT - 160
|
|
||||||
Height:25
|
|
||||||
X:160
|
|
||||||
Y:0
|
|
||||||
Container@LABEL_CONTAINER:
|
|
||||||
X:30
|
|
||||||
Y:45
|
|
||||||
Children:
|
|
||||||
Label@LABEL_LOBBY_NAME:
|
|
||||||
Width:139
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Text:Name
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@LABEL_LOBBY_COLOR:
|
|
||||||
Width:65
|
|
||||||
Height:25
|
|
||||||
X:159
|
|
||||||
Y:0
|
|
||||||
Text:Color
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@LABEL_LOBBY_FACTION:
|
|
||||||
Width:110
|
|
||||||
Height:25
|
|
||||||
X:244
|
|
||||||
Y:0
|
|
||||||
Text:Faction
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@LABEL_LOBBY_TEAM:
|
|
||||||
Width:70
|
|
||||||
Height:25
|
|
||||||
X:351
|
|
||||||
Y:0
|
|
||||||
Text:Team
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@LABEL_LOBBY_STATUS:
|
|
||||||
X:432
|
|
||||||
Y:0
|
|
||||||
Width:70
|
|
||||||
Height:25
|
|
||||||
Text:Ready
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Button@CHANGEMAP_BUTTON:
|
|
||||||
Visible:true
|
|
||||||
X:PARENT_RIGHT-160
|
|
||||||
Y:PARENT_BOTTOM-269
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Change Map
|
|
||||||
Bold:True
|
|
||||||
ChatDisplay@CHAT_DISPLAY:
|
|
||||||
Visible:true
|
|
||||||
X:20
|
|
||||||
Notification:
|
|
||||||
Height:230
|
|
||||||
Y:PARENT_BOTTOM - 289
|
|
||||||
Width:PARENT_RIGHT - 200
|
|
||||||
Label@LABEL_CHATTYPE:
|
|
||||||
Width:65
|
|
||||||
Height:25
|
|
||||||
X:0
|
|
||||||
Y:PARENT_BOTTOM - 50
|
|
||||||
Text:Chat:
|
|
||||||
Align:Right
|
|
||||||
TextField@CHAT_TEXTFIELD:
|
|
||||||
Visible:true
|
|
||||||
X:70
|
|
||||||
Y:PARENT_BOTTOM - 49
|
|
||||||
Width:550
|
|
||||||
Height:25
|
|
||||||
Button@START_GAME_BUTTON:
|
|
||||||
Visible:true
|
|
||||||
X:PARENT_RIGHT-160
|
|
||||||
Y:PARENT_BOTTOM-49
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Start Game
|
|
||||||
Bold:True
|
|
||||||
Button@DISCONNECT_BUTTON:
|
|
||||||
Visible:true
|
|
||||||
X:PARENT_RIGHT-160
|
|
||||||
Y:PARENT_BOTTOM-189
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Disconnect
|
|
||||||
Bold:True
|
|
||||||
Checkbox@LOCKTEAMS_CHECKBOX:
|
|
||||||
Visible: true
|
|
||||||
X: PARENT_RIGHT-160
|
|
||||||
Y: PARENT_BOTTOM-229
|
|
||||||
Width: 80
|
|
||||||
Height: 20
|
|
||||||
Text: Lock Teams
|
|
||||||
Background@COLOR_CHOOSER:
|
|
||||||
Width:500
|
|
||||||
Height:195
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2 - PARENT_LEFT
|
|
||||||
Y:100
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Button@BUTTON_OK:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Ok
|
|
||||||
Bold:True
|
|
||||||
ShpImage@MCV:
|
|
||||||
X:PARENT_RIGHT - 90
|
|
||||||
Y:20
|
|
||||||
Image:mcv
|
|
||||||
Frame:20
|
|
||||||
Palette:colorpicker
|
|
||||||
# ShpImage@FACT:
|
|
||||||
# X:PARENT_RIGHT - 100
|
|
||||||
# Y:70
|
|
||||||
# Image:fact
|
|
||||||
# Palette:colorpicker
|
|
||||||
Label@HUE_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:30
|
|
||||||
Width:110
|
|
||||||
Height:20
|
|
||||||
Align: Right
|
|
||||||
Text: Hue:
|
|
||||||
Slider@HUE:
|
|
||||||
X:120
|
|
||||||
Y:30
|
|
||||||
Width:260
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Label@SAT_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:60
|
|
||||||
Width:110
|
|
||||||
Height:20
|
|
||||||
Align: Right
|
|
||||||
Text: Saturation:
|
|
||||||
Slider@SAT:
|
|
||||||
X:120
|
|
||||||
Y:60
|
|
||||||
Width:260
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Label@LUM_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:90
|
|
||||||
Width:110
|
|
||||||
Height:20
|
|
||||||
Align: Right
|
|
||||||
Text: Brightness:
|
|
||||||
Slider@LUM:
|
|
||||||
X:120
|
|
||||||
Y:90
|
|
||||||
Width:260
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Label@RANGE_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:120
|
|
||||||
Width:110
|
|
||||||
Height:20
|
|
||||||
Align: Right
|
|
||||||
Text: Range:
|
|
||||||
Slider@RANGE:
|
|
||||||
X:120
|
|
||||||
Y:120
|
|
||||||
Width:260
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Background@MAP_CHOOSER:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Delegate:MapChooserDelegate
|
|
||||||
Width:800
|
|
||||||
Height:600
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@MAPCHOOSER_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Align:Center
|
|
||||||
Width:800
|
|
||||||
Height:20
|
|
||||||
Text:Choose Map
|
|
||||||
Bold:True
|
|
||||||
ScrollPanel@MAP_LIST:
|
|
||||||
X:20
|
|
||||||
Y:50
|
|
||||||
Width:500
|
|
||||||
Height:480
|
|
||||||
Children:
|
|
||||||
Label@MAP_TEMPLATE:
|
|
||||||
Width:PARENT_RIGHT-28
|
|
||||||
Height:25
|
|
||||||
X:2
|
|
||||||
Y:0
|
|
||||||
Visible:false
|
|
||||||
Background@MAPCHOOSER_MAP_BG:
|
|
||||||
X:PARENT_RIGHT-268
|
|
||||||
Y:50
|
|
||||||
Width:252
|
|
||||||
Height:252
|
|
||||||
Background:dialog3
|
|
||||||
Children:
|
|
||||||
MapPreview@MAPCHOOSER_MAP_PREVIEW:
|
|
||||||
X:4
|
|
||||||
Y:4
|
|
||||||
Width:244
|
|
||||||
Height:244
|
|
||||||
Label@CURMAP_TITLE_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:311
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Title:
|
|
||||||
Bold:True
|
|
||||||
Label@CURMAP_TITLE:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:311
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@CURMAP_SIZE_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:331
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Size:
|
|
||||||
Bold:True
|
|
||||||
Label@CURMAP_SIZE:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:331
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@CURMAP_THEATER_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:351
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Theater:
|
|
||||||
Bold:True
|
|
||||||
Label@CURMAP_THEATER:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:351
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@CURMAP_PLAYERS_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:371
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Players:
|
|
||||||
Bold:True
|
|
||||||
Label@CURMAP_PLAYERS:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:371
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Button@BUTTON_OK:
|
|
||||||
X:PARENT_RIGHT - 360
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Ok
|
|
||||||
Bold:True
|
|
||||||
Button@BUTTON_CANCEL:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Cancel
|
|
||||||
Bold:True
|
|
||||||
@@ -1,247 +0,0 @@
|
|||||||
Container@INGAME_ROOT:
|
|
||||||
Delegate:IngameChromeDelegate
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
WorldInteractionController:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
ViewportScrollController:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
Timer@GAME_TIMER:
|
|
||||||
X: WINDOW_RIGHT/2
|
|
||||||
Y: 10
|
|
||||||
Background@POSTGAME_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:100
|
|
||||||
Background:dialog4
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@TEXT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT)/2
|
|
||||||
Width:200
|
|
||||||
Height:40
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
SupportPowerBin@INGAME_POWERS_BIN:
|
|
||||||
X:0
|
|
||||||
Y:25
|
|
||||||
BuildPalette@INGAME_BUILD_PALETTE:
|
|
||||||
X:WINDOW_RIGHT - 250
|
|
||||||
Y:280
|
|
||||||
Width:250
|
|
||||||
Height:500
|
|
||||||
Button@INGAME_OPTIONS_BUTTON:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Options
|
|
||||||
Bold:True
|
|
||||||
Button@INGAME_DIPLOMACY_BUTTON:
|
|
||||||
X:162
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Diplomacy
|
|
||||||
Bold:True
|
|
||||||
WorldTooltip@INGAME_WORLD_TOOLTIP:
|
|
||||||
Button@INGAME_DEVELOPERMODE_BUTTON:
|
|
||||||
X:324
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Developer Mode
|
|
||||||
Visible:false
|
|
||||||
Bold:True
|
|
||||||
RadarBin@INGAME_RADAR_BIN:
|
|
||||||
PowerBin@INGAME_POWER_BIN:
|
|
||||||
MoneyBin@INGAME_MONEY_BIN:
|
|
||||||
X:WINDOW_RIGHT - WIDTH
|
|
||||||
Y:0
|
|
||||||
Width:320
|
|
||||||
Height: 32
|
|
||||||
Children:
|
|
||||||
OrderButton@SELL:
|
|
||||||
Delegate:OrderButtonsChromeDelegate
|
|
||||||
X:3
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:sell
|
|
||||||
Description:Sell
|
|
||||||
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
|
|
||||||
OrderButton@POWER_DOWN:
|
|
||||||
Delegate:OrderButtonsChromeDelegate
|
|
||||||
X:39
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:power
|
|
||||||
Description:Powerdown
|
|
||||||
LongDesc:Disable unneeded structures so their \npower can be used elsewhere
|
|
||||||
OrderButton@REPAIR:
|
|
||||||
Delegate:OrderButtonsChromeDelegate
|
|
||||||
X:75
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:repair
|
|
||||||
Description:Repair
|
|
||||||
LongDesc:Repair damaged buildings
|
|
||||||
WorldTooltip:
|
|
||||||
Background@INGAME_OPTIONS_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:300
|
|
||||||
Height:320
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Options
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Button@RESUME:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:60
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Resume
|
|
||||||
Bold:True
|
|
||||||
Button@SETTINGS:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:100
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Settings
|
|
||||||
Bold:True
|
|
||||||
Button@MUSIC:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:140
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Music
|
|
||||||
Bold:True
|
|
||||||
Button@SURRENDER:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:180
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Surrender
|
|
||||||
Bold:True
|
|
||||||
Button@DISCONNECT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:220
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Disconnect
|
|
||||||
Bold:True
|
|
||||||
Button@QUIT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:260
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Quit
|
|
||||||
Bold:True
|
|
||||||
Background@DIPLOMACY_BG:
|
|
||||||
Delegate:DiplomacyDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:450
|
|
||||||
Height:400
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Diplomacy
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
ChatDisplay@CHAT_DISPLAY:
|
|
||||||
X:250
|
|
||||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
|
||||||
Width: 760
|
|
||||||
Height: 200
|
|
||||||
DrawBackground: False
|
|
||||||
RemoveTime:250
|
|
||||||
ChatEntry@CHAT_ENTRY:
|
|
||||||
X:250
|
|
||||||
Y:WINDOW_BOTTOM - HEIGHT
|
|
||||||
Width: 760
|
|
||||||
Height: 30
|
|
||||||
Background@DEVELOPERMODE_BG:
|
|
||||||
Delegate:DeveloperModeDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:350
|
|
||||||
Height:330
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Developer Mode
|
|
||||||
Align:Center
|
|
||||||
Checkbox@CHECKBOX_SHROUD
|
|
||||||
X:30
|
|
||||||
Y:50
|
|
||||||
Height:20
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Text:Disable Shroud
|
|
||||||
Checkbox@CHECKBOX_UNITDEBUG:
|
|
||||||
X:30
|
|
||||||
Y:80
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Height:20
|
|
||||||
Text:Show Occupied Cells
|
|
||||||
Checkbox@CHECKBOX_PATHDEBUG:
|
|
||||||
X:30
|
|
||||||
Y:110
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Height:20
|
|
||||||
Text:Show Unit Paths
|
|
||||||
Button@GIVE_CASH
|
|
||||||
X:30
|
|
||||||
Y:140
|
|
||||||
Width:200
|
|
||||||
Height:20
|
|
||||||
Text: Give Cash
|
|
||||||
Checkbox@INSTANT_BUILD
|
|
||||||
X:30
|
|
||||||
Y:170
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Height:20
|
|
||||||
Text:Instant Build Speed
|
|
||||||
Checkbox@INSTANT_CHARGE
|
|
||||||
X:30
|
|
||||||
Y:200
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Height:20
|
|
||||||
Text:Instant Charge Time (Special Powers)
|
|
||||||
Checkbox@ENABLE_TECH
|
|
||||||
X:30
|
|
||||||
Y:230
|
|
||||||
Width:PARENT_RIGHT - 30
|
|
||||||
Height:20
|
|
||||||
Text:Build Everything
|
|
||||||
Button@GIVE_EXPLORATION
|
|
||||||
X:30
|
|
||||||
Y:260
|
|
||||||
Width:200
|
|
||||||
Height:20
|
|
||||||
Text: Give Exploration
|
|
||||||
@@ -1,220 +1,266 @@
|
|||||||
Background@MAINMENU_BG:
|
Background@MAINMENU_BG:
|
||||||
|
Id:MAINMENU_BG
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
Width:250
|
Width:250
|
||||||
Height:290
|
Height:420
|
||||||
Delegate:MainMenuButtonsDelegate
|
Visible:true
|
||||||
|
Logic:MainMenuButtonsLogic
|
||||||
Children:
|
Children:
|
||||||
Label@MAINMENU_LABEL_TITLE:
|
Label@MAINMENU_LABEL_TITLE:
|
||||||
|
Id:MAINMENU_LABEL_TITLE
|
||||||
X:0
|
X:0
|
||||||
Y:20
|
Y:20
|
||||||
Width:250
|
Width:250
|
||||||
Height:25
|
Height:25
|
||||||
Text:OpenRA Main Menu
|
Text:OpenD2k Main Menu
|
||||||
Align:Center
|
Align:Center
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_JOIN:
|
Button@MAINMENU_BUTTON_JOIN:
|
||||||
|
Id:MAINMENU_BUTTON_JOIN
|
||||||
X:45
|
X:45
|
||||||
Y:70
|
Y:70
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Join Game
|
Text:Join Game
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_CREATE:
|
Button@MAINMENU_BUTTON_CREATE:
|
||||||
|
Id:MAINMENU_BUTTON_CREATE
|
||||||
X:45
|
X:45
|
||||||
Y:110
|
Y:110
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Create Game
|
Text:Create Game
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_SETTINGS:
|
Button@MAINMENU_BUTTON_DIRECTCONNECT:
|
||||||
|
Id:MAINMENU_BUTTON_DIRECTCONNECT
|
||||||
X:45
|
X:45
|
||||||
Y:150
|
Y:150
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Settings
|
Text:Direct Connect
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_MUSIC:
|
Button@MAINMENU_BUTTON_SETTINGS:
|
||||||
|
Id:MAINMENU_BUTTON_SETTINGS
|
||||||
X:45
|
X:45
|
||||||
Y:190
|
Y:190
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Music
|
Text:Settings
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_QUIT:
|
Button@MAINMENU_BUTTON_MODS:
|
||||||
|
Id:MAINMENU_BUTTON_MODS
|
||||||
X:45
|
X:45
|
||||||
Y:230
|
Y:230
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Quit
|
Text:Mods
|
||||||
Bold:True
|
Font:Bold
|
||||||
Button@MAINMENU_BUTTON_VIDEOPLAYER:
|
# Button@MAINMENU_BUTTON_MUSIC:
|
||||||
Visible:false
|
# Id:MAINMENU_BUTTON_MUSIC
|
||||||
|
# X:45
|
||||||
|
# Y:270
|
||||||
|
# Width:160
|
||||||
|
# Height:25
|
||||||
|
# Text:Music
|
||||||
|
# Font:Bold
|
||||||
|
Button@MAINMENU_BUTTON_REPLAY_VIEWER:
|
||||||
|
Id:MAINMENU_BUTTON_REPLAY_VIEWER
|
||||||
X:45
|
X:45
|
||||||
Y:260
|
Y:310
|
||||||
Width:160
|
Width:160
|
||||||
Height:25
|
Height:25
|
||||||
Text:Video Player
|
Text:Replay Viewer
|
||||||
Bold:True
|
Font:Bold
|
||||||
Label@VERSION_STRING:
|
Button@MAINMENU_BUTTON_QUIT:
|
||||||
X:WINDOW_RIGHT - PARENT_LEFT - WIDTH - 15
|
Id:MAINMENU_BUTTON_QUIT
|
||||||
Y:WINDOW_BOTTOM - PARENT_TOP - 25
|
X:45
|
||||||
Width:400
|
Y:350
|
||||||
Height:35
|
Width:160
|
||||||
Text:
|
Height:25
|
||||||
Align:Right
|
Text:Quit
|
||||||
Bold:True
|
Font:Bold
|
||||||
Background@PERF_BG:
|
Background@PERF_BG:
|
||||||
ClickThrough:true
|
ClickThrough:true
|
||||||
|
Id:PERF_BG
|
||||||
Background:dialog4
|
Background:dialog4
|
||||||
Delegate:PerfDebugDelegate
|
Logic:PerfDebugLogic
|
||||||
X:10
|
X:10
|
||||||
Y:WINDOW_BOTTOM - 250
|
Y:WINDOW_BOTTOM - 250
|
||||||
Width: 210
|
Width: 210
|
||||||
Height: 250
|
Height: 250
|
||||||
Children:
|
Children:
|
||||||
PerfGraph@GRAPH:
|
PerfGraph@GRAPH:
|
||||||
|
Id:GRAPH
|
||||||
X:5
|
X:5
|
||||||
Y:5
|
Y:5
|
||||||
Width:200
|
Width:200
|
||||||
Height:200
|
Height:200
|
||||||
Label@TEXT:
|
Label@TEXT:
|
||||||
Bold: false
|
Id:TEXT
|
||||||
X:20
|
X:20
|
||||||
Y:205
|
Y:205
|
||||||
Width:170
|
Width:170
|
||||||
Height:40
|
Height:40
|
||||||
Background@MUSIC_MENU:
|
#Background@MUSIC_MENU:
|
||||||
Delegate:MusicPlayerDelegate
|
# Id:MUSIC_MENU
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
# Logic:MusicPlayerLogic
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
# X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
Width: 450
|
# Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
Height: 250
|
# Width: 450
|
||||||
Visible: false
|
# Height: 250
|
||||||
Children:
|
# Visible: true
|
||||||
Label@SETTINGS_LABEL_TITLE:
|
# Children:
|
||||||
X:0
|
# Label@SETTINGS_LABEL_TITLE:
|
||||||
Y:20
|
# Id:SETTINGS_LABEL_TITLE
|
||||||
Width:450
|
# X:0
|
||||||
Height:25
|
# Y:20
|
||||||
Text:Music
|
# Width:450
|
||||||
Align:Center
|
# Height:25
|
||||||
Bold:True
|
# Text:Music
|
||||||
Button@BUTTON_CLOSE:
|
# Align:Center
|
||||||
X:PARENT_RIGHT - 180
|
# Font:Bold
|
||||||
Y:PARENT_BOTTOM - 45
|
# Button@BUTTON_INSTALL:
|
||||||
Width:160
|
# Id:BUTTON_INSTALL
|
||||||
Height:25
|
# X:20
|
||||||
Text:Close
|
# Y:PARENT_BOTTOM - 45
|
||||||
Bold:True
|
# Width:160
|
||||||
Container@BUTTONS:
|
# Height:25
|
||||||
X:PARENT_RIGHT - 150
|
# Text:Install Music
|
||||||
Y:50
|
# Font:Bold
|
||||||
Children:
|
# Button@BUTTON_CLOSE:
|
||||||
Button@BUTTON_PLAY:
|
# Id:BUTTON_CLOSE
|
||||||
X:35
|
# X:PARENT_RIGHT - 180
|
||||||
Y:0
|
# Y:PARENT_BOTTOM - 45
|
||||||
Width:25
|
# Width:160
|
||||||
Height:25
|
# Height:25
|
||||||
Children:
|
# Text:Close
|
||||||
Image@IMAGE_PLAY:
|
# Font:Bold
|
||||||
X:0
|
# Container@BUTTONS:
|
||||||
Y:0
|
# X:PARENT_RIGHT - 150
|
||||||
Width:25
|
# Y:50
|
||||||
Height:25
|
# Children:
|
||||||
ImageCollection:music
|
# Button@BUTTON_PLAY:
|
||||||
ImageName:play
|
# Id:BUTTON_PLAY
|
||||||
Button@BUTTON_PAUSE:
|
# X:35
|
||||||
Visible:false
|
# Y:0
|
||||||
X:35
|
# Width:25
|
||||||
Y:0
|
# Height:25
|
||||||
Width:25
|
# Children:
|
||||||
Height:25
|
# Image@IMAGE_PLAY:
|
||||||
Children:
|
# Id:IMAGE_PLAY
|
||||||
Image@IMAGE_PAUSE:
|
# X:0
|
||||||
X:0
|
# Y:0
|
||||||
Y:0
|
# Width:25
|
||||||
Width:25
|
# Height:25
|
||||||
Height:25
|
# ImageCollection:music
|
||||||
ImageCollection:music
|
# ImageName:play
|
||||||
ImageName:pause
|
# Button@BUTTON_PAUSE:
|
||||||
Button@BUTTON_STOP:
|
# Id:BUTTON_PAUSE
|
||||||
X:70
|
# Visible:false
|
||||||
Y:0
|
# X:35
|
||||||
Width:25
|
# Y:0
|
||||||
Height:25
|
# Width:25
|
||||||
Children:
|
# Height:25
|
||||||
Image@IMAGE_STOP:
|
# Children:
|
||||||
X:0
|
# Image@IMAGE_PAUSE:
|
||||||
Y:0
|
# Id:IMAGE_PAUSE
|
||||||
Width:25
|
# X:0
|
||||||
Height:25
|
# Y:0
|
||||||
ImageCollection:music
|
# Width:25
|
||||||
ImageName:stop
|
# Height:25
|
||||||
Button@BUTTON_NEXT:
|
# ImageCollection:music
|
||||||
X:105
|
# ImageName:pause
|
||||||
Y:0
|
# Button@BUTTON_STOP:
|
||||||
Width:25
|
# Id:BUTTON_STOP
|
||||||
Height:25
|
# X:70
|
||||||
Children:
|
# Y:0
|
||||||
Image@IMAGE_NEXT:
|
# Width:25
|
||||||
X:0
|
# Height:25
|
||||||
Y:0
|
# Children:
|
||||||
Width:25
|
# Image@IMAGE_STOP:
|
||||||
Height:25
|
# Id:IMAGE_STOP
|
||||||
ImageCollection:music
|
# X:0
|
||||||
ImageName:next
|
# Y:0
|
||||||
Button@BUTTON_PREV:
|
# Width:25
|
||||||
X:0
|
# Height:25
|
||||||
Y:0
|
# ImageCollection:music
|
||||||
Width:25
|
# ImageName:stop
|
||||||
Height:25
|
# Button@BUTTON_NEXT:
|
||||||
Children:
|
# Id:BUTTON_NEXT
|
||||||
Image@IMAGE_PREV:
|
# X:105
|
||||||
X:0
|
# Y:0
|
||||||
Y:0
|
# Width:25
|
||||||
Width:25
|
# Height:25
|
||||||
Height:25
|
# Children:
|
||||||
ImageCollection:music
|
# Image@IMAGE_NEXT:
|
||||||
ImageName:prev
|
# Id:IMAGE_NEXT
|
||||||
Label@TIME:
|
# X:0
|
||||||
X:PARENT_RIGHT - 150
|
# Y:0
|
||||||
Y:75
|
# Width:25
|
||||||
Width:140
|
# Height:25
|
||||||
Height:25
|
# ImageCollection:music
|
||||||
Align: Center
|
# ImageName:next
|
||||||
ScrollPanel@MUSIC_LIST:
|
# Button@BUTTON_PREV:
|
||||||
X:10
|
# Id:BUTTON_PREV
|
||||||
Y:50
|
# X:0
|
||||||
Width:280
|
# Y:0
|
||||||
Height:140
|
# Width:25
|
||||||
Children:
|
# Height:25
|
||||||
Label@MUSIC_TEMPLATE:
|
# Children:
|
||||||
Width:PARENT_RIGHT-28
|
# Image@IMAGE_PREV:
|
||||||
Height:25
|
# Id:IMAGE_PREV
|
||||||
X:2
|
# X:0
|
||||||
Y:0
|
# Y:0
|
||||||
Visible:false
|
# Width:25
|
||||||
Children:
|
# Height:25
|
||||||
Label@TITLE:
|
# ImageCollection:music
|
||||||
X:5
|
# ImageName:prev
|
||||||
Width:PARENT_RIGHT - 10
|
# Label@TIME:
|
||||||
Height:PARENT_BOTTOM
|
# Id:TIME
|
||||||
Align: Left
|
# X:PARENT_RIGHT - 150
|
||||||
Label@LENGTH:
|
# Y:75
|
||||||
X:5
|
# Width:140
|
||||||
Width:PARENT_RIGHT - 10
|
# Height:25
|
||||||
Height:PARENT_BOTTOM
|
# Align: Center
|
||||||
Align: Right
|
# ScrollPanel@MUSIC_LIST:
|
||||||
Checkbox@SHUFFLE:
|
# Id:MUSIC_LIST
|
||||||
X:PARENT_RIGHT - 150
|
# X:10
|
||||||
Y:110
|
# Y:50
|
||||||
Width:100
|
# Width:280
|
||||||
Height:20
|
# Height:140
|
||||||
Text:Shuffle
|
# Children:
|
||||||
Checkbox@REPEAT:
|
# ScrollItem@MUSIC_TEMPLATE:
|
||||||
X:PARENT_RIGHT - 150
|
# Id:MUSIC_TEMPLATE
|
||||||
Y:140
|
# Width:PARENT_RIGHT-27
|
||||||
Width:100
|
# Height:25
|
||||||
Height:20
|
# X:2
|
||||||
Text:Repeat
|
# Y:0
|
||||||
|
# Visible:false
|
||||||
|
# Children:
|
||||||
|
# Label@TITLE:
|
||||||
|
# Id:TITLE
|
||||||
|
# X:5
|
||||||
|
# Width:PARENT_RIGHT - 10
|
||||||
|
# Height:PARENT_BOTTOM
|
||||||
|
# Align: Left
|
||||||
|
# Label@LENGTH:
|
||||||
|
# Id:LENGTH
|
||||||
|
# X:5
|
||||||
|
# Width:PARENT_RIGHT - 10
|
||||||
|
# Height:PARENT_BOTTOM
|
||||||
|
# Align: Right
|
||||||
|
# Checkbox@SHUFFLE:
|
||||||
|
# Id:SHUFFLE
|
||||||
|
# X:PARENT_RIGHT - 150
|
||||||
|
# Y:110
|
||||||
|
# Width:100
|
||||||
|
# Height:20
|
||||||
|
# Text:Shuffle
|
||||||
|
# Checkbox@REPEAT:
|
||||||
|
# Id:REPEAT
|
||||||
|
# X:PARENT_RIGHT - 150
|
||||||
|
# Y:140
|
||||||
|
# Width:100
|
||||||
|
# Height:20
|
||||||
|
# Text:Loop
|
||||||
@@ -1,325 +0,0 @@
|
|||||||
Background@CREATESERVER_BG:
|
|
||||||
Delegate:CreateServerMenuDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:240
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:400
|
|
||||||
Height:25
|
|
||||||
Text:Create Server
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@GAME_TITLE_LABEL:
|
|
||||||
X:50
|
|
||||||
Y:59
|
|
||||||
Width:95
|
|
||||||
Height:25
|
|
||||||
Align: Right
|
|
||||||
Text:Game Title:
|
|
||||||
TextField@GAME_TITLE:
|
|
||||||
X:150
|
|
||||||
Y:60
|
|
||||||
Width:210
|
|
||||||
MaxLength:50
|
|
||||||
Height:25
|
|
||||||
Text:OpenRA Game
|
|
||||||
Label@EXTERNAL_PORT_LABEL:
|
|
||||||
X:50
|
|
||||||
Y:94
|
|
||||||
Width:95
|
|
||||||
Height:25
|
|
||||||
Align: Right
|
|
||||||
Text:External Port:
|
|
||||||
TextField@EXTERNAL_PORT:
|
|
||||||
X:150
|
|
||||||
Y:95
|
|
||||||
Width:50
|
|
||||||
MaxLength:5
|
|
||||||
Height:25
|
|
||||||
Text:OpenRA Game
|
|
||||||
Label@LISTEN_PORT_LABEL:
|
|
||||||
X:210
|
|
||||||
Y:94
|
|
||||||
Width:95
|
|
||||||
Height:25
|
|
||||||
Align: Right
|
|
||||||
Text:Listen Port:
|
|
||||||
TextField@LISTEN_PORT:
|
|
||||||
X:310
|
|
||||||
Y:95
|
|
||||||
Width:50
|
|
||||||
MaxLength:5
|
|
||||||
Height:25
|
|
||||||
Checkbox@CHECKBOX_ONLINE:
|
|
||||||
X:165
|
|
||||||
Y:130
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Advertise game Online
|
|
||||||
Checkbox@CHECKBOX_CHEATS:
|
|
||||||
X:165
|
|
||||||
Y:160
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Allow Cheats
|
|
||||||
Button@BUTTON_START:
|
|
||||||
X:130
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Create
|
|
||||||
Bold:True
|
|
||||||
Button@BUTTON_CANCEL:
|
|
||||||
X:260
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Cancel
|
|
||||||
Bold:True
|
|
||||||
Background@JOINSERVER_BG:
|
|
||||||
Delegate:ServerBrowserDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:700
|
|
||||||
Height:410
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@JOINSERVER_LABEL_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Text:Join Server
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
ScrollPanel@SERVER_LIST:
|
|
||||||
X:20
|
|
||||||
Y:50
|
|
||||||
Width:390
|
|
||||||
Height:300
|
|
||||||
Children:
|
|
||||||
Label@SERVER_TEMPLATE:
|
|
||||||
Width:PARENT_RIGHT-28
|
|
||||||
Height:25
|
|
||||||
X:2
|
|
||||||
Y:0
|
|
||||||
Visible:false
|
|
||||||
Label@JOINSERVER_PROGRESS_TITLE:
|
|
||||||
X:150
|
|
||||||
Y:PARENT_BOTTOM / 2 - HEIGHT
|
|
||||||
Width:150
|
|
||||||
Height:30
|
|
||||||
Background:dialog4
|
|
||||||
Text:Fetching games...
|
|
||||||
Align:Center
|
|
||||||
Container@SERVER_INFO:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@SERVER_IP_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:50
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Server:
|
|
||||||
Bold:True
|
|
||||||
Label@SERVER_IP:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:50
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@SERVER_MODS_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:70
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Mods:
|
|
||||||
Bold:True
|
|
||||||
Label@SERVER_MODS:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:70
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@MAP_TITLE_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:90
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Map:
|
|
||||||
Bold:True
|
|
||||||
Label@MAP_TITLE:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:90
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Label@MAP_PLAYERS_LABEL:
|
|
||||||
X:PARENT_RIGHT - 200 - WIDTH
|
|
||||||
Y:110
|
|
||||||
Align:Right
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
Text:Players:
|
|
||||||
Bold:True
|
|
||||||
Label@MAP_PLAYERS:
|
|
||||||
X:PARENT_RIGHT - 195
|
|
||||||
Y:110
|
|
||||||
Align:Left
|
|
||||||
Width:70
|
|
||||||
Height:20
|
|
||||||
MapPreview@MAP_PREVIEW:
|
|
||||||
X:PARENT_RIGHT-241
|
|
||||||
Y:140
|
|
||||||
Width:192
|
|
||||||
Height:192
|
|
||||||
Button@DIRECTCONNECT_BUTTON:
|
|
||||||
X:20
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Direct Connect
|
|
||||||
Bold:True
|
|
||||||
Button@REFRESH_BUTTON:
|
|
||||||
X:160
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Refresh
|
|
||||||
Bold:True
|
|
||||||
Button@JOIN_BUTTON:
|
|
||||||
X:PARENT_RIGHT - 140 - 130
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Join
|
|
||||||
Bold:True
|
|
||||||
Button@CANCEL_BUTTON:
|
|
||||||
X:PARENT_RIGHT - 140
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Cancel
|
|
||||||
Bold:True
|
|
||||||
Background@DIRECTCONNECT_BG:
|
|
||||||
Delegate:ServerBrowserDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:155
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@DIRECTCONNECT_LABEL_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:400
|
|
||||||
Height:25
|
|
||||||
Text:Direct Connect
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@ADDRESS_LABEL:
|
|
||||||
X:50
|
|
||||||
Y:59
|
|
||||||
Width:95
|
|
||||||
Height:25
|
|
||||||
Align:Right
|
|
||||||
Text:Server Address:
|
|
||||||
TextField@SERVER_ADDRESS:
|
|
||||||
X:150
|
|
||||||
Y:60
|
|
||||||
Width:200
|
|
||||||
MaxLength:50
|
|
||||||
Height:25
|
|
||||||
Button@JOIN_BUTTON:
|
|
||||||
X:130
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Join
|
|
||||||
Bold:True
|
|
||||||
Button@CANCEL_BUTTON:
|
|
||||||
X:260
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:120
|
|
||||||
Height:25
|
|
||||||
Text:Cancel
|
|
||||||
Bold:True
|
|
||||||
Background@CONNECTION_FAILED_BG:
|
|
||||||
Delegate:ConnectionDialogsDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:450
|
|
||||||
Height:150
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@CONNECTION_FAILED_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:450
|
|
||||||
Height:25
|
|
||||||
Text:Connection Failed
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@CONNECTION_FAILED_DESC:
|
|
||||||
X:0
|
|
||||||
Y:60
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Text:Could not connect to AAA.BBB.CCC.DDD:EEEE
|
|
||||||
Align:Center
|
|
||||||
Button@CONNECTION_BUTTON_RETRY:
|
|
||||||
X:PARENT_RIGHT - 360
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Retry
|
|
||||||
Bold:True
|
|
||||||
Button@CONNECTION_BUTTON_CANCEL:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Cancel
|
|
||||||
Bold:True
|
|
||||||
Background@CONNECTING_BG:
|
|
||||||
Delegate:ConnectionDialogsDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:450
|
|
||||||
Height:150
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@CONNECTING_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:450
|
|
||||||
Height:25
|
|
||||||
Text:Connecting
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Label@CONNECTING_DESC:
|
|
||||||
X:0
|
|
||||||
Y:60
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Text:Connecting to AAA.BBB.CCC.DDD:EEEE...
|
|
||||||
Align:Center
|
|
||||||
Button@CONNECTION_BUTTON_ABORT:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Abort
|
|
||||||
Bold:True
|
|
||||||
@@ -1,178 +0,0 @@
|
|||||||
Background@SETTINGS_MENU:
|
|
||||||
Delegate:SettingsMenuDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM- HEIGHT)/2
|
|
||||||
Width: 450
|
|
||||||
Height: 350
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Label@SETTINGS_LABEL_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Width:450
|
|
||||||
Height:25
|
|
||||||
Text:Settings
|
|
||||||
Align:Center
|
|
||||||
Bold:True
|
|
||||||
Button@BUTTON_CLOSE:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Close
|
|
||||||
Bold:True
|
|
||||||
Container@TAB_CONTAINER:
|
|
||||||
X:0
|
|
||||||
Y:50
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Button@GENERAL:
|
|
||||||
X:45
|
|
||||||
Y:0
|
|
||||||
Width:90
|
|
||||||
Height:25
|
|
||||||
Text:General
|
|
||||||
Bold:True
|
|
||||||
Button@AUDIO:
|
|
||||||
X:135
|
|
||||||
Y:0
|
|
||||||
Width:90
|
|
||||||
Height:25
|
|
||||||
Text:Audio
|
|
||||||
Bold:True
|
|
||||||
Button@DISPLAY:
|
|
||||||
X:225
|
|
||||||
Y:0
|
|
||||||
Width:90
|
|
||||||
Height:25
|
|
||||||
Text:Display
|
|
||||||
Bold:True
|
|
||||||
Button@DEBUG:
|
|
||||||
X:315
|
|
||||||
Y:0
|
|
||||||
Width:90
|
|
||||||
Height:25
|
|
||||||
Text:Debug
|
|
||||||
Bold:True
|
|
||||||
Container@GENERAL_PANE:
|
|
||||||
X:37
|
|
||||||
Y:100
|
|
||||||
Width:PARENT_RIGHT - 37
|
|
||||||
Height:PARENT_BOTTOM - 100
|
|
||||||
Visible: true
|
|
||||||
Children:
|
|
||||||
Label@SETTINGS_PLAYER_NAME:
|
|
||||||
X:0
|
|
||||||
Y:10
|
|
||||||
Text: Player Name:
|
|
||||||
TextField@NAME:
|
|
||||||
Text:Name
|
|
||||||
Width:139
|
|
||||||
Height:25
|
|
||||||
X:90
|
|
||||||
Y:0
|
|
||||||
MaxLength:16
|
|
||||||
Checkbox@EDGE_SCROLL:
|
|
||||||
X:0
|
|
||||||
Y:30
|
|
||||||
Width:200
|
|
||||||
Height:20
|
|
||||||
Text: Enable Edge Scrolling
|
|
||||||
Checkbox@INVERSE_SCROLL:
|
|
||||||
X:0
|
|
||||||
Y:60
|
|
||||||
Width:200
|
|
||||||
Height:20
|
|
||||||
Text: Invert Mouse Drag Scrolling
|
|
||||||
Container@AUDIO_PANE:
|
|
||||||
X:37
|
|
||||||
Y:100
|
|
||||||
Width:PARENT_RIGHT - 37
|
|
||||||
Height:PARENT_BOTTOM - 100
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Label@SOUND_VOLUME_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:10
|
|
||||||
Text: Sound Volume
|
|
||||||
Slider@SOUND_VOLUME:
|
|
||||||
X:100
|
|
||||||
Y:0
|
|
||||||
Width:250
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Label@MUSIC_VOLUME_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:40
|
|
||||||
Text: Music Volume
|
|
||||||
Slider@MUSIC_VOLUME:
|
|
||||||
X:100
|
|
||||||
Y:30
|
|
||||||
Width:250
|
|
||||||
Height:20
|
|
||||||
Ticks:5
|
|
||||||
Container@DISPLAY_PANE:
|
|
||||||
X:37
|
|
||||||
Y:100
|
|
||||||
Width:PARENT_RIGHT - 37
|
|
||||||
Height:PARENT_BOTTOM - 100
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Checkbox@FULLSCREEN_CHECKBOX:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Fullscreen
|
|
||||||
Label@RESOLUTION_LABEL:
|
|
||||||
X:0
|
|
||||||
Y:50
|
|
||||||
Text: Window Resolution:
|
|
||||||
TextField@SCREEN_WIDTH:
|
|
||||||
Text:Width
|
|
||||||
Width:50
|
|
||||||
Height:25
|
|
||||||
X:130
|
|
||||||
Y:40
|
|
||||||
MaxLength:5
|
|
||||||
Label@X:
|
|
||||||
Text:x
|
|
||||||
X:185
|
|
||||||
Y:50
|
|
||||||
TextField@SCREEN_HEIGHT:
|
|
||||||
Text:Height
|
|
||||||
Width:50
|
|
||||||
Height:25
|
|
||||||
X:195
|
|
||||||
Y:40
|
|
||||||
MaxLength:5
|
|
||||||
Label@RESTART:
|
|
||||||
Text: Restart Game To Apply Changes
|
|
||||||
X:0
|
|
||||||
Y:PARENT_BOTTOM - 30
|
|
||||||
Container@DEBUG_PANE:
|
|
||||||
X:37
|
|
||||||
Y:100
|
|
||||||
Width:PARENT_RIGHT - 37
|
|
||||||
Height:PARENT_BOTTOM - 100
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Checkbox@PERFDEBUG_CHECKBOX:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Show Performance Information
|
|
||||||
Checkbox@SYNCREPORTS_CHECKBOX:
|
|
||||||
X:0
|
|
||||||
Y:30
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Collect Sync Reports
|
|
||||||
Checkbox@GAMETIME_CHECKBOX:
|
|
||||||
X:0
|
|
||||||
Y:60
|
|
||||||
Width:300
|
|
||||||
Height:20
|
|
||||||
Text:Show Game Time Counter
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
Background@VIDEOPLAYER_MENU:
|
|
||||||
Delegate:VideoPlayerDelegate
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM- HEIGHT)/2
|
|
||||||
Width: 700
|
|
||||||
Height: 680
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Label@VIDEOPLAYER_TITLE:
|
|
||||||
X:0
|
|
||||||
Y:20
|
|
||||||
Align:Center
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:20
|
|
||||||
Text:Video Player
|
|
||||||
Bold:True
|
|
||||||
VqaPlayer:
|
|
||||||
X:30
|
|
||||||
Y:50
|
|
||||||
Width:640
|
|
||||||
Height:400
|
|
||||||
ScrollPanel@VIDEO_LIST:
|
|
||||||
X:20
|
|
||||||
Y:460
|
|
||||||
Width:480
|
|
||||||
Height:200
|
|
||||||
Children:
|
|
||||||
Label@VIDEO_TEMPLATE:
|
|
||||||
Width:PARENT_RIGHT-28
|
|
||||||
Height:25
|
|
||||||
X:2
|
|
||||||
Y:0
|
|
||||||
Visible:false
|
|
||||||
Button@BUTTON_PLAYPAUSE:
|
|
||||||
X:600 - WIDTH - 10
|
|
||||||
Y:460
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image@PLAY:
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
ImageCollection:music
|
|
||||||
ImageName:play
|
|
||||||
Image@PAUSE:
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
ImageCollection:music
|
|
||||||
ImageName:pause
|
|
||||||
Button@BUTTON_STOP:
|
|
||||||
X:610
|
|
||||||
Y:460
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image:
|
|
||||||
Width:25
|
|
||||||
Height:25
|
|
||||||
ImageCollection:music
|
|
||||||
ImageName:stop
|
|
||||||
Button@BUTTON_CLOSE:
|
|
||||||
X:PARENT_RIGHT - 180
|
|
||||||
Y:PARENT_BOTTOM - 45
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Close
|
|
||||||
Bold:True
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<sequences>
|
|
||||||
<cursor src="mouse" palette="cursor">
|
|
||||||
<sequence name="scroll-t" start="1" x="12" y="12" />
|
|
||||||
<sequence name="scroll-tr" start="2" x="12" y="12" />
|
|
||||||
<sequence name="scroll-r" start="3" x="12" y="12" />
|
|
||||||
<sequence name="scroll-br" start="4" x="12" y="12" />
|
|
||||||
<sequence name="scroll-b" start="5" x="12" y="12" />
|
|
||||||
<sequence name="scroll-bl" start="6" x="12" y="12" />
|
|
||||||
<sequence name="scroll-l" start="7" x="12" y="12" />
|
|
||||||
<sequence name="scroll-tl" start="8" x="12" y="12" />
|
|
||||||
<sequence name="scroll-t-blocked" start="124" x="12" y="12" />
|
|
||||||
<sequence name="scroll-tr-blocked" start="125" x="12" y="12" />
|
|
||||||
<sequence name="scroll-r-blocked" start="126" x="12" y="12" />
|
|
||||||
<sequence name="scroll-br-blocked" start="127" x="12" y="12" />
|
|
||||||
<sequence name="scroll-b-blocked" start="128" x="12" y="12" />
|
|
||||||
<sequence name="scroll-bl-blocked" start="129" x="12" y="12" />
|
|
||||||
<sequence name="scroll-l-blocked" start="130" x="12" y="12" />
|
|
||||||
<sequence name="scroll-tl-blocked" start="131" x="12" y="12" />
|
|
||||||
<sequence name="select" start="15" length="6" x="12" y="12" />
|
|
||||||
|
|
||||||
<sequence name="default" start="0" />
|
|
||||||
<sequence name="default-minimap" start="80" />
|
|
||||||
<sequence name="generic-blocked" start="9" />
|
|
||||||
<sequence name="generic-blocked-minimap" start="33" />
|
|
||||||
<sequence name="move" start="10" length="4" x="12" y="12" />
|
|
||||||
<sequence name="move-minimap" start="29" length="4" x="12" y="12" />
|
|
||||||
<sequence name="move-blocked" start="14" x="12" y="12" />
|
|
||||||
<sequence name="move-blocked-minimap" start="33" x="12" y="12" />
|
|
||||||
<sequence name="attack" start="195" length="8" x="12" y="12" />
|
|
||||||
<sequence name="attack-minimap" start="203" length="8" x="12" y="12" />
|
|
||||||
<sequence name="attackmove" start="21" length="8" x="12" y="12" />
|
|
||||||
<sequence name="attackmove-minimap" start="134" length="8" x="12" y="12" />
|
|
||||||
<sequence name="enter" start="113" length="3" x="12" y="12" />
|
|
||||||
<sequence name="enter-minimap" start="139" length="3" x="12" y="12" />
|
|
||||||
<sequence name="enter-blocked" start="212" length="1" x="12" y="12" />
|
|
||||||
<sequence name="enter-blocked-minimap" start="33" />
|
|
||||||
<sequence name="c4" start="116" length="3" x="12" y="12" />
|
|
||||||
<sequence name="c4-minimap" start="121" length="3" x="12" y="12" />
|
|
||||||
<sequence name="guard" start="147" length="1" x="12" y="12" />
|
|
||||||
<sequence name="guard-minimap" start="146" length="1" x="12" y="12" />
|
|
||||||
<sequence name="capture" start="164" length="3" x="12" y="12" />
|
|
||||||
<sequence name="capture-minimap" start="167" length="3" x="12" y="12" />
|
|
||||||
<sequence name="heal" start="160" length="4" x="12" y="12" />
|
|
||||||
<sequence name="heal-minimap" start="194" length="1" x="12" y="12" />
|
|
||||||
<sequence name="ability" start="82" length="8" x="12" y="12" />
|
|
||||||
<sequence name="ability-minimap" start="214" length="8" x="12" y="12" />
|
|
||||||
|
|
||||||
<!-- Want minimap cursors -->
|
|
||||||
<sequence name="deploy" start="59" length="9" x="12" y="12" />
|
|
||||||
<sequence name="deploy-blocked" start="211" length="1" x="12" y="12" />
|
|
||||||
<sequence name="goldwrench" start="170" length="24" x="12" y="12" />
|
|
||||||
<sequence name="goldwrench-blocked" start="213" length="1" x="12" y="12" />
|
|
||||||
<sequence name="nuke" start="90" length="7" x="12" y="12" />
|
|
||||||
<sequence name="chrono-select" start="97" length="8" x="12" y="12" />
|
|
||||||
<sequence name="chrono-target" start="105" length="8" x="12" y="12" />
|
|
||||||
|
|
||||||
<sequence name="sell" start="68" length="12" x="12" y="12" />
|
|
||||||
<sequence name="sell-blocked" start="119" length="1" x="12" y="12" />
|
|
||||||
<sequence name="repair" start="35" length="24" x="12" y="12" />
|
|
||||||
<sequence name="repair-blocked" start="120" length="1" x="12" y="12" />
|
|
||||||
<sequence name="sell2" start="148" length="12" />
|
|
||||||
</cursor>
|
|
||||||
<cursor src="nopower" palette="cursor">
|
|
||||||
<sequence name="powerdown-blocked" start="0" length="1" x="12" y="12" />
|
|
||||||
<sequence name="powerdown" start="1" length="3" x="12" y="12" />
|
|
||||||
</cursor>
|
|
||||||
</sequences>
|
|
||||||
BIN
mods/d2k/maps/blank.oramap
Normal file
BIN
mods/d2k/maps/test.oramap
Normal file
@@ -1,44 +0,0 @@
|
|||||||
Selectable: True
|
|
||||||
|
|
||||||
MapFormat: 3
|
|
||||||
|
|
||||||
Title: Name your map here
|
|
||||||
|
|
||||||
Description: Describe your map here
|
|
||||||
|
|
||||||
Author: Your name here
|
|
||||||
|
|
||||||
PlayerCount: 1
|
|
||||||
|
|
||||||
Tileset: ARRAKIS
|
|
||||||
|
|
||||||
MapSize: 128,128
|
|
||||||
|
|
||||||
TopLeft: 16,16
|
|
||||||
|
|
||||||
BottomRight: 112,112
|
|
||||||
|
|
||||||
Players:
|
|
||||||
PlayerReference@Neutral:
|
|
||||||
Name: Neutral
|
|
||||||
Palette:
|
|
||||||
Race: allies
|
|
||||||
OwnsWorld: True
|
|
||||||
NonCombatant: True
|
|
||||||
Playable: False
|
|
||||||
DefaultStartingUnits: False
|
|
||||||
Color: 255,238,238,238
|
|
||||||
Color2: 255,44,28,24
|
|
||||||
InitialCash: 0
|
|
||||||
Allies:
|
|
||||||
Enemies:
|
|
||||||
|
|
||||||
Actors:
|
|
||||||
|
|
||||||
Waypoints:
|
|
||||||
wp0: 20,20
|
|
||||||
|
|
||||||
Smudges:
|
|
||||||
|
|
||||||
Rules:
|
|
||||||
|
|
||||||
@@ -1,41 +1,123 @@
|
|||||||
Metadata:
|
Metadata:
|
||||||
Title: Dune 2000
|
Title: Dune 2000
|
||||||
Description: Work in progress d2k port
|
Description: Converting the OpenRA Red Alert Mod one by one to Dune 2000
|
||||||
Version: a0001
|
Version: {DEV_VERSION}
|
||||||
Author: The OpenRA Developers
|
Author: The OpenD2k Developers
|
||||||
|
|
||||||
Folders:
|
Folders:
|
||||||
.
|
.
|
||||||
mods/d2k
|
./mods/d2k
|
||||||
mods/d2k/bits
|
./mods/d2k/bits
|
||||||
mods/ra/uibits
|
./mods/d2k/uibits
|
||||||
|
~^/Content/d2k
|
||||||
|
./mods/ra
|
||||||
|
./mods/ra/bits
|
||||||
|
./mods/ra/uibits
|
||||||
|
~^/Content/ra
|
||||||
|
|
||||||
Packages:
|
Packages:
|
||||||
|
~main.mix
|
||||||
|
redalert.mix
|
||||||
|
conquer.mix
|
||||||
|
hires.mix
|
||||||
|
local.mix
|
||||||
|
sounds.mix
|
||||||
|
speech.mix
|
||||||
|
allies.mix
|
||||||
|
russian.mix
|
||||||
|
temperat.mix
|
||||||
|
snow.mix
|
||||||
|
interior.mix
|
||||||
|
~scores.mix
|
||||||
|
~movies1.mix
|
||||||
|
~movies2.mix
|
||||||
mods/d2k/bits/arrakis.mix
|
mods/d2k/bits/arrakis.mix
|
||||||
|
|
||||||
Rules:
|
Rules:
|
||||||
mods/d2k/rules/defaults.yaml
|
|
||||||
mods/d2k/rules/vehicles.yaml
|
|
||||||
mods/d2k/rules/system.yaml
|
mods/d2k/rules/system.yaml
|
||||||
|
mods/d2k/rules/vehicles.yaml
|
||||||
|
mods/d2k/rules/structures.yaml
|
||||||
|
mods/d2k/rules/aircraft.yaml
|
||||||
|
mods/ra/rules/defaults.yaml
|
||||||
|
mods/ra/rules/system.yaml
|
||||||
|
mods/ra/rules/vehicles.yaml
|
||||||
|
mods/ra/rules/structures.yaml
|
||||||
|
mods/ra/rules/infantry.yaml
|
||||||
|
mods/ra/rules/civilian.yaml
|
||||||
|
mods/ra/rules/trees.yaml
|
||||||
|
mods/ra/rules/aircraft.yaml
|
||||||
|
mods/ra/rules/ships.yaml
|
||||||
|
|
||||||
Sequences:
|
Sequences:
|
||||||
mods/d2k/sequences.yaml
|
mods/d2k/sequences.yaml
|
||||||
|
mods/ra/sequences.yaml
|
||||||
|
|
||||||
Cursors:
|
Cursors:
|
||||||
mods/d2k/cursors.xml
|
mods/ra/cursors.yaml
|
||||||
|
|
||||||
Chrome:
|
Chrome:
|
||||||
mods/ra/chrome.xml
|
mods/d2k/chrome.yaml
|
||||||
|
mods/ra/chrome.yaml
|
||||||
|
|
||||||
Assemblies:
|
Assemblies:
|
||||||
|
mods/d2k/OpenRA.Mods.D2k.dll
|
||||||
mods/ra/OpenRA.Mods.RA.dll
|
mods/ra/OpenRA.Mods.RA.dll
|
||||||
|
|
||||||
ChromeLayout:
|
ChromeLayout:
|
||||||
mods/d2k/chrome/ingame.yaml
|
mods/ra/chrome/gameinit.yaml
|
||||||
mods/d2k/chrome/mainmenu.yaml
|
mods/ra/chrome/ingame.yaml
|
||||||
mods/d2k/chrome/videoplayer.yaml
|
mods/ra/chrome/mainmenu.yaml
|
||||||
mods/d2k/chrome/settings.yaml
|
mods/ra/chrome/settings.yaml
|
||||||
mods/d2k/chrome/gamelobby.yaml
|
mods/ra/chrome/lobby.yaml
|
||||||
mods/d2k/chrome/serverbrowser.yaml
|
mods/ra/chrome/map-chooser.yaml
|
||||||
|
mods/ra/chrome/create-server.yaml
|
||||||
|
mods/ra/chrome/serverbrowser.yaml
|
||||||
|
mods/ra/chrome/replaybrowser.yaml
|
||||||
|
mods/ra/chrome/dropdowns.yaml
|
||||||
|
mods/ra/chrome/modchooser.yaml
|
||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
|
mods/ra/weapons.yaml
|
||||||
|
|
||||||
Voices:
|
Voices:
|
||||||
|
mods/d2k/voices.yaml
|
||||||
|
mods/ra/voices.yaml
|
||||||
|
|
||||||
TileSets:
|
TileSets:
|
||||||
mods/d2k/tilesets/arrakis.yaml
|
mods/d2k/tilesets/arrakis.yaml
|
||||||
|
mods/ra/tilesets/snow.yaml
|
||||||
|
mods/ra/tilesets/interior.yaml
|
||||||
|
mods/ra/tilesets/temperat.yaml
|
||||||
|
|
||||||
Music:
|
Music:
|
||||||
|
|
||||||
Movies:
|
Movies:
|
||||||
LoadScreen: NullLoadScreen
|
|
||||||
ShellmapUid:1e36d6874ef7960ac0e21edf36bbe1490a4650eb
|
LoadScreen: D2kLoadScreen
|
||||||
TileSize:32
|
|
||||||
|
ServerTraits:
|
||||||
|
LobbyCommands
|
||||||
|
MasterServerPinger
|
||||||
|
|
||||||
|
ChromeMetrics:
|
||||||
|
mods/ra/metrics.yaml
|
||||||
|
|
||||||
|
Fonts:
|
||||||
|
Regular:
|
||||||
|
Font:FreeSans.ttf
|
||||||
|
Size:14
|
||||||
|
Bold:
|
||||||
|
Font:FreeSansBold.ttf
|
||||||
|
Size:14
|
||||||
|
Title:
|
||||||
|
Font:titles.ttf
|
||||||
|
Size:48
|
||||||
|
BigBold:
|
||||||
|
Font:FreeSansBold.ttf
|
||||||
|
Size:24
|
||||||
|
Tiny:
|
||||||
|
Font:FreeSans.ttf
|
||||||
|
Size:10
|
||||||
|
TinyBold:
|
||||||
|
Font:FreeSansBold.ttf
|
||||||
|
Size:10
|
||||||
|
|||||||
35
mods/d2k/rules/aircraft.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
CARRYALL:
|
||||||
|
Inherits: ^Helicopter
|
||||||
|
Buildable:
|
||||||
|
Queue: Plane
|
||||||
|
BuildPaletteOrder: 110
|
||||||
|
Prerequisites: anyhightech
|
||||||
|
BuiltAt: hightecha
|
||||||
|
Owner: atreides
|
||||||
|
Valued:
|
||||||
|
Cost: 1200
|
||||||
|
Tooltip:
|
||||||
|
Name: Carryall
|
||||||
|
Description: Fast drop ship.\n Unarmed
|
||||||
|
Health:
|
||||||
|
HP: 90
|
||||||
|
Armor:
|
||||||
|
Type: Light
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 12
|
||||||
|
Helicopter:
|
||||||
|
RearmBuildings: hightecha
|
||||||
|
InitialFacing: 0
|
||||||
|
ROT: 5
|
||||||
|
Speed: 12
|
||||||
|
LandableTerrainTypes: Clear,Rough,Road,Ore,Beach
|
||||||
|
RenderUnit:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
# RenderCargo:
|
||||||
|
WithShadow:
|
||||||
|
Cargo:
|
||||||
|
Types: Vehicle
|
||||||
|
MaxWeight: 1
|
||||||
|
PipCount: 1
|
||||||
|
FallsToEarth:
|
||||||
|
Explosion: UnitExplode
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
^Vehicle:
|
|
||||||
AppearsOnRadar:
|
|
||||||
Mobile:
|
|
||||||
TerrainSpeeds:
|
|
||||||
Clear: 100%
|
|
||||||
ROT: 5
|
|
||||||
Selectable:
|
|
||||||
Targetable:
|
|
||||||
TargetTypes: Ground
|
|
||||||
Repairable:
|
|
||||||
Passenger:
|
|
||||||
CargoType: Vehicle
|
|
||||||
HiddenUnderFog:
|
|
||||||
GainsExperience:
|
|
||||||
GivesExperience:
|
|
||||||
DrawLineToTarget:
|
|
||||||
232
mods/d2k/rules/structures.yaml
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
CONYARDA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Building:
|
||||||
|
Power: 0
|
||||||
|
Footprint: xxx xxx xxx
|
||||||
|
Dimensions: 3,3
|
||||||
|
Health:
|
||||||
|
HP: 1000
|
||||||
|
Armor:
|
||||||
|
Type: Heavy
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 5
|
||||||
|
Bib:
|
||||||
|
Production:
|
||||||
|
Produces: Building,Defense
|
||||||
|
IronCurtainable:
|
||||||
|
Valued:
|
||||||
|
Cost: 2500
|
||||||
|
Tooltip:
|
||||||
|
Name: Atreides Construction Yard
|
||||||
|
CustomSellValue:
|
||||||
|
Value: 2500
|
||||||
|
BaseBuilding:
|
||||||
|
Transforms:
|
||||||
|
IntoActor: mcv
|
||||||
|
Offset:1,1
|
||||||
|
Facing: 96
|
||||||
|
ProductionBar:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
|
||||||
|
PWRA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 0
|
||||||
|
Owner: atreides
|
||||||
|
# Hotkey: p
|
||||||
|
Valued:
|
||||||
|
Cost: 300
|
||||||
|
Tooltip:
|
||||||
|
Name: Atreides Windtrap
|
||||||
|
Description: Provides power for other Atreides structures
|
||||||
|
ProvidesCustomPrerequisite:
|
||||||
|
Prerequisite: anypower
|
||||||
|
Building:
|
||||||
|
Power: 100
|
||||||
|
Footprint: xx xx
|
||||||
|
Dimensions: 2,2
|
||||||
|
Health:
|
||||||
|
HP: 400
|
||||||
|
Armor:
|
||||||
|
Type: Wood
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 4
|
||||||
|
Bib:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
|
||||||
|
BARRA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 30
|
||||||
|
Prerequisites: anypower
|
||||||
|
Owner: atreides
|
||||||
|
# Hotkey: b
|
||||||
|
Valued:
|
||||||
|
Cost: 400
|
||||||
|
Tooltip:
|
||||||
|
Name: Atreides Barracks
|
||||||
|
Description: Trains infantry
|
||||||
|
Building:
|
||||||
|
Power: -20
|
||||||
|
Footprint: xx xx xx
|
||||||
|
Dimensions: 2,3
|
||||||
|
Health:
|
||||||
|
HP: 800
|
||||||
|
Armor:
|
||||||
|
Type: Wood
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 5
|
||||||
|
Bib:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
RallyPoint:
|
||||||
|
Exit@1:
|
||||||
|
SpawnOffset: -1,19
|
||||||
|
ExitCell: 0,2
|
||||||
|
Exit@2:
|
||||||
|
SpawnOffset: -17,15
|
||||||
|
ExitCell: 0,2
|
||||||
|
Production:
|
||||||
|
Produces: Infantry
|
||||||
|
PrimaryBuilding:
|
||||||
|
ProductionBar:
|
||||||
|
|
||||||
|
HIGHTECHA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 50
|
||||||
|
Prerequisites: refa
|
||||||
|
Owner: atreides
|
||||||
|
Valued:
|
||||||
|
Cost: 2000
|
||||||
|
Tooltip:
|
||||||
|
Name: High Tech Factory
|
||||||
|
Description: Produces carryalls
|
||||||
|
ProvidesCustomPrerequisite:
|
||||||
|
Prerequisite: anyhightech
|
||||||
|
Building:
|
||||||
|
Power: -30
|
||||||
|
Footprint: _x_ xxx xxx
|
||||||
|
Dimensions: 3,3
|
||||||
|
Health:
|
||||||
|
HP: 1500
|
||||||
|
Armor:
|
||||||
|
Type: Light
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 4
|
||||||
|
Bib:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
RallyPoint:
|
||||||
|
Exit@1:
|
||||||
|
SpawnOffset: 5,0
|
||||||
|
ExitCell: 1,1
|
||||||
|
Production:
|
||||||
|
Produces: Plane
|
||||||
|
PrimaryBuilding:
|
||||||
|
ProductionBar:
|
||||||
|
|
||||||
|
REFA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 10
|
||||||
|
Prerequisites: anypower
|
||||||
|
Owner: atreides
|
||||||
|
Valued:
|
||||||
|
Cost: 1400
|
||||||
|
Tooltip:
|
||||||
|
Name: Spice Refinery
|
||||||
|
Description: Harvesters unload spice here.
|
||||||
|
Building:
|
||||||
|
Power: -30
|
||||||
|
Footprint: _x_ xxx x==
|
||||||
|
Dimensions: 3,3
|
||||||
|
Health:
|
||||||
|
HP: 900
|
||||||
|
Armor:
|
||||||
|
Type: Wood
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 6
|
||||||
|
Bib:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
OreRefinery:
|
||||||
|
StoresOre:
|
||||||
|
PipCount: 17
|
||||||
|
Capacity: 2000
|
||||||
|
CustomSellValue:
|
||||||
|
Value: 600
|
||||||
|
FreeActor:
|
||||||
|
Actor: HARV
|
||||||
|
InitialActivity: FindResources
|
||||||
|
SpawnOffset: 1,2
|
||||||
|
Facing: 64
|
||||||
|
|
||||||
|
SILOA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 40
|
||||||
|
Prerequisites: refa
|
||||||
|
Owner: atreides
|
||||||
|
Valued:
|
||||||
|
Cost: 150
|
||||||
|
Tooltip:
|
||||||
|
Name: Silo
|
||||||
|
Description: Stores excess harvested Spice
|
||||||
|
Building:
|
||||||
|
Power: -10
|
||||||
|
-GivesBuildableArea:
|
||||||
|
Health:
|
||||||
|
HP: 300
|
||||||
|
Armor:
|
||||||
|
Type: Wood
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 4
|
||||||
|
# RenderBuildingSilo:
|
||||||
|
StoresOre:
|
||||||
|
PipCount: 5
|
||||||
|
Capacity: 1500
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
-EmitInfantryOnSell:
|
||||||
|
|
||||||
|
LIGHTA:
|
||||||
|
Inherits: ^Building
|
||||||
|
Buildable:
|
||||||
|
Queue: Building
|
||||||
|
BuildPaletteOrder: 50
|
||||||
|
Prerequisites: refa
|
||||||
|
Owner: atreides
|
||||||
|
Valued:
|
||||||
|
Cost: 2000
|
||||||
|
Tooltip:
|
||||||
|
Name: Light Factory
|
||||||
|
Description: light vehicles.
|
||||||
|
Building:
|
||||||
|
Power: -30
|
||||||
|
Footprint: xxx xxx
|
||||||
|
Dimensions: 3,2
|
||||||
|
Health:
|
||||||
|
HP: 1500
|
||||||
|
Armor:
|
||||||
|
Type: Light
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 4
|
||||||
|
Bib:
|
||||||
|
RenderBuilding:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
RallyPoint:
|
||||||
|
Exit@1:
|
||||||
|
SpawnOffset: 5,0
|
||||||
|
ExitCell: 1,1
|
||||||
|
Production:
|
||||||
|
Produces: Vehicle
|
||||||
|
PrimaryBuilding:
|
||||||
|
ProductionBar:
|
||||||
@@ -1,79 +1,30 @@
|
|||||||
Player:
|
Player:
|
||||||
TechTree:
|
PlayerColorPalette@d2kplayer:
|
||||||
PlayerResources:
|
BasePalette: d2k
|
||||||
InitialCash: 5000
|
BaseName: d2kplayer
|
||||||
ActorGroupProxy:
|
|
||||||
DeveloperMode:
|
|
||||||
|
|
||||||
World:
|
|
||||||
ScreenShaker:
|
|
||||||
ColorPickerPaletteModifier:
|
|
||||||
BuildingInfluence:
|
|
||||||
UnitInfluence:
|
|
||||||
ChooseBuildTabOnSelect:
|
|
||||||
PaletteFromCurrentTileset:
|
|
||||||
Name: terrain
|
|
||||||
PlayerColorPalette:
|
|
||||||
BasePalette: units
|
|
||||||
PaletteFormat: d2k
|
PaletteFormat: d2k
|
||||||
PaletteFromFile@units:
|
World:
|
||||||
Name: units
|
Country@2:
|
||||||
Filename: units.pal
|
Name: Atreides
|
||||||
|
Race: atreides
|
||||||
|
# Country@3:
|
||||||
|
# Name: Harkonnen
|
||||||
|
# Race: harkonnen
|
||||||
|
# Country@4:
|
||||||
|
# Name: Ordos
|
||||||
|
# Race: ordos
|
||||||
|
PaletteFromFile@d2k:
|
||||||
|
Name: d2k
|
||||||
|
Filename: d2k.pal
|
||||||
PaletteFromFile@chrome:
|
PaletteFromFile@chrome:
|
||||||
Name: chrome
|
Name: chrome
|
||||||
Filename: temperat.pal
|
Filename: d2k.pal
|
||||||
PaletteFromFile@effect:
|
# ResourceType@spice:
|
||||||
Name: effect
|
# ResourceType: 1
|
||||||
Filename: temperat.pal
|
# Palette: d2k
|
||||||
PaletteFromFile@cursor:
|
# SpriteNames: spice #?
|
||||||
Name: cursor
|
# ValuePerUnit: 25
|
||||||
Filename: temperat.pal
|
# Name: Spice
|
||||||
PaletteFromRGBA@shadow:
|
# PipColor: Yellow
|
||||||
Name: shadow
|
# AllowedTerrainTypes: Sand
|
||||||
R: 0
|
# AllowUnderActors: false
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 140
|
|
||||||
PaletteFromRGBA@highlight:
|
|
||||||
Name: highlight
|
|
||||||
R: 255
|
|
||||||
G: 255
|
|
||||||
B: 255
|
|
||||||
A: 128
|
|
||||||
PaletteFromRGBA@disabled:
|
|
||||||
Name: disabled
|
|
||||||
R: 0
|
|
||||||
G: 0
|
|
||||||
B: 0
|
|
||||||
A: 180
|
|
||||||
ShroudPalette@shroud:
|
|
||||||
ShroudPalette@fog:
|
|
||||||
IsFog: yes
|
|
||||||
Name: fog
|
|
||||||
Country@0:
|
|
||||||
Name: Allies
|
|
||||||
Race: allies
|
|
||||||
SpawnMapActors:
|
|
||||||
CreateMPPlayers:
|
|
||||||
MPStartLocations:
|
|
||||||
SpawnMPUnits:
|
|
||||||
EvaAlerts:
|
|
||||||
RadarUp:
|
|
||||||
RadarDown:
|
|
||||||
BuildingSelectAudio:
|
|
||||||
BuildingReadyAudio:
|
|
||||||
BuildingCannotPlaceAudio:
|
|
||||||
UnitSelectAudio:
|
|
||||||
UnitReadyAudio:
|
|
||||||
OnHoldAudio:
|
|
||||||
CancelledAudio:
|
|
||||||
CashTickUp:
|
|
||||||
CashTickDown:
|
|
||||||
LowPower:
|
|
||||||
SilosNeeded:
|
|
||||||
PrimaryBuildingSelected:
|
|
||||||
AbilityInsufficientPower:
|
|
||||||
LevelUp:
|
|
||||||
SpatialBins:
|
|
||||||
BinSize: 4
|
|
||||||
Shroud:
|
|
||||||
@@ -1,21 +1,69 @@
|
|||||||
MCV:
|
MCV:
|
||||||
|
Transforms:
|
||||||
|
IntoActor: conyarda
|
||||||
|
RenderUnit:
|
||||||
|
Image: MCV
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
|
||||||
|
TRIKE:
|
||||||
Inherits: ^Vehicle
|
Inherits: ^Vehicle
|
||||||
Valued:
|
Valued:
|
||||||
Cost: 2000
|
Cost: 200
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Mobile Construction Vehicle
|
Name: Scout Trike
|
||||||
Description: Deploys into another Construction Yard.\n Unarmed
|
Icon: trikeicon
|
||||||
|
Description: Weak Scout.\n Decent vs. Infantry
|
||||||
|
Buildable:
|
||||||
|
BuildPaletteOrder: 15
|
||||||
|
Prerequisites: lighta
|
||||||
|
Owner: atreides
|
||||||
Selectable:
|
Selectable:
|
||||||
Priority: 3
|
Bounds: 24,24
|
||||||
Bounds: 42,42
|
Mobile:
|
||||||
|
ROT: 15
|
||||||
|
Speed: 20
|
||||||
Health:
|
Health:
|
||||||
HP: 600
|
HP: 75
|
||||||
Armor:
|
Armor:
|
||||||
Type: Light
|
Type: Light
|
||||||
Mobile:
|
|
||||||
Speed: 6
|
|
||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
Range: 4
|
Range: 8
|
||||||
|
AttackFrontal:
|
||||||
|
PrimaryWeapon: M60mg
|
||||||
|
PrimaryOffset: 0,0,0,-4
|
||||||
RenderUnit:
|
RenderUnit:
|
||||||
MustBeDestroyed:
|
PlayerPalette: d2kplayer
|
||||||
BaseBuilding:
|
WithMuzzleFlash:
|
||||||
|
PrimaryOffset: 0,3,0,0
|
||||||
|
AutoTarget:
|
||||||
|
|
||||||
|
QUAD:
|
||||||
|
Inherits: ^Vehicle
|
||||||
|
Valued:
|
||||||
|
Cost: 400
|
||||||
|
Tooltip:
|
||||||
|
Name: Quad
|
||||||
|
Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry
|
||||||
|
Buildable:
|
||||||
|
BuildPaletteOrder: 30
|
||||||
|
Prerequisites: lighta
|
||||||
|
Owner: atreides
|
||||||
|
Mobile:
|
||||||
|
ROT: 10
|
||||||
|
Speed: 13
|
||||||
|
Health:
|
||||||
|
HP: 120
|
||||||
|
Armor:
|
||||||
|
Type: Light
|
||||||
|
RevealsShroud:
|
||||||
|
Range: 7
|
||||||
|
AttackFrontal:
|
||||||
|
PrimaryWeapon: RedEye
|
||||||
|
SecondaryWeapon: Dragon
|
||||||
|
PrimaryOffset: 0,0,0,-2
|
||||||
|
PrimaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25
|
||||||
|
SecondaryOffset: 0,0,0,-2
|
||||||
|
SecondaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25
|
||||||
|
RenderUnit:
|
||||||
|
PlayerPalette: d2kplayer
|
||||||
|
AutoTarget:
|
||||||
@@ -3,42 +3,86 @@ mcv:
|
|||||||
Start: 0
|
Start: 0
|
||||||
Facings: 32
|
Facings: 32
|
||||||
|
|
||||||
moveflsh:
|
conyarda:
|
||||||
idle:
|
idle:
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
make: conmake
|
||||||
|
|
||||||
pips:
|
|
||||||
groups:
|
|
||||||
Start: 8
|
|
||||||
Length: 10
|
|
||||||
medic:
|
|
||||||
Start: 20
|
|
||||||
ready:
|
|
||||||
Start: 3
|
|
||||||
hold:
|
|
||||||
Start: 4
|
|
||||||
pip-empty:
|
|
||||||
Start: 0
|
Start: 0
|
||||||
pip-green:
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
Start: 1
|
Start: 1
|
||||||
pip-yellow:
|
|
||||||
Start: 5
|
pwra:
|
||||||
pip-gray:
|
idle:
|
||||||
Start: 6
|
Start: 0
|
||||||
pip-red:
|
make: wtrpmake
|
||||||
Start: 7
|
Start: 0
|
||||||
tag-fake:
|
Length: *
|
||||||
Start: 18
|
damaged-idle:
|
||||||
tag-primary:
|
Start: 1
|
||||||
|
|
||||||
|
barra:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
make: barramake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 1
|
||||||
|
|
||||||
|
refa:
|
||||||
|
idle:
|
||||||
|
Start: 1
|
||||||
|
make: refmake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
Start: 2
|
Start: 2
|
||||||
|
|
||||||
clock:
|
siloa:
|
||||||
idle:
|
idle:
|
||||||
Start: 0
|
Start: 0
|
||||||
|
# Length: 3
|
||||||
|
Length: 1
|
||||||
|
damaged-idle:
|
||||||
|
Start: 4
|
||||||
|
Length: 1
|
||||||
|
make: silomake
|
||||||
|
Start: 0
|
||||||
Length: *
|
Length: *
|
||||||
|
|
||||||
rank:
|
hightecha:
|
||||||
rank:
|
idle:
|
||||||
Start: 0
|
Start: 0
|
||||||
Length: *
|
make: highmake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 1
|
||||||
|
|
||||||
|
lighta:
|
||||||
|
idle:
|
||||||
|
Start: 1
|
||||||
|
make: lightmake
|
||||||
|
Start: 0
|
||||||
|
Length: *
|
||||||
|
damaged-idle:
|
||||||
|
Start: 2
|
||||||
|
|
||||||
|
carryall:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
unload:
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
trike:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
|
|
||||||
|
quad:
|
||||||
|
idle:
|
||||||
|
Start: 0
|
||||||
|
Facings: 32
|
||||||
BIN
mods/d2k/uibits/chrome-atreides.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
mods/d2k/uibits/chrome-harkonnen.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
mods/d2k/uibits/chrome-ordos.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
mods/d2k/uibits/dialog.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
mods/d2k/uibits/loadscreen.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
13
mods/d2k/voices.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Classic Red Alert Mod -- Package Manifest
|
||||||
|
|
||||||
|
GenericVoice:
|
||||||
|
Variants:
|
||||||
|
atreides: .v01,.v03
|
||||||
|
harkonnen: .v01,.v03
|
||||||
|
ordos: .v01,.v03
|
||||||
|
|
||||||
|
VehicleVoice:
|
||||||
|
Variants:
|
||||||
|
atreides: .v00,.v02
|
||||||
|
harkonnen: .v00,.v02
|
||||||
|
ordos: .v00,.v02
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<chrome>
|
|
||||||
<collection name="dialog2" src="dialog.png">
|
|
||||||
<image name="background" x="513" y="1" width="126" height="126" />
|
|
||||||
<image name="border-r" x="639" y="1" width="1" height="126" />
|
|
||||||
<image name="border-l" x="512" y="1" width="1" height="126" />
|
|
||||||
<image name="border-b" x="513" y="127" width="126" height="1" />
|
|
||||||
<image name="border-t" x="513" y="0" width="126" height="1" />
|
|
||||||
<image name="corner-tl" x="512" y="0" width="1" height="1" />
|
|
||||||
<image name="corner-tr" x="594" y="0" width="1" height="1" />
|
|
||||||
<image name="corner-bl" x="512" y="82" width="1" height="1" />
|
|
||||||
<image name="corner-br" x="594" y="82" width="1" height="1" />
|
|
||||||
</collection>
|
|
||||||
<collection name="dialog3" src="dialog.png">
|
|
||||||
<image name="background" x="641" y="1" width="126" height="126" />
|
|
||||||
<image name="border-r" x="767" y="1" width="1" height="126" />
|
|
||||||
<image name="border-l" x="640" y="1" width="1" height="126" />
|
|
||||||
<image name="border-b" x="641" y="127" width="126" height="1" />
|
|
||||||
<image name="border-t" x="641" y="0" width="126" height="1" />
|
|
||||||
<image name="corner-tl" x="640" y="0" width="1" height="1" />
|
|
||||||
<image name="corner-tr" x="722" y="0" width="1" height="1" />
|
|
||||||
<image name="corner-bl" x="640" y="82" width="1" height="1" />
|
|
||||||
<image name="corner-br" x="722" y="82" width="1" height="1" />
|
|
||||||
</collection>
|
|
||||||
<collection name="dialog" src="dialog.png">
|
|
||||||
<image name="background" x="0" y="0" width="480" height="480" />
|
|
||||||
<image name="border-r" x="489" y="0" width="9" height="192" />
|
|
||||||
<image name="border-l" x="480" y="0" width="9" height="192" />
|
|
||||||
<image name="border-b" x="0" y="489" width="191" height="9" />
|
|
||||||
<image name="border-t" x="0" y="480" width="191" height="9" />
|
|
||||||
<image name="corner-tl" x="191" y="480" width="9" height="9" />
|
|
||||||
<image name="corner-tr" x="200" y="480" width="9" height="9" />
|
|
||||||
<image name="corner-bl" x="191" y="489" width="9" height="9" />
|
|
||||||
<image name="corner-br" x="200" y="489" width="9" height="9" />
|
|
||||||
</collection>
|
|
||||||
</chrome>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<sequences>
|
|
||||||
<cursor src="mouse" palette="cursor">
|
|
||||||
<sequence name="default" start="0" />
|
|
||||||
</cursor>
|
|
||||||
</sequences>
|
|
||||||
|
Before Width: | Height: | Size: 19 KiB |
@@ -1,15 +0,0 @@
|
|||||||
Selectable: False
|
|
||||||
MapFormat: 2
|
|
||||||
Title: Default Shellmap
|
|
||||||
Description: A default empty map to use when no custom shellmap is wanted
|
|
||||||
Author: alzeih
|
|
||||||
PlayerCount: 0
|
|
||||||
Tileset: DUMMY
|
|
||||||
MapSize: 128,128
|
|
||||||
TopLeft: 16,16
|
|
||||||
BottomRight: 112,112
|
|
||||||
Players:
|
|
||||||
Actors:
|
|
||||||
Waypoints:
|
|
||||||
Smudges:
|
|
||||||
Rules:
|
|
||||||
|
Before Width: | Height: | Size: 971 B |
@@ -1,15 +0,0 @@
|
|||||||
Background@MAINMENU_BG:
|
|
||||||
Id:MAINMENU_BG
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:250
|
|
||||||
Height:65
|
|
||||||
Delegate:MainMenuButtonsDelegate
|
|
||||||
Children:
|
|
||||||
Button@MAINMENU_BUTTON_QUIT:
|
|
||||||
Id:MAINMENU_BUTTON_QUIT
|
|
||||||
X:45
|
|
||||||
Y:20
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Quit
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
Metadata:
|
|
||||||
Title: Default Mod Template
|
|
||||||
Description: Minimal template for creating a base mod
|
|
||||||
Version: a0001
|
|
||||||
Author: The OpenRA Developers
|
|
||||||
|
|
||||||
Folders:
|
|
||||||
.
|
|
||||||
mods/default
|
|
||||||
Rules:
|
|
||||||
mods/default/system.yaml
|
|
||||||
Cursors:
|
|
||||||
mods/default/cursors.xml
|
|
||||||
Assemblies:
|
|
||||||
mods/ra/OpenRA.Mods.RA.dll
|
|
||||||
TileSets:
|
|
||||||
mods/default/tileset-dummy.yaml
|
|
||||||
Chrome:
|
|
||||||
mods/default/chrome.xml:
|
|
||||||
ChromeLayout:
|
|
||||||
mods/default/menus.yaml:
|
|
||||||
|
|
||||||
LoadScreen: NullLoadScreen
|
|
||||||
ShellmapUid: 95c34889e85a903d7dbb41f13d6c373b44a8b62e
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
World:
|
|
||||||
PaletteFromFile@chrome:
|
|
||||||
Name: chrome
|
|
||||||
Filename: temperat.pal
|
|
||||||
PaletteFromFile@cursor:
|
|
||||||
Name: cursor
|
|
||||||
Filename: temperat.pal
|
|
||||||
SpatialBins:
|
|
||||||
UnitInfluence:
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
General:
|
|
||||||
Name: Dummy
|
|
||||||
Id: DUMMY
|
|
||||||
Extensions: .shp, .tem
|
|
||||||
Palette: temperat.pal
|
|
||||||
Terrain:
|
|
||||||
TerrainType@Blank:
|
|
||||||
Type: Blank
|
|
||||||
Templates:
|
|
||||||
Template@255:
|
|
||||||
Id: 255
|
|
||||||
Image: bogus
|
|
||||||
Size: 1,1
|
|
||||||
Tiles:
|
|
||||||
0: Blank
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
MCV:
|
|
||||||
RenderUnit:
|
|
||||||
PlayerPalette: d2kplayer
|
|
||||||
|
|
||||||
Player:
|
|
||||||
PlayerColorPalette@d2k:
|
|
||||||
BasePalette: d2k
|
|
||||||
BaseName: d2kplayer
|
|
||||||
PaletteFormat: d2k
|
|
||||||
World:
|
|
||||||
PaletteFromFile@d2k:
|
|
||||||
Name: d2k
|
|
||||||
Filename: d2k.pal
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
Metadata:
|
|
||||||
Title: Player Palette Test
|
|
||||||
Description: Replaces the mcv artwork with the d2k mcv
|
|
||||||
Version: a0001
|
|
||||||
Author: The OpenRA Developers
|
|
||||||
Requires: ra
|
|
||||||
|
|
||||||
Folders:
|
|
||||||
mods/palettetest
|
|
||||||
Rules:
|
|
||||||
mods/palettetest/mcv.yaml
|
|
||||||
267
ripD2kGameFiles.sh
Executable file
@@ -0,0 +1,267 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
R8="/home/matthias/.openra/Content/d2k/DATA.R8"
|
||||||
|
PAL="mods/d2k/bits/d2k.pal"
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 194 205 "spice"
|
||||||
|
mono OpenRA.Utility.exe --shp spice.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 206 457 "rifleinfantry" --infantry
|
||||||
|
mono OpenRA.Utility.exe --shp rifleinfantry.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 458 693 "rocketinfantry" --infantry
|
||||||
|
mono OpenRA.Utility.exe --shp rocketinfantry.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 694 929 "fremen" --infantry
|
||||||
|
mono OpenRA.Utility.exe --shp fremen.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 930 1165 "sardaukar" --infantry
|
||||||
|
mono OpenRA.Utility.exe --shp sardaukar.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1166 1221 "engineer" --infantry # death animation 1342..1401
|
||||||
|
mono OpenRA.Utility.exe --shp engineer.png 48
|
||||||
|
#rifleinfantry repetitions?
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1402 1502 "thumper" --infantry #death animations 1543..1602
|
||||||
|
mono OpenRA.Utility.exe --shp thumper.png 48
|
||||||
|
#rifleinfantry repetitions?
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1603 1634 "missile" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp missile.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1635 1666 "trike" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp trike.png 32
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1667 1698 "quad" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp quad.png 32
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1699 1730 "harvester" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp harvester.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1731 1762 "combata" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combata.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1763 1794 "siege" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp siege.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1795 1826 "mcv" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp mcv.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1827 1858 "sonic" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp sonic.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1859 1890 "combataturret" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combataturret.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1891 1922 "siegeturret" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp siegeturret.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1923 1954 "carryall" --vehicle # requires some reordering (again)
|
||||||
|
mono OpenRA.Utility.exe --shp carryall.png 64
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 1955 2050 "orni" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp orni.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2051 2082 "combath" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combath.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2083 2114 "devast" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp devast.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2115 2146 "combataturret" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combataturret.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2147 2148 "deathhandmissile"
|
||||||
|
mono OpenRA.Utility.exe --shp deathhandmissile.png 24
|
||||||
|
#rifleinfantry repetitions?
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2245 2284 "saboteur" --infantry #death animations 2325..2388
|
||||||
|
mono OpenRA.Utility.exe --shp saboteur.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2389 2420 "deviator" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp deviator.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2421 2452 "raider" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp raider.png 32
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2453 2484 "combato" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combato.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2485 2516 "combatoturret" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp combatoturret.png 48
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2517 2517 "frigate" --vehicle
|
||||||
|
mono OpenRA.Utility.exe --shp frigate.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2518 2520 "heavya" --building #2518 is only the gate
|
||||||
|
mono OpenRA.Utility.exe --shp heavya.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2521 2522 "radara" --building
|
||||||
|
mono OpenRA.Utility.exe --shp radara.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2523 2524 "pwra" --building
|
||||||
|
mono OpenRA.Utility.exe --shp pwra.png 64
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2525 2526 "barra" --building
|
||||||
|
mono OpenRA.Utility.exe --shp barra.png 80
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2527 2558 "wall" --building
|
||||||
|
mono OpenRA.Utility.exe --shp wall.png 32
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2559 2560 "conyarda" --building
|
||||||
|
mono OpenRA.Utility.exe --shp conyarda.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2561 2563 "refa" --building # 2561 is fassade, 2562 is silo top, 2563 is silo top broken
|
||||||
|
mono OpenRA.Utility.exe --shp refa.png 120
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2564 2565 "hightecha" --building
|
||||||
|
mono OpenRA.Utility.exe --shp hightecha.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2566 2570 "siloa" --building
|
||||||
|
mono OpenRA.Utility.exe --shp siloa.png 32
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 2673 2675 "lighta" --building
|
||||||
|
mono OpenRA.Utility.exe --shp lighta.png 96
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3549 3564 "sandwormmouth"
|
||||||
|
mono OpenRA.Utility.exe --shp sandwormmouth.png 68
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3565 3585 "sandwormdust"
|
||||||
|
mono OpenRA.Utility.exe --shp sandwormdust.png 68
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3586 3600 "wormsigns1"
|
||||||
|
mono OpenRA.Utility.exe --shp wormsigns1.png 16
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3601 3610 "wormsigns2"
|
||||||
|
mono OpenRA.Utility.exe --shp wormsigns2.png 16
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3611 3615 "wormsigns3"
|
||||||
|
mono OpenRA.Utility.exe --shp wormsigns3.png 16
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3616 3620 "wormsigns4"
|
||||||
|
mono OpenRA.Utility.exe --shp wormsigns4.png 16
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 3679 3686 "sell"
|
||||||
|
mono OpenRA.Utility.exe --shp sell.png 48
|
||||||
|
#explosions and muzzle flash
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4011 4011 "infrantryicon"
|
||||||
|
mono OpenRA.Utility.exe --shp infrantryicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4012 4012 "bazookaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp bazookaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4013 4013 "engineericon"
|
||||||
|
mono OpenRA.Utility.exe --shp engineericon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4014 4014 "thumpericon"
|
||||||
|
mono OpenRA.Utility.exe --shp thumpericon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4015 4015 "sadaukaricon"
|
||||||
|
mono OpenRA.Utility.exe --shp sadaukaricon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4016 4016 "trikeicon"
|
||||||
|
mono OpenRA.Utility.exe --shp trikeicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4017 4017 "raidericon"
|
||||||
|
mono OpenRA.Utility.exe --shp raidericon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4018 4018 "quadicon"
|
||||||
|
mono OpenRA.Utility.exe --shp quadicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4019 4019 "harvicon" # = 4044
|
||||||
|
mono OpenRA.Utility.exe --shp harvicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4020 4020 "combataicon"
|
||||||
|
mono OpenRA.Utility.exe --shp combataicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4021 4021 "combathicon"
|
||||||
|
mono OpenRA.Utility.exe --shp combathicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4022 4022 "combatoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp combatoicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4023 4023 "mcvicon"
|
||||||
|
mono OpenRA.Utility.exe --shp mcvicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4024 4024 "missileicon"
|
||||||
|
mono OpenRA.Utility.exe --shp missileicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4025 4025 "deviatoricon"
|
||||||
|
mono OpenRA.Utility.exe --shp deviatoricon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4026 4026 "siegeicon"
|
||||||
|
mono OpenRA.Utility.exe --shp siegeicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4027 4027 "sonicicon"
|
||||||
|
mono OpenRA.Utility.exe --shp sonicicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4028 4028 "devastatoricon"
|
||||||
|
mono OpenRA.Utility.exe --shp devastatoricon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4029 4029 "carryallicon" # = 4030
|
||||||
|
mono OpenRA.Utility.exe --shp carryallicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4031 4031 "orniicon" # = 4062
|
||||||
|
mono OpenRA.Utility.exe --shp orniicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4032 4032 "fremenicon" # = 4033
|
||||||
|
mono OpenRA.Utility.exe --shp fremenicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4034 4034 "saboteuricon"
|
||||||
|
mono OpenRA.Utility.exe --shp saboteuricon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4035 4035 "deathhandicon"
|
||||||
|
mono OpenRA.Utility.exe --shp deathhandicon.png 60
|
||||||
|
# 4036..4045 = repetitions
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4046 4046 "conyardicona" # = 4049
|
||||||
|
mono OpenRA.Utility.exe --shp conyardicona.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4047 4047 "conyardiconh"
|
||||||
|
mono OpenRA.Utility.exe --shp conyardiconh.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4048 4048 "conyardicono"
|
||||||
|
mono OpenRA.Utility.exe --shp conyardicono.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4050 4050 "4plateicon" # = 4051..4052
|
||||||
|
mono OpenRA.Utility.exe --shp 4plateicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4053 4053 "6plateicon" # = 4054..4055
|
||||||
|
mono OpenRA.Utility.exe --shp 6plateicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4056 4056 "pwraicon"
|
||||||
|
mono OpenRA.Utility.exe --shp pwraicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4057 4057 "pwrhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp pwrhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4058 4058 "pwroicon"
|
||||||
|
mono OpenRA.Utility.exe --shp pwroicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4059 4059 "barraicon"
|
||||||
|
mono OpenRA.Utility.exe --shp barraicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4060 4060 "barrhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp barrhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4061 4061 "barroicon"
|
||||||
|
mono OpenRA.Utility.exe --shp barroicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4063 4063 "wallicon" # = 4061..4062
|
||||||
|
mono OpenRA.Utility.exe --shp wallicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4066 4066 "refaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp refaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4067 4067 "refhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp refhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4068 4068 "refoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp refoicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4069 4069 "turreticon" # = 4070..4071
|
||||||
|
mono OpenRA.Utility.exe --shp turreticon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4072 4072 "radaraicon"
|
||||||
|
mono OpenRA.Utility.exe --shp radaraicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4073 4073 "radarhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp radarhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4074 4074 "radaroicon"
|
||||||
|
mono OpenRA.Utility.exe --shp radaroicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4075 4075 "rturreticon" # = 4076..4077
|
||||||
|
mono OpenRA.Utility.exe --shp rturreticon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4078 4078 "hightechaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp hightechaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4079 4079 "hightechhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp hightechhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4080 4080 "hightechoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp hightechoicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4081 4081 "lightaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp lightaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4082 4082 "lighthicon"
|
||||||
|
mono OpenRA.Utility.exe --shp lighthicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4083 4083 "lightoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp lightoicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4084 4084 "siloaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp siloaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4085 4085 "silohicon"
|
||||||
|
mono OpenRA.Utility.exe --shp silohicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4086 4086 "silooicon"
|
||||||
|
mono OpenRA.Utility.exe --shp silooicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4087 4087 "heavyaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp heavyaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4088 4088 "heavyhicon"
|
||||||
|
mono OpenRA.Utility.exe --shp heavyhicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4089 4089 "heavyoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp heavyoicon.png 60
|
||||||
|
# 4090 = orniicon
|
||||||
|
# 4091 = heavyhicon
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4092 4092 "starportaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp starportaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4093 4093 "starporthicon"
|
||||||
|
mono OpenRA.Utility.exe --shp starporthicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4094 4094 "starportoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp starportoicon.png 60
|
||||||
|
# 4095 = orniicon
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4096 4096 "repairicon" # = 4097..4098
|
||||||
|
mono OpenRA.Utility.exe --shp repairicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4099 4099 "researchicon" # = 4100..4101
|
||||||
|
mono OpenRA.Utility.exe --shp researchicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4102 4102 "palaceaicon"
|
||||||
|
mono OpenRA.Utility.exe --shp palaceaicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4103 4103 "palacehicon"
|
||||||
|
mono OpenRA.Utility.exe --shp palacehicon.png 60
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4104 4104 "palaceoicon"
|
||||||
|
mono OpenRA.Utility.exe --shp palaceoicon.png 60
|
||||||
|
# 4105 = orniicon
|
||||||
|
# 4106..4107 = radaraicon
|
||||||
|
# 4108 = conyardaicon
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4109 4150 "conmake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp conmake.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4151 4174 "wtrpmake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp wtrpmake.png 64
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4175 4194 "barramake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp barramake.png 80
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4231 4253 "refmake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp refmake.png 120
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4274 4294 "highmake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp highmake.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4275 4312 "lightmake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp lightmake.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4313 4327 "silomake" --building
|
||||||
|
mono OpenRA.Utility.exe --shp silomake.png 32
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4436 4449 "cranea"
|
||||||
|
mono OpenRA.Utility.exe --shp cranea.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4450 4463 "craneh"
|
||||||
|
mono OpenRA.Utility.exe --shp craneh.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4463 4477 "craneo"
|
||||||
|
mono OpenRA.Utility.exe --shp craneo.png 96
|
||||||
|
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4760 4819 "windtrap_anim" --building #?
|
||||||
|
mono OpenRA.Utility.exe --shp windtrap_anim.png 96
|
||||||
|
mono OpenRA.Utility.exe --r8 $R8 $PAL 4820 4840 "missile_launch"
|
||||||
|
mono OpenRA.Utility.exe --shp missile_launch.png 96
|
||||||
|
|
||||||
|
mv *.shp mods/d2k/bits
|
||||||