Exemple #1
0
		public static WMOSubGroup ReadBuildingGroup(BinaryReader reader)
		{
			var group = new WMOSubGroup
			{
				Bounds = reader.ReadBoundingBox()
			};

			Vector3[] vertices;
			var numVerts = reader.ReadUInt16();
			if (numVerts > 0)
			{
				vertices = new Vector3[numVerts];
				for (var i = 0; i < numVerts; i++)
				{
					vertices[i] = reader.ReadVector3();
				}
			}
			else
			{
				vertices = null;
			}
			group.Vertices = vertices;

			group.Tree = ReadBSPTree(reader);
			return group;
		}
Exemple #2
0
		public static WMO ReadBuilding(BinaryReader reader)
		{
			var building = new WMO
			{
				Bounds = reader.ReadBoundingBox(),
				RotationModelY = reader.ReadSingle(),
				WorldPos = reader.ReadVector3()
			};

			WMOSubGroup[] groups;
			var numGroups = reader.ReadUInt16();
			if (numGroups > 0)
			{
				groups = new WMOSubGroup[numGroups];
				for (var i = 0; i < numGroups; i++)
				{
					groups[i] = ReadBuildingGroup(reader);
				}
			}
			else
			{
				groups = null;
			}
			building.BuildingGroups = groups;

			return building;
		}