Yes, each method has a downside.

With the memory pointer one (a tile with pointers to north, south, east, west) it can become quite complex if you just want to loop through each tile (you could get into an infinate loop if your not carefull, or you could miss a tile).

But with the TList, you dont have the "what tile is next to this one" without the extra overhead of also storing a north, south, east, west pointer. Well i guess you could loop through the list if you know what the X, Y of the tile should be... [size=7px]i should stop thinking out loud[/size]