1
0
mirror of synced 2025-02-25 22:38:07 +01:00

Parse TPL

This commit is contained in:
KillzXGaming 2019-08-04 12:21:28 -04:00
parent 5729b20c43
commit ea2b941b93
24 changed files with 107 additions and 14351 deletions

View File

@ -40,17 +40,119 @@ namespace FirstPlugin
}
}
libWiiSharp.TPL tplFile = null;
public List<ImageHeader> ImageHeaders = new List<ImageHeader>();
public List<PaletteHeader> PaletteHeaders = new List<PaletteHeader>();
public void Load(System.IO.Stream stream)
{
Text = FileName;
tplFile = libWiiSharp.TPL.Load(stream);
for (int i = 0; i < tplFile.NumOfTextures; i++)
Nodes.Add(new TPL_Texture(tplFile, i));
using (var reader = new FileReader(stream))
{
uint Identifier = reader.ReadUInt32();
uint ImageCount = reader.ReadUInt32();
uint ImageOffsetTable = reader.ReadUInt32();
for (int i = 0; i < ImageCount; i++)
{
reader.SeekBegin(ImageOffsetTable + (i * 8));
uint ImageHeaderOffset = reader.ReadUInt32();
uint PaletteHeaderOffset = reader.ReadUInt32();
if (ImageHeaderOffset != 0)
{
reader.SeekBegin(ImageHeaderOffset);
var image = new ImageHeader();
image.Read(reader);
ImageHeaders.Add(image);
}
if (PaletteHeaderOffset != 0)
{
reader.SeekBegin(PaletteHeaderOffset);
var palette = new PaletteHeader();
palette.Read(reader);
PaletteHeaders.Add(palette);
}
}
}
}
public class PaletteHeader
{
public ushort EntryCount { get; set; }
public byte Unpacked { get; set; }
public uint PaletteFormat { get; set; }
public uint PaletteDataOffset { get; set; }
public void Read(FileReader reader)
{
EntryCount = reader.ReadUInt16();
Unpacked = reader.ReadByte();
PaletteFormat = reader.ReadUInt32();
PaletteDataOffset = reader.ReadUInt32();
}
public void Write(FileWriter writer)
{
writer.Write(EntryCount);
writer.Write(Unpacked);
writer.Write(PaletteFormat);
writer.Write(PaletteDataOffset);
}
}
public class ImageHeader
{
public ushort Width { get; set; }
public ushort Height { get; set; }
public uint Format { get; set; }
public uint ImageOffset { get; set; }
public uint WrapS { get; set; }
public uint WrapT { get; set; }
public uint MinFilter { get; set; }
public uint MagFilter { get; set; }
public float LODBias { get; set; }
public bool EdgeLODEnable { get; set; }
public byte MinLOD { get; set; }
public byte MaxLOD { get; set; }
public byte Unpacked { get; set; }
public void Read(FileReader reader)
{
Width = reader.ReadUInt16();
Height = reader.ReadUInt16();
Format = reader.ReadUInt32();
ImageOffset = reader.ReadUInt32();
WrapS = reader.ReadUInt32();
WrapT = reader.ReadUInt32();
MinFilter = reader.ReadUInt32();
MagFilter = reader.ReadUInt32();
LODBias = reader.ReadSingle();
EdgeLODEnable = reader.ReadBoolean();
MinLOD = reader.ReadByte();
MaxLOD = reader.ReadByte();
Unpacked = reader.ReadByte();
}
public void Write(FileWriter writer)
{
writer.Write(Width);
writer.Write(Height);
writer.Write(Format);
writer.Write(ImageOffset);
writer.Write(WrapS);
writer.Write(WrapT);
writer.Write(MinFilter);
writer.Write(MagFilter);
writer.Write(LODBias);
writer.Write(EdgeLODEnable);
writer.Write(MinLOD);
writer.Write(MaxLOD);
writer.Write(Unpacked);
}
}
public void Unload()
{

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="LZ4pn" publicKeyToken="62e1b5ec1eec9bdd" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.10.93" newVersion="1.0.10.93" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="K4os.Hash.xxHash" publicKeyToken="32cd54395057cec3" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.5.0" newVersion="1.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

Binary file not shown.

View File

@ -1 +1 @@
2dd7d0617dba111aa487a7da42ed4f5f18627a3f
747948e0929dd8935549f97d0e91eb2d59336ea8