- beginnings of map loading (INI parser works)
- fixed warnings in mix_decode.h git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1075 993157c7-ee19-0410-b2c4-bb4e9862e678
This commit is contained in:
88
MapViewer/IniFile.cs
Normal file
88
MapViewer/IniFile.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace MapViewer
|
||||
{
|
||||
class IniFile
|
||||
{
|
||||
Dictionary<string, IniSection> sections = new Dictionary<string, IniSection>();
|
||||
IniSection currentSection;
|
||||
|
||||
public IniFile(Stream s)
|
||||
{
|
||||
|
||||
StreamReader reader = new StreamReader(s);
|
||||
while (!reader.EndOfStream)
|
||||
{
|
||||
string line = reader.ReadLine();
|
||||
if (!ProcessEntry(line))
|
||||
ProcessSection(line);
|
||||
}
|
||||
}
|
||||
|
||||
Regex sectionPattern = new Regex(@"\[([^]]*)\]");
|
||||
Regex entryPattern = new Regex(@"([^=]+)=([^;]*)");
|
||||
|
||||
bool ProcessSection(string line)
|
||||
{
|
||||
Match m = sectionPattern.Match(line);
|
||||
if (m == null || !m.Success)
|
||||
return false;
|
||||
|
||||
string sectionName = m.Groups[1].Value;
|
||||
currentSection = new IniSection(sectionName);
|
||||
sections.Add(sectionName, currentSection);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ProcessEntry(string line)
|
||||
{
|
||||
Match m = entryPattern.Match(line);
|
||||
if (m == null || !m.Success)
|
||||
return false;
|
||||
|
||||
if (currentSection == null)
|
||||
throw new InvalidOperationException("No current INI section");
|
||||
|
||||
string keyName = m.Groups[1].Value;
|
||||
string keyValue = m.Groups[2].Value;
|
||||
|
||||
currentSection.Add(keyName, keyValue);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public IniSection GetSection(string s)
|
||||
{
|
||||
IniSection section;
|
||||
sections.TryGetValue(s, out section);
|
||||
return section;
|
||||
}
|
||||
}
|
||||
|
||||
class IniSection
|
||||
{
|
||||
string name;
|
||||
Dictionary<string, string> values = new Dictionary<string, string>();
|
||||
|
||||
public IniSection(string name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void Add(string key, string value)
|
||||
{
|
||||
values.Add(key, value);
|
||||
}
|
||||
|
||||
public string GetValue(string key, string defaultValue)
|
||||
{
|
||||
string s;
|
||||
return values.TryGetValue( key, out s ) ? s : defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
50
MapViewer/MapViewer.csproj
Normal file
50
MapViewer/MapViewer.csproj
Normal file
@@ -0,0 +1,50 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{3942F56A-F427-4DE0-928A-89DEA952FF5F}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>MapViewer</RootNamespace>
|
||||
<AssemblyName>MapViewer</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="IniFile.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
43
MapViewer/Program.cs
Normal file
43
MapViewer/Program.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MapViewer
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static Stream GetFile()
|
||||
{
|
||||
OpenFileDialog ofd = new OpenFileDialog();
|
||||
ofd.RestoreDirectory = true;
|
||||
ofd.Filter = "Map files (*.ini)|*.ini";
|
||||
|
||||
return (DialogResult.OK == ofd.ShowDialog()) ? ofd.OpenFile() : null;
|
||||
}
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Stream s = GetFile();
|
||||
if (s == null)
|
||||
{
|
||||
Console.WriteLine("Fail");
|
||||
return;
|
||||
}
|
||||
|
||||
IniFile iniFile = new IniFile(s);
|
||||
Console.WriteLine("Done.");
|
||||
|
||||
IniSection basic = iniFile.GetSection("Basic");
|
||||
Console.WriteLine("Name: {0}", basic.GetValue("Name", "(null)"));
|
||||
Console.WriteLine("Official: {0}", basic.GetValue("Official", "no"));
|
||||
|
||||
IniSection map = iniFile.GetSection("Map");
|
||||
Console.WriteLine("Theater: {0}", map.GetValue("Theater", "TEMPERATE"));
|
||||
Console.WriteLine("X: {0} Y: {1} Width: {2} Height: {3}",
|
||||
map.GetValue("X", "0"), map.GetValue("Y", "0"),
|
||||
map.GetValue("Width", "0"), map.GetValue("Height", "0"));
|
||||
}
|
||||
}
|
||||
}
|
||||
33
MapViewer/Properties/AssemblyInfo.cs
Normal file
33
MapViewer/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MapViewer")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MapViewer")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2007")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3d06bcba-b9e2-412c-829c-a8458d883fee")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -50,7 +50,7 @@ static void init_bignum(bignum n, dword val, dword len)
|
||||
static void move_key_to_big(bignum n, char *key, dword klen, dword blen)
|
||||
{
|
||||
dword sign;
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
if (key[0] & 0x80) sign = 0xff;
|
||||
else sign = 0;
|
||||
@@ -154,7 +154,7 @@ static void mov_bignum(bignum dest, bignum src, dword len)
|
||||
memmove(dest, src, len*4);
|
||||
}
|
||||
|
||||
static void shr_bignum(bignum n, dword bits, long int len)
|
||||
static void shr_bignum(bignum n, dword bits, unsigned long int len)
|
||||
{
|
||||
dword i, i2;
|
||||
|
||||
|
||||
12
OpenRa.sln
12
OpenRa.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.FileFormats", "OpenR
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.Core", "OpenRa.Core\OpenRa.Core.csproj", "{1B60782F-B2DD-43F1-B51D-B798485F317C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewer", "MapViewer\MapViewer.csproj", "{3942F56A-F427-4DE0-928A-89DEA952FF5F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -71,6 +73,16 @@ Global
|
||||
{1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{1B60782F-B2DD-43F1-B51D-B798485F317C}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{3942F56A-F427-4DE0-928A-89DEA952FF5F}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
310
scm12ea.ini
Normal file
310
scm12ea.ini
Normal file
@@ -0,0 +1,310 @@
|
||||
[Basic]
|
||||
Name=raraku (4-8)
|
||||
Intro=<none>
|
||||
Brief=<none>
|
||||
Win=<none>
|
||||
Lose=<none>
|
||||
Action=<none>
|
||||
Player=Spain
|
||||
Theme=No theme
|
||||
CarryOverMoney=0
|
||||
ToCarryOver=no
|
||||
ToInherit=no
|
||||
TimerInherit=no
|
||||
CivEvac=no
|
||||
NewINIFormat=3
|
||||
CarryOverCap=0
|
||||
EndOfGame=no
|
||||
NoSpyPlane=no
|
||||
SkipScore=no
|
||||
OneTimeOnly=no
|
||||
SkipMapSelect=no
|
||||
Official=yes
|
||||
FillSilos=no
|
||||
TruckCrate=no
|
||||
Percent=0
|
||||
|
||||
[Spain]
|
||||
TechLevel=12
|
||||
|
||||
[Greece]
|
||||
TechLevel=12
|
||||
|
||||
[USSR]
|
||||
TechLevel=12
|
||||
|
||||
[England]
|
||||
TechLevel=12
|
||||
|
||||
[Ukraine]
|
||||
TechLevel=12
|
||||
|
||||
[Germany]
|
||||
TechLevel=12
|
||||
|
||||
[France]
|
||||
TechLevel=12
|
||||
|
||||
[Turkey]
|
||||
TechLevel=12
|
||||
|
||||
[GoodGuy]
|
||||
TechLevel=12
|
||||
|
||||
[BadGuy]
|
||||
TechLevel=12
|
||||
|
||||
[Neutral]
|
||||
TechLevel=12
|
||||
|
||||
[Special]
|
||||
TechLevel=12
|
||||
|
||||
[Map]
|
||||
Theater=TEMPERATE
|
||||
X=15
|
||||
Y=15
|
||||
Width=96
|
||||
Height=96
|
||||
|
||||
[Waypoints]
|
||||
0=13082
|
||||
1=3160
|
||||
2=12506
|
||||
3=2970
|
||||
4=11327
|
||||
5=6843
|
||||
6=7837
|
||||
7=6632
|
||||
98=8127
|
||||
99=8127
|
||||
|
||||
[MapPack]
|
||||
1=PwIAIIH//h0P/4WoAKgAiQACgYgAAhAQhYwAjACLAAKBpgACEBCCLAAQAoEBAAKBF0ACzw
|
||||
2=wPg6AAoNBPD9F3D4VcAFwAWgACgQIAAoFHIALJgA+DowCjyiUPEJhQiP5YAP/JHg+BigAC
|
||||
3=cQBQIjEC10gP72APgQHckw9QiDEA/l4A/4OfAJ8gYnB4zQ4RyUAQ0wgRgqEAEALh+hCDVg
|
||||
4=BWIPwQAoFIAALPehFwiIFq/18AvxDLGBHXJRKCNQAQAoE4IAL9TBERAtuQEf5wAP/hYhJR
|
||||
5=ANcoE4OiAKLimxKC+gAQAoH7AAKB/CAC/oIA/+ceE9skFN9mE4PWANIg/smQE4HIAAL+fg
|
||||
6=D/gp0AEAL+ZAD/g9YA1tCLFIPEAMz4IxWBpP9BACMV/2gAHhWCswAQAoFQAAJUAIFCAAKD
|
||||
7=///M/38AnxXnYhD/RABGFs+MFoGy+CEXg5MAk/+DAN0Wg5wAnOIhGIG0ACbPjBGCsgD3nh
|
||||
8=f/RADaF4OeAJ763RjlHhaCtAAQAs+MEvmeGBkw/6gA3hiF///JAMnOixWB0wAC9yQa/0QA
|
||||
9=2hn7vg/pHhaDyQDLzosagdX6nRr+RAD/+74Q7R4W8YwThTYANgA3AAL+kAD/HKLtHhvPjB
|
||||
10=fLnR2Br86bHRD+MQD/hADGHBD0HJ4dmjEAz34QgTwAAhAMhUAAQAA/AAKBPQACUBTvjB1y
|
||||
11=AP+AAMgdg4cAhyD0cQDTehAQ7IE+AALNeB4QCF/8EAKBQyACy14f0aAZhScAJwASIALzEh
|
||||
12=+AbgQAIIH//kcA/4aHAIcAjADbKgCFVgBWADwAAoE+AAKDQAACQAKBASAUgT0AAoFaAAxQ
|
||||
13=FoFDIALLXgCDsgCyzJ0AgicAEAKBEiAC/qQA/4FWyI0A3XgBgVcAAhEa/8wAogCDKwAr7n
|
||||
14=EBEi6BQQACgfcgAoMKAA4AAjBOgwUANAACgwEAFSAC/lQA/4OlAKX/TQDJAhEAgSvobwHV
|
||||
15=ngIRAoIFAP+4ALwC53ACyZwEMQCBAUEAEP6DBQAzAAL/WgDEA4X//58An/9PAMcE024DgQ
|
||||
16=FAElAI0ZQFgfggAhAKUQAQ/tnABIGo/0EAIQXpHgWDAwA7AAKBPwACy54BzWEGgiwAEAIw
|
||||
17=7ueABIMBAPkgAlAQgQVgGDEAgY4AAv9SAMwFg6YApuLdBoIDABACyUwGgV0AAt9aBuV8B4
|
||||
18=EwAAIxAIEyAALJmgeBFCACgv//UQCCawAwAoX//50Anf9DAN0GyRIIg6QApAQQyyAEgzYA
|
||||
19=NiD8EAJSwv9gAFQHUyxxAIPlAOgAAv9SAMwHyx0JzywIEP4xAM18BoFEAALVFAmDUABQ3H
|
||||
20=cGybQIEAKBLgACNQAV8s+0B3EAcAGD6gDq/08A3QiDowCjAxDLHggxAM+ECeFYCed6CtOm
|
||||
21=CYEXQAIQVIOUAJT/ZwDLCeNoCtGYAFABhVsAWwBK9HkEcBDJvAoRAM1kC4OnAKf/YQDJAf
|
||||
22=k+C4NKAEwAAoFZAALPignRlAzLqgaBAcq7C9HFDP9iANoLglEAEALPiAwwCoFIAALZIA3T
|
||||
23=egzTjg2DTgBPQQCBSQACUDSBQgAC/l4A/9seBMs8Dc1IDt1aDTABglUAEALXiAyBWAACgU
|
||||
24=7/lwClDRLI04ANgwEAOCAC7V4Oz4wPUQAQLIOxALEgCDA0gUcgAv5eAP+CoQAQAu0kD4Ei
|
||||
25=AALjWg/dfA/Jug9Q/v+KALIPEAGDUwBTzkcQMQDl9hDvghAxeoFeAAL+YgD/3R4GUQCDAQ
|
||||
26=AhIAIw/tsiCNNkDM+ODsu6EP+UAKoRdQIw/jEA3SAI1WQMgUsAAslAEMucEoKzABAC/m4A
|
||||
27=/xtEydwIzWATMQBQ/IEh0K8T0SwK1WQNyYwTgQEE9M26Ev+SAKwTEbqBT+BDFOf0FBBSgU
|
||||
28=0AAhX0zZwUgbT/cQDJAc1kFM1gFN8+Fe1fFsmQFcuCFoK0ABAC/m4A/81kFe1gFf5OAP/N
|
||||
29=rgH+6AD/gZpDdM+sAd0oB/6AAP+BQMB3ANlYCN1aExAagZoAAu+mGMNGCP58AP+DXABcAP
|
||||
30=7/RgBgGYGeAALLqBLZtxqBBMZDCP58AP8xAIEB2lcM3VoUEBqBiAACEQDnrBoxABdG/nwA
|
||||
31=/4NSAFLeUwzdKBdRABEe16obEmbBpgMQ+jACxUYJ/nAA/xH0xVQGUQCBAdCZAel1HTEAza
|
||||
32=oaEGrBiADDdADLxhx7Sv5wAP9RABCWgVrGiwBRAN9iGtuNHoPDAMNgQMu4HTFoMP7JkBL+
|
||||
33=cAD/EfRxAMmGBVEA414ayZUfgrUAMAIQ/nEAwWwA34QN34AfgKcEACCB//5HAP+CrwAQBo
|
||||
34=VSAFIAAsxRAIEeAAIwCoFXAAKBQAACgV0AAuMiAIWuAK4AtUACgcMAAsmSAIFWzlEAz8oA
|
||||
35=/moA/zEAglYAyboAgTAAAhD+gx4AMgACUQCDAQBIAAJQOIWkAKQApQAC14gAEAgRAMmSAY
|
||||
36=MFADQAAv9iALwA14QBzTcCg8AAwEECgQHWUwFQAud0AdOdAoIFAP92ALYBg44AjtbdAhEA
|
||||
37=g8AA+iACgfsgAoH8IAKBuCAyz04Dg///wiAahaMAowCmAALf/AITOoFBAAIQ/oEF4LsC/0
|
||||
38=QA2gKDngCe2iEDhYwAjACNAALZRgODuADk0E0EgcIgAlEAgWnc3QODXABcJDpRAOO4A/9Q
|
||||
39=ANwDgo8AEAIQCoWoAKgAigACcQAwAdFmA9NKBVEA438FMQAQ0oEB0rMEM3Rzev9IANYEg5
|
||||
40=8An9whBcsQBoIkABACUH6BLgACgQggAsu4AoFCAAKF//+xALHm3QWCVQAQAuW2BP9YANQF
|
||||
41=Mq4Q+NGEAzD8MP6BASGM01wGgQEhAOl6Bv96AKQGzTYHcQDPDAgw/s3GBTEAyVQIgUcgAu
|
||||
42=t4B4X//1MAU9K3Bf9gAMAH5/QIy04G11YJ93II4boIy6wJ/moA/8lKCNtSCoFGAAIQMoGy
|
||||
43=5CED2aAHMHCDTgBMAAKBSwACgVkAAv90ANIJgQTktwLLbgpxAtOGCoOcAJxgFjEAyU4KgV
|
||||
44=gAAhD4gU7/WwDDCoEM4t0LggQA6UYLgUQAAst2C4KTABACzzIMgqEAEAJQDoVbAFsASsi1
|
||||
45=Csm6C9WgCv9CAN4LyR4MO+QQAYEDRNgQ+jAC4U4Ky2wMgbRgTumEDIFKIPSBTQACgV4AAt
|
||||
46=eYCjCQ/0QA3gxxBDEAggMAEALLOA3lSA0RtDC4grQAEAIwWIORAJHU3Q2DoACgzIcO27AN
|
||||
47=MSZzBv3eDRBEMQKDCgD3IAIw/ss2Dt+8Cc9mDsl4BumEDt2vD/9kANAOcNznSA0wAoFFAA
|
||||
48=IwWsl4CXpY24wN46sQglEAEAL/SgDYD4EBIQCBAWEAzz4Q1TIRz0QR/7QAbhBQAoH4IALv
|
||||
49=rAfNaAnPchGF//+UAJTU3RGDogCi2N0R0YACyU4A/4QA3hE3noFKAg7JbBKCswAQAnEA1w
|
||||
50=QT/6IAohKDAQAjAAKBSQACdHoU6hWmWJ4Wusu6Dsl6E/WFFM+AA8nSEf9CANwTyVwRgfkg
|
||||
51=AtEwFBD+cQAwNMlYFFa6y2wUga3/QwDdCjEA1cYR/0gA3BOBISACMQCBGgACyTgVgSIAAh
|
||||
52=D+y8oPyWwT02EWgq0A1XoVwaYFx3QAgmsAMALl9hWDVABU/0sA0wxw/skoFoMaAB0gAhD8
|
||||
53=9UAW24wF/4gAlhZQ/IEhIEoxss0yF4T//2wAEALJyA/Tug7nqg/VVhjBPgWBiwACyUIFy4
|
||||
54=gXgVoAAv9KANQNyR4YcrLJNBgQEN1EGOuAAtGSGFD44a4Y/0wA0gvLHhj1KxrxgAJwAcE2
|
||||
55=BnEA64wK/oYA/+eAA9eOGvOCB/6GAP/PvhXpdRzboBLZwhf/iADcG/1jHf+sAKQc4WQa+2
|
||||
56=Qa47gR/0gA2B3tdB77UB7rcAD/RAC8HoA+AgAggf/cAACFpACkAKUAAt0AAFABhaMAowCm
|
||||
57=AALrNACFQABAAD0AAhAIgV0AAuUoADABhVwAXAA+AAKBWgACgwEAAsjRAOuWAM8LAYKTAB
|
||||
58=ACgZ8AAusoAOkyARC+cQCDAQBEAAL1lgDJ0gD/dgDaAO8QADEAcbjvkgGDUwBTIDrL0AD/
|
||||
59=RADaAYWqAKoAnSAC/1gAKAKCUQAQAsnSAoFDIALxmALPygP/ggDeAt1QANWAA+mOAINSAF
|
||||
60=L/VwDHA4OoAKjeUwD7MgHPxAODAQBXAAL/jACYBP5KAP+DAwAMQE6CbAAQAtPCAzEAgQHm
|
||||
61=kQOFWwBbAErQywL/QgDcBYKhABAC4/gGg44AjtojB4IDABACgQxBAlEAg1YAVtTHBeeQAz
|
||||
62=EAg0oAWQAC/04A0AD/RgAeB4M2ADYg/FEAUQQwAdeCBzMKgTwAAlgkgUEAAoEJIAKBOwAC
|
||||
63=y5wFMQD/TgDQBoX//54AnuTdCIORAJHSIwkQ/jEAUJYxAjDIgTQAAtWECDMKEQBZHNmuCN
|
||||
64=F+Bv5CAP//QgAgCVIAcprVdAnPygaBAQACcQAwIDA4UR4Y+BAeECYRAP9OANAH5yIEgZoH
|
||||
65=KoGq0iMLgiQAEALLhApxANeECd+YC828ChsAy4gK/2QA3goY4oGaAALRSgsw/IEkyNML0c
|
||||
66=oG6YIM03AMMiZb/v9KANQLhacApwCXAAKBmAAC1WQDUQDfTgv/cgBqDf9kAN4Mgo8AEALT
|
||||
67=CA7XXg3Nzgz/UgB0DP9GANoJ/t8Q/4H/gAMEACCBAP6PBwCBASACyI4HgQIQBIIDBMmGB9
|
||||
68=Z9BxAtYA9wROjjB4ICAxACEHIAAhARgwUGBwADgQjJBQjT/AcABIMDBAVwRsgVCOtkB4MA
|
||||
69=BAXIpQeGCQoLCgsMyoQI0V8IQQBgEMqTCOrkB863CIECy7EIYOXKOQkhN9IxCO1hCM2zCI
|
||||
70=IEBc3aCNHgBxCm07EI6+AJzzEJgwcIBs0ACs+2CQA3ggMEEDzs4Afgfgni7AgCooIGBwAF
|
||||
71=EQb/TwDSCeNtClKA3EwJ35EK8dAKEu3jSAnekAvyzAsAE+NHC+DaCN3uC9CQChG0UQDcEA
|
||||
72=v/QQDuC9MPCyN7QAX78wvd7QzSkAoleiOA/0EATAncbgvVDwtTgNQyC/5IAADX3gfNxwjI
|
||||
73=Jg7yDwvStw7IXQjJ1gcACs3GC3CJERnQTQ7tFgsgXnM+yFUIIArNxgfXFwny2w3PbQyBAT
|
||||
74=dhEHUkfiCScWphCv9IAN8Ozs8OM3XKwQ/IyA5gcyKZ/0EAZA/Vkg9QhMlDEWGJEIo0FunP
|
||||
75=DeRjDoIEBQeW0LwQNgsBcxeTIZsZwvnlCNMgEoEICZhg7M65DxFzMXqCBAUAKuxkCOKSEo
|
||||
76=MNDg9qrjC2U6OCAwEQkIYAAQoLCQoAgoMMDQ765AgybtDJDoIBAhAtc3thABAWEByBAQq3
|
||||
77=hQEAEBEScDrybgsBwWBdy5gTyT8RcIYpjzP5IZtBHzCu5PANYO6CAQIR61uXyQMUyDgSy0
|
||||
78=UTKY8ACyBxI/4gPgCv5toIZUwAP4IMDRBH0CYTOHDIwRNAEGePQIvIYhHmYw5gbIMHCBAx
|
||||
79=S87JCxT2yMQRIXhACieKIos1O1B35mMRdmpQWtDID8m9FMtDEhOAEB5NunA27mMOQFowXc
|
||||
80=tiEMy9EXANIDIgHsyjCOdsFcvXDyJLSmXLlhPKvxRQC4EBKKfVxw7qcRMRyVDVM1zVMwvJ
|
||||
81=xRMRgOXGC9wAE3NZI07SsQxiiUgmE3EQKfLgD8veF8vFE9NtFHMeYqMgKfJfEM9dGGDWCm
|
||||
82=HUexhApHKjRvLw3RbO7BUgXABWZsfP3BhqAGOiMCzySgnOjxcDShWCFQbTVxnJHhhRP/fj
|
||||
83=D1A6QOclgIMODxDbow5DiHAc9mMQUMFg54cBABITFBUW0I0V0DYNYRz3Yw5QOkDLAtWFGB
|
||||
84=kaGxzi/hVg9vdiEFDd8F0I/ogAANlLDP9CAE0J0DEayrAcMgXTVhvq4hHYIxHUiBRNKyZ7
|
||||
85=0JkbgQQpSf9CAOcPzlYdy8McNAfRJRIEQ/1jDhrezdYcypcbWIDMIh4UwIIOEPBsFsu6HT
|
||||
86=Fr29wYF7LJKRkhs4EPG4bz2xjMvBltdeDzGV+2ggEAFMLUKhflgR436CFDZvLVGR1mBzAC
|
||||
87=S5bSuB+AmgQAIIEA4wAAhAIDAAEwAoMBAgAQB4ICAwAT0DwAhwEEBQYHBgcwDQAkICiBAS
|
||||
88=AF1TgA3oIAgQEQBCBLAEqCBAUgT4EEMBcgjMscAIMACgtADFCzEH0gBcrCANeOANH/AABY
|
||||
89=IEqFBgcIAgNQViBx1W0AggQFUP4QLORoAFAiyhABIPQAziADIQxQA86+AGCxgQEAqcncAF
|
||||
90=HC4/AAcKkQNABLAIMwAwAaYAwQmBGVzgACEOqCCQoBgQACUfvsaQEQVsg1AACDMAPJpAIw
|
||||
91=D9B+AoEEADuBDCB7UPtBBeXuARDaIEACZ1ARYcxBVTAF0vwCgQIw9DDCEFMgfulrAkG7QA
|
||||
92=GCBwgBTjBHQIkAKBAM0noDMi8QcRAoEHdAj+jsADNuUAGDDQ4PEJoQQxIMQJ6BAlPn0UMC
|
||||
93=yV8DQn7iawPSegSDExQVUsoxdwBKAOYBFdZ6AyJwYHdAC+DtA9EPBYMYGRpSTUDGypgDz+
|
||||
94=0EMXpAgkOF92kAEs5QQ1RPMExUg8wGBCK+U/IwLGC27+8FgggJYENgxkEAEGhDrGD6QIdB
|
||||
95=dANCICQQGeFrBYIFBsjJAwA1hQoLDA0OVOVUy2EAcO7IzANVlco2BTS63+0FEHAxRwbHAD
|
||||
96=WEDxAREkMOYdRgXEBuyu4GUA1TpsnNAQa53+8DgxESExEuA/KBCwNsgxQVFmNEc09yjczA
|
||||
97=BcvBB8vIBDHA3nADgxYXGBdlEQdAc0C7J8jILwcRVclKBspJBtJCBOJsB4MAHB0V4oEQE8
|
||||
98=NTxXXIM09BWjSAycIGy8EIzcYD4uwHZd7J5QVieiEINN6CAABUgNJDB8hiB2AK4G0FVNxg
|
||||
99=iSJ7YnoxAGJ6IW3LUQjLbglyhEDN4vAIKDzIXAEwiXCQUEnW0AjQVgkxU+EFAEa7UQBXez
|
||||
100=B6IHMjzNUNAc2ECsnhBuG9CkjZZTkyZkIW04IDyVsK1WwK42kHggIDQ/kwgxtNImZCFt12
|
||||
101=ChGT0zwE5OgHBW6BDwN7ACgggxh4ddTb7gvLKgzLNgVAD99tCoESB+uBFjAoEQYUhsnOBt
|
||||
102=glDMhbB8iyB8jYCjTI3wUFghsc4HMK3XUJzb0DOBL0bQDaOwzRwwLTwgP26wTU0Qrp+QDO
|
||||
103=1Qz+WgAA0m4OzjMF/0MAgg3p7A7nZw3UOw/Paw/PWwfYuA7m5w3Waw/YKQ/caAVT/OJrD0
|
||||
104=7W4CEOUBJTcNXuD2q64esPSijodg9AfNhsCnD+4W0Q2E8I0gwQWKvWkRHJ1Qbg7gnbqwvO
|
||||
105=LxFoq1Jj034RMP/jbRHrFQ56ENRGEFiw4uoQ3TIOy8oOTNVblRIJ0BETAHVJxONtEN8/Dg
|
||||
106=fkHSlN6MguBtEREuriEtMREsptEzycTSnEWwB0A22qXDlNDVs59u8AyAcUAHoAWh0pyjED
|
||||
107=cQlrRHgTUCLmbwPWBBUcnBBaDSnJsANR4BATEgnI2QHJngjxcBPK7BRjaIMBHB3KWRXLyB
|
||||
108=UyD8vjBfPsE8rLEsKlA8fkBMnfBctIFsnhER16UBLhcBLK7BXGXwbGIATJzxXGKADUwhUQ
|
||||
109=AsrQFuDxD8xrFsqQFQqfyk4WYDHXRhfKPxf+kAgAgQCA
|
||||
|
||||
[TERRAIN]
|
||||
2233=TC04
|
||||
2877=TC05
|
||||
3255=TC03
|
||||
2113=TC02
|
||||
2366=T17
|
||||
1843=TC04
|
||||
3780=TC03
|
||||
3770=TC01
|
||||
4914=TC05
|
||||
3885=TC02
|
||||
2145=TC05
|
||||
2016=TC04
|
||||
3168=TC03
|
||||
3866=TC05
|
||||
3599=TC04
|
||||
3728=TC05
|
||||
4121=TC03
|
||||
11799=TC04
|
||||
11928=TC05
|
||||
11616=TC03
|
||||
9824=TC05
|
||||
9942=TC01
|
||||
10330=T16
|
||||
11045=TC02
|
||||
7248=T17
|
||||
8524=TC02
|
||||
7864=TC04
|
||||
7604=TC05
|
||||
6302=TC03
|
||||
8857=TC02
|
||||
9250=T16
|
||||
6954=TC03
|
||||
10185=MINE
|
||||
4401=MINE
|
||||
2921=MINE
|
||||
10341=MINE
|
||||
13739=MINE
|
||||
6040=MINE
|
||||
11604=TC01
|
||||
11731=T16
|
||||
12946=TC02
|
||||
13713=TC01
|
||||
12175=T16
|
||||
2065=TC04
|
||||
3626=TC01
|
||||
4047=TC05
|
||||
2029=TC03
|
||||
2027=TC02
|
||||
4329=TC02
|
||||
4200=TC02
|
||||
10925=TC04
|
||||
12491=TC05
|
||||
12748=T16
|
||||
11480=TC01
|
||||
11683=TC02
|
||||
4007=TC01
|
||||
7566=TC03
|
||||
7311=TC02
|
||||
1813=TC01
|
||||
8010=MINE
|
||||
2731=MINE
|
||||
13988=TC02
|
||||
5741=TC01
|
||||
4962=TC02
|
||||
8904=TC03
|
||||
1881=TC01
|
||||
6097=TC04
|
||||
12132=TC01
|
||||
11110=TC02
|
||||
7001=TC05
|
||||
6873=TC01
|
||||
|
||||
[Base]
|
||||
Player=USSR
|
||||
Count=0
|
||||
|
||||
[OverlayPack]
|
||||
1=LQMAIIH//qcH/4IIBuODB4UHCAYHBf5UAP+GBf8G/wf/AAVAAYELAAKE/wr/CcsbCIUHCA
|
||||
2=UFBgAn/kEA/87UBwCAggcFUQaCDAoQeIIJCSB/gQoAiVB/ggYIAKKBCNHTB4EI538HhAgH
|
||||
3=BwjL6QiEBwcHBQBbgQdg2oEMEAWBChEGAILIQAgwIYIHBsypB4MG/wUAPgAG3/EIhAcHBg
|
||||
4=XQqQcA/4IFBwCbUX4AfIb/Cwv/CgoBDODwCBCBARvhVAiBBQBozoEJgQYAPBF/cQIRfoMK
|
||||
5=CQwiB91yCYH/AT0QwQEF4PAJzBcJQtiCBQUS3XASEP2FCwkM/wnfwwkBUIEFAdMBw+LvCd
|
||||
6=FuChIUgwUHBnCBEPYQBOHDCRKXAX0CQeLECdS6BwB9ggUGyBILAYBAhN7zCBOXAz7i1AfS
|
||||
7=kQsCOQFBya4LIwUgfeJCCiA/5+kI0tELzGwJI/vjvguB/wK7FBv77AzLFAoQfyQG4oYMAr
|
||||
8=2BBuSoB+SRDUJ5zEAI13oJFRj+RwD/7VQIAbcQ+/9BAOoM66EH4IYI8bkOBgv/SABrDtB7
|
||||
9=D9/ADRLL/1oANQ8CV9g9DYEI/18AMA8BAIEL148PB9YVhOJsCfbWEIEMBljY+ggYYM5VCf
|
||||
10=5NAP81VdOfDgH5gQUGoOJtCv2ADdNSCyYGBE3+dQD/J8cUfghN/nUA/4EFEX8jCP93ALYS
|
||||
11=VMT/dwA1EiOE/jAB//W0ERtz/kMA/wn772oVGq2BBto0EeUvFAQy77AVLW4YtNkTEePiFQ
|
||||
12=BM7GEWAbAA/R7I3vQI4OwK0pMJ3UIXENzgMxIPkd+bF4EI7+sNBeQF5c0WCdH/CoEF3TQR
|
||||
13=BSnwnRURfAjn4GIYgQjcnBgM+/FnFQDaDjDibgr/UwAwFBbiD+zNQRnTkhH/VgBBGdJ9Ee
|
||||
14=c7Df5SAP+BCQ/xggoL/3oALhoZF4EM48AN/lUA/8HBCsjDCP5yAP+BDMG+CdqtG/9dADAU
|
||||
15=gQsB/NkuHCOt/10AthPaLBsELckrCf5xAP8XrQcT/3gAthOBBsDpCwua3b8Y/loA/4EHBu
|
||||
16=kNGf93AE4eEHsJrwbs/3UAzh0Q+RizwU8I7ZQfgPACACCB//5GAP+IB/8GBQcHBgX+TQD/
|
||||
17=gQfpcQCCBwgABhAE/kUA/4EIAE8Af4QI/wYG4s4AAH+BB+mcAN/2AIUIBggG/wCGgQjiTg
|
||||
18=CCBv8ALv5MAP+FBwUGBgUw++RLAf9NAEsB/gcB/yKD/noA/wB8/3IASgIAciLzEAiCBgbo
|
||||
19=IASBBf9GAE4AE/GBBQB+BAMRfIEH4cwEAKf/SADHARB5EFID/4EFFAbmawVDrv5DAP8AdA
|
||||
20=FMgQYAAgAG4qAEgwUIBQAv1MsFFhzr5gWBBSED6WoGgQYFfgWt0QwEAMwQHOzxA+rpBoEF
|
||||
21=Bf4VrzK5zj4CgQb/UABMAM4PByDjgQfQnwUGQQEbgQjiIQXt5ATI5weBBQIwAy5ggAI4Br
|
||||
22=0QpAZFAIQQoP5PAP/J5gcBYIMIBgcDAUAUA78AcTRJABgAHgKf/k8A/8pmBwDlgQUAhVgD
|
||||
23=gQcTQBREQYQAgP9QAOcHAvLJrQkUNQBlMOYTugAQUPMAFgEf/lAA/82hARBhAOhBf8nKBA
|
||||
24=Ed/0wAaAgxWNxlCsi5CgEJFB7+SgD/GZfe5whluoEGEZr+TgD/Atvo5ggBjP9RAOgJ6coF
|
||||
25=/1EA5Qv+YQD//3sAoQMVsNaWBoYK/wz//wv+XgD/F8gFvNIWDhB7AIIQif5YAP8DrQdL13
|
||||
26=UOhAn/Cgz/WwA0DiTX1xQNigsJ/wwKCgwJCQz/XAC0DhdK1hUPgQoAgYEK/2AAsQ3W+w+B
|
||||
27=DAGBgwkKCf9gALUP1OYKggoJIf0Bhf5fAP/UFBCBCTJ7AQH+XwD/1RUR/mcA//9MAGgJ1R
|
||||
28=QO5h0JyNAKHJTvGQD/QgAHCsIcARpQ7WcJCCrZkw7VtQTRlhAIT4EGG2Xr6BGBCPBgEgDs
|
||||
29=zy4TAUkK4hWe7+kB7OcK0+UHCUXAGgLw3xMGzuwwFNETDsEaAivH/1QAZwfOgA3QrxQA/C
|
||||
30=1N/mQA/9ATFYEHHkaBCO2WBvfbEc06Cg3fgQbDGAH+ZgD/zK4WAXwBfgt2/tAI/4H/gA==
|
||||
|
||||
[Briefing]
|
||||
1=Rescue Einstein from the Headquarters inside this Soviet complex. Once
|
||||
2=found, evacuate him via the helicopter at the signal flare. Einstein and
|
||||
3=Tanya must be kept alive at all costs. Beware the Soviet's Tesla Coils.
|
||||
4=Direct Tanya to destroy the westmost power plants to take them off-line.
|
||||
|
||||
[Digest]
|
||||
1=rIUB8img/I/4iMT7A6ldptR3TcQ=
|
||||
|
||||
Reference in New Issue
Block a user