Skip to content

Commit e276e8e

Browse files
committed
Various penumbra upgrade tweaks.
1 parent 3d8efe1 commit e276e8e

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

xivModdingFramework/Helpers/IOUtil.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,8 @@ public static void RecursiveDeleteDirectory(DirectoryInfo baseDir)
429429

430430
try
431431
{
432+
if (!baseDir.Exists)
433+
return;
432434
baseDir.Delete(true);
433435
}
434436
catch

xivModdingFramework/Mods/EndwalkerUpgrade.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1798,7 +1798,10 @@ public static async Task UpgradeRemainingTextures(Dictionary<string, FileStorage
17981798

17991799
var data = await ResolveFile(upgrade.Files["mask_old"], files, null);
18001800
data = await UpgradeMaskTex(data);
1801-
await WriteFile(data, upgrade.Files["mask_new"], files, null);
1801+
if (data != null)
1802+
{
1803+
await WriteFile(data, upgrade.Files["mask_new"], files, null);
1804+
}
18021805
}
18031806
}
18041807
else if (upgrade.Usage == EUpgradeTextureUsage.GearMaskLegacy)
@@ -1807,8 +1810,11 @@ public static async Task UpgradeRemainingTextures(Dictionary<string, FileStorage
18071810
{
18081811

18091812
var data = await ResolveFile(upgrade.Files["mask_old"], files, null);
1810-
data = await UpgradeMaskTex(data, true);
1811-
await WriteFile(data, upgrade.Files["mask_new"], files, null);
1813+
if (data != null)
1814+
{
1815+
data = await UpgradeMaskTex(data, true);
1816+
await WriteFile(data, upgrade.Files["mask_new"], files, null);
1817+
}
18121818
}
18131819
}
18141820
}

xivModdingFramework/Mods/ModpackUpgrader.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,15 @@ private static bool AnyChanges(Dictionary<string, FileStorageInformation> origin
209209
return (data, anyChanges);
210210
}
211211

212-
public static async Task<bool> UpgradeModpack(string path, string newPath, bool includePartials = true)
212+
public static async Task<bool> UpgradeModpack(string path, string newPath, bool includePartials = true, bool rewriteOnNoChanges = false)
213213
{
214214
var data = await UpgradeModpack(path, includePartials);
215215

216-
await data.Data.WriteModpack(newPath, true);
216+
if (data.AnyChanges || rewriteOnNoChanges)
217+
{
218+
await data.Data.WriteModpack(newPath, true);
219+
}
220+
217221
return data.AnyChanges;
218222
}
219223

xivModdingFramework/SqPack/FileTypes/TransactionDataHandler.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public bool LiveGameFile
6363
{
6464
get
6565
{
66+
if (RealPath == null) return false;
6667
return RealPath.StartsWith(XivCache.GameInfo.GameDirectory.FullName) && RealPath.EndsWith(Dat.DatExtension) && StorageType == EFileStorageType.CompressedBlob;
6768
}
6869
}

0 commit comments

Comments
 (0)