diff options
| author | Jacob1 <jfu614@gmail.com> | 2012-03-25 20:11:11 (GMT) |
|---|---|---|
| committer | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-03-26 15:12:53 (GMT) |
| commit | 2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9 (patch) | |
| tree | f2a14fdd9442d5012aa083c36668017b1c8995e6 /src | |
| parent | 2c3a2e2519764f81473f563b4df1822d6c8eca9e (diff) | |
| download | powder-2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9.zip powder-2d1c5696a4e7fb8b887bd213eb2ce9ff3b7322e9.tar.gz | |
triangle brush fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics.c | 5 | ||||
| -rw-r--r-- | src/powder.c | 12 |
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) |
