static MapSndComparer SndComparerMethod(CacheFileOutputInfoArgs args) { string dir = Path.GetDirectoryName(args.MapPath); MapSndComparer cmp; using (var handler = new CacheHandler<Blam.Halo3.CacheFileBase>(args.Game, args.MapPath)) { handler.Read(); var cache = handler.CacheInterface; cmp = new MapSndComparer(args.MapPath, cache.IndexHalo3.TagCount); foreach (var tag in cache.IndexHalo3) { if (tag.GroupTag != Blam.Halo3.TagGroups.snd_) continue; var snd_index = cache.TagIndexManager.Open(tag.Datum); var snd_man = cache.TagIndexManager[snd_index]; cmp.Add(cache.References[snd_man.ReferenceName], snd_man.TagDefinition as Blam.Halo3.Tags.cache_file_sound_group); cache.TagIndexManager.Unload(snd_index); } } return cmp; }
public CacheSymbolInterface(CacheFileOutputInfoArgs args) { cacheHandler = new CacheHandler<Blam.HaloReach.CacheFile>(args.Game, args.MapPath); cacheHandler.Read(); }