Skip to content

Commit d1ab801

Browse files
committed
- CN Offset Update
- Don't include extraneous files in old root when performing item conversions. - Pause import timer during item selection process.
1 parent bbb9cdc commit d1ab801

File tree

3 files changed

+47
-7
lines changed

3 files changed

+47
-7
lines changed

xivModdingFramework/Items/Categories/Gear.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,14 @@ public async Task<List<XivGear>> GetUnCachedGearList()
7676
const int iconDataOffset = 136;
7777
int slotDataOffset = 154;
7878

79-
if(_xivLanguage == XivLanguage.Chinese || _xivLanguage == XivLanguage.Korean)
79+
if( _xivLanguage == XivLanguage.Korean)
8080
{
8181
dataLength = 168;
8282
slotDataOffset = 156;
83+
} else if (_xivLanguage == XivLanguage.Chinese)
84+
{
85+
dataLength = 160;
86+
slotDataOffset = 154;
8387
}
8488

8589
var xivGearList = new List<XivGear>();

xivModdingFramework/Items/Categories/Housing.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,12 @@ private async Task<List<XivFurniture>> GetIndoorFurniture()
9292
int itemDataLength = 160;
9393
const int itemIconDataOffset = 136;
9494

95-
if(_xivLanguage == XivLanguage.Chinese || _xivLanguage == XivLanguage.Korean)
95+
if(_xivLanguage == XivLanguage.Korean)
9696
{
9797
itemDataLength = 168;
98+
} else if (_xivLanguage == XivLanguage.Chinese)
99+
{
100+
itemDataLength = 160;
98101
}
99102

100103
var ex = new Ex(_gameDirectory, _xivLanguage);
@@ -185,10 +188,14 @@ private async Task<List<XivFurniture>> GetPaintings()
185188
var pictureDictionary = await ex.ReadExData(XivEx.picture);
186189
var itemDictionary = await ex.ReadExData(XivEx.item);
187190

188-
if (_xivLanguage == XivLanguage.Chinese || _xivLanguage == XivLanguage.Korean)
191+
if (_xivLanguage == XivLanguage.Korean)
189192
{
190193
itemDataLength = 168;
191194
}
195+
else if (_xivLanguage == XivLanguage.Chinese)
196+
{
197+
itemDataLength = 160;
198+
}
192199

193200

194201
var furnitureList = new List<XivFurniture>();
@@ -259,10 +266,14 @@ private async Task<List<XivFurniture>> GetOutdoorFurniture()
259266
int itemDataLength = 160;
260267
const int itemIconDataOffset = 136;
261268

262-
if (_xivLanguage == XivLanguage.Chinese || _xivLanguage == XivLanguage.Korean)
269+
if ( _xivLanguage == XivLanguage.Korean)
263270
{
264271
itemDataLength = 168;
265272
}
273+
else if (_xivLanguage == XivLanguage.Chinese)
274+
{
275+
itemDataLength = 160;
276+
}
266277

267278
var ex = new Ex(_gameDirectory, _xivLanguage);
268279
var housingDictionary = await ex.ReadExData(XivEx.housingyardobject);

xivModdingFramework/Mods/FileTypes/TTMP.cs

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,9 @@ public string GetVersion(DirectoryInfo modPackDirectory)
462462
if (modsJson == null || modsJson.Count == 0) return (0, 0, "", 0);
463463

464464
var startTime = DateTime.Now.Ticks;
465+
long endTime = 0;
466+
long part1Duration = 0;
467+
long part2Duration = 0;
465468

466469
var dat = new Dat(gameDirectory);
467470
var modding = new Modding(gameDirectory);
@@ -667,6 +670,13 @@ await Task.Run(async () =>
667670
try
668671
{
669672
progress.Report((count, totalFiles, "Waiting on Destination Item Selection..."));
673+
674+
endTime = DateTime.Now.Ticks;
675+
676+
// Duration in ms
677+
part1Duration = (endTime - startTime) / 10000;
678+
679+
670680
rootConversions = await GetRootConversionsFunction(filePaths, modifiedIndexFiles, modList);
671681
} catch(OperationCanceledException ex)
672682
{
@@ -679,6 +689,8 @@ await Task.Run(async () =>
679689
return;
680690
}
681691

692+
startTime = DateTime.Now.Ticks;
693+
682694
if (rootConversions != null && rootConversions.Count > 0)
683695
{
684696
progress.Report((0, 0, "Updating Destination Items..."));
@@ -718,6 +730,19 @@ await Task.Run(async () =>
718730
mod.modPack = modPack;
719731
}
720732
}
733+
734+
// Remove any remaining lingering files which belong to this root.
735+
// Ex. Extraneous unused files in the modpack. This helps keep
736+
// any unnecessary files from poluting the original destination item post conversion.
737+
foreach(var file in filePaths.ToList())
738+
{
739+
var root = XivDependencyGraph.ExtractRootInfo(file);
740+
if(root == source.Info)
741+
{
742+
filePaths.Remove(file);
743+
filesToReset.Add(file);
744+
}
745+
}
721746
}
722747

723748
// Reset the index pointers back to previous.
@@ -918,12 +943,12 @@ await Task.Run(async () =>
918943
var errorCount = ErroneousFiles.Count;
919944
var count = totalFiles - errorCount;
920945

921-
var endtime = DateTime.Now.Ticks;
946+
endTime = DateTime.Now.Ticks;
922947

923948
// Duration in ms
924-
var duration = (endtime - startTime) / 10000;
949+
part2Duration = (endTime - startTime) / 10000;
925950

926-
float seconds = duration / 1000f;
951+
float seconds = (part1Duration + part2Duration) / 1000f;
927952

928953
return (count, errorCount, importErrors, seconds);
929954
}

0 commit comments

Comments
 (0)