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(); } }
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); } } }