Preface:
I have read the post over at Generate a plane with triangle strips. The code below is from there, however it does not allow me to texture or light the grid.
Objective:
Given a number 'n', generate, texture and draw the a plane of width = n &height = n using OpenGL. The plane should be made of individual quads of unit size.
Code so far:
Code to generate vertices
float * Plane::getUniqueVertices()
{
    if (uniqueVertices) return uniqueVertices;
    uniqueVertices = new float[NUM_VERTICES];
    int i = 0;
    for (int row = 0; row<height; row++) {
        for (int col = 0; col<width; col++) {
            uniqueVertices[i++] = (float)col; //x
            uniqueVertices[i++] = (float)row; //y
            uniqueVertices[i++] = 0.0f;        //z
        }
    }
    return uniqueVertices;
} 
Code to generate indices
int * Plane::getIndices()
{
    if (indices) return indices;
    indices = new int[NUM_DRAW_ELEMENTS];
    int i = 0;
    for (int row = 0; row<height - 1; row++) 
    {
        if ((row & 1) == 0) // even rows
        { 
            for (int col = 0; col<width; col++) 
            {
                indices[i++] = col + row * width;
                indices[i++] = col + (row + 1) * width;
            }
        }
        else // odd rows
        { 
            for (int col = width - 1; col>0; col--) 
            {
                indices[i++] = col + (row + 1) * width;
                indices[i++] = col - 1 + +row * width;
            }
        }
    }
    if ((height & 1) && height > 2) 
    {
        indices[i++] = (height - 1) * width;
    }
    return indices;
} 
I then draw the plane using GL_TRIANGLE_STRIP and the index buffer.
What do I need?:
While the above works, I cannot texture / uv map or get normals since it uses GL_TRIANGLE_STRIP thus the uv coordinates are different for some vertices that are shared between triangles. I  need some way to get an array of vertices, their texture coordinates and normals so that I can texture and light a plane to end up like this. It doesn't matter how I get them as long as the plane consists of different quads and that I can change the dimensions of the plane.