Ok i've searched the forums and found little algorithms that support my cause or work in the expected way. My problem is that I want a line drawing algorithm that is as versital as possible, however, being able to accept stuff like
Code:
line(12,12,-5,-5);
really isnt too important cause even I can do the math to make that signed 1 or just decrement using sign -1.

Anywho the real problem isnt my knowing of what I want it to do, its my lack of math knowledge , what I want is something like this:
Code:
void line(const int x1, const int y1, const int x2, const int y2, unsigned char color);

int main(void)
{
 line(0,0,5,4);
 return 0;
}

output (it should plot these coordinates):
X,Y  |  Changed
0,0  |  =,=
1,1  |  +,+
2,2  |  +,+
3,2  |  +,=
4,3  |  +,+
5,4  |  +,+

OR In Graphical Form:

  0 1 2 3 4 5
  _ _ _ _ _ _
0|0|_|_|_|_|_|
1|_|0|_|_|_|_|
2|_|_|0|0|_|_|
3|_|_|_|_|0|_|
4|_|_|_|_|_|0|
Just so you know the line drawing algorithm I want is the one from MS Paint. It seems to produce the smoothest cleanest lines. Anyways, it's painfully obvious that half way through the plotting the line changes course from just a straight diagonal line. Its definately got a pattern to it, it seems to figure that half way through it sees that to meet the end it must move over x and not y.

As I have mentioned before I have seen MANY algorithms on cprogramming.com and other related sites, it just sucks that none of them produce the right results. I dont really have a preference if its following old skool line plotting algorithms or in the new bresenhams line drawing algorithm. I'd actually rather have a psuedo code type response. I'm just really fed up with this line thing so i'll take whatever I can get .

Well this is my plauge and its been bugging me for 5 days now, I really appriciate any and all algorithm suggestions and thoughts,
Alex