void LoadMap(bool deleteMinimap)
    {
        dir          = gameinfo.GetMap().startingDir;
        compass.text = directionText[(int)dir];
        LoadSpriteset();
        mapGrid         = new List <List <Color> >();
        blockGrid       = new List <List <BlockType> >();
        minimap         = new List <List <Color> >();
        frameBackground = new Color();
        if (deleteMinimap)
        {
            minimapViewed = new List <List <bool> >();
        }
        ColorUtility.TryParseHtmlString("#1d2025", out frameBackground);
        for (int i = gameinfo.GetMap().map.height - 1; i >= 0; --i)
        {
            mapGrid.Add(gameinfo.GetMap().map.GetPixels().OfType <Color>().ToList().GetRange(i * gameinfo.GetMap().map.width, gameinfo.GetMap().map.width));
            blockGrid.Add(new List <BlockType>());
            minimap.Add(new List <Color>());
            minimapViewed.Add(new List <bool>());
        }

        for (int i = 0; i < mapGrid.Count; ++i)
        {
            for (int j = 0; j < mapGrid[0].Count; ++j)
            {
                if (mapGrid[i][j] == new Color(1, 1, 1))                //white
                {
                    blockGrid[i].Add(BlockType.Empty);
                    minimap[i].Add(new Color(1, 1, 1));
                    minimapViewed[i].Add(false);
                }
                else if (mapGrid[i][j] == new Color(0, 0, 0))                //black
                {
                    blockGrid[i].Add(BlockType.Block);
                    minimap[i].Add(new Color(0, 0, 0));
                    minimapViewed[i].Add(false);
                }
                else if (gameinfo.GetEncounterColors().Contains(mapGrid[i][j]))                  //black
                {
                    blockGrid[i].Add(BlockType.Door);
                    minimap[i].Add(new Color(1, 1, 1));
                    minimapViewed[i].Add(false);
                }
                else if (gameinfo.GetSignColors().Contains(mapGrid[i][j]))                  //black
                {
                    blockGrid[i].Add(BlockType.Sign);
                    minimap[i].Add(new Color(1, 1, 1));
                    minimapViewed[i].Add(false);
                }
                else
                {
                    blockGrid[i].Add(BlockType.Empty);
                    minimap[i].Add(new Color(1, 1, 1));
                    minimapViewed[i].Add(false);
                }


                if (mapGrid[i][j] == playerSpawn)
                {
                    minimap[i][j]       = new Color(1, 0, 0);
                    minimapViewed[i][j] = true;
                    cameraX             = j;
                    cameraY             = i;
                    lastCameraX         = cameraX;
                    lastCameraY         = cameraY;
                }
                if (mapGrid[i][j] == gameinfo.GetEndingColor())
                {
                    blockGrid[i][j]     = BlockType.Exit;
                    minimap[i][j]       = new Color(0, 1, 0);
                    minimapViewed[i][j] = true;
                    gameinfo.SetEnding(i, j);
                }
                for (int k = 0; k < gameinfo.GetEncounters().Count; ++k)
                {
                    if (gameinfo.GetEncounters()[k].GetColor().Equals(mapGrid[i][j]))
                    {
                        gameinfo.GetEncounters()[k].SetCoords(i, j);
                    }
                }
                for (int k = 0; k < gameinfo.GetSigns().Count; ++k)
                {
                    if (gameinfo.GetSigns()[k].GetColor().Equals(mapGrid[i][j]))
                    {
                        gameinfo.GetSigns()[k].SetCoords(i, j);
                    }
                }
            }
        }
        minimapTex = new Texture2D(minimap.Count, minimap[0].Count);
        Color[] texColors = minimapTex.GetPixels();
        for (int i = 0; i < texColors.Length; ++i)
        {
            texColors[i] = new Color(255, 255, 255);
        }
        minimapTex.SetPixels(texColors);
        minimapTex.filterMode = FilterMode.Point;
        MovementStuff();
        UpdateMinimap();
        minimapImage.gameObject.SetActive(false);
        minimapImage.gameObject.SetActive(true);
        DisplayWalls();
    }