private void topToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            ModelPanelViewport curViewport = modelPanel.CurrentViewport;
            ModelPanelViewport newViewport = ModelPanelViewport.DefaultPerspective;

            newViewport.BackgroundColor = curViewport.BackgroundColor;
            ModelPanel.AddViewport(newViewport);

            float xMin     = curViewport.Percentages._x;
            float yMin     = curViewport.Percentages._y;
            float xMax     = curViewport.Percentages._z;
            float yMax     = curViewport.Percentages._w;
            float averageY = (yMin + yMax) / 2.0f;

            curViewport.SetPercentages(xMin, averageY, xMax, yMax);
            newViewport.SetPercentages(xMin, yMin, xMax, averageY);

            ModelPanel.Invalidate();
        }
Ejemplo n.º 2
0
        public void DistributeSettings(ModelEditorSettings settings)
        {
            if (settings == null)
            {
                return;
            }

            _updating = true;
            ModelPanel.BeginUpdate();

            RetrieveCorrespondingAnimations = settings.RetrieveCorrAnims;
            SyncTexturesToObjectList        = settings.SyncTexToObj;
            SyncVIS0 = settings.SyncObjToVIS0;
            DisableBonesWhenPlaying = settings.DisableBonesOnPlay;
            _snapToCollisions       = settings.SnapToColl;
            _maximize                               = settings.Maximize;
            _savePosition                           = settings.SavePosition;
            _hideMainWindow                         = settings.HideMainWindow;
            chkExternalAnims.Checked                = settings.DisplayExternalAnims;
            chkBRRESAnims.Checked                   = settings.DisplayBRRESAnims;
            chkNonBRRESAnims.Checked                = settings.DisplayNonBRRESAnims;
            rightPanel.pnlBones.chkFlat.Checked     = settings.FlatBoneList;
            rightPanel.pnlBones.chkContains.Checked = settings.BoneListContains;
            UseBindStateBoxes                       = settings.UseBindStateBox;
            ShaderGenerator.UsePixelLighting        = settings.UsePixelLighting;

            MDL0BoneNode.DefaultNodeColor           = (Color)settings._orbColor;
            MDL0BoneNode.DefaultLineColor           = (Color)settings._lineColor;
            MDL0BoneNode.DefaultLineDeselectedColor = (Color)settings._lineDeselectedColor;
            _floorHue = (Color)settings._floorColor;

            int w = (int)settings._rightPanelWidth;

            if (w >= 50)
            {
                rightPanel.Width = w;
            }

            _allowedUndos     = settings._undoCount;
            ScreenCaptureType = settings._imageCapFmt;

            CHR0EntryNode._generateTangents     = settings.GenTansCHR;
            SRT0TextureNode._generateTangents   = settings.GenTansSRT;
            SHP0VertexSetNode._generateTangents = settings.GenTansSHP;
            SCN0LightNode._generateTangents     = settings.GenTansLight;
            SCN0FogNode._generateTangents       = settings.GenTansFog;
            SCN0CameraNode._generateTangents    = settings.GenTansCam;

            string applicationFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

            string t = settings._screenCapPath;

            ScreenCapBgLocText.Text = !String.IsNullOrEmpty(t) ? t : applicationFolder + "\\ScreenCaptures";

            t = settings._liveTexFolderPath;
            LiveTextureFolderPath.Text = MDL0TextureNode.TextureOverrideDirectory = !String.IsNullOrEmpty(t) ? t : applicationFolder;

            EnableLiveTextureFolder.Checked = MDL0TextureNode._folderWatcher.EnableRaisingEvents;

            ModelPanel b = this.ModelPanel;

            b.ClearViewports();

            foreach (ModelPanelViewportInfo s in settings._viewports)
            {
                b.AddViewport(s.AsViewport());
            }

            ModelPanel.EndUpdate();
            _updating = false;
        }