Slightly simplify lightmap bytes conversion

This commit is contained in:
Jarrod Doyle 2024-08-29 16:44:14 +01:00
parent 117f5b924c
commit 5b53d03ae6
Signed by: Jayrude
GPG Key ID: 38B57B16E7C0ADF7
1 changed files with 8 additions and 7 deletions

View File

@ -151,20 +151,18 @@ public class WorldRep : IChunk
public readonly byte[] AsBytesRgba(int layer)
{
if (layer >= Layers)
{
throw new ArgumentOutOfRangeException(nameof(layer));
}
ArgumentOutOfRangeException.ThrowIfLessThan(layer, 0, nameof(layer));
ArgumentOutOfRangeException.ThrowIfGreaterThan(layer, Layers, nameof(layer));
var bIdx = 0;
var pIdx = layer * Bpp * Width * Height;
var length = Width * Height * 4;
var layerOffset = layer * Bpp * Width * Height;
var bytes = new byte[length];
for (var y = 0; y < Height; y++)
{
for (var x = 0; x < Width; x++)
{
var bIdx = x * 4 + y * 4 * Width;
var pIdx = x * Bpp + y * Bpp * Width + layerOffset;
switch (Bpp)
{
case 1:
@ -188,6 +186,9 @@ public class WorldRep : IChunk
bytes[bIdx + 3] = Pixels[pIdx + 3];
break;
}
bIdx += 4;
pIdx += Bpp;
}
}