Esempio n. 1
0
 private void chr_13_renderer_DragDrop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(DataFormats.FileDrop))
     {
         string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
         foreach (string filePath in files)
         {
             if (filePath.ToLower().EndsWith(".dds"))
             {
                 Dds dds = new Dds(new FileData(filePath));
                 if (sender == chr_13_renderer)
                 {
                     chr13 = ReplaceTexture(dds.ToNutTexture(), 416, 416, chr13);
                     if (chr13Loc != null)
                     {
                         chr13.Save(chr13Loc);
                     }
                 }
                 if (sender == chr_00_renderer)
                 {
                     chr00 = ReplaceTexture(dds.ToNutTexture(), 128, 128, chr00);
                     if (chr00Loc != null)
                     {
                         chr00.Save(chr00Loc);
                     }
                 }
                 if (sender == chr_11_renderer)
                 {
                     chr11 = ReplaceTexture(dds.ToNutTexture(), 384, 384, chr13);
                     if (chr11Loc != null)
                     {
                         chr11.Save(chr11Loc);
                     }
                 }
             }
             if (filePath.ToLower().EndsWith(".png"))
             {
                 if (sender == stock_90_renderer)
                 {
                     stock90 = ReplaceTexture(NutEditor.FromPng(filePath, 0), 64, 64, chr13);
                     if (stock90Loc != null)
                     {
                         stock90.Save(stock90Loc);
                     }
                 }
             }
         }
         ((GLControl)sender).Invalidate();
     }
 }
Esempio n. 2
0
        private void LetsDance(object sender, EventArgs e)
        {
            Control c = MainForm.Instance.GetActiveModelViewport();

            if (!(c is ModelViewport))
            {
                return;
            }
            ModelViewport view = (ModelViewport)c;

            view.currentMode = ModelViewport.Mode.Normal;

            NUT n = null;

            if (((MenuItem)sender).GetContextMenu().SourceControl == stock_90_renderer)
            {
                n = stock90;
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_00_renderer)
            {
                n = chr00;
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_11_renderer)
            {
                n = chr11;
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_13_renderer)
            {
                n = chr13;
            }
            if (n == null)
            {
                return;
            }

            byte[] data = RenderTools.DXT5ScreenShot(view.glViewport, view.shootX, view.shootY, view.shootWidth, view.shootHeight);
            int    id   = n.Nodes.Count > 0 ? ((NutTexture)n.Nodes[0]).HashId : 0x280052B7;

            n.Nodes.Clear();
            n.glTexByHashId.Clear();

            NutTexture tex = new NutTexture();

            tex.Width  = view.shootWidth;
            tex.Height = view.shootHeight;
            tex.surfaces.Add(new TextureSurface());
            tex.surfaces[0].mipmaps.Add(FlipDxt5(data, tex.Width, tex.Height));
            tex.pixelInternalFormat = PixelInternalFormat.CompressedRgbaS3tcDxt5Ext;
            tex.HashId = id;
            n.Nodes.Add(tex);
            n.glTexByHashId.Add(tex.HashId, NUT.CreateTexture2D(tex));
            ((MenuItem)sender).GetContextMenu().SourceControl.Invalidate();

            if (((MenuItem)sender).GetContextMenu().SourceControl == stock_90_renderer)
            {
                if (stock90Loc != null)
                {
                    stock90.Save(stock90Loc);
                }
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_00_renderer)
            {
                if (chr00Loc != null)
                {
                    chr00.Save(chr00Loc);
                }
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_11_renderer)
            {
                if (chr11Loc != null)
                {
                    chr11.Save(chr13Loc);
                }
            }
            if (((MenuItem)sender).GetContextMenu().SourceControl == chr_13_renderer)
            {
                if (chr13Loc != null)
                {
                    chr13.Save(chr13Loc);
                }
            }
        }