diff --git a/Makefile b/Makefile index 66109770b7..6e44e59f3a 100644 --- a/Makefile +++ b/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 .SUFFIXES: -core: game renderers mod_ra mod_cnc utility +core: game renderers mod_ra mod_cnc mod_d2k utility tools: editor ralint tsbuild package: core editor -mods: mod_ra mod_cnc +mods: mod_ra mod_cnc mod_d2k all: core tools clean: @-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 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 # diff --git a/OpenRA.FileFormats/Graphics/R8Reader.cs b/OpenRA.FileFormats/Graphics/R8Reader.cs new file mode 100644 index 0000000000..d7a9be4b47 --- /dev/null +++ b/OpenRA.FileFormats/Graphics/R8Reader.cs @@ -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 + { + private readonly List headers = new List(); + + 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 GetEnumerator() + { + return headers.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } +} diff --git a/OpenRA.FileFormats/OpenRA.FileFormats.csproj b/OpenRA.FileFormats/OpenRA.FileFormats.csproj index f97116332b..0b4c08eacf 100644 --- a/OpenRA.FileFormats/OpenRA.FileFormats.csproj +++ b/OpenRA.FileFormats/OpenRA.FileFormats.csproj @@ -81,6 +81,7 @@ + diff --git a/OpenRA.Mods.D2k/D2kLoadScreen.cs b/OpenRA.Mods.D2k/D2kLoadScreen.cs new file mode 100644 index 0000000000..2136ae8a04 --- /dev/null +++ b/OpenRA.Mods.D2k/D2kLoadScreen.cs @@ -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 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 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"); + } + } +} \ No newline at end of file diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj new file mode 100644 index 0000000000..47617a3870 --- /dev/null +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -0,0 +1,88 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {C0B0465C-6BE2-409C-8770-3A9BF64C4344} + Library + Properties + OpenRA.Mods.D2k + OpenRA.Mods.D2k + v3.5 + 512 + + + true + full + false + DEBUG;TRACE + prompt + 4 + bin\Debug + + + + + + + DEBUG; + prompt + 4 + false + + + none + true + bin\Release + prompt + 4 + false + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA} + OpenRA.FileFormats + False + + + {0DFB103F-2962-400F-8C6D-E2C28CCBA633} + OpenRA.Game + False + + + {4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E} + OpenRA.Mods.RA + False + + + {2881135D-4D62-493E-8F83-5EEE92CCC6BE} + OpenRA.Mods.Cnc + False + + + + + + + \ No newline at end of file diff --git a/OpenRA.Mods.D2k/Properties/AssemblyInfo.cs b/OpenRA.Mods.D2k/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..d76af3c9e2 --- /dev/null +++ b/OpenRA.Mods.D2k/Properties/AssemblyInfo.cs @@ -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("")] + diff --git a/OpenRA.Utility/Command.cs b/OpenRA.Utility/Command.cs index 0c7475cb11..f398117cb1 100644 --- a/OpenRA.Utility/Command.cs +++ b/OpenRA.Utility/Command.cs @@ -1,6 +1,6 @@ #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 * available to you under the terms of the GNU General Public License * 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) { var mods = args[1].Split(','); diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index 7b5a0d0573..b544a88f94 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -1,6 +1,6 @@ #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 * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, @@ -27,6 +27,7 @@ namespace OpenRA.Utility { "--extract", Command.ExtractFiles }, { "--tmp-png", Command.ConvertTmpToPng }, { "--remap", Command.RemapShp }, + { "--r8", Command.ConvertR8ToPng }, }; if (args.Length == 0) { PrintUsage(); return; } @@ -53,12 +54,14 @@ namespace OpenRA.Utility { Console.WriteLine("Usage: OpenRA.Utility.exe [OPTION] [ARGS]"); Console.WriteLine(); - 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(" --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(" --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(" --settings-value KEY Get value of KEY from settings.yaml"); + 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(" --extract MOD[,MOD]* FILES Extract files from mod packages"); + Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG"); + Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette"); + Console.WriteLine(" --r8 R8FILE PALETTE 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) diff --git a/doc/d2k formatspecs.txt b/doc/d2k formatspecs.txt new file mode 100644 index 0000000000..2c4d747a70 --- /dev/null +++ b/doc/d2k formatspecs.txt @@ -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, +������� � ���� ������ �� ������������. + +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... \ No newline at end of file diff --git a/mods/d2k/bits/clock.shp b/mods/d2k/bits/clock.shp deleted file mode 100644 index d55ae3cf3c..0000000000 Binary files a/mods/d2k/bits/clock.shp and /dev/null differ diff --git a/mods/d2k/bits/mcv.shp b/mods/d2k/bits/mcv.shp index 0d132744f8..68b0a1fb47 100644 Binary files a/mods/d2k/bits/mcv.shp and b/mods/d2k/bits/mcv.shp differ diff --git a/mods/d2k/bits/mouse.shp b/mods/d2k/bits/mouse.shp deleted file mode 100644 index 4bd614a27e..0000000000 Binary files a/mods/d2k/bits/mouse.shp and /dev/null differ diff --git a/mods/d2k/bits/moveflsh.shp b/mods/d2k/bits/moveflsh.shp deleted file mode 100644 index 4c942a3008..0000000000 Binary files a/mods/d2k/bits/moveflsh.shp and /dev/null differ diff --git a/mods/d2k/bits/nopower.shp b/mods/d2k/bits/nopower.shp deleted file mode 100644 index 49792f87ce..0000000000 Binary files a/mods/d2k/bits/nopower.shp and /dev/null differ diff --git a/mods/d2k/bits/pips.shp b/mods/d2k/bits/pips.shp deleted file mode 100644 index da81c9bf59..0000000000 Binary files a/mods/d2k/bits/pips.shp and /dev/null differ diff --git a/mods/d2k/bits/rank.shp b/mods/d2k/bits/rank.shp deleted file mode 100644 index 958aba6c3a..0000000000 Binary files a/mods/d2k/bits/rank.shp and /dev/null differ diff --git a/mods/d2k/bits/shadow.shp b/mods/d2k/bits/shadow.shp deleted file mode 100644 index 8d7d7e76ca..0000000000 Binary files a/mods/d2k/bits/shadow.shp and /dev/null differ diff --git a/mods/d2k/bits/temperat.pal b/mods/d2k/bits/temperat.pal deleted file mode 100644 index bb63fcdd50..0000000000 Binary files a/mods/d2k/bits/temperat.pal and /dev/null differ diff --git a/mods/d2k/bits/units.pal b/mods/d2k/bits/units.pal deleted file mode 100755 index 01b5babc5f..0000000000 Binary files a/mods/d2k/bits/units.pal and /dev/null differ diff --git a/mods/d2k/chrome.yaml b/mods/d2k/chrome.yaml new file mode 100644 index 0000000000..3f2ee6f3ab --- /dev/null +++ b/mods/d2k/chrome.yaml @@ -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 + diff --git a/mods/d2k/chrome/gamelobby.yaml b/mods/d2k/chrome/gamelobby.yaml deleted file mode 100644 index e2517e7ce1..0000000000 --- a/mods/d2k/chrome/gamelobby.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/d2k/chrome/ingame.yaml b/mods/d2k/chrome/ingame.yaml deleted file mode 100644 index a119d74727..0000000000 --- a/mods/d2k/chrome/ingame.yaml +++ /dev/null @@ -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 diff --git a/mods/d2k/chrome/mainmenu.yaml b/mods/d2k/chrome/mainmenu.yaml index d4f887ab25..6af4cd7249 100644 --- a/mods/d2k/chrome/mainmenu.yaml +++ b/mods/d2k/chrome/mainmenu.yaml @@ -1,220 +1,266 @@ Background@MAINMENU_BG: + Id:MAINMENU_BG X:(WINDOW_RIGHT - WIDTH)/2 Y:(WINDOW_BOTTOM - HEIGHT)/2 Width:250 - Height:290 - Delegate:MainMenuButtonsDelegate + Height:420 + Visible:true + Logic:MainMenuButtonsLogic Children: Label@MAINMENU_LABEL_TITLE: + Id:MAINMENU_LABEL_TITLE X:0 Y:20 Width:250 Height:25 - Text:OpenRA Main Menu + Text:OpenD2k Main Menu Align:Center - Bold:True + Font:Bold Button@MAINMENU_BUTTON_JOIN: + Id:MAINMENU_BUTTON_JOIN X:45 Y:70 Width:160 Height:25 Text:Join Game - Bold:True + Font:Bold Button@MAINMENU_BUTTON_CREATE: + Id:MAINMENU_BUTTON_CREATE X:45 Y:110 Width:160 Height:25 Text:Create Game - Bold:True - Button@MAINMENU_BUTTON_SETTINGS: + Font:Bold + Button@MAINMENU_BUTTON_DIRECTCONNECT: + Id:MAINMENU_BUTTON_DIRECTCONNECT X:45 Y:150 Width:160 Height:25 - Text:Settings - Bold:True - Button@MAINMENU_BUTTON_MUSIC: + Text:Direct Connect + Font:Bold + Button@MAINMENU_BUTTON_SETTINGS: + Id:MAINMENU_BUTTON_SETTINGS X:45 Y:190 Width:160 Height:25 - Text:Music - Bold:True - Button@MAINMENU_BUTTON_QUIT: + Text:Settings + Font:Bold + Button@MAINMENU_BUTTON_MODS: + Id:MAINMENU_BUTTON_MODS X:45 Y:230 Width:160 Height:25 - Text:Quit - Bold:True - Button@MAINMENU_BUTTON_VIDEOPLAYER: - Visible:false + Text:Mods + Font:Bold +# Button@MAINMENU_BUTTON_MUSIC: +# 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 - Y:260 + Y:310 Width:160 Height:25 - Text:Video Player - Bold:True - Label@VERSION_STRING: - X:WINDOW_RIGHT - PARENT_LEFT - WIDTH - 15 - Y:WINDOW_BOTTOM - PARENT_TOP - 25 - Width:400 - Height:35 - Text: - Align:Right - Bold:True + Text:Replay Viewer + Font:Bold + Button@MAINMENU_BUTTON_QUIT: + Id:MAINMENU_BUTTON_QUIT + X:45 + Y:350 + Width:160 + Height:25 + Text:Quit + Font:Bold Background@PERF_BG: ClickThrough:true + Id:PERF_BG Background:dialog4 - Delegate:PerfDebugDelegate + Logic:PerfDebugLogic X:10 Y:WINDOW_BOTTOM - 250 Width: 210 Height: 250 Children: PerfGraph@GRAPH: + Id:GRAPH X:5 Y:5 Width:200 Height:200 Label@TEXT: - Bold: false + Id:TEXT X:20 Y:205 Width:170 Height:40 -Background@MUSIC_MENU: - Delegate:MusicPlayerDelegate - X:(WINDOW_RIGHT - WIDTH)/2 - Y:(WINDOW_BOTTOM - HEIGHT)/2 - Width: 450 - Height: 250 - Visible: false - Children: - Label@SETTINGS_LABEL_TITLE: - X:0 - Y:20 - Width:450 - Height:25 - Text:Music - Align:Center - Bold:True - Button@BUTTON_CLOSE: - X:PARENT_RIGHT - 180 - Y:PARENT_BOTTOM - 45 - Width:160 - Height:25 - Text:Close - Bold:True - Container@BUTTONS: - X:PARENT_RIGHT - 150 - Y:50 - Children: - Button@BUTTON_PLAY: - X:35 - Y:0 - Width:25 - Height:25 - Children: - Image@IMAGE_PLAY: - X:0 - Y:0 - Width:25 - Height:25 - ImageCollection:music - ImageName:play - Button@BUTTON_PAUSE: - Visible:false - X:35 - Y:0 - Width:25 - Height:25 - Children: - Image@IMAGE_PAUSE: - X:0 - Y:0 - Width:25 - Height:25 - ImageCollection:music - ImageName:pause - Button@BUTTON_STOP: - X:70 - Y:0 - Width:25 - Height:25 - Children: - Image@IMAGE_STOP: - X:0 - Y:0 - Width:25 - Height:25 - ImageCollection:music - ImageName:stop - Button@BUTTON_NEXT: - X:105 - Y:0 - Width:25 - Height:25 - Children: - Image@IMAGE_NEXT: - X:0 - Y:0 - Width:25 - Height:25 - ImageCollection:music - ImageName:next - Button@BUTTON_PREV: - X:0 - Y:0 - Width:25 - Height:25 - Children: - Image@IMAGE_PREV: - X:0 - Y:0 - Width:25 - Height:25 - ImageCollection:music - ImageName:prev - Label@TIME: - X:PARENT_RIGHT - 150 - Y:75 - Width:140 - Height:25 - Align: Center - ScrollPanel@MUSIC_LIST: - X:10 - Y:50 - Width:280 - Height:140 - Children: - Label@MUSIC_TEMPLATE: - Width:PARENT_RIGHT-28 - Height:25 - X:2 - Y:0 - Visible:false - Children: - Label@TITLE: - X:5 - Width:PARENT_RIGHT - 10 - Height:PARENT_BOTTOM - Align: Left - Label@LENGTH: - X:5 - Width:PARENT_RIGHT - 10 - Height:PARENT_BOTTOM - Align: Right - Checkbox@SHUFFLE: - X:PARENT_RIGHT - 150 - Y:110 - Width:100 - Height:20 - Text:Shuffle - Checkbox@REPEAT: - X:PARENT_RIGHT - 150 - Y:140 - Width:100 - Height:20 - Text:Repeat \ No newline at end of file +#Background@MUSIC_MENU: +# Id:MUSIC_MENU +# Logic:MusicPlayerLogic +# X:(WINDOW_RIGHT - WIDTH)/2 +# Y:(WINDOW_BOTTOM - HEIGHT)/2 +# Width: 450 +# Height: 250 +# Visible: true +# Children: +# Label@SETTINGS_LABEL_TITLE: +# Id:SETTINGS_LABEL_TITLE +# X:0 +# Y:20 +# Width:450 +# Height:25 +# Text:Music +# Align:Center +# Font:Bold +# Button@BUTTON_INSTALL: +# Id:BUTTON_INSTALL +# X:20 +# Y:PARENT_BOTTOM - 45 +# Width:160 +# Height:25 +# Text:Install Music +# Font:Bold +# Button@BUTTON_CLOSE: +# Id:BUTTON_CLOSE +# X:PARENT_RIGHT - 180 +# Y:PARENT_BOTTOM - 45 +# Width:160 +# Height:25 +# Text:Close +# Font:Bold +# Container@BUTTONS: +# X:PARENT_RIGHT - 150 +# Y:50 +# Children: +# Button@BUTTON_PLAY: +# Id:BUTTON_PLAY +# X:35 +# Y:0 +# Width:25 +# Height:25 +# Children: +# Image@IMAGE_PLAY: +# Id:IMAGE_PLAY +# X:0 +# Y:0 +# Width:25 +# Height:25 +# ImageCollection:music +# ImageName:play +# Button@BUTTON_PAUSE: +# Id:BUTTON_PAUSE +# Visible:false +# X:35 +# Y:0 +# Width:25 +# Height:25 +# Children: +# Image@IMAGE_PAUSE: +# Id:IMAGE_PAUSE +# X:0 +# Y:0 +# Width:25 +# Height:25 +# ImageCollection:music +# ImageName:pause +# Button@BUTTON_STOP: +# Id:BUTTON_STOP +# X:70 +# Y:0 +# Width:25 +# Height:25 +# Children: +# Image@IMAGE_STOP: +# Id:IMAGE_STOP +# X:0 +# Y:0 +# Width:25 +# Height:25 +# ImageCollection:music +# ImageName:stop +# Button@BUTTON_NEXT: +# Id:BUTTON_NEXT +# X:105 +# Y:0 +# Width:25 +# Height:25 +# Children: +# Image@IMAGE_NEXT: +# Id:IMAGE_NEXT +# X:0 +# Y:0 +# Width:25 +# Height:25 +# ImageCollection:music +# ImageName:next +# Button@BUTTON_PREV: +# Id:BUTTON_PREV +# X:0 +# Y:0 +# Width:25 +# Height:25 +# Children: +# Image@IMAGE_PREV: +# Id:IMAGE_PREV +# X:0 +# Y:0 +# Width:25 +# Height:25 +# ImageCollection:music +# ImageName:prev +# Label@TIME: +# Id:TIME +# X:PARENT_RIGHT - 150 +# Y:75 +# Width:140 +# Height:25 +# Align: Center +# ScrollPanel@MUSIC_LIST: +# Id:MUSIC_LIST +# X:10 +# Y:50 +# Width:280 +# Height:140 +# Children: +# ScrollItem@MUSIC_TEMPLATE: +# Id:MUSIC_TEMPLATE +# Width:PARENT_RIGHT-27 +# Height:25 +# X:2 +# 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 \ No newline at end of file diff --git a/mods/d2k/chrome/serverbrowser.yaml b/mods/d2k/chrome/serverbrowser.yaml deleted file mode 100644 index 52b293ac5d..0000000000 --- a/mods/d2k/chrome/serverbrowser.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/d2k/chrome/settings.yaml b/mods/d2k/chrome/settings.yaml deleted file mode 100644 index ab6b945b77..0000000000 --- a/mods/d2k/chrome/settings.yaml +++ /dev/null @@ -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 diff --git a/mods/d2k/chrome/videoplayer.yaml b/mods/d2k/chrome/videoplayer.yaml deleted file mode 100644 index 6b45096307..0000000000 --- a/mods/d2k/chrome/videoplayer.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/d2k/cursors.xml b/mods/d2k/cursors.xml deleted file mode 100644 index c0f1f3b871..0000000000 --- a/mods/d2k/cursors.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/mods/d2k/maps/blank.oramap b/mods/d2k/maps/blank.oramap new file mode 100644 index 0000000000..c826e5a14e Binary files /dev/null and b/mods/d2k/maps/blank.oramap differ diff --git a/mods/d2k/maps/test.oramap b/mods/d2k/maps/test.oramap new file mode 100644 index 0000000000..59873cda66 Binary files /dev/null and b/mods/d2k/maps/test.oramap differ diff --git a/mods/d2k/maps/test/map.bin b/mods/d2k/maps/test/map.bin deleted file mode 100644 index 4d976970b4..0000000000 Binary files a/mods/d2k/maps/test/map.bin and /dev/null differ diff --git a/mods/d2k/maps/test/map.yaml b/mods/d2k/maps/test/map.yaml deleted file mode 100644 index c688669572..0000000000 --- a/mods/d2k/maps/test/map.yaml +++ /dev/null @@ -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: - diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index f5dae064b0..3407dccbcc 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -1,41 +1,123 @@ Metadata: Title: Dune 2000 - Description: Work in progress d2k port - Version: a0001 - Author: The OpenRA Developers + Description: Converting the OpenRA Red Alert Mod one by one to Dune 2000 + Version: {DEV_VERSION} + Author: The OpenD2k Developers Folders: . - mods/d2k - mods/d2k/bits - mods/ra/uibits + ./mods/d2k + ./mods/d2k/bits + ./mods/d2k/uibits + ~^/Content/d2k + ./mods/ra + ./mods/ra/bits + ./mods/ra/uibits + ~^/Content/ra + 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 + Rules: - mods/d2k/rules/defaults.yaml - mods/d2k/rules/vehicles.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: mods/d2k/sequences.yaml + mods/ra/sequences.yaml + Cursors: - mods/d2k/cursors.xml + mods/ra/cursors.yaml + Chrome: - mods/ra/chrome.xml + mods/d2k/chrome.yaml + mods/ra/chrome.yaml + Assemblies: + mods/d2k/OpenRA.Mods.D2k.dll mods/ra/OpenRA.Mods.RA.dll + ChromeLayout: - mods/d2k/chrome/ingame.yaml - mods/d2k/chrome/mainmenu.yaml - mods/d2k/chrome/videoplayer.yaml - mods/d2k/chrome/settings.yaml - mods/d2k/chrome/gamelobby.yaml - mods/d2k/chrome/serverbrowser.yaml + mods/ra/chrome/gameinit.yaml + mods/ra/chrome/ingame.yaml + mods/ra/chrome/mainmenu.yaml + mods/ra/chrome/settings.yaml + mods/ra/chrome/lobby.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: + mods/ra/weapons.yaml + Voices: + mods/d2k/voices.yaml + mods/ra/voices.yaml + TileSets: mods/d2k/tilesets/arrakis.yaml + mods/ra/tilesets/snow.yaml + mods/ra/tilesets/interior.yaml + mods/ra/tilesets/temperat.yaml + Music: + Movies: -LoadScreen: NullLoadScreen -ShellmapUid:1e36d6874ef7960ac0e21edf36bbe1490a4650eb -TileSize:32 + +LoadScreen: D2kLoadScreen + +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 diff --git a/mods/d2k/rules/aircraft.yaml b/mods/d2k/rules/aircraft.yaml new file mode 100644 index 0000000000..555526edc1 --- /dev/null +++ b/mods/d2k/rules/aircraft.yaml @@ -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 \ No newline at end of file diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml deleted file mode 100644 index 75a9061e82..0000000000 --- a/mods/d2k/rules/defaults.yaml +++ /dev/null @@ -1,16 +0,0 @@ -^Vehicle: - AppearsOnRadar: - Mobile: - TerrainSpeeds: - Clear: 100% - ROT: 5 - Selectable: - Targetable: - TargetTypes: Ground - Repairable: - Passenger: - CargoType: Vehicle - HiddenUnderFog: - GainsExperience: - GivesExperience: - DrawLineToTarget: \ No newline at end of file diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml new file mode 100644 index 0000000000..81cb4935a3 --- /dev/null +++ b/mods/d2k/rules/structures.yaml @@ -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: \ No newline at end of file diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml index f078a73334..56001f83fe 100644 --- a/mods/d2k/rules/system.yaml +++ b/mods/d2k/rules/system.yaml @@ -1,79 +1,30 @@ Player: - TechTree: - PlayerResources: - InitialCash: 5000 - ActorGroupProxy: - DeveloperMode: - -World: - ScreenShaker: - ColorPickerPaletteModifier: - BuildingInfluence: - UnitInfluence: - ChooseBuildTabOnSelect: - PaletteFromCurrentTileset: - Name: terrain - PlayerColorPalette: - BasePalette: units + PlayerColorPalette@d2kplayer: + BasePalette: d2k + BaseName: d2kplayer PaletteFormat: d2k - PaletteFromFile@units: - Name: units - Filename: units.pal +World: + Country@2: + 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: Name: chrome - Filename: temperat.pal - PaletteFromFile@effect: - Name: effect - Filename: temperat.pal - PaletteFromFile@cursor: - Name: cursor - Filename: temperat.pal - PaletteFromRGBA@shadow: - Name: shadow - R: 0 - 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: \ No newline at end of file + Filename: d2k.pal +# ResourceType@spice: +# ResourceType: 1 +# Palette: d2k +# SpriteNames: spice #? +# ValuePerUnit: 25 +# Name: Spice +# PipColor: Yellow +# AllowedTerrainTypes: Sand +# AllowUnderActors: false \ No newline at end of file diff --git a/mods/d2k/rules/vehicles.yaml b/mods/d2k/rules/vehicles.yaml index 58c0c820ef..11d38b8416 100644 --- a/mods/d2k/rules/vehicles.yaml +++ b/mods/d2k/rules/vehicles.yaml @@ -1,21 +1,69 @@ MCV: + Transforms: + IntoActor: conyarda + RenderUnit: + Image: MCV + PlayerPalette: d2kplayer + +TRIKE: Inherits: ^Vehicle Valued: - Cost: 2000 + Cost: 200 Tooltip: - Name: Mobile Construction Vehicle - Description: Deploys into another Construction Yard.\n Unarmed + Name: Scout Trike + Icon: trikeicon + Description: Weak Scout.\n Decent vs. Infantry + Buildable: + BuildPaletteOrder: 15 + Prerequisites: lighta + Owner: atreides Selectable: - Priority: 3 - Bounds: 42,42 + Bounds: 24,24 + Mobile: + ROT: 15 + Speed: 20 Health: - HP: 600 + HP: 75 Armor: Type: Light - Mobile: - Speed: 6 RevealsShroud: - Range: 4 + Range: 8 + AttackFrontal: + PrimaryWeapon: M60mg + PrimaryOffset: 0,0,0,-4 RenderUnit: - MustBeDestroyed: - BaseBuilding: \ No newline at end of file + PlayerPalette: d2kplayer + 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: \ No newline at end of file diff --git a/mods/d2k/sequences.yaml b/mods/d2k/sequences.yaml index 304236121b..5aee160dda 100644 --- a/mods/d2k/sequences.yaml +++ b/mods/d2k/sequences.yaml @@ -3,42 +3,86 @@ mcv: Start: 0 Facings: 32 -moveflsh: +conyarda: idle: Start: 0 - Length: * - -pips: - groups: - Start: 8 - Length: 10 - medic: - Start: 20 - ready: - Start: 3 - hold: - Start: 4 - pip-empty: + make: conmake Start: 0 - pip-green: + Length: * + damaged-idle: Start: 1 - pip-yellow: - Start: 5 - pip-gray: - Start: 6 - pip-red: - Start: 7 - tag-fake: - Start: 18 - tag-primary: + +pwra: + idle: + Start: 0 + make: wtrpmake + Start: 0 + Length: * + damaged-idle: + 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 -clock: +siloa: idle: Start: 0 +# Length: 3 + Length: 1 + damaged-idle: + Start: 4 + Length: 1 + make: silomake + Start: 0 Length: * -rank: - rank: +hightecha: + idle: Start: 0 - Length: * \ No newline at end of file + 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 \ No newline at end of file diff --git a/mods/d2k/uibits/chrome-atreides.png b/mods/d2k/uibits/chrome-atreides.png new file mode 100644 index 0000000000..6bf0bdf808 Binary files /dev/null and b/mods/d2k/uibits/chrome-atreides.png differ diff --git a/mods/d2k/uibits/chrome-harkonnen.png b/mods/d2k/uibits/chrome-harkonnen.png new file mode 100644 index 0000000000..e8ec2ac96d Binary files /dev/null and b/mods/d2k/uibits/chrome-harkonnen.png differ diff --git a/mods/d2k/uibits/chrome-ordos.png b/mods/d2k/uibits/chrome-ordos.png new file mode 100644 index 0000000000..05b6968a29 Binary files /dev/null and b/mods/d2k/uibits/chrome-ordos.png differ diff --git a/mods/d2k/uibits/dialog.png b/mods/d2k/uibits/dialog.png new file mode 100644 index 0000000000..98e461bc53 Binary files /dev/null and b/mods/d2k/uibits/dialog.png differ diff --git a/mods/d2k/uibits/loadscreen.png b/mods/d2k/uibits/loadscreen.png new file mode 100644 index 0000000000..b3ed119870 Binary files /dev/null and b/mods/d2k/uibits/loadscreen.png differ diff --git a/mods/d2k/voices.yaml b/mods/d2k/voices.yaml new file mode 100644 index 0000000000..414c92fec5 --- /dev/null +++ b/mods/d2k/voices.yaml @@ -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 diff --git a/mods/default/bogus.tem b/mods/default/bogus.tem deleted file mode 100644 index db18593048..0000000000 Binary files a/mods/default/bogus.tem and /dev/null differ diff --git a/mods/default/chrome.xml b/mods/default/chrome.xml deleted file mode 100644 index 9ccee19185..0000000000 --- a/mods/default/chrome.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mods/default/cursors.xml b/mods/default/cursors.xml deleted file mode 100644 index 9d522a9009..0000000000 --- a/mods/default/cursors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/mods/default/dialog.png b/mods/default/dialog.png deleted file mode 100644 index b7047caefa..0000000000 Binary files a/mods/default/dialog.png and /dev/null differ diff --git a/mods/default/maps/shellmap/map.bin b/mods/default/maps/shellmap/map.bin deleted file mode 100644 index 35529fcc67..0000000000 Binary files a/mods/default/maps/shellmap/map.bin and /dev/null differ diff --git a/mods/default/maps/shellmap/map.yaml b/mods/default/maps/shellmap/map.yaml deleted file mode 100644 index 6d94b3360b..0000000000 --- a/mods/default/maps/shellmap/map.yaml +++ /dev/null @@ -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: diff --git a/mods/default/maps/shellmap/preview.png b/mods/default/maps/shellmap/preview.png deleted file mode 100644 index b5681e16e5..0000000000 Binary files a/mods/default/maps/shellmap/preview.png and /dev/null differ diff --git a/mods/default/menus.yaml b/mods/default/menus.yaml deleted file mode 100644 index 1f5c8c77d2..0000000000 --- a/mods/default/menus.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/default/mod.yaml b/mods/default/mod.yaml deleted file mode 100644 index de02e933d6..0000000000 --- a/mods/default/mod.yaml +++ /dev/null @@ -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 diff --git a/mods/default/mouse.shp b/mods/default/mouse.shp deleted file mode 100644 index 4bd614a27e..0000000000 Binary files a/mods/default/mouse.shp and /dev/null differ diff --git a/mods/default/system.yaml b/mods/default/system.yaml deleted file mode 100644 index 3063ff094b..0000000000 --- a/mods/default/system.yaml +++ /dev/null @@ -1,9 +0,0 @@ -World: - PaletteFromFile@chrome: - Name: chrome - Filename: temperat.pal - PaletteFromFile@cursor: - Name: cursor - Filename: temperat.pal - SpatialBins: - UnitInfluence: \ No newline at end of file diff --git a/mods/default/temperat.pal b/mods/default/temperat.pal deleted file mode 100644 index bb63fcdd50..0000000000 Binary files a/mods/default/temperat.pal and /dev/null differ diff --git a/mods/default/tileset-dummy.yaml b/mods/default/tileset-dummy.yaml deleted file mode 100644 index 77e108fa03..0000000000 --- a/mods/default/tileset-dummy.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/palettetest/d2k.pal b/mods/palettetest/d2k.pal deleted file mode 100755 index 01b5babc5f..0000000000 Binary files a/mods/palettetest/d2k.pal and /dev/null differ diff --git a/mods/palettetest/mcv.shp b/mods/palettetest/mcv.shp deleted file mode 100644 index 0d132744f8..0000000000 Binary files a/mods/palettetest/mcv.shp and /dev/null differ diff --git a/mods/palettetest/mcv.yaml b/mods/palettetest/mcv.yaml deleted file mode 100644 index 282a4952b3..0000000000 --- a/mods/palettetest/mcv.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/mods/palettetest/mod.yaml b/mods/palettetest/mod.yaml deleted file mode 100644 index 202f76d3e8..0000000000 --- a/mods/palettetest/mod.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/ripD2kGameFiles.sh b/ripD2kGameFiles.sh new file mode 100755 index 0000000000..d8980e2425 --- /dev/null +++ b/ripD2kGameFiles.sh @@ -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 \ No newline at end of file