New radar bin behavior test
This commit is contained in:
@@ -59,10 +59,12 @@ namespace OpenRa.Game
|
|||||||
// Radar
|
// Radar
|
||||||
readonly Sheet radarBinTextureAllied;
|
readonly Sheet radarBinTextureAllied;
|
||||||
readonly Sheet radarBinTextureSoviet;
|
readonly Sheet radarBinTextureSoviet;
|
||||||
|
readonly Sheet radarBinTextureBorder;
|
||||||
readonly Sprite radarBinAllied;
|
readonly Sprite radarBinAllied;
|
||||||
readonly Sprite radarBinSoviet;
|
readonly Sprite radarBinSoviet;
|
||||||
|
readonly Sprite radarBinBorder;
|
||||||
static float2 radarOpenOrigin = new float2(Game.viewport.Width - 250, 29);
|
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;
|
float2 radarOrigin;
|
||||||
bool radarAnimating = false;
|
bool radarAnimating = false;
|
||||||
int radarVelocity = 15;
|
int radarVelocity = 15;
|
||||||
@@ -102,9 +104,11 @@ namespace OpenRa.Game
|
|||||||
// Radar
|
// Radar
|
||||||
radarBinTextureAllied = new Sheet(renderer, "radarbin-allies.png");
|
radarBinTextureAllied = new Sheet(renderer, "radarbin-allies.png");
|
||||||
radarBinTextureSoviet = new Sheet(renderer, "radarbin-soviet.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);
|
radarBinAllied = new Sprite(radarBinTextureAllied, new Rectangle(0, 0, 210, 201), TextureChannel.Alpha);
|
||||||
radarBinSoviet = new Sprite(radarBinTextureSoviet, 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;
|
radarOrigin = radarClosedOrigin;
|
||||||
|
|
||||||
var powerIndicator = new Animation("power");
|
var powerIndicator = new Animation("power");
|
||||||
@@ -249,13 +253,14 @@ namespace OpenRa.Game
|
|||||||
hadRadar = hasRadar;
|
hadRadar = hasRadar;
|
||||||
|
|
||||||
var isJammed = false; // todo: MRJ can do this
|
var isJammed = false; // todo: MRJ can do this
|
||||||
|
/*
|
||||||
rgbaRenderer.DrawSprite((Game.LocalPlayer.Race == Race.Allies) ? radarBinAllied : radarBinSoviet,
|
rgbaRenderer.DrawSprite((Game.LocalPlayer.Race == Race.Allies) ? radarBinAllied : radarBinSoviet,
|
||||||
radarOrigin,
|
radarOrigin,
|
||||||
PaletteType.Chrome);
|
PaletteType.Chrome);
|
||||||
|
*/
|
||||||
|
rgbaRenderer.DrawSprite(radarBinBorder,radarOrigin,PaletteType.Chrome);
|
||||||
rgbaRenderer.Flush();
|
rgbaRenderer.Flush();
|
||||||
if (!radarAnimating && hasRadar)
|
if (hasRadar || radarAnimating)
|
||||||
Game.minimap.Draw(radarOrigin + new float2(9,0), hasRadar, isJammed);
|
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 System.Linq;
|
||||||
using OpenRa.Game.Traits;
|
using OpenRa.Game.Traits;
|
||||||
using OpenRa.FileFormats;
|
using OpenRa.FileFormats;
|
||||||
@@ -12,6 +13,7 @@ namespace OpenRa.Game.Graphics
|
|||||||
SpriteRenderer rgbaRenderer;
|
SpriteRenderer rgbaRenderer;
|
||||||
Sprite sprite;
|
Sprite sprite;
|
||||||
Bitmap terrain, oreLayer;
|
Bitmap terrain, oreLayer;
|
||||||
|
const int alpha = 230;
|
||||||
|
|
||||||
public void Tick() { }
|
public void Tick() { }
|
||||||
|
|
||||||
@@ -20,7 +22,11 @@ namespace OpenRa.Game.Graphics
|
|||||||
sheet = new Sheet(r, new Size(128, 128));
|
sheet = new Sheet(r, new Size(128, 128));
|
||||||
|
|
||||||
rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader);
|
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;
|
Color[] terrainTypeColors;
|
||||||
@@ -55,8 +61,8 @@ namespace OpenRa.Game.Graphics
|
|||||||
for (var y = 0; y < 128; y++)
|
for (var y = 0; y < 128; y++)
|
||||||
for (var x = 0; x < 128; x++)
|
for (var x = 0; x < 128; x++)
|
||||||
terrain.SetPixel(x, y, Rules.Map.IsInMap(x, y)
|
terrain.SetPixel(x, y, Rules.Map.IsInMap(x, y)
|
||||||
? terrainTypeColors[Rules.TileSet.GetWalkability(Rules.Map.MapTiles[x, y])]
|
? Color.FromArgb(alpha, terrainTypeColors[Rules.TileSet.GetWalkability(Rules.Map.MapTiles[x, y])])
|
||||||
: Color.Black);
|
: Color.FromArgb(alpha, Color.Black));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oreLayer == null)
|
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