Skip to content

Commit 1742130

Browse files
authored
Merge pull request #20 from Lunaretic/master
Bugfix for source not being set appropriately for new texture files.
2 parents 6c5c729 + 0791b69 commit 1742130

File tree

2 files changed

+18
-25
lines changed
  • xivModdingFramework

2 files changed

+18
-25
lines changed

xivModdingFramework/Materials/FileTypes/Mtrl.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ public async Task<int> ImportMtrl(XivMtrl xivMtrl, IItem item, string source)
654654

655655
var di = Tex.GetDefaultTexturePath(xivTex.TextureFormat);
656656

657-
var newOffset = await _tex.TexDDSImporter(xivTex, item, di, "AddNewTextureNameToMaterial");
657+
var newOffset = await _tex.TexDDSImporter(xivTex, item, di, source);
658658

659659
}
660660

xivModdingFramework/Textures/FileTypes/Tex.cs

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -635,36 +635,29 @@ public async Task<int> TexDDSImporter(XivTex xivTex, IItem item, DirectoryInfo d
635635
break;
636636
}
637637

638-
if (textureType == xivTex.TextureFormat)
639-
{
640-
xivTex.TextureFormat = textureType;
641-
var uncompressedLength = (int)new FileInfo(ddsFileDirectory.FullName).Length - 128;
642-
var newTex = new List<byte>();
638+
xivTex.TextureFormat = textureType;
639+
var uncompressedLength = (int)new FileInfo(ddsFileDirectory.FullName).Length - 128;
640+
var newTex = new List<byte>();
643641

644-
if (!xivTex.TextureTypeAndPath.Path.Contains(".atex"))
645-
{
646-
var DDSInfo = await DDS.ReadDDS(br, xivTex, newWidth, newHeight, newMipCount);
642+
if (!xivTex.TextureTypeAndPath.Path.Contains(".atex"))
643+
{
644+
var DDSInfo = await DDS.ReadDDS(br, xivTex, newWidth, newHeight, newMipCount);
647645

648-
newTex.AddRange(_dat.MakeType4DatHeader(xivTex, DDSInfo.mipPartOffsets, DDSInfo.mipPartCounts, uncompressedLength, newMipCount, newWidth, newHeight));
649-
newTex.AddRange(MakeTextureInfoHeader(xivTex, newWidth, newHeight, newMipCount));
650-
newTex.AddRange(DDSInfo.compressedDDS);
646+
newTex.AddRange(_dat.MakeType4DatHeader(xivTex, DDSInfo.mipPartOffsets, DDSInfo.mipPartCounts, uncompressedLength, newMipCount, newWidth, newHeight));
647+
newTex.AddRange(MakeTextureInfoHeader(xivTex, newWidth, newHeight, newMipCount));
648+
newTex.AddRange(DDSInfo.compressedDDS);
651649

652-
offset = await _dat.WriteToDat(newTex, modEntry, xivTex.TextureTypeAndPath.Path,
653-
item.ItemCategory, item.Name, xivTex.TextureTypeAndPath.DataFile, source, 4);
654-
}
655-
else
656-
{
657-
br.BaseStream.Seek(128, SeekOrigin.Begin);
658-
newTex.AddRange(MakeTextureInfoHeader(xivTex, newWidth, newHeight, newMipCount));
659-
newTex.AddRange(br.ReadBytes(uncompressedLength));
660-
661-
offset = await _dat.ImportType2Data(newTex.ToArray(), item.Name, xivTex.TextureTypeAndPath.Path,
662-
item.ItemCategory, source);
663-
}
650+
offset = await _dat.WriteToDat(newTex, modEntry, xivTex.TextureTypeAndPath.Path,
651+
item.ItemCategory, item.Name, xivTex.TextureTypeAndPath.DataFile, source, 4);
664652
}
665653
else
666654
{
667-
throw new Exception($"Incorrect file type. Expected: {xivTex.TextureFormat} Given: {textureType}");
655+
br.BaseStream.Seek(128, SeekOrigin.Begin);
656+
newTex.AddRange(MakeTextureInfoHeader(xivTex, newWidth, newHeight, newMipCount));
657+
newTex.AddRange(br.ReadBytes(uncompressedLength));
658+
659+
offset = await _dat.ImportType2Data(newTex.ToArray(), item.Name, xivTex.TextureTypeAndPath.Path,
660+
item.ItemCategory, source);
668661
}
669662
}
670663
}

0 commit comments

Comments
 (0)