public static void WallFrame(int i, int j, bool resetFrame = false)
{
if (i <= 0 || j <= 0 || i >= Main.maxTilesX - 1 || j >= Main.maxTilesY - 1 || Main.tile[i, j] == null)
{
return;
}
Tile tile = Main.tile[i, j];
if (tile.wall == 0)
{
tile.wallColor(0);
return;
}
int num = 0;
Tile tile2 = Main.tile[i, j - 1];
if (tile2 != null && tile2.wall > 0)
{
num = 1;
}
tile2 = Main.tile[i - 1, j];
if (tile2 != null && tile2.wall > 0)
{
num |= 2;
}
tile2 = Main.tile[i + 1, j];
if (tile2 != null && tile2.wall > 0)
{
num |= 4;
}
tile2 = Main.tile[i, j + 1];
if (tile2 != null && tile2.wall > 0)
{
num |= 8;
}
int num2;
if (Main.wallLargeFrames[(int)tile.wall] == 1)
{
num2 = Framing.largeTileFrameNumberLookup[j % 4][i % 3] - 1;
tile.wallFrameNumber((byte)num2);
}
else if (resetFrame)
{
num2 = WorldGen.genRand.Next(0, 3);
tile.wallFrameNumber((byte)num2);
}
else
{
num2 = (int)tile.wallFrameNumber();
}
if (num == 15)
{
num += Framing.centerWallFrameLookup[i % 3][j % 3];
}
Point16 point = Framing.wallFrameLookup[num][num2];
tile.wallFrameX((int)point.x);
tile.wallFrameY((int)point.y);
}