using BCnEncoder.Decoder; using BCnEncoder.Shared; using XFEEDToolBox.Core.Rendering; using XFEExtension.NetCore.XUnit.Attributes; namespace XFEEDToolBox.Test; [TestFixture] public sealed class GalaxyOriginalGridTextureTests { [Test] public void SectorLineRetainsOriginalBc7PaddedMipChainAndNamedFadeInputs() { var source=GalaxyOriginalGridTexture.Reference; Check.Equal(353280,source.Payload.Length);Check.Equal(10,source.Mips.Count); Check.Equal(2048,source.Mips[0].RowPitch);Check.Equal(262144,source.Mips[0].SliceBytes); Check.Equal(352768,source.Mips[^1].Offset);Check.Equal(512,source.Mips[^1].Size); Check.Equal(2.31f,source.AuthoredFade.X);Check.Equal(2f,source.AuthoredFade.Y); Check.Equal(.38f,source.AuthoredFade.Z);Check.Equal(.06f,source.AuthoredFade.W); } [Test] public void ActualGridPatternUsesFirstAtlasRowWithTransparentBorders() { var source=GalaxyOriginalGridTexture.Reference; var decoded=new BcDecoder().DecodeRaw(source.Payload.Span[..source.Mips[0].SliceBytes].ToArray(),512,512,CompressionFormat.Bc7); Check.That(decoded[10*512+256].a<=1);Check.That(decoded[32*512+256].a>=254); Check.That(decoded[60*512+256].a<=1); // The second row is a different authored dash pattern. It must not // replace the grid's original y=0..1/8 selection or be regenerated. Check.That(decoded[95*512+128].a<=1);Check.That(decoded[95*512+256].a>=254); } }