Ahh, rivers....
In case you havent found this one allready:
http://civilization4.net/files/modding/PythonAPI/
I think these ones will do the job:
- CardinalDirectionType getRiverNSDirection()
- CardinalDirectionType getRiverWEDirection()
(
-1 = NO_CARDINALDIRECTION
0 = CARDINALDIRECTION_NORTH
1 = CARDINALDIRECTION_EAST
2 = CARDINALDIRECTION_SOUTH
3 = CARDINALDIRECTION_WEST
4 = NUM_CARDINALDIRECTION_TYPES
(these are defined somewhere in the python headers)
also:
BOOL isNOfRiver()
(probably also isWOfRiver())
Those are member functions of the CyPlot, I don't know about specifics but I assume you can figure out exactly what they do fast enough. Personally I have never had a need to find out anything other than whether a river is present at all (flood plains), and there are only 2 functions for setting them that I know of.
And btw I'm not too surprised that the river code is scary, its painfull enough to deal with something that uses a different coordinate system from the rest of the map even in simple cases....youve seen all the river bugs I've had....
Edit: Gekko managed to post while I was typing this
Sounds like I'll add a drop down menu to select the number of continents. I'll keep small islands popping up the usual way. And I probably wont get guaranteed coastal areas to connect them. Getting anything guaranteed in a more less random map is pretty painful, especially if you want them to appear somewhat natural (a straight line of coast in the middle of an ocean is not a problem, but that looks bloody ridiculous)