/// <summary> /// The make bsp sticky tool strip menu item_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void makeBSPStickyToolStripMenuItem_Click(object sender, EventArgs e) { BSPModel.BSPCollision coll = new BSPModel.BSPCollision(map.SelectedMeta); map.OpenMap(MapTypes.Internal); /* for (int x = 0; x < coll.SurfaceReflexiveCount; x++) { byte i = 4; map.BW.BaseStream.Position = map.SelectedMeta.offset + coll.SurfaceReflexiveTranslation + (x * 8) + 4; map.BW.Write(i); } */ map.CloseMap(); MessageBox.Show("Done"); }
/// <summary> /// The inject collision mesh obj tool strip menu item_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void injectCollisionMeshOBJToolStripMenuItem_Click(object sender, EventArgs e) { loadMetaDialog.Filter = "Wavefront Object Files (*.obj) | *.obj"; if (loadMetaDialog.ShowDialog() == DialogResult.Cancel) { return; } BSPModel.BSPCollision coll = new BSPModel.BSPCollision(map.SelectedMeta); coll.InjectCollisonMesh(loadMetaDialog.FileName, map.SelectedMeta); LoadMeta(map.SelectedMeta.TagIndex); }
/// <summary> /// The export collison to obj tool strip menu item_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void exportCollisonToOBJToolStripMenuItem_Click(object sender, EventArgs e) { if (saveMetaDialog.ShowDialog() == DialogResult.Cancel) { return; } BSPModel.BSPCollision pm = new BSPModel.BSPCollision(map.SelectedMeta); // string[] temps = info.SelectedMeta.name.Split('\\'); // pm.Name = temps[temps.Length - 1]; pm.ExtractCollisonMesh(saveMetaDialog.FileName); MessageBox.Show("Done"); }
/// <summary> /// The expand mesh x 3 tool strip menu item_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void expandMeshX3ToolStripMenuItem_Click(object sender, EventArgs e) { BSPModel.BSPCollision coll = new BSPModel.BSPCollision(map.SelectedMeta); map.OpenMap(MapTypes.Internal); for (int x = 0; x < coll.Vertices.Length; x++) { coll.Vertices[x].X *= 3; coll.Vertices[x].Y *= 3; coll.Vertices[x].Z *= 3; map.BW.BaseStream.Position = map.SelectedMeta.offset + coll.VerticeReflexiveTranslation + (x * 16); // info.BW.Write(coll.Vertices[x].X); // info.BW.Write(coll.Vertices[x].Y); // info.BW.Write(coll.Vertices[x].Z); } for (int x = 0; x < coll.Planes.Length; x++) { coll.Planes[x].W *= 3; map.BW.BaseStream.Position = map.SelectedMeta.offset + coll.PlaneReflexiveTranslation + (x * 16) + 12; map.BW.Write(coll.Planes[x].W); } LoadMeta(map.SelectedMeta.TagIndex); MessageBox.Show("Done"); }
/// <summary> /// The bspcollision viewer tool strip menu item_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void bspcollisionViewerToolStripMenuItem_Click(object sender, EventArgs e) { BSPModel.BSPCollision coll = new BSPModel.BSPCollision(map.SelectedMeta); BSPCollisionViewer bv = new BSPCollisionViewer(coll, map); }
/// <summary> /// Initializes a new instance of the <see cref="BSPCollisionViewer"/> class. /// </summary> /// <param name="tempcoll">The tempcoll.</param> /// <param name="map">The map.</param> /// <remarks></remarks> public BSPCollisionViewer(BSPModel.BSPCollision tempcoll, Map map) { //InitializeComponent InitializeComponent(); this.map = map; coll = tempcoll; // Set the initial size of our form this.ClientSize = new Size(800, 600); // And its caption this.Text = "BSP Viewer"; // Load our points/edges & build polygons for surface detection / modifying LoadMeta(); Main(); }