Is there a better way than what I have for tiling? When the tiles are drawn it is to represent a city. I have an array that stores the index of which tile to draw and than use a loop to draw them. The tiles are 11px wide with the game having a resolution of 640x480 that's 58 tiles.

Code:
   int arr[58] = {0,1,2,0,1,2,0,1,2,0,0,1,2,0,2,0,1,0,2,0,0,0,1,0,1,0,0,2,0,3,0,0,1,2,2,0,0,1,0,0,1,0,1,0,2,0,1,0,0,2,0,0,1,1,1,1,1,0};

   for(i = 0; i < 58;i++)
      draw_sprite(buffer,buildings[arr[i]],i*buildings[arr[i]]->w,SCREEN_H-16-buildings[arr[i]]->h);