Add TextureChannel.RGBA for RBGA sprites.

This commit is contained in:
Paul Chote
2018-05-31 21:54:07 +01:00
committed by reaperrr
parent c307b3e291
commit ba38878933
10 changed files with 28 additions and 27 deletions

View File

@@ -65,7 +65,7 @@ namespace OpenRA.Mods.Common.Widgets
vRange[1] = vMax - VTrim;
var rect = new Rectangle((int)(255 * sRange[0]), (int)(255 * (1 - vRange[1])), (int)(255 * (sRange[1] - sRange[0])) + 1, (int)(255 * (vRange[1] - vRange[0])) + 1);
mixerSprite = new Sprite(mixerSprite.Sheet, rect, TextureChannel.Alpha);
mixerSprite = new Sprite(mixerSprite.Sheet, rect, TextureChannel.RGBA);
}
public override void Initialize(WidgetArgs args)
@@ -84,7 +84,7 @@ namespace OpenRA.Mods.Common.Widgets
var rect = new Rectangle((int)(255 * sRange[0]), (int)(255 * (1 - vRange[1])), (int)(255 * (sRange[1] - sRange[0])) + 1, (int)(255 * (vRange[1] - vRange[0])) + 1);
var mixerSheet = new Sheet(SheetType.BGRA, new Size(256, 256));
mixerSheet.GetTexture().SetData(front, 256, 256);
mixerSprite = new Sprite(mixerSheet, rect, TextureChannel.Alpha);
mixerSprite = new Sprite(mixerSheet, rect, TextureChannel.RGBA);
GenerateBitmap();
}

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.Common.Widgets
using (var hueBitmap = new Bitmap(256, 256))
{
var hueSheet = new Sheet(SheetType.BGRA, new Size(256, 256));
hueSprite = new Sprite(hueSheet, new Rectangle(0, 0, 256, 1), TextureChannel.Alpha);
hueSprite = new Sprite(hueSheet, new Rectangle(0, 0, 256, 1), TextureChannel.RGBA);
var bitmapData = hueBitmap.LockBits(hueBitmap.Bounds(),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);

View File

@@ -125,9 +125,9 @@ namespace OpenRA.Mods.Common.Widgets
previewOrigin = new int2((int)((rb.Width - previewScale * b.Width) / 2), (int)((rb.Height - previewScale * b.Height) / 2));
mapRect = new Rectangle(previewOrigin.X, previewOrigin.Y, (int)(previewScale * b.Width), (int)(previewScale * b.Height));
terrainSprite = new Sprite(radarSheet, b, TextureChannel.Alpha);
shroudSprite = new Sprite(radarSheet, new Rectangle(b.Location + new Size(previewWidth, 0), b.Size), TextureChannel.Alpha);
actorSprite = new Sprite(radarSheet, new Rectangle(b.Location + new Size(0, previewHeight), b.Size), TextureChannel.Alpha);
terrainSprite = new Sprite(radarSheet, b, TextureChannel.RGBA);
shroudSprite = new Sprite(radarSheet, new Rectangle(b.Location + new Size(previewWidth, 0), b.Size), TextureChannel.RGBA);
actorSprite = new Sprite(radarSheet, new Rectangle(b.Location + new Size(0, previewHeight), b.Size), TextureChannel.RGBA);
}
void UpdateTerrainCell(CPos cell)

View File

@@ -72,7 +72,7 @@ namespace OpenRA.Mods.Common.Widgets
0,
video.Width,
video.Height),
TextureChannel.Alpha);
TextureChannel.RGBA);
var scale = Math.Min((float)RenderBounds.Width / video.Width, (float)RenderBounds.Height / video.Height * AspectRatio);
videoOrigin = new float2(
@@ -93,7 +93,7 @@ namespace OpenRA.Mods.Common.Widgets
var overlaySheet = new Sheet(SheetType.BGRA, new Size(1, Exts.NextPowerOf2(scaledHeight)));
overlaySheet.GetTexture().SetData(overlay);
overlaySprite = new Sprite(overlaySheet, new Rectangle(0, 0, 1, scaledHeight), TextureChannel.Alpha);
overlaySprite = new Sprite(overlaySheet, new Rectangle(0, 0, 1, scaledHeight), TextureChannel.RGBA);
}
public override void Draw()