Remove duplicated Format2 implementation.

This commit is contained in:
Paul Chote
2013-12-02 19:56:30 +13:00
parent 4d12ea0941
commit c2413b63f7
3 changed files with 9 additions and 25 deletions

View File

@@ -12,25 +12,22 @@ namespace OpenRA.FileFormats
{
public static class Format2
{
public static int DecodeInto(byte[] src, byte[] dest)
public static void DecodeInto(byte[] src, byte[] dest, int destIndex)
{
FastByteReader r = new FastByteReader(src);
var r = new FastByteReader(src);
int i = 0;
while (!r.Done())
{
byte cmd = r.ReadByte();
var cmd = r.ReadByte();
if (cmd == 0)
{
byte count = r.ReadByte();
var count = r.ReadByte();
while (count-- > 0)
dest[i++] = 0;
dest[destIndex++] = 0;
}
else
dest[i++] = cmd;
dest[destIndex++] = cmd;
}
return i;
}
}
}

View File

@@ -73,10 +73,10 @@ namespace OpenRA.FileFormats
{
var tempData = new byte[dataSize];
Format80.DecodeInto(imgData, tempData);
Format2.DecodeInto(tempData, Data);
Format2.DecodeInto(tempData, Data, 0);
}
else
Format2.DecodeInto(imgData, Data);
Format2.DecodeInto(imgData, Data, 0);
// Lookup values in lookup table
for (var j = 0; j < Data.Length; j++)

View File

@@ -89,21 +89,8 @@ namespace OpenRA.FileFormats
for (var j = 0; j < f.Size.Height; j++)
{
var k = j * f.Size.Width;
var length = stream.ReadUInt16() - 2;
while (length > 0)
{
var b = stream.ReadUInt8();
length--;
if (b == 0)
{
k += stream.ReadUInt8();
length--;
}
else
f.Data[k++] = b;
}
Format2.DecodeInto(stream.ReadBytes(length), f.Data, j * f.Size.Width);
}
}
}