Changeset - r7638:1d77b4c32fe9
[Not reviewed]
master
0 2 0
rubidium - 17 years ago 2007-09-26 14:17:26
rubidium@openttd.org
(svn r11169) -Fix [FS#1255]: obiwan in Blitter::Drawline(), which caused it to clip too much at screen/viewport borders. Patch by frosch.
2 files changed with 6 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/blitter/32bpp_base.cpp
Show inline comments
 
@@ -56,7 +56,7 @@ void Blitter_32bppBase::DrawLine(void *v
 
		stepx = 1;
 
	}
 

	
 
	if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
	if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
	if (dx > dy) {
 
		frac = dy - (dx / 2);
 
		while (x != x2) {
 
@@ -66,7 +66,7 @@ void Blitter_32bppBase::DrawLine(void *v
 
			}
 
			x += stepx;
 
			frac += dy;
 
			if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
			if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
		}
 
	} else {
 
		frac = dx - (dy / 2);
 
@@ -77,7 +77,7 @@ void Blitter_32bppBase::DrawLine(void *v
 
			}
 
			y += stepy;
 
			frac += dx;
 
			if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
			if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
		}
 
	}
 
}
src/blitter/8bpp_base.cpp
Show inline comments
 
@@ -60,7 +60,7 @@ void Blitter_8bppBase::DrawLine(void *vi
 
		stepx = 1;
 
	}
 

	
 
	if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
	if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
	if (dx > dy) {
 
		frac = dy - (dx / 2);
 
		while (x != x2) {
 
@@ -70,7 +70,7 @@ void Blitter_8bppBase::DrawLine(void *vi
 
			}
 
			x += stepx;
 
			frac += dy;
 
			if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
			if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
		}
 
	} else {
 
		frac = dx - (dy / 2);
 
@@ -81,7 +81,7 @@ void Blitter_8bppBase::DrawLine(void *vi
 
			}
 
			y += stepy;
 
			frac += dx;
 
			if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
			if (x >= 0 && y >= 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
 
		}
 
	}
 
}
0 comments (0 inline, 0 general)