private void buttonClear_Click(object sender, EventArgs e) { foreach (RenderWareModelFile r in ShadowCollisionBSPStream) { foreach (SharpMesh mesh in r.meshList) { mesh.Dispose(); } } ShadowCollisionBSPStream.Clear(); listBoxLevelModels.Items.Clear(); }
private void buttonRemove_Click(object sender, EventArgs e) { for (int i = 0; i < BSPStream.Count; i++) { if (listBoxLevelModels.SelectedIndices.Contains(i)) { foreach (SharpMesh mesh in ShadowCollisionBSPStream[i].meshList) { mesh.Dispose(); } ShadowCollisionBSPStream.RemoveAt(i); listBoxLevelModels.Items.RemoveAt(i); i -= 1; } } InitBSPList(); }
private void buttonImport_Click(object sender, EventArgs e) { OpenFileDialog a = new OpenFileDialog() { Filter = "All supported types|*.obj;*.bsp|OBJ Files|*.obj|BSP Files|*.bsp|All files|*.*", Multiselect = true }; if (a.ShowDialog() == DialogResult.OK) { foreach (string i in a.FileNames) { ReadFileMethods.isCollision = true; RenderWareModelFile file = new RenderWareModelFile(Path.GetFileNameWithoutExtension(i) + ".BSP"); file.isShadowCollision = true; try { file.ChunkNumber = Convert.ToByte(Path.GetFileNameWithoutExtension(i).Split('_').Last()); } catch { file.ChunkNumber = -1; }; if (Path.GetExtension(i).ToLower() == ".obj") { file.SetForRendering(CreateShadowCollisionBSPFile(ReadOBJFile(i, true)), null); } else { file.SetForRendering(ReadFileMethods.ReadRenderWareFile(i), File.ReadAllBytes(i)); } ShadowCollisionBSPStream.Add(file); listBoxLevelModels.Items.Add(file.fileName); ReadFileMethods.isCollision = false; } buttonExport.Enabled = true; } }