• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# BlamLib类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中BlamLib的典型用法代码示例。如果您正苦于以下问题:C# BlamLib类的具体用法?C# BlamLib怎么用?C# BlamLib使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BlamLib类属于命名空间,在下文中一共展示了BlamLib类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Reconstruct

			internal override bool Reconstruct(BlamLib.Blam.CacheFile c)
			{
				//int index = BitmapGroup.Value & 0xFFFF;
				//if (index != -1) System.Diagnostics.Debug.WriteLine(string.Format(
				//	 "BitmapGroup: {0} {1}", index, c.Index.Tags[index].FileName));
				return true;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:7,代码来源:Shaders.cs


示例2: ProcessDefinition

		protected override void ProcessDefinition(XmlNode node, BlamLib.CheApe.ProjectState state, BlamLib.IO.XmlStream s)
		{
			StringIdFieldsInitialize(state);

			switch (node.Name)
			{
				#region Tag Structs
				case "structs":
					s.SaveCursor(node);
					ProcessTagStructs(state, s);
					s.RestoreCursor();
					break;
				#endregion

				#region Tag Blocks
				case "blocks":
					s.SaveCursor(node);
					ProcessTagBlocks(state, s);
					s.RestoreCursor();
					break;
				#endregion

				#region Tag Groups
				case "groups":
					s.SaveCursor(node);
					ProcessTagGroups(state, s);
					s.RestoreCursor();
					break;
				#endregion
			}
		}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:31,代码来源:Import.cs


示例3: Write

			public void Write(BlamLib.IO.EndianWriter s)
			{
				if(nullBuffer == null)
					nullBuffer = new byte[ByteCount];

				s.Write(nullBuffer);
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:7,代码来源:DeclarationTypes.cs


示例4: InitializeStateForTagHierarchy

			/// <summary>Initialize state for processing a tag hierarchy</summary>
			/// <param name="args"></param>
			/// <param name="instance"></param>
			public void InitializeStateForTagHierarchy(BlamLib.Blam.CacheExtractionArguments args, BlamLib.Blam.CacheIndex.Item instance)
			{
				m_sender = TagExtractionSender.TagTree;

				Arguments = args;
				Instance = instance;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:10,代码来源:CacheView.TagExtraction.cs


示例5: Read

		public override void Read(BlamLib.IO.EndianReader s)
		{
			Blam.CacheFile.ValidateHeader(s, 0x800);
			
			s.Seek(4);
			version = s.ReadInt32();
			if (version != 5) throw new InvalidCacheFileException(s.FileName);

			fileLength = s.ReadInt32();

			int xbox = s.ReadInt32(); // Xbox only field

			offsetToIndex = s.ReadInt32();
			s.ReadInt32(); // stream size

			s.ReadInt32(); s.ReadInt32();

			name = s.ReadTagString();

			build = s.ReadTagString(); // Xbox only field. Always '400'
			cacheType = (CacheType)s.ReadInt16();
			s.ReadInt16();
			s.ReadInt32(); // CRC

			s.Seek((485 * sizeof(int)) + sizeof(uint), System.IO.SeekOrigin.Current);


			CacheFile cf = s.Owner as CacheFile;
			if (xbox != 0)
				cf.EngineVersion = BlamVersion.Stubbs_Xbox;
			else // no way to tell when it's mac, which just seems to use PC maps anyway (byte swaps everything when map is loaded)
				cf.EngineVersion = BlamVersion.Stubbs_PC;
		}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:33,代码来源:CacheFile.cs


示例6: CheApe

		public CheApe(BlamLib.BlamVersion engine)
		{
			InitializeComponent();

			MainMenu.Renderer = MainForm.kOpenSauceIDEToolStripRenderer;
			FileViewMenu.Renderer = MainForm.kOpenSauceIDEToolStripRenderer;

			SetState(false);

			#region FileViewRoot
			this.FileViewRoot = new System.Windows.Forms.TreeNode("Project Files");
			FileViewRoot.ContextMenuStrip = this.FileViewMenu;
			FileViewRoot.Name = "FileViewRoot";
			this.FileView.Nodes.Add(FileViewRoot);
			#endregion

			OpenDialog.DefaultExt = kFileExt;
			OpenDialog.Filter = kFileFilter;

			SaveDialog.DefaultExt = kFileExt;
			SaveDialog.Filter = kFileFilter;

			OpenProjDialog.Multiselect = false;
			OpenProjDialog.Filter = BlamLib.IO.TagGroups.CheApeProject.Filter;

			SaveProjDialog.Filter = BlamLib.IO.TagGroups.CheApeProject.Filter;

			ProjectInterface = BlamLib.CheApe.Project.GetInterface(engine);
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:29,代码来源:CheApe.cs


示例7: Read

		public override void Read(BlamLib.IO.EndianReader s)
		{
			Blam.CacheFile.ValidateHeader(s, 0x800);
			
			s.Seek(4);
			s.ReadInt32(); // version, should be 5

			fileLength = s.ReadInt32();

			int xbox = s.ReadInt32(); // Xbox only field

			offsetToIndex = s.ReadInt32();
			s.ReadInt32(); // stream size

			s.ReadInt32(); s.ReadInt32();

			name = s.ReadTagString();

			build = s.ReadTagString(); // Xbox only field. Always '400'
			cacheType = (CacheType)s.ReadInt32();
			s.ReadInt32(); // CRC

			s.Seek((485 * sizeof(int)) + sizeof(uint), System.IO.SeekOrigin.Current);


			CacheFile cf = s.Owner as CacheFile;
			if (xbox != 0) cf.EngineVersion = BlamVersion.Stubbs_Xbox;
			else cf.EngineVersion = BlamVersion.Stubbs_PC; // no way to tell when its mac...
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:29,代码来源:CacheFile.cs


示例8: InitializeStateForTagInstance

			/// <summary>Initialize state for processing a single tag</summary>
			/// <param name="instance"></param>
			/// <param name="base_dir"></param>
			/// <param name="name_override"></param>
			public void InitializeStateForTagInstance(BlamLib.Blam.CacheIndex.Item instance, string base_dir, string name_override)
			{
				m_sender = TagExtractionSender.TagInstance;

				Instance = instance;
				BaseDirectory = base_dir;
				NameOverride = name_override;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:12,代码来源:CacheView.TagExtraction.cs


示例9: StringIdFieldsInitialize

		void StringIdFieldsInitialize(BlamLib.CheApe.ProjectState state)
		{
			if (StringIdFieldDefinition != null) return;

			// Will add itself to the import state in the ctor
			StringIdFieldDefinition = new TagReference(state, kStringIdFieldDefinitionName, true, kStringIdGroupTag);
			StringIdFieldHandlePadding = new Field(state, state.kTypeIndexPad, "", kStringIdPadSize.ToString());
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:8,代码来源:Import.cs


示例10: GetShaderData

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>   Gets the shader data from the tag. </summary>
		///
		/// <param name="tagIndex">     The parent tag index. </param>
		/// <param name="tagManager">   The tags' manager. </param>
		///
		/// <returns>   The shader data. </returns>
		private ModelShaderData GetShaderData(TagIndexBase tagIndex, BlamLib.Managers.TagManager tagManager)
		{
			var data = new ModelShaderData();

			data.CollectData(tagIndex, tagManager);

			return data;
		}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:15,代码来源:ExtractionJobGbxmodel.cs


示例11: Reconstruct

		internal override bool Reconstruct(BlamLib.Blam.CacheFile c)
		{
			//PredictedResources.DeleteAll();
			//EditorScenarioData.Delete();
			LevelData.DeleteAll();
			//SharedReferences.DeleteAll();
			//SimulationDefinitionTable.DeleteAll();

			return true;
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:10,代码来源:Scenario.cs


示例12: CacheRead

			internal byte[] CacheRead(BlamLib.Blam.CacheFile c)
			{
				// read the cache block...
				byte[] bytes;
				if (!CacheRead(c, out bytes)) return null;

				if (c.EngineVersion == BlamVersion.Halo2_PC) // ...and perform zlib decompression
					bytes = Util.ZLibBufferFromBytes(bytes, 0, GetPixelDataSize(c.EngineVersion));

				return bytes;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:11,代码来源:Resources.cs


示例13: CalculateSize

			int CalculateSize(BlamLib.CheApe.ProjectState state, Field f)
			{
				int size = 0;

				if (f.TypeIndex == state.kTypeIndexPad || f.TypeIndex == state.kTypeIndexSkip)
					size = f.ToInt();
				else
					size = state.GetFieldSize(f.TypeIndex);

				return size;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:11,代码来源:Import.cs


示例14: CalculateSize

			int CalculateSize(BlamLib.CheApe.ProjectState state, Field f, int kUselessPadTypeIndex)
			{
				if (f.TypeIndex == state.kTypeIndexPad ||
					f.TypeIndex == kUselessPadTypeIndex ||
					f.TypeIndex == state.kTypeIndexSkip)
					return f.ToInt();
				//else if (f.TypeIndex == kStructTypeIndex)
				//	((Struct)state.ImportedBlocks[f.ToString()]).Block.Latest.CalculateSize();
				else
					return state.GetFieldSize(f.TypeIndex);
			}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:11,代码来源:Import.cs


示例15: GetScenarioData

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>   Gets the scenario data from the tag. </summary>
		///
		/// <param name="tagIndex">     Zero-based index of the tag. </param>
		/// <param name="tagManager">   The tag's manager. </param>
		///
		/// <returns>   The scenario data. </returns>
		private ScenarioData GetScenarioData(TagIndexBase tagIndex, BlamLib.Managers.TagManager tagManager)
		{
			var data = new ScenarioData();

			data.MessageSent += MessageRedirect;

			data.CollectData(tagIndex, tagManager);

			data.MessageSent -= MessageRedirect;

			return data;
		}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:19,代码来源:ExtractionJobScenario.cs


示例16: CacheView

		public CacheView(BlamLib.BlamVersion engine)
		{
			InitializeComponent();

			MainMenu.Renderer = MainForm.kOpenSauceIDEToolStripRenderer;
			MenuTagInstance.Renderer = MainForm.kOpenSauceIDEToolStripRenderer;

			m_tagTreeEditorMode = TagTreeEditorMode.TagExtraction;
			m_engine = engine;
			m_cache = null;

			bool tag_extraction_supported = (engine & kAllowedPlatforms) != 0;
			ViewUpdateExtractionSupportedState(tag_extraction_supported, false);
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:14,代码来源:CacheView.cs


示例17: GetBSPData

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>   Gets the BSP data from the tag. </summary>
		///
		/// <param name="tagIndex">     The parent tag index. </param>
		/// <param name="tagManager">   The tag's manager. </param>
		///
		/// <returns>   The bsp data. </returns>
		private StructureBSPData GetBSPData(TagIndexBase tagIndex, BlamLib.Managers.TagManager tagManager)
		{
			var data = new StructureBSPData()
			{
				IncludeRenderMesh = mBspData.ExportRenderMesh,
				IncludePortals = mBspData.ExportPortals,
				IncludeFogPlanes = mBspData.ExportFogPlanes,
				IncludeBSPMarkers = mBspData.ExportBSPMarkers
			};

			data.CollectData(tagIndex, tagManager);

			return data;
		}
开发者ID:guardian2433,项目名称:open-sauce,代码行数:21,代码来源:ExtractionJobStructureBSP.cs


示例18: CalculateSizeFromArrayStart

			int CalculateSizeFromArrayStart(BlamLib.CheApe.ProjectState state, ref int current_index)
			{
				int array_size = 0;
				int array_count = fields[current_index++].ToInt();

				for (; ; current_index++)
					if (fields[current_index].TypeIndex == state.kTypeIndexArrayStart)
						array_size += CalculateSizeFromArrayStart(state, ref current_index);
					else if (fields[current_index].TypeIndex == state.kTypeIndexArrayEnd)
						break;
					else
						array_size += CalculateSize(state, fields[current_index]);

				return array_size * array_count;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:15,代码来源:Import.cs


示例19: Reconstruct

			internal override bool Reconstruct(BlamLib.Blam.CacheFile c)
			{
				bool result = true;

				if (ParticleSystemData.Count != 1)
				{
					particle_system_lite_data_block data;
					ParticleSystemData.Add(out data);

					result = data.Reconstruct(GeometryBlockInfo.Value);
				}

				GeometryBlockInfo.Value.ClearPostReconstruction();

				return result;
			}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:16,代码来源:Effects.cs


示例20: OnTagInstanceExtractAs

		void OnTagInstanceExtractAs(BlamLib.Blam.CacheIndex.Item tag_instance)
		{
			SaveFileDlg.Filter = tag_instance.GroupTag.Filter;
			if (SaveFileDlg.ShowDialog(this) == DialogResult.OK)
			{
				string path = SaveFileDlg.FileName;
				var tiei = new TagInstanceExtractionInfo();

				tiei.InitializeStateForTagInstance(tag_instance,
					System.IO.Path.Combine(System.IO.Path.GetDirectoryName(path), @"\"),
					System.IO.Path.GetFileNameWithoutExtension(path));
				tiei.InitializeExtractionForTagInstance();

				bgwTagExtract.RunWorkerAsync(tiei);
			}
			SaveFileDlg.Filter = "";
		}
开发者ID:CodeAsm,项目名称:open-sauce,代码行数:17,代码来源:CacheView.TagExtractionUI.cs



注:本文中的BlamLib类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# BlamVersion类代码示例发布时间:2022-05-24
下一篇:
C# BizContext类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap