Fix sampler saving and lod options for wii u samplers

This commit is contained in:
KillzXGaming 2019-05-12 11:26:05 -04:00
parent a2d23b0d43
commit 0b2dd29bae
9 changed files with 18 additions and 7 deletions

Binary file not shown.

View file

@ -931,10 +931,16 @@ namespace FirstPlugin
{
mat.TextureRefs = new List<string>();
mat.TextureRefs.Clear();
mat.Samplers.Clear();
mat.SamplerDict.Clear();
foreach (var textu in m.TextureMaps)
foreach (MatTexture textu in m.TextureMaps)
{
mat.SamplerDict.Add(textu.SamplerName);
mat.Samplers.Add(textu.switchSampler);
mat.TextureRefs.Add(textu.Name);
}
}
public static void WriteRenderInfo(this FMAT m, Material mat)
{

View file

@ -738,9 +738,6 @@ namespace FirstPlugin
Sampler sampler = new Sampler();
sampler.TexSampler = textu.wiiUSampler;
sampler.TexSampler.MinLod = textu.MinLod;
sampler.TexSampler.MaxLod = textu.MaxLod;
sampler.TexSampler.LodBias = textu.BiasLod;
sampler.Name = textu.SamplerName;
mat.Samplers.Add(textu.SamplerName, sampler);

View file

@ -55,7 +55,7 @@ namespace FirstPlugin
if (tglp.SheetDataList.Count > 0)
{
var bntx = STFileLoader.OpenFileFormat("Sheet_0", Utils.CombineByteArray(tglp.SheetDataList.ToArray()));
if (bntx != null)
if (bntx != null)
{
textureFolder.Nodes.Add((BNTX)bntx);
}
@ -286,7 +286,8 @@ namespace FirstPlugin
surf.mipOffset = new uint[0];
surf.mipData = null;
surf.tileMode = (uint)GX2.GX2TileMode.MODE_2D_TILED_THIN1;
surf.swizzle = 0;
surf.swizzle = (uint)(SheetIndex);
surf.swizzle *= 2;
surf.numArray = 1;
var surfaces = GX2.Decode(surf);
@ -317,6 +318,7 @@ namespace FirstPlugin
prop.ArrayCount = ArrayCount;
prop.ImageSize = (uint)TextureTGLP.SheetDataList[SheetIndex].Length;
prop.Format = Format;
prop.Swizzle = (uint)(SheetIndex * 2);
editor.Text = Text;
editor.LoadProperties(prop);

View file

@ -837,6 +837,12 @@ namespace Switch_Toolbox.Library
[Description("The image size in bytes.")]
[Category("Image Info")]
public uint ImageSize { get; set; }
[Browsable(true)]
[ReadOnly(true)]
[Description("The swizzle value.")]
[Category("Image Info")]
public uint Swizzle { get; set; }
}
}
}