internal static void TestSndComparer(TestContext tc, BlamVersion game, string dir, string[] map_names) { int map_count = map_names.Length; List <MapSndComparer> maps = new List <MapSndComparer>(map_count); var thread_code = new System.Threading.WaitCallback(delegate(object param) { var args = param as CacheFileOutputInfoArgs; MapSndComparer cmp = SndComparerMethod(args); lock (maps) maps.Add(cmp); args.SignalFinished(); }); CacheFileOutputInfoArgs.TestThreadedMethod(tc, thread_code, game, dir, map_names); SndComparer snd_cmp = new SndComparer(map_count); snd_cmp.PreProcess(maps, map_count); snd_cmp.ScanForDiffs(); snd_cmp.OutputDiffs(BuildResultPath(kTestResultsPath, game, null, "sound_cmp_results", "txt")); }
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); }
void Halo2TestCacheExtraction(BlamVersion game, string dir, params string[] map_names) { (Program.GetManager(game) as Managers.IStringIdController).StringIdCacheOpen(game); (Program.GetManager(game) as Managers.IVertexBufferController).VertexBufferCacheOpen(game); CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheExtractionMethod, game, dir, map_names); (Program.GetManager(game) as Managers.IVertexBufferController).VertexBufferCacheClose(game); (Program.GetManager(game) as Managers.IStringIdController).StringIdCacheClose(game); }
public void Halo2TestCacheOutputXboxAlpha() { (Program.GetManager(BlamVersion.Halo2_Alpha) as Managers.IStringIdController) .StringIdCacheOpen(BlamVersion.Halo2_Alpha); CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheOutputInformationMethod, BlamVersion.Halo2_Alpha, kMapsDirectoryXboxAlpha, kMapNamesXboxAlpha); (Program.GetManager(BlamVersion.Halo2_Alpha) as Managers.IStringIdController) .StringIdCacheClose(BlamVersion.Halo2_Alpha); }
public void HaloReachRebuildUnicTags() { BlamVersion game = BlamVersion.HaloReach_Xbox; CacheFileOutputInfoArgs.TestMethodSerial(TestContext, CacheRebuildUnicTagsMethod, game, kDirectoryXbox, @"Retail\maps\mainmenu.map"); CacheFileOutputInfoArgs.TestMethodSerial(TestContext, CacheRebuildUnicTagsMethod, game, kDirectoryXbox, @"Retail\dlc_noble\dlc_invasion.map"); string results_path = BuildResultPath(kTagDumpPath, game, "", "settings", "xml"); var xml_settings = new System.Xml.XmlWriterSettings(); xml_settings.Indent = true; xml_settings.IndentChars = " "; xml_settings.Encoding = System.Text.Encoding.ASCII; using (var s = System.Xml.XmlTextWriter.Create(results_path, xml_settings)) { s.WriteStartDocument(true); s.WriteStartElement("settingsDefinitions"); s.WriteAttributeString("game", game.ToString()); s.WriteStartElement("options"); foreach (var kv in Blam.HaloReach.Tags.text_value_pair_definition_group.SettingParameters) { s.WriteStartElement("entry"); s.WriteAttributeString("key", kv.Key.ToString()); s.WriteAttributeString("value", Path.GetFileName(kv.Value)); s.WriteAttributeString("tagName", kv.Value); s.WriteEndElement(); } s.WriteEndElement(); s.WriteStartElement("categories"); foreach (var kv in Blam.HaloReach.Tags.multiplayer_variant_settings_interface_definition_group.SettingCategories) { s.WriteStartElement("entry"); s.WriteAttributeString("key", kv.Key.ToString()); s.WriteAttributeString("value", Path.GetFileName(kv.Value.TagName)); s.WriteAttributeString("title", kv.Value.Title); s.WriteAttributeString("tagName", kv.Value.TagName); s.WriteEndElement(); } s.WriteEndElement(); s.WriteEndElement(); s.WriteEndDocument(); } }
public void Halo2TestCacheOutputPc() { (Program.GetManager(BlamVersion.Halo2_PC) as Managers.IStringIdController) .StringIdCacheOpen(BlamVersion.Halo2_PC); CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, CacheOutputInformationMethod, BlamVersion.Halo2_PC, kMapsDirectoryPc, kMapNames); CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, CacheOutputInformationMethod, BlamVersion.Halo2_PC, kMapsDirectoryPc, kMapNamesPc); (Program.GetManager(BlamVersion.Halo2_PC) as Managers.IStringIdController) .StringIdCacheClose(BlamVersion.Halo2_PC); }
static List <CacheFileOutputInfoArgs> TestMethodBuildArgs(TestContext tc, BlamVersion game, string dir, Blam.DatumIndex DatumIndex, bool Recursive, bool OutputDB, bool Overrite, string Ext_Dir, params string[] map_names) { var args = new List <CacheFileOutputInfoArgs>(map_names.Length); for (int x = 0; x < map_names.Length; x++) { var arg = new CacheFileOutputInfoArgs(tc, game, dir, DatumIndex, Recursive, OutputDB, Overrite, Ext_Dir, map_names[x]); if (arg.ValidateReadyStatus()) { args.Add(arg); } } return(args); }
static List <CacheFileOutputInfoArgs> TestMethodBuildArgs(TestContext tc, BlamVersion game, string dir, params string[] map_names) { var args = new List <CacheFileOutputInfoArgs>(map_names.Length); for (int x = 0; x < map_names.Length; x++) { var arg = new CacheFileOutputInfoArgs(tc, game, dir, map_names[x]); if (arg.ValidateReadyStatus()) { args.Add(arg); } } return(args); }
void CacheOutputInformation(BlamVersion game) { string dir = null; if (game == BlamVersion.Stubbs_PC) { dir = kMapsDirectoryPc; } else if (game == BlamVersion.Stubbs_Xbox) { dir = kMapsDirectoryXbox; } if (!string.IsNullOrEmpty(dir)) { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheOutputInformation, game, dir, kMapNames); } }
public void Halo2_ExtractTagCache(Blam.DatumIndex DatumIndex, bool Recursive, bool OutputDB, bool Override, string DestinationPath, string MapPath, params string[] map_names) { BlamVersion game = BlamVersion.Halo2_PC; string MapsDir = ""; if (MapPath != "") { MapsDir = MapPath; } else { MapsDir = kMapsDirectoryPc; } Program.Halo2.LoadPc( MapsDir + @"mainmenu.map", MapsDir + @"shared.map", MapsDir + @"single_player_shared.map"); Assert.IsNotNull(Program.Halo2.PcMainmenu); Assert.IsNotNull(Program.Halo2.PcShared); Assert.IsNotNull(Program.Halo2.PcCampaign); (Program.GetManager(game) as Managers.IStringIdController).StringIdCacheOpen(game); (Program.GetManager(game) as Managers.IVertexBufferController) .VertexBufferCacheOpen(game); CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, H2CacheExtractionMethod, BlamVersion.Halo2_PC, MapsDir, DatumIndex, Recursive, OutputDB, Override, DestinationPath, map_names); (Program.GetManager(game) as Managers.IVertexBufferController).VertexBufferCacheClose(game); (Program.GetManager(game) as Managers.IStringIdController) .StringIdCacheClose(game); }
public void Halo2_ExtractTagCache(Blam.DatumIndex DatumIndex, bool Recursive, bool OutputDB, bool Override, string DestinationPath, params string[] map_names) { BlamVersion game = BlamVersion.Halo2_PC; Program.Halo2.LoadPc( kMapsDirectoryPc + @"mainmenu.map", kMapsDirectoryPc + @"shared.map", kMapsDirectoryPc + @"single_player_shared.map"); (Program.GetManager(game) as Managers.IStringIdController).StringIdCacheOpen(game); (Program.GetManager(game) as Managers.IVertexBufferController) .VertexBufferCacheOpen(game); CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, H2CacheExtractionMethod, BlamVersion.Halo2_PC, kMapsDirectoryPc, DatumIndex, Recursive, OutputDB, Override, DestinationPath, map_names); (Program.GetManager(game) as Managers.IVertexBufferController).VertexBufferCacheClose(game); (Program.GetManager(game) as Managers.IStringIdController) .StringIdCacheClose(game); }
public void Halo3TestDumpZoneDataXboxEpsilon() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, DumpZoneDataMethod, BlamVersion.Halo3_Epsilon, kDirectoryXbox, kMapNames_Epsilon); }
public void HaloOdstTestDumpZoneDataXbox() { CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, Halo3.DumpZoneDataMethod, BlamVersion.HaloOdst_Xbox, kMapsDirectoryXbox, kMapNames); }
public void Halo3TestDumpZoneDataXbox() { CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, DumpZoneDataMethod, BlamVersion.Halo3_Xbox, kDirectoryXbox, kMapNames_Retail); }
public void Halo4TestCachePatchesXbox() { CacheFileOutputInfoArgs.TestMethodSerial(TestContext, CacheOutputInformationMethod, BlamVersion.Halo4_Xbox, kDirectoryXbox, kMapNames_Retail_Patches); }
public void HaloOdstTestCacheLoadResourceXbox() { CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, Halo3.CacheLoadResourceMethod, BlamVersion.HaloOdst_Xbox, kMapsDirectoryXbox, kMapNames); }
public void Halo2_ExtractTagCache(Blam.DatumIndex DatumIndex, params string[] map_names) { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, H2CacheExtractionMethod, BlamVersion.Halo2_PC, kMapsDirectoryPc, DatumIndex, map_names); }
public void Halo4TestCacheOutputXbox() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheOutputInformationMethod, BlamVersion.Halo4_Xbox, kDirectoryXbox, kMapNames_Retail); }
public CacheSymbolInterface(CacheFileOutputInfoArgs args) { cacheHandler = new CacheHandler <Blam.HaloReach.CacheFile>(args.Game, args.MapPath); cacheHandler.Read(); }
public void HaloReachTestDumpScriptGraphs() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheDumpScriptGraphs, BlamVersion.HaloReach_Xbox, kDirectoryXbox, kMapNames_Retail); }
public void HaloReachTestCacheOutputXboxBeta() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheOutputInformationMethod, BlamVersion.HaloReach_Beta, kDirectoryXbox, kMapNames_Delta); }
public void Halo3TestCacheExtractSoundXbox() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheExtractSoundMethod, BlamVersion.Halo3_Xbox, kDirectoryXbox, kMapNames_Retail[0]); }
public void Halo3TestCacheOutputXboxEpsilon() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, CacheOutputInformationMethod, BlamVersion.Halo3_Epsilon, kDirectoryXbox, kMapNames_Epsilon); }
public void Halo3TestCacheLoadResourceXbox() { CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, CacheLoadResourceMethod, BlamVersion.Halo3_Xbox, kDirectoryXbox, kMapNames_Retail[0]); }
public void Halo4RebuildUnicTags() { CacheFileOutputInfoArgs.TestMethodSerial(TestContext, CacheRebuildUnicTagsMethod, BlamVersion.HaloReach_Xbox, kDirectoryXbox, @"Retail\maps\mainmenu.map"); }
public void HaloReachDumpMegloData() { CacheFileOutputInfoArgs.TestMethodThreaded(TestContext, CacheOutputMegaloInformationMethod, BlamVersion.HaloReach_Xbox, kDirectoryXbox, kMapNames_MegaloData); }
public void HaloOdstTestCacheOutputXbox() { CacheFileOutputInfoArgs.TestThreadedMethod(TestContext, Halo3.CacheOutputInformationMethod, BlamVersion.HaloOdst_Xbox, kMapsDirectoryXbox, kMapNames); }