/// <summary> /// Creates info classes for a structure BSP /// </summary> void GenerateInfoListBsp() { string bsp_name = Path.GetFileNameWithoutExtension(tagManager.Name); int vertex_count, triangle_count; BSPInfoInternal bsp_info_internal; // create an info object representing the render mesh vertex_count = BSP.GetVertexCount(tagManager, BSPObjectType.RenderMesh); triangle_count = BSP.GetTriangleCount(tagManager, BSPObjectType.RenderMesh); bsp_info_internal = new BSPInfoInternal(); bsp_info_internal.SetType(BSPObjectType.RenderMesh); BSP.AddShaderDatums(bsp_info_internal, tagManager); internalInfoList.Add(bsp_info_internal); Add(new ColladaHalo1BSPInfo(internalInfoList.Count - 1, bsp_name, vertex_count, triangle_count, BSPObjectType.RenderMesh)); // create an info object representing the portals mesh vertex_count = BSP.GetVertexCount(tagManager, BSPObjectType.Portals); triangle_count = BSP.GetTriangleCount(tagManager, BSPObjectType.Portals); if ((vertex_count > 0) && (triangle_count > 0)) { bsp_info_internal = new BSPInfoInternal(); bsp_info_internal.SetType(BSPObjectType.Portals); internalInfoList.Add(bsp_info_internal); Add(new ColladaHalo1BSPInfo(internalInfoList.Count - 1, bsp_name, vertex_count, triangle_count, BSPObjectType.Portals)); } // create an info object representing the fogplane mesh vertex_count = BSP.GetVertexCount(tagManager, BSPObjectType.FogPlanes); triangle_count = BSP.GetTriangleCount(tagManager, BSPObjectType.FogPlanes); if ((vertex_count > 0) && (triangle_count > 0)) { bsp_info_internal = new BSPInfoInternal(); bsp_info_internal.SetType(BSPObjectType.FogPlanes); internalInfoList.Add(bsp_info_internal); Add(new ColladaHalo1BSPInfo(internalInfoList.Count - 1, bsp_name, vertex_count, triangle_count, BSPObjectType.FogPlanes)); } }
/// <summary> /// Creates info classes for a structure lightmap /// </summary> void GenerateInfoListBSP() { string name = Path.GetFileNameWithoutExtension(tagManager.Name); int vertex_count, triangle_count; BSPInfoInternal info_internal; vertex_count = BSP.GetVertexCount(tagManager, BSPObjectType.RenderMesh); triangle_count = BSP.GetTriangleCount(tagManager, BSPObjectType.RenderMesh); if ((vertex_count > 0) && (triangle_count > 0)) { info_internal = new BSPInfoInternal(); info_internal.SetType(BSPObjectType.RenderMesh); BSP.AddShaderDatums(info_internal, tagManager); internalInfoList.Add(info_internal); Add(new ColladaHalo2BSPInfo(internalInfoList.Count - 1, name, vertex_count, triangle_count, BSPObjectType.RenderMesh)); } vertex_count = BSP.GetVertexCount(tagManager, BSPObjectType.Portals); triangle_count = BSP.GetTriangleCount(tagManager, BSPObjectType.Portals); if ((vertex_count > 0) && (triangle_count > 0)) { info_internal = new BSPInfoInternal(); info_internal.SetType(BSPObjectType.Portals); internalInfoList.Add(info_internal); Add(new ColladaHalo2BSPInfo(internalInfoList.Count - 1, name, vertex_count, triangle_count, BSPObjectType.Portals)); } }