public static ResourceMapVersion DetectVersion(AssetLoader loader)
{
var reader = loader.Reader;
long length = loader.Length;
// The filename must be "resource.map".
if (string.Compare(System.IO.Path.GetFileName(loader.Name), "resource.map", true) != 0)
return ResourceMapVersion.None;
// Try SCI0.
bool isSci0 = DetectVersionSci0(loader);
loader.Reset();
if (isSci0)
return ResourceMapVersion.Sci0;
// Try SCI1.
bool isSci1 = DetectVersionSci1(loader);
loader.Reset();
if (isSci1)
return ResourceMapVersion.Sci1;
// Try SCI2
bool isSci2 = DetectVersionSci2(loader);
loader.Reset();
if (isSci2)
return ResourceMapVersion.Sci2;
return ResourceMapVersion.None;
}