private Wall ParseWall(Tokenizer levelTokens)
{
levelTokens.EnsureNextToken("WALL");
Wall wall = new Wall();
levelTokens.EnsureNextToken("LEFT:");
wall.V0 = levelTokens.RequireNextInt();
levelTokens.EnsureNextToken("RIGHT:");
wall.V1 = levelTokens.RequireNextInt();
wall.TexMid = ParseWallTex("MID:", levelTokens, true);
wall.TexTop = ParseWallTex("TOP:", levelTokens, true);
wall.TexBottom = ParseWallTex("BOT:", levelTokens, true);
wall.TexSign = ParseWallTex("SIGN:", levelTokens, false);
levelTokens.EnsureNextToken("ADJOIN:");
wall.Adjoin = levelTokens.RequireNextInt();
levelTokens.EnsureNextToken("MIRROR:");
wall.Mirror = levelTokens.RequireNextInt();
levelTokens.EnsureNextToken("WALK:");
wall.Walk = levelTokens.RequireNextInt();
levelTokens.EnsureNextToken("FLAGS:");
wall.Flags0 = (Wall.EFlags0)levelTokens.RequireNextInt();
wall.Flags1 = levelTokens.RequireNextInt();
wall.Flags2 = (Wall.EFlags2)levelTokens.RequireNextInt();
levelTokens.EnsureNextToken("LIGHT:");
wall.Light = levelTokens.RequireNextInt();
return wall;
}