@@ -421,29 +421,35 @@ public Task<byte[]> GetImageData(XivTex xivTex, int layer = -1)
421
421
{
422
422
byte [ ] imageData = null ;
423
423
424
+ var layers = xivTex . Layers ;
425
+ if ( layers == 0 )
426
+ {
427
+ layers = 1 ;
428
+ }
429
+
424
430
switch ( xivTex . TextureFormat )
425
431
{
426
432
case XivTexFormat . DXT1 :
427
- imageData = DxtUtil . DecompressDxt1 ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
433
+ imageData = DxtUtil . DecompressDxt1 ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
428
434
break ;
429
435
case XivTexFormat . DXT3 :
430
- imageData = DxtUtil . DecompressDxt3 ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
436
+ imageData = DxtUtil . DecompressDxt3 ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
431
437
break ;
432
438
case XivTexFormat . DXT5 :
433
- imageData = DxtUtil . DecompressDxt5 ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
439
+ imageData = DxtUtil . DecompressDxt5 ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
434
440
break ;
435
441
case XivTexFormat . A4R4G4B4 :
436
- imageData = await Read4444Image ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
442
+ imageData = await Read4444Image ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
437
443
break ;
438
444
case XivTexFormat . A1R5G5B5 :
439
- imageData = await Read5551Image ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
445
+ imageData = await Read5551Image ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
440
446
break ;
441
447
case XivTexFormat . A8R8G8B8 :
442
- imageData = await SwapRBColors ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
448
+ imageData = await SwapRBColors ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
443
449
break ;
444
450
case XivTexFormat . L8 :
445
451
case XivTexFormat . A8 :
446
- imageData = await Read8bitImage ( xivTex . TexData , xivTex . Width , xivTex . Height * xivTex . Layers ) ;
452
+ imageData = await Read8bitImage ( xivTex . TexData , xivTex . Width , xivTex . Height * layers ) ;
447
453
break ;
448
454
case XivTexFormat . X8R8G8B8 :
449
455
case XivTexFormat . R32F :
0 commit comments