//========================================================================== //Load the map //========================================================================== public void LoadMap(Classes.MapClass argument) { nameOfMap = argument.getMapName().Substring(0, argument.getMapName().Length - 4); TileSize = argument.getTileSize(); OffSet = argument.getOffSet(); RowCount = argument.getRowCount(); ColCount = argument.getColCount(); BMP = argument.getMapImage(); MaxTiles = argument.getMaxTiles(); CollisionMap = argument.getCollisionMap(); MapRectangles = argument.getRectangles(); Combination = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1); Label l = new Label { Text = "", Location = new Point((ColCount * TileSize) + 1, (RowCount * TileSize) + 1) //784,448 is a point outside of the viewable area }; Map.Controls.Add(l); MapCreated = true; MapNamed = true; int i = 0; Graphics g = Graphics.FromImage(Combination); g.SmoothingMode = SmoothingMode.AntiAlias; foreach (bool x in CollisionMap) { if (x) { g.FillRectangle(new SolidBrush(Color.FromArgb(75, Color.Red)), MapRectangles[i]); } i++; } Grid = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1); Graphics gg = Graphics.FromImage(Grid); Pen pen = new Pen(Color.Black); gg.SmoothingMode = SmoothingMode.AntiAlias; gg.FillRectangle(new SolidBrush(Color.Transparent), 0, 0, Grid.Size.Width, Grid.Size.Height); for (int z = 0; z < RowCount; z++) { for (int j = 0; j < ColCount; j++) { gg.DrawRectangle(pen, 0 + j * TileSize, 0 + z * TileSize, TileSize, TileSize); } } Map.Invalidate(); }