public static void LoadFromVD(int filetype, int body, BinaryReader bin)
{
AnimIdx[] cache = GetCache(filetype);
FileIndex fileIndex;
int index;
GetFileIndex(body, filetype, 0, 0, out fileIndex, out index);
int animlength = Animations.GetAnimLength(body, filetype) * 5;
Entry3D[] entries = new Entry3D[animlength];
for (int i = 0; i < animlength; ++i)
{
entries[i].lookup = bin.ReadInt32();
entries[i].length = bin.ReadInt32();
entries[i].extra = bin.ReadInt32();
}
foreach (Entry3D entry in entries)
{
if ((entry.lookup > 0) && (entry.lookup < bin.BaseStream.Length) && (entry.length > 0))
{
bin.BaseStream.Seek(entry.lookup, SeekOrigin.Begin);
cache[index] = new AnimIdx(bin, entry.extra);
}
++index;
}
}