Exemplo n.º 1
0
        public void Halo1TestCOLLADABSPExport()
        {
            var settings = new TestColladaSettings(
                true,
                Path.Combine(kTestInstallationRootPath, kTestDataDir),
                AssetFormat.bmp);

            using (var handler = new TagIndexHandler <Managers.TagIndex>(BlamVersion.Halo1_CE, kTestInstallationRootPath, kTestTagsDir))
            {
                var tagindex = handler.IndexInterface;
                foreach (var model_def in BSPTestDefinitions)
                {
                    StartStopwatch();
                    {
                        model_def.Open(tagindex);
                        Console.WriteLine(model_def.TypeString + " LOAD: Time taken: {0}", m_testStopwatch.Elapsed);
                    }
                    Console.WriteLine("TAG INDEX: Time taken: {0}", StopStopwatch());

                    var tagManager = tagindex[model_def.TagIndex];

                    var bspData       = new BlamLib.Render.COLLADA.Halo1.StructureBSPData();
                    var bspShaderData = new BlamLib.Render.COLLADA.Halo1.StructureBSPShaderData();

                    bspData.CollectData(tagindex, tagManager);
                    bspShaderData.CollectData(tagindex, tagManager);

                    var exporter = new BlamLib.Render.COLLADA.Halo1.ColladaBSPExporter(settings,
                                                                                       tagindex,
                                                                                       tagManager);

                    exporter.MessageSent +=
                        (object sender, BlamLib.Messaging.MessageArgs args) =>
                    {
                        Console.WriteLine("COLLADA_ERROR: {0}", args.Message);
                    };

                    exporter.AddDataProvider(bspData);
                    exporter.AddDataProvider(bspShaderData);

                    StartStopwatch();

                    Assert.IsTrue(exporter.BuildColladaInstance(), "Failed to build collada instance for {0}", model_def.Name);
                    exporter.SaveDAE(Path.Combine(kTestResultsDataPath, tagManager.Name) + ".dae");

                    Console.WriteLine("EXPORT {0} TIME: Time taken: {1}", model_def.Name, StopStopwatch());

                    model_def.Close(tagindex);
                }
            }
        }
Exemplo n.º 2
0
		public void Halo1TestCOLLADABSPExport()
		{
			var settings = new TestColladaSettings(
				true,
				Path.Combine(kTestInstallationRootPath, kTestDataDir),
				AssetFormat.bmp);

			using (var handler = new TagIndexHandler<Managers.TagIndex>(BlamVersion.Halo1_CE, kTestInstallationRootPath, kTestTagsDir))
			{
				var tagindex = handler.IndexInterface;
				foreach (var model_def in BSPTestDefinitions)
				{
					StartStopwatch();
					{
						model_def.Open(tagindex);
						Console.WriteLine(model_def.TypeString + " LOAD: Time taken: {0}", m_testStopwatch.Elapsed);
					}
					Console.WriteLine("TAG INDEX: Time taken: {0}", StopStopwatch());

					var tagManager = tagindex[model_def.TagIndex];

					var bspData = new BlamLib.Render.COLLADA.Halo1.StructureBSPData();
					var bspShaderData = new BlamLib.Render.COLLADA.Halo1.StructureBSPShaderData();

					bspData.CollectData(tagindex, tagManager);
					bspShaderData.CollectData(tagindex, tagManager);

					var exporter = new BlamLib.Render.COLLADA.Halo1.ColladaBSPExporter(settings,
						tagindex,
						tagManager);

					exporter.MessageSent +=
						(object sender, BlamLib.Messaging.MessageArgs args) =>
						{
							Console.WriteLine("COLLADA_ERROR: {0}", args.Message);
						};

					exporter.AddDataProvider(bspData);
					exporter.AddDataProvider(bspShaderData);

					StartStopwatch();

					Assert.IsTrue(exporter.BuildColladaInstance(), "Failed to build collada instance for {0}", model_def.Name);
					exporter.SaveDAE(Path.Combine(kTestResultsDataPath, tagManager.Name) + ".dae");

					Console.WriteLine("EXPORT {0} TIME: Time taken: {1}", model_def.Name, StopStopwatch());

					model_def.Close(tagindex);
				}
			}
		}