hmmmm, ok. I understood a little of that, but I don't have a grid.. only 64x64 road tiles. I suppose I could manufacture one...Is that what the array is essentially doing, is creating a grid?

And would it be possible for me to create a map file and do, say, this: (I will end up experimenting later.. once I wake up )

mapfile:

| = vertical road
- = horizontal road
o = grass
> = turn left

|oooo
|oooo
>----
ooooo
ooooo

and then, for coding, say...

Code:
if &#40;charposition&#91;x&#93; < 65&#41; and &#40;charposition&#91;y&#93; < 65&#41; then currenttile &#58;= 1;
if currenttile = 1 then &#123;read file to see what type of road it is&#125;
The x,y coordinates are simply whatever x,y coordinates are being used for displaying the graphics, IE, for png's,
Code:
    dstassign&#40;0,128,0,128&#41;; //3rd tile down, turning right
    sdl_blitsurface&#40;road_drigturn,nil,screen,@dst&#41;;
the 'x' value is 0 (first one), the 'y' value is 128, and the w/h are the same as the x/y values. so technically...
Code:
if &#40;charposition&#91;x&#93; < 129&#41; and &#40;charposition&#91;y&#93; < 1&#41; then currenttile &#58;= 11;
And of course, I would have much better, shorter coding for the x/y location (probably just a simple loop which checks everything).

Would that be too slow?

See, I can't make it choose a road depending on the first open space- there may be multiple paths, and one will break off into another, while still continuing. So, rotating so many degrees won't work, as it will always only find the first available one.