public void SetupSettings(GTXImporterSettings setting) { if (setting.Format == GX2.GX2SurfaceFormat.INVALID || SelectedIndex == -1) { return; } if (Thread != null && Thread.IsAlive) { Thread.Abort(); } if (formatComboBox.SelectedItem is GX2.GX2SurfaceFormat) { setting.Format = (GX2.GX2SurfaceFormat)formatComboBox.SelectedItem; listViewCustom1.Items[SelectedIndex].SubItems[1].Text = setting.Format.ToString(); } HeightLabel.Text = $"Height: {setting.TexHeight}"; WidthLabel.Text = $"Width: {setting.TexWidth}"; Bitmap bitmap = Toolbox.Library.Imaging.GetLoadingImage(); pictureBox1.Image = bitmap; Thread = new Thread((ThreadStart)(() => { setting.IsFinishedCompressing = false; ToggleOkButton(false); var mips = setting.GenerateMipList(); setting.DataBlockOutput.Clear(); setting.DataBlockOutput.Add(Utils.CombineByteArray(mips.ToArray())); ToggleOkButton(true); setting.Compress(); bitmap = FTEX.DecodeBlockGetBitmap(mips[0], setting. TexWidth, setting.TexHeight, FTEX.ConvertFromGx2Format( (Syroot.NintenTools.Bfres.GX2.GX2SurfaceFormat)setting.Format), new byte[0]); if (pictureBox1.InvokeRequired) { pictureBox1.Invoke((MethodInvoker) delegate { pictureBox1.Image = bitmap; pictureBox1.Refresh(); int size = Utils.GetSizeInBytes(mips); dataSizeLbl.Text = $"Data Size: {STMath.GetFileSize(size, 5)}"; }); } mips.Clear(); })); Thread.Start(); }
public void SetupSettings() { if (SelectedTexSettings.Format == GX2.GX2SurfaceFormat.INVALID || SelectedIndex == -1) { return; } if (Thread != null && Thread.IsAlive) { Thread.Abort(); } if (formatComboBox.SelectedItem is GX2.GX2SurfaceFormat) { SelectedTexSettings.Format = (GX2.GX2SurfaceFormat)formatComboBox.SelectedItem; listViewCustom1.Items[SelectedIndex].SubItems[1].Text = SelectedTexSettings.Format.ToString(); } HeightLabel.Text = $"Height: {SelectedTexSettings.TexHeight}"; WidthLabel.Text = $"Width: {SelectedTexSettings.TexWidth}"; Bitmap bitmap = Switch_Toolbox.Library.Imaging.GetLoadingImage(); Thread = new Thread((ThreadStart)(() => { SelectedTexSettings.IsFinishedCompressing = false; ToggleOkButton(false); var mips = SelectedTexSettings.GenerateMipList(); SelectedTexSettings.DataBlockOutput.Clear(); SelectedTexSettings.DataBlockOutput.Add(Utils.CombineByteArray(mips.ToArray())); ToggleOkButton(true); pictureBox1.Image = bitmap; SelectedTexSettings.Compress(); bitmap = FTEX.DecodeBlockGetBitmap(mips[0], SelectedTexSettings. TexWidth, SelectedTexSettings.TexHeight, FTEX.ConvertFromGx2Format( (Syroot.NintenTools.Bfres.GX2.GX2SurfaceFormat)SelectedTexSettings.Format)); pictureBox1.Image = bitmap; })); Thread.Start(); }
public void SetupSettings() { if (SelectedTexSettings.Format == GTX.GX2SurfaceFormat.INVALID) { return; } if (Thread != null && Thread.IsAlive) { Thread.Abort(); } if (formatComboBox.SelectedItem is GTX.GX2SurfaceFormat) { SelectedTexSettings.Format = (GTX.GX2SurfaceFormat)formatComboBox.SelectedItem; listViewCustom1.SelectedItems[0].SubItems[1].Text = SelectedTexSettings.Format.ToString(); } HeightLabel.Text = $"Height: {SelectedTexSettings.TexHeight}"; WidthLabel.Text = $"Width: {SelectedTexSettings.TexWidth}"; Bitmap bitmap = Switch_Toolbox.Library.Imaging.GetLoadingImage(); Thread = new Thread((ThreadStart)(() => { pictureBox1.Image = bitmap; SelectedTexSettings.Compress(); bitmap = FTEX.DecodeBlockGetBitmap(SelectedTexSettings.DataBlockOutput[0], SelectedTexSettings. TexWidth, SelectedTexSettings.TexHeight, FTEX.ConvertFromGx2Format( (Syroot.NintenTools.Bfres.GX2.GX2SurfaceFormat)SelectedTexSettings.Format)); pictureBox1.Image = bitmap; })); Thread.Start(); }
public void SetupSettings(GTXImporterSettings setting, bool setFormat = true) { if (setting.Format == GX2.GX2SurfaceFormat.INVALID || SelectedIndex == -1) { return; } if (Thread != null && Thread.IsAlive) { Thread.Abort(); } if (formatComboBox.SelectedItem is GX2.GX2SurfaceFormat && setFormat) { setting.Format = (GX2.GX2SurfaceFormat)formatComboBox.SelectedItem; if (setting.Format == GX2.GX2SurfaceFormat.T_BC4_UNORM && DisplayBC4Alpha || setting.Format == GX2.GX2SurfaceFormat.T_BC4_SNORM && DisplayBC4Alpha) { chkBc4Alpha.Visible = true; } else { chkBc4Alpha.Visible = false; } listViewCustom1.Items[SelectedIndex].SubItems[1].Text = setting.Format.ToString(); } if (setting.MipCountOriginal >= 0) { chkOriginalMipCount.Enabled = true; } else { chkOriginalMipCount.Enabled = false; } HeightLabel.Text = $"Height: {setting.TexHeight}"; WidthLabel.Text = $"Width: {setting.TexWidth}"; Bitmap bitmap = Toolbox.Library.Imaging.GetLoadingImage(); pictureBox1.Image = bitmap; Thread = new Thread((ThreadStart)(() => { setting.IsFinishedCompressing = false; ToggleOkButton(false); var mips = setting.GenerateMipList(); setting.DataBlockOutput.Clear(); setting.DataBlockOutput.Add(Utils.CombineByteArray(mips.ToArray())); ToggleOkButton(true); setting.IsFinishedCompressing = true; bitmap = FTEX.DecodeBlockGetBitmap(mips[0], setting. TexWidth, setting.TexHeight, FTEX.ConvertFromGx2Format( (Syroot.NintenTools.Bfres.GX2.GX2SurfaceFormat)setting.Format), new byte[0]); if (setting.FlipY) { bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY); } if (setting.UseBc4Alpha) { bitmap = BitmapExtension.SetChannel(bitmap, STChannelType.Red, STChannelType.Red, STChannelType.Red, STChannelType.Red); } if (pictureBox1.InvokeRequired) { pictureBox1.Invoke((MethodInvoker) delegate { pictureBox1.Image = bitmap; pictureBox1.Refresh(); int size = Utils.GetSizeInBytes(mips); dataSizeLbl.Text = $"Data Size: {STMath.GetFileSize(size, 5)}"; }); } mips.Clear(); })); Thread.Start(); }