Remove gross hack needed for creating ChunkData objects before SteamKit 1.5.1.

pull/8/head
Nicholas Hastings 12 years ago
parent d9b6efaf84
commit 90eb0a52c1

@ -729,33 +729,15 @@ namespace DepotDownloader
int idx = cdnClientIndex;
while (true)
{
try
{
#if true
// The only way that SteamKit exposes to get a DepotManifest.ChunkData instance is to download a new manifest.
// We only want to download manifests that we don't already have, so we'll have to improvise...
// internal ChunkData( byte[] id, byte[] checksum, ulong offset, uint comp_length, uint uncomp_length )
System.Reflection.ConstructorInfo ctor = typeof(DepotManifest.ChunkData).GetConstructor(
System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.CreateInstance | System.Reflection.BindingFlags.Instance,
null,
new[] { typeof(byte[]), typeof(byte[]), typeof(ulong), typeof(uint), typeof(uint) },
null);
var data = (DepotManifest.ChunkData)ctor.Invoke(
new object[] {
chunk.ChunkID, chunk.Checksum, chunk.Offset, chunk.CompressedLength, chunk.UncompressedLength
});
#else
// Next SteamKit version after 1.5.0 will support this.
// Waiting for it to be in the NuGet repo.
DepotManifest.ChunkData data = new DepotManifest.ChunkData();
data.ChunkID = chunk.ChunkID;
data.Checksum = chunk.Checksum;
data.Offset = chunk.Offset;
data.CompressedLength = chunk.CompressedLength;
data.UncompressedLength = chunk.UncompressedLength;
#endif
try
{
chunkData = cdnClients[idx].DownloadDepotChunk(data);
break;
}

@ -62,9 +62,9 @@
<SpecificVersion>True</SpecificVersion>
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="SteamKit2, Version=1.5.0.29553, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="SteamKit2, Version=1.5.1.41089, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\SteamKit2.1.5.0\lib\net40\SteamKit2.dll</HintPath>
<HintPath>..\packages\SteamKit2.1.5.1\lib\net40\SteamKit2.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="protobuf-net" version="2.0.0.668" targetFramework="net40" />
<package id="SteamKit2" version="1.5.0" targetFramework="net40" />
<package id="SteamKit2" version="1.5.1" targetFramework="net40" />
</packages>
Loading…
Cancel
Save