New radar bin behavior test
This commit is contained in:
@@ -59,10 +59,12 @@ namespace OpenRa.Game
|
||||
// Radar
|
||||
readonly Sheet radarBinTextureAllied;
|
||||
readonly Sheet radarBinTextureSoviet;
|
||||
readonly Sheet radarBinTextureBorder;
|
||||
readonly Sprite radarBinAllied;
|
||||
readonly Sprite radarBinSoviet;
|
||||
readonly Sprite radarBinBorder;
|
||||
static float2 radarOpenOrigin = new float2(Game.viewport.Width - 250, 29);
|
||||
static float2 radarClosedOrigin = new float2(Game.viewport.Width - 250, -155);
|
||||
static float2 radarClosedOrigin = new float2(Game.viewport.Width - 250, -162);
|
||||
float2 radarOrigin;
|
||||
bool radarAnimating = false;
|
||||
int radarVelocity = 15;
|
||||
@@ -102,8 +104,10 @@ namespace OpenRa.Game
|
||||
// Radar
|
||||
radarBinTextureAllied = new Sheet(renderer, "radarbin-allies.png");
|
||||
radarBinTextureSoviet = new Sheet(renderer, "radarbin-soviet.png");
|
||||
radarBinTextureBorder = new Sheet(renderer, "radarbin-border.png");
|
||||
radarBinAllied = new Sprite(radarBinTextureAllied, new Rectangle(0, 0, 210, 201), TextureChannel.Alpha);
|
||||
radarBinSoviet = new Sprite(radarBinTextureSoviet, new Rectangle(0,0,210,201), TextureChannel.Alpha);
|
||||
radarBinBorder = new Sprite(radarBinTextureBorder, new Rectangle(0, 0, 210, 201), TextureChannel.Alpha);
|
||||
|
||||
radarOrigin = radarClosedOrigin;
|
||||
|
||||
@@ -249,13 +253,14 @@ namespace OpenRa.Game
|
||||
hadRadar = hasRadar;
|
||||
|
||||
var isJammed = false; // todo: MRJ can do this
|
||||
|
||||
/*
|
||||
rgbaRenderer.DrawSprite((Game.LocalPlayer.Race == Race.Allies) ? radarBinAllied : radarBinSoviet,
|
||||
radarOrigin,
|
||||
PaletteType.Chrome);
|
||||
|
||||
*/
|
||||
rgbaRenderer.DrawSprite(radarBinBorder,radarOrigin,PaletteType.Chrome);
|
||||
rgbaRenderer.Flush();
|
||||
if (!radarAnimating && hasRadar)
|
||||
if (hasRadar || radarAnimating)
|
||||
Game.minimap.Draw(radarOrigin + new float2(9,0), hasRadar, isJammed);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Drawing;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRa.Game.Traits;
|
||||
using OpenRa.FileFormats;
|
||||
@@ -12,6 +13,7 @@ namespace OpenRa.Game.Graphics
|
||||
SpriteRenderer rgbaRenderer;
|
||||
Sprite sprite;
|
||||
Bitmap terrain, oreLayer;
|
||||
const int alpha = 230;
|
||||
|
||||
public void Tick() { }
|
||||
|
||||
@@ -20,7 +22,11 @@ namespace OpenRa.Game.Graphics
|
||||
sheet = new Sheet(r, new Size(128, 128));
|
||||
|
||||
rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader);
|
||||
sprite = new Sprite(sheet, new Rectangle(0, 0, 128, 128), TextureChannel.Alpha);
|
||||
var size = Math.Max(Rules.Map.Width, Rules.Map.Height);
|
||||
var dw = (size - Rules.Map.Width) / 2;
|
||||
var dh = (size - Rules.Map.Height) / 2;
|
||||
|
||||
sprite = new Sprite(sheet, new Rectangle(Rules.Map.Offset.X+dw, Rules.Map.Offset.Y+dh, size, size), TextureChannel.Alpha);
|
||||
}
|
||||
|
||||
Color[] terrainTypeColors;
|
||||
@@ -55,8 +61,8 @@ namespace OpenRa.Game.Graphics
|
||||
for (var y = 0; y < 128; y++)
|
||||
for (var x = 0; x < 128; x++)
|
||||
terrain.SetPixel(x, y, Rules.Map.IsInMap(x, y)
|
||||
? terrainTypeColors[Rules.TileSet.GetWalkability(Rules.Map.MapTiles[x, y])]
|
||||
: Color.Black);
|
||||
? Color.FromArgb(alpha, terrainTypeColors[Rules.TileSet.GetWalkability(Rules.Map.MapTiles[x, y])])
|
||||
: Color.FromArgb(alpha, Color.Black));
|
||||
}
|
||||
|
||||
if (oreLayer == null)
|
||||
|
||||
BIN
radarbin-border.png
Normal file
BIN
radarbin-border.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Reference in New Issue
Block a user