summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob1 <jfu614@gmail.com>2012-03-25 20:11:11 (GMT)
committer jacksonmj <mj-pt@jacksonmj.co.uk>2012-03-26 15:12:53 (GMT)
commit2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9 (patch)
treef2a14fdd9442d5012aa083c36668017b1c8995e6 /src
parent2c3a2e2519764f81473f563b4df1822d6c8eca9e (diff)
downloadpowder-2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9.zip
powder-2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9.tar.gz
triangle brush fixes
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c5
-rw-r--r--src/powder.c12
2 files changed, 8 insertions, 9 deletions
diff --git a/src/graphics.c b/src/graphics.c
index 6a02146..00e4466 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -3704,15 +3704,14 @@ void render_cursor(pixel *vid, int x, int y, int t, int rx, int ry)
xor_pixel(x, j, vid);
else
{
- int tempy = y, i, j, jmax, oldy;
+ int tempy = y, i, j, oldy;
if (CURRENT_BRUSH == TRI_BRUSH)
- tempy = y + ry;
+ tempy = y + ry - 1;
for (i = x - rx; i <= x; i++) {
oldy = tempy;
while (InCurrentBrush(i-x,tempy-y,rx,ry))
tempy = tempy - 1;
tempy = tempy + 1;
- jmax = 2*y - tempy;
if (oldy != tempy && CURRENT_BRUSH != SQUARE_BRUSH)
oldy--;
if (CURRENT_BRUSH == TRI_BRUSH)
diff --git a/src/powder.c b/src/powder.c
index 582c795..8b1c50e 100644
--- a/src/powder.c
+++ b/src/powder.c
@@ -3082,17 +3082,17 @@ int create_parts(int x, int y, int rx, int ry, int c, int flags, int fill)
{
int tempy = y, i, j, jmax, oldy;
if (CURRENT_BRUSH == TRI_BRUSH)
- tempy = y + ry;
+ tempy = y + ry - 1;
for (i = x - rx; i <= x; i++) {
oldy = tempy;
while (InCurrentBrush(i-x,tempy-y,rx,ry))
tempy = tempy - 1;
tempy = tempy + 1;
- jmax = 2*y - tempy;
- if (CURRENT_BRUSH == TRI_BRUSH)
- jmax = y + ry;
if (fill)
{
+ jmax = 2*y - tempy;
+ if (CURRENT_BRUSH == TRI_BRUSH)
+ jmax = y + ry;
for (j = tempy; j <= jmax; j++) {
if (create_parts2(fn,i,j,c,rx,ry,flags))
f = 1;
@@ -3104,8 +3104,8 @@ int create_parts(int x, int y, int rx, int ry, int c, int flags, int fill)
{
if ((oldy != tempy && CURRENT_BRUSH != SQUARE_BRUSH) || i == x-rx)
oldy--;
- if (CURRENT_BRUSH == TRI_BRUSH)
- oldy = tempy;
+ //if (CURRENT_BRUSH == TRI_BRUSH)
+ // oldy = tempy;
for (j = tempy; j <= oldy+1; j++) {
int i2 = 2*x-i, j2 = 2*y-j;
if (CURRENT_BRUSH == TRI_BRUSH)