Ejemplo n.º 1
0
        /// <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");
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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");
        }
Ejemplo n.º 4
0
        /// <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");
        }
Ejemplo n.º 5
0
 /// <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);
 }
Ejemplo n.º 6
0
        /// <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();
        }