If an included depot doesn't have the requested branch, fall back to "public".

(Mirrors Steam behavior)
pull/25/head
Nicholas Hastings 9 years ago
parent 06a7d099ba
commit 65b6d97fa2

@ -256,7 +256,6 @@ namespace DepotDownloader
return BitConverter.ToUInt64(manifest_bytes, 0); return BitConverter.ToUInt64(manifest_bytes, 0);
} }
Console.WriteLine("Invalid branch {0} for appId {1}", branch, appId);
return INVALID_MANIFEST_ID; return INVALID_MANIFEST_ID;
} }
@ -425,22 +424,29 @@ namespace DepotDownloader
return null; return null;
} }
uint uVersion = GetSteam3AppBuildNumber(appId, branch); if (steam3 != null)
steam3.RequestAppTicket((uint)depotId);
string installDir; ulong manifestID = GetSteam3DepotManifest(depotId, appId, branch);
if (!CreateDirectories(depotId, uVersion, out installDir)) if (manifestID == INVALID_MANIFEST_ID && branch != "public")
{
Console.WriteLine("Warning: Depot {0} does not have branch named \"{1}\". Trying public branch.", depotId, branch);
branch = "public";
manifestID = GetSteam3DepotManifest(depotId, appId, branch);
}
if (manifestID == INVALID_MANIFEST_ID)
{ {
Console.WriteLine("Error: Unable to create install directories!"); Console.WriteLine("Depot {0} ({1}) missing public subsection or manifest section.", depotId, contentName);
return null; return null;
} }
if(steam3 != null) uint uVersion = GetSteam3AppBuildNumber(appId, branch);
steam3.RequestAppTicket((uint)depotId);
ulong manifestID = GetSteam3DepotManifest(depotId, appId, branch); string installDir;
if (manifestID == INVALID_MANIFEST_ID) if (!CreateDirectories(depotId, uVersion, out installDir))
{ {
Console.WriteLine("Depot {0} ({1}) missing public subsection or manifest section.", depotId, contentName); Console.WriteLine("Error: Unable to create install directories!");
return null; return null;
} }

Loading…
Cancel
Save