17
17
using xivModdingFramework . SqPack . DataContainers ;
18
18
using xivModdingFramework . SqPack . FileTypes ;
19
19
20
+ using Index = xivModdingFramework . SqPack . FileTypes . Index ;
21
+
20
22
namespace xivModdingFramework . Models . FileTypes
21
23
{
22
24
public class Eqp
@@ -167,7 +169,7 @@ public async Task SaveGmpEntries(List<(uint PrimaryId, GimmickParameter GmpData)
167
169
168
170
}
169
171
170
- public async Task SaveGimmickParameter ( int equipmentId , GimmickParameter param , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null )
172
+ public async Task SaveGimmickParameter ( int equipmentId , GimmickParameter param , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null , bool doLumina = false , DirectoryInfo luminaOutDir = null )
171
173
{
172
174
if ( equipmentId == 0 )
173
175
{
@@ -193,7 +195,7 @@ public async Task SaveGimmickParameter(int equipmentId, GimmickParameter param,
193
195
194
196
IOUtil . ReplaceBytesAt ( data , param . GetBytes ( ) , offset ) ;
195
197
196
- await SaveGimmickParameterFile ( data , referenceItem , cachedIndexFile , cachedModList ) ;
198
+ await SaveGimmickParameterFile ( data , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
197
199
}
198
200
199
201
public async Task < GimmickParameter > GetGimmickParameter ( IItem item , bool forceDefault = false )
@@ -249,9 +251,9 @@ public async Task<GimmickParameter> GetGimmickParameter(int equipmentId, bool fo
249
251
return param ;
250
252
}
251
253
252
- private async Task SaveGimmickParameterFile ( byte [ ] bytes , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null )
254
+ private async Task SaveGimmickParameterFile ( byte [ ] bytes , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null , bool doLumina = false , DirectoryInfo luminaOutDir = null )
253
255
{
254
- await _dat . ImportType2Data ( bytes , GimmickParameterFile , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList ) ;
256
+ await _dat . ImportType2Data ( bytes , GimmickParameterFile , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
255
257
}
256
258
private async Task < byte [ ] > LoadGimmickParameterFile ( bool forceDefault = false )
257
259
{
@@ -332,7 +334,7 @@ public async Task SaveEqpEntries(List<(uint PrimaryId, EquipmentParameter EqpDat
332
334
/// <param name="equipmentId"></param>
333
335
/// <param name="data"></param>
334
336
/// <returns></returns>
335
- public async Task SaveEqpEntry ( int equipmentId , EquipmentParameter data , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null )
337
+ public async Task SaveEqpEntry ( int equipmentId , EquipmentParameter data , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null , bool doLumina = false , DirectoryInfo luminaOutDir = null )
336
338
{
337
339
if ( equipmentId < 0 )
338
340
{
@@ -369,7 +371,7 @@ public async Task SaveEqpEntry(int equipmentId, EquipmentParameter data, IItem r
369
371
370
372
IOUtil . ReplaceBytesAt ( file , bytes , offset ) ;
371
373
372
- await _dat . ImportType2Data ( file . ToArray ( ) , EquipmentParameterFile , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList ) ;
374
+ await _dat . ImportType2Data ( file . ToArray ( ) , EquipmentParameterFile , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
373
375
}
374
376
375
377
@@ -676,7 +678,7 @@ private int ResolveEqpEntryOffset(byte[] file, int equipmentId)
676
678
/// <param name="cachedIndexFile"></param>
677
679
/// <param name="cachedModList"></param>
678
680
/// <returns></returns>
679
- public async Task SaveEqdpEntries ( Dictionary < XivRace , List < ( uint PrimaryId , string Slot , EquipmentDeformationParameter Entry ) > > entries , IItem referenceItem , IndexFile cachedIndexFile , ModList cachedModList )
681
+ public async Task SaveEqdpEntries ( Dictionary < XivRace , List < ( uint PrimaryId , string Slot , EquipmentDeformationParameter Entry ) > > entries , IItem referenceItem , IndexFile cachedIndexFile , ModList cachedModList , bool doLumina = false , DirectoryInfo luminaOutDir = null )
680
682
{
681
683
// Group entries into Accessories and Non-Accessories.
682
684
var accessories = new Dictionary < XivRace , List < ( uint PrimaryId , string Slot , EquipmentDeformationParameter Entry ) > > ( ) ;
@@ -790,7 +792,7 @@ public async Task SaveEqdpEntries(Dictionary<XivRace, List<(uint PrimaryId, stri
790
792
data [ offset + byteOffset ] = byteToModify ;
791
793
}
792
794
793
- await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList ) ;
795
+ await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
794
796
}
795
797
796
798
// Loop Accessories
@@ -863,14 +865,14 @@ public async Task SaveEqdpEntries(Dictionary<XivRace, List<(uint PrimaryId, stri
863
865
864
866
data [ offset + byteOffset ] = byteToModify ;
865
867
}
866
- await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList ) ;
868
+ await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
867
869
868
870
}
869
871
870
872
871
873
}
872
874
873
- public async Task SaveEqdpEntries ( uint primaryId , string slot , Dictionary < XivRace , EquipmentDeformationParameter > parameters , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null )
875
+ public async Task SaveEqdpEntries ( uint primaryId , string slot , Dictionary < XivRace , EquipmentDeformationParameter > parameters , IItem referenceItem = null , IndexFile cachedIndexFile = null , ModList cachedModList = null , bool doLumina = false , DirectoryInfo luminaOutDir = null )
874
876
{
875
877
var isAccessory = EquipmentDeformationParameterSet . SlotsAsList ( true ) . Contains ( slot ) ;
876
878
@@ -948,7 +950,7 @@ public async Task SaveEqdpEntries(uint primaryId, string slot, Dictionary<XivRac
948
950
949
951
data [ offset + byteOffset ] = byteToModify ;
950
952
951
- await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList ) ;
953
+ await _dat . ImportType2Data ( data , fileName , Constants . InternalModSourceName , referenceItem , cachedIndexFile , cachedModList , doLumina , luminaOutDir ) ;
952
954
}
953
955
}
954
956
0 commit comments