2019-07-11 23:22:59 +02:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
2019-07-16 23:35:21 +02:00
|
|
|
|
using Toolbox.Library;
|
|
|
|
|
using Toolbox.Library.IO;
|
|
|
|
|
using Toolbox.Library.Forms;
|
2019-07-11 23:22:59 +02:00
|
|
|
|
using SuperBMDLib;
|
|
|
|
|
|
|
|
|
|
namespace FirstPlugin
|
|
|
|
|
{
|
|
|
|
|
public class BMDTextureWrapper : STGenericTexture
|
|
|
|
|
{
|
|
|
|
|
public override bool CanEdit { get; set; } = false;
|
|
|
|
|
|
2019-07-11 23:29:44 +02:00
|
|
|
|
public override TEX_FORMAT[] SupportedFormats
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return new TEX_FORMAT[]
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-07-11 23:22:59 +02:00
|
|
|
|
|
|
|
|
|
SuperBMDLib.Materials.BinaryTextureImage TextureImage;
|
|
|
|
|
|
|
|
|
|
public BMDTextureWrapper(SuperBMDLib.Materials.BinaryTextureImage Image)
|
|
|
|
|
{
|
|
|
|
|
TextureImage = Image;
|
|
|
|
|
|
|
|
|
|
Text = TextureImage.Name;
|
|
|
|
|
|
2019-07-16 22:54:46 +02:00
|
|
|
|
Format = Decode_Gamecube.ToGenericFormat((Decode_Gamecube.TextureFormats)Image.Format);
|
|
|
|
|
PaletteFormat = Decode_Gamecube.ToGenericPaletteFormat((Decode_Gamecube.PaletteFormats)Image.PaletteFormat);
|
|
|
|
|
PlatformSwizzle = PlatformSwizzle.Platform_Gamecube;
|
|
|
|
|
|
2019-07-11 23:22:59 +02:00
|
|
|
|
Width = TextureImage.Width;
|
|
|
|
|
Height = TextureImage.Height;
|
2020-09-20 16:36:51 +02:00
|
|
|
|
MipCount = TextureImage.MipMap;
|
2019-07-11 23:22:59 +02:00
|
|
|
|
|
|
|
|
|
ImageKey = "texture";
|
|
|
|
|
SelectedImageKey = ImageKey;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnClick(TreeView treeview)
|
|
|
|
|
{
|
|
|
|
|
ImageEditorBase editor = (ImageEditorBase)LibraryGUI.GetActiveContent(typeof(ImageEditorBase));
|
|
|
|
|
if (editor == null)
|
|
|
|
|
{
|
|
|
|
|
editor = new ImageEditorBase();
|
|
|
|
|
editor.Dock = DockStyle.Fill;
|
|
|
|
|
LibraryGUI.LoadEditor(editor);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
editor.Text = Text;
|
|
|
|
|
editor.LoadProperties(TextureImage);
|
2019-07-12 02:23:47 +02:00
|
|
|
|
editor.LoadImage(this);
|
2019-07-11 23:22:59 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-07-16 22:54:46 +02:00
|
|
|
|
public override byte[] GetPaletteData()
|
|
|
|
|
{
|
|
|
|
|
return TextureImage.PaletteData;
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-15 01:19:02 +01:00
|
|
|
|
public override byte[] GetImageData(int ArrayLevel = 0, int MipLevel = 0, int DepthLevel = 0)
|
2019-07-11 23:22:59 +02:00
|
|
|
|
{
|
2019-07-16 22:54:46 +02:00
|
|
|
|
return TextureImage.ImageData;
|
2019-07-11 23:22:59 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void SetImageData(Bitmap bitmap, int ArrayLevel)
|
|
|
|
|
{
|
|
|
|
|
TextureImage.EncodeData();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|