minimap: show ore/gems on minimap
This commit is contained in:
@@ -100,7 +100,7 @@ namespace OpenRa.Game
|
|||||||
|
|
||||||
chrome = new Chrome(renderer);
|
chrome = new Chrome(renderer);
|
||||||
|
|
||||||
oreFrequency = (int)(Rules.General.GrowthRate * 60 * 1000);
|
oreFrequency = (int)(Rules.General.GrowthRate * 60 * 25);
|
||||||
oreTicks = oreFrequency;
|
oreTicks = oreFrequency;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,9 +182,10 @@ namespace OpenRa.Game
|
|||||||
controller.orderGenerator.Tick();
|
controller.orderGenerator.Tick();
|
||||||
|
|
||||||
if (--oreTicks == 0)
|
if (--oreTicks == 0)
|
||||||
{
|
|
||||||
using (new PerfSample("ore"))
|
using (new PerfSample("ore"))
|
||||||
|
{
|
||||||
Rules.Map.GrowOre(SharedRandom);
|
Rules.Map.GrowOre(SharedRandom);
|
||||||
|
minimap.InvalidateOre();
|
||||||
oreTicks = oreFrequency;
|
oreTicks = oreFrequency;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ namespace OpenRa.Game.Graphics
|
|||||||
Sheet sheet;
|
Sheet sheet;
|
||||||
SpriteRenderer spriteRenderer;
|
SpriteRenderer spriteRenderer;
|
||||||
Sprite sprite;
|
Sprite sprite;
|
||||||
Bitmap terrain;
|
Bitmap terrain, oreLayer;
|
||||||
|
|
||||||
public void Tick() { }
|
public void Tick() { }
|
||||||
|
|
||||||
@@ -24,6 +24,8 @@ namespace OpenRa.Game.Graphics
|
|||||||
// todo: extract these from the palette
|
// todo: extract these from the palette
|
||||||
Color[] terrainTypeColors;
|
Color[] terrainTypeColors;
|
||||||
|
|
||||||
|
public void InvalidateOre() { oreLayer = null; }
|
||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
if (terrainTypeColors == null)
|
if (terrainTypeColors == null)
|
||||||
@@ -39,8 +41,10 @@ namespace OpenRa.Game.Graphics
|
|||||||
pal.GetColor(0x1f),
|
pal.GetColor(0x1f),
|
||||||
pal.GetColor(0x68),
|
pal.GetColor(0x68),
|
||||||
pal.GetColor(0x6b),
|
pal.GetColor(0x6b),
|
||||||
|
pal.GetColor(0x6d),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (terrain == null)
|
if (terrain == null)
|
||||||
{
|
{
|
||||||
terrain = new Bitmap(128, 128);
|
terrain = new Bitmap(128, 128);
|
||||||
@@ -51,7 +55,16 @@ namespace OpenRa.Game.Graphics
|
|||||||
: Color.Black);
|
: Color.Black);
|
||||||
}
|
}
|
||||||
|
|
||||||
var bitmap = new Bitmap(terrain);
|
if (oreLayer == null)
|
||||||
|
{
|
||||||
|
oreLayer = new Bitmap(terrain);
|
||||||
|
for (var y = 0; y < 128; y++)
|
||||||
|
for (var x = 0; x < 128; x++)
|
||||||
|
if (Rules.Map.ContainsResource(new int2(x, y)))
|
||||||
|
oreLayer.SetPixel(x, y, terrainTypeColors[(int)TerrainMovementType.Ore]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var bitmap = new Bitmap(oreLayer);
|
||||||
|
|
||||||
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++)
|
||||||
|
|||||||
Reference in New Issue
Block a user