Fix minimap size/render issues (still needs palette fix).
This commit is contained in:
@@ -93,6 +93,7 @@ namespace OpenRA.FileFormats
|
|||||||
LoadActors(file, "INFANTRY");
|
LoadActors(file, "INFANTRY");
|
||||||
|
|
||||||
SpawnPoints = file.GetSection("Waypoints")
|
SpawnPoints = file.GetSection("Waypoints")
|
||||||
|
.Where(kv => int.Parse(kv.Value) > 0)
|
||||||
.Select(kv => Pair.New(int.Parse(kv.Key), new int2(int.Parse(kv.Value) % MapSize, int.Parse(kv.Value) / MapSize)))
|
.Select(kv => Pair.New(int.Parse(kv.Key), new int2(int.Parse(kv.Value) % MapSize, int.Parse(kv.Value) / MapSize)))
|
||||||
.Where(a => a.First < 8)
|
.Where(a => a.First < 8)
|
||||||
.Select(a => a.Second)
|
.Select(a => a.Second)
|
||||||
|
|||||||
@@ -139,8 +139,6 @@ namespace OpenRA
|
|||||||
ready = new Animation("pips");
|
ready = new Animation("pips");
|
||||||
ready.PlayRepeating("ready");
|
ready.PlayRepeating("ready");
|
||||||
clock = new Animation("clock");
|
clock = new Animation("clock");
|
||||||
|
|
||||||
mapChooserSheet = new Sheet(r, new Size(128, 128));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<string> visibleTabs = new List<string>();
|
List<string> visibleTabs = new List<string>();
|
||||||
@@ -301,6 +299,9 @@ namespace OpenRA
|
|||||||
|
|
||||||
if (mapPreviewDirty)
|
if (mapPreviewDirty)
|
||||||
{
|
{
|
||||||
|
if (mapChooserSheet == null || mapChooserSheet.Size.Width != currentMap.Map.MapSize)
|
||||||
|
mapChooserSheet = new Sheet(renderer, new Size(currentMap.Map.MapSize, currentMap.Map.MapSize));
|
||||||
|
|
||||||
var b = Minimap.RenderTerrainBitmapWithSpawnPoints(currentMap.Map, Game.world.TileSet); // tileset -> hack
|
var b = Minimap.RenderTerrainBitmapWithSpawnPoints(currentMap.Map, Game.world.TileSet); // tileset -> hack
|
||||||
mapChooserSheet.Texture.SetData(b);
|
mapChooserSheet.Texture.SetData(b);
|
||||||
mapChooserSprite = new Sprite(mapChooserSheet,
|
mapChooserSprite = new Sprite(mapChooserSheet,
|
||||||
@@ -427,8 +428,8 @@ namespace OpenRA
|
|||||||
DrawDialogBackground(r, "dialog");
|
DrawDialogBackground(r, "dialog");
|
||||||
DrawCentered("OpenRA Multiplayer Lobby", new int2(r.Left + w / 2, r.Top + 20), Color.White);
|
DrawCentered("OpenRA Multiplayer Lobby", new int2(r.Left + w / 2, r.Top + 20), Color.White);
|
||||||
|
|
||||||
DrawDialogBackground(new Rectangle(r.Right - 324, r.Top + 43, 304, 244),"dialog2");
|
DrawDialogBackground(new Rectangle(r.Right - 264, r.Top + 43, 244, 244),"dialog2");
|
||||||
var minimapRect = new Rectangle(r.Right - 322, r.Top + 45, 300, 240);
|
var minimapRect = new Rectangle(r.Right - 262, r.Top + 45, 240, 240);
|
||||||
|
|
||||||
world.Minimap.Update();
|
world.Minimap.Update();
|
||||||
world.Minimap.Draw(minimapRect, true);
|
world.Minimap.Draw(minimapRect, true);
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ namespace OpenRA.Graphics
|
|||||||
public Minimap(World world, Renderer r)
|
public Minimap(World world, Renderer r)
|
||||||
{
|
{
|
||||||
this.world = world;
|
this.world = world;
|
||||||
sheet = new Sheet(r, new Size(128, 128));
|
sheet = new Sheet(r, new Size(world.Map.MapSize, world.Map.MapSize));
|
||||||
mapOnlySheet = new Sheet(r, new Size(128, 128));
|
mapOnlySheet = new Sheet(r, new Size(world.Map.MapSize, world.Map.MapSize));
|
||||||
|
|
||||||
lineRenderer = new LineRenderer(r);
|
lineRenderer = new LineRenderer(r);
|
||||||
rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader);
|
rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader);
|
||||||
@@ -105,14 +105,13 @@ namespace OpenRA.Graphics
|
|||||||
public static Bitmap RenderTerrainBitmapWithSpawnPoints(Map map, TileSet tileset)
|
public static Bitmap RenderTerrainBitmapWithSpawnPoints(Map map, TileSet tileset)
|
||||||
{
|
{
|
||||||
/* todo: do this a bit nicer */
|
/* todo: do this a bit nicer */
|
||||||
|
|
||||||
var terrain = RenderTerrainBitmap(map, tileset);
|
var terrain = RenderTerrainBitmap(map, tileset);
|
||||||
//foreach (var sp in map.SpawnPoints)
|
foreach (var sp in map.SpawnPoints)
|
||||||
// terrain.SetPixel(sp.X, sp.Y, Color.White);
|
terrain.SetPixel(sp.X, sp.Y, Color.White);
|
||||||
|
|
||||||
return terrain;
|
return terrain;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
if (terrain == null)
|
if (terrain == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user