mirror of https://github.com/OpenTTD/OpenTTD
(svn r22439) -Fix (r22291, r22426): Drawing lines of length zero failed.
parent
c4a15a6a9e
commit
b7c6424104
|
@ -36,6 +36,12 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
|
||||||
stepx = 1;
|
stepx = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dx == 0 && dy == 0) {
|
||||||
|
/* The algorithm below cannot handle this special case; make it work at least for line width 1 */
|
||||||
|
if (x >= 0 && x < screen_width && y >= 0 && y < screen_height) this->SetPixel(video, x, y, colour);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int frac_diff = width * max(dx, dy);
|
int frac_diff = width * max(dx, dy);
|
||||||
if (width > 1) {
|
if (width > 1) {
|
||||||
/* compute frac_diff = width * sqrt(dx*dx + dy*dy)
|
/* compute frac_diff = width * sqrt(dx*dx + dy*dy)
|
||||||
|
|
Loading…
Reference in New Issue