Ejemplo n.º 1
0
        /// <summary>Close the resources used by this library</summary>
        public static void Close()
        {
            if (isInitialized)
            {
                Stubbs.Close();
#if NO_HALO4
                Halo4.Close();
#endif
#if NO_HALO_REACH
                HaloReach.Close();
#endif
#if NO_HALO_ODST
                HaloOdst.Close();
#endif
#if NO_HALO3
                Halo3.Close();
#endif
#if !NO_HALO2
                Halo2.Close();
#endif
                Halo1.Close();
                Debug.Exceptions.Dispose();
                Debug.Trace.Close();
                Debug.LogFile.CloseLog();

                isInitialized = false;
            }
        }
Ejemplo n.º 2
0
        public MapNames()
        {
            InitializeComponent();

            listH1c.ItemsSource = Halo1.Where(e => e.Type == MapType.Campaign);
            listH1m.ItemsSource = Halo1.Where(e => e.Type == MapType.Multiplayer);

            listH2c.ItemsSource = Halo2.Where(e => e.Type == MapType.Campaign);
            listH2m.ItemsSource = Halo2.Where(e => e.Type == MapType.Multiplayer);

            listH2a.ItemsSource = Halo2A;

            listH3c.ItemsSource = Halo3.Where(e => e.Type == MapType.Campaign);
            listH3m.ItemsSource = Halo3.Where(e => e.Type == MapType.Multiplayer);

            listOdstc.ItemsSource = HaloODST.Where(e => e.Type == MapType.Campaign);
            listOdsts.ItemsSource = HaloODST.Where(e => e.Type == MapType.Survival);

            listReachc.ItemsSource = HaloReach.Where(e => e.Type == MapType.Campaign);
            listReachs.ItemsSource = HaloReach.Where(e => e.Type == MapType.Survival);
            listReachm.ItemsSource = HaloReach.Where(e => e.Type == MapType.Multiplayer);

            listH4c.ItemsSource = Halo4.Where(e => e.Type == MapType.Campaign);
            listH4s.ItemsSource = Halo4.Where(e => e.Type == MapType.Survival);
            listH4m.ItemsSource = Halo4.Where(e => e.Type == MapType.Multiplayer);
        }
Ejemplo n.º 3
0
        public static void Initialize()
        {
            if (!isInitialized)
            {
                //if(System.Diagnostics.Debugger.IsAttached)

                /*{	// HACK: to make the LoaderLock message appear as soon as possible.
                 *      // This is only needed during VS debugging. Won't get it during non-debug runtime.
                 *      // SlimDX doesn't have these issues.
                 *      var t = typeof(Microsoft.DirectX.UnsafeNativeMethods);
                 *      t = typeof(Microsoft.DirectX.Direct3D.Device);
                 *      t = null;
                 * }*/

                Debug.Exceptions.Initialize();

                System.Windows.Forms.Application.ApplicationExit +=
                    new EventHandler(Application_ApplicationExit);

                Halo1.Initialize();
#if !NO_HALO2
                Halo2.Initialize();
#endif
#if NO_HALO3
                Halo3.Initialize();
#endif
#if NO_HALO_ODST
                HaloOdst.Initialize();
#endif
#if NO_HALO_REACH
                HaloReach.Initialize();
#endif
#if NO_HALO4
                Halo4.Initialize();
#endif
                Stubbs.Initialize();

                TagInterface.DefinitionStatePool.PostProcess();

                isInitialized = true;
            }
        }
Ejemplo n.º 4
0
			public bool Convert(Halo1.Tags.gbxmodel_group.model_geometry_block h1)
			{
				this.Section.Value.Convert(h1);

				return true;
			}
Ejemplo n.º 5
0
			public bool Convert(Halo1.Tags.model_group.model_region_block.model_region_permutation_block h1)
			{
				string name = h1.Name.Value;
				if (name == "__base") name = "base";
				this.Name.ResetFromString(name);

				this.L1.Value = (short)h1.SuperLow.Value;
				this.L2.Value = (short)h1.Low.Value;
				this.L3.Value = (short)h1.Medium.Value;
				this.L4.Value = (short)h1.High.Value;
				this.L5.Value = (short)h1.SuperHigh.Value;
				this.L6.Value = this.L5.Value;

				return true;
			}
Ejemplo n.º 6
0
		public bool Convert(Halo1.Tags.model_group.model_region_block h1)
		{
			this.Name.ResetFromString(h1.Name.Value);
			this.NodeMapOffset.Value = -1;
			this.NodeMapSize.Value = 0;

			this.Permutations.Resize(h1.Permutations.Count);
			for (int x = 0; x < h1.Permutations.Count; x++)
				this.Permutations[x].Convert(h1.Permutations[x]);
			return true;
		}
Ejemplo n.º 7
0
		public bool Convert(Halo1.Tags.model_group.model_geometry_block.model_geometry_part_block.model_vertex_uncompressed_block h1)
		{
			return true;
		}
Ejemplo n.º 8
0
		public bool Convert(Halo1.Tags.gbxmodel_group.model_geometry_block h1)
		{
			return true;
		}
Ejemplo n.º 9
0
		public bool Convert(Halo1.Tags.gbxmodel_group h1)
		{
			int x;

			this.Regions.Resize(h1.Regions.Count);
			for (x = 0; x < h1.Regions.Count; x++)
				this.Regions[x].Convert(h1.Regions[x]);

			this.Sections.Resize(h1.Geometries.Count);
			for (x = 0; x < h1.Geometries.Count; x++)
				this.Sections[x].Convert(h1.Geometries[x]);

			this.InvalidSectionPairBits.Resize((this.Sections.Count / 4) + 1);

			this.SectionGroups.Add();
			this.SectionGroups[0].DetailLevels.Value = 0x3F;

			this.Nodes.Resize(h1.Nodes.Count);
			for (x = 0; x < h1.Nodes.Count; x++)
				this.Nodes[x].Convert(h1.Nodes[x]);

			this.MarkerGroups.Resize(h1.Markers.Count);
			for (x = 0; x < h1.Markers.Count; x++)
				this.MarkerGroups[x].Convert(h1.Markers[x]);

			// TODO: this kind of logic with tag references b/w two engines doesn't work anymore, fix this
			//this.Materials.Resize(h1.Shaders.Count);
			//for (x = 0; x < h1.Shaders.Count; x++)
			//	this.Materials[x].Shader.Value = h1.Shaders[x].Shader.Value;
			
			return true;
		}
Ejemplo n.º 10
0
		public bool Convert(Halo1.Tags.model_group.model_markers_block h1)
		{
			this.Name.ResetFromString(h1.Name.Value);

			this.Markers.Resize(h1.Instances.Count);
			for (int x = 0; x < h1.Instances.Count; x++)
				this.Markers[x].Convert(h1.Instances[x]);

			return true;
		}
Ejemplo n.º 11
0
			public bool Convert(Halo1.Tags.model_group.model_markers_block.model_marker_instance_block h1)
			{
				this.RegionIndex.Value = (byte)h1.RegionIndex.Value;
				this.PermutationIndex.Value = (byte)h1.PermutationIndex.Value;
				this.NodeIndex.Value = (byte)h1.NodeIndex.Value;
				this.Translation.Value = h1.Translation.Value;
				this.Rotation.Value = h1.Rotation.Value;

				return true;
			}
Ejemplo n.º 12
0
		public bool Convert(Halo1.Tags.model_group.model_node_block h1)
		{
			this.Name.ResetFromString(h1.Name.Value);
			this.ParentNode.Value = h1.ParentNode.Value;
			this.FirstChildNode.Value = h1.FirstChildNode.Value;
			this.NextSiblingNode.Value = h1.NextSiblingNode.Value;
			this.ImportNodeIndex.Value = -1;
			this.DefaultTranslation.Value = h1.DefaultTranslation.Value;
			this.DefaultRotation.Value = h1.DefaultRotation.Value;

			this.DistFromParent.Value = h1.NodeDistFromParent;
			return true;
		}
Ejemplo n.º 13
0
		public bool Convert(Halo1.Tags.gbxmodel_group.model_geometry_block h1)
		{
			this.SectionInfo.Value.Convert(h1);
			this.SectionData.Add();
			this.SectionData[0].Convert(h1);

			return true;
		}