@@ -218,7 +218,8 @@ public async Task<List<XivImc>> GetEntries(List<string> pathsWithOffsets, bool f
218
218
MaterialSet = br . ReadByte ( ) ,
219
219
Decal = br . ReadByte ( ) ,
220
220
Mask = br . ReadUInt16 ( ) ,
221
- Vfx = br . ReadUInt16 ( )
221
+ Vfx = br . ReadByte ( ) ,
222
+ Animation = br . ReadByte ( )
222
223
} ) ;
223
224
}
224
225
@@ -279,6 +280,7 @@ internal async Task SaveEntries(string path, string slot, List<XivImc> entries)
279
280
e . Mask = entries [ i ] . Mask ;
280
281
e . Decal = entries [ i ] . Decal ;
281
282
e . Vfx = entries [ i ] . Vfx ;
283
+ e . Animation = entries [ i ] . Animation ;
282
284
e . MaterialSet = entries [ i ] . MaterialSet ;
283
285
284
286
if ( i >= info . SubsetCount + 1 )
@@ -298,7 +300,8 @@ public static byte[] SerializeEntry(XivImc entry)
298
300
bytes . Add ( ( byte ) entry . MaterialSet ) ;
299
301
bytes . Add ( ( byte ) entry . Decal ) ;
300
302
bytes . AddRange ( BitConverter . GetBytes ( ( ushort ) entry . Mask ) ) ;
301
- bytes . AddRange ( BitConverter . GetBytes ( ( ushort ) entry . Vfx ) ) ;
303
+ bytes . Add ( ( byte ) entry . Vfx ) ;
304
+ bytes . Add ( ( byte ) entry . Animation ) ;
302
305
return bytes . ToArray ( ) ;
303
306
}
304
307
@@ -310,13 +313,15 @@ public static XivImc DeserializeEntry(byte[] data)
310
313
byte variant = br . ReadByte ( ) ;
311
314
byte unknown = br . ReadByte ( ) ;
312
315
ushort mask = br . ReadUInt16 ( ) ;
313
- ushort vfx = br . ReadUInt16 ( ) ;
316
+ byte vfx = br . ReadByte ( ) ;
317
+ byte anim = br . ReadByte ( ) ;
314
318
return new XivImc
315
319
{
316
320
MaterialSet = variant ,
317
321
Decal = unknown ,
318
322
Mask = mask ,
319
- Vfx = vfx
323
+ Vfx = vfx ,
324
+ Animation = anim
320
325
} ;
321
326
322
327
}
@@ -364,29 +369,33 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
364
369
byte variant = br . ReadByte ( ) ;
365
370
byte unknown = br . ReadByte ( ) ;
366
371
ushort mask = br . ReadUInt16 ( ) ;
367
- ushort vfx = br . ReadUInt16 ( ) ;
372
+ byte vfx = br . ReadByte ( ) ;
373
+ byte anim = br . ReadByte ( ) ;
368
374
369
375
imcData . DefaultSubset . Add ( new XivImc
370
376
{
371
377
MaterialSet = variant ,
372
378
Decal = unknown ,
373
379
Mask = mask ,
374
- Vfx = variant
380
+ Vfx = variant ,
381
+ Animation = anim
375
382
} ) ;
376
383
377
384
for ( var i = 0 ; i < subsetCount ; i ++ )
378
385
{
379
386
variant = br . ReadByte ( ) ;
380
387
unknown = br . ReadByte ( ) ;
381
388
mask = br . ReadUInt16 ( ) ;
382
- vfx = br . ReadUInt16 ( ) ;
389
+ vfx = br . ReadByte ( ) ;
390
+ anim = br . ReadByte ( ) ;
383
391
384
392
var newEntry = new XivImc
385
393
{
386
394
MaterialSet = variant ,
387
395
Decal = unknown ,
388
396
Mask = mask ,
389
- Vfx = vfx
397
+ Vfx = vfx ,
398
+ Animation = anim
390
399
} ;
391
400
var subset = new List < XivImc > ( ) { newEntry } ;
392
401
imcData . SubsetList . Add ( subset ) ;
@@ -398,15 +407,15 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
398
407
imcData . DefaultSubset = new List < XivImc > ( )
399
408
{
400
409
new XivImc
401
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
410
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
402
411
new XivImc
403
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
412
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
404
413
new XivImc
405
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
414
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
406
415
new XivImc
407
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
416
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
408
417
new XivImc
409
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
418
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
410
419
} ;
411
420
412
421
for ( var i = 0 ; i < subsetCount ; i ++ )
@@ -415,15 +424,15 @@ public async Task<FullImcInfo> GetFullImcInfo(string path)
415
424
var imcGear = new List < XivImc > ( )
416
425
{
417
426
new XivImc
418
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
427
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
419
428
new XivImc
420
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
429
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
421
430
new XivImc
422
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
431
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
423
432
new XivImc
424
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
433
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
425
434
new XivImc
426
- { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadUInt16 ( ) } ,
435
+ { MaterialSet = br . ReadByte ( ) , Decal = br . ReadByte ( ) , Mask = br . ReadUInt16 ( ) , Vfx = br . ReadByte ( ) , Animation = br . ReadByte ( ) } ,
427
436
} ;
428
437
imcData . SubsetList . Add ( imcGear ) ;
429
438
}
0 commit comments