summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-08-17 22:40:42 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-08-19 11:22:12 (GMT)
commitde820e36f8032ed699065a0bc0fc425d66ef42f9 (patch)
treef8c3cf2081ade53bcb873597e6578f46085fab7e /src
parent161eb60cfa542a72a76598b3cb99a6b1994d3f48 (diff)
downloadpowder-de820e36f8032ed699065a0bc0fc425d66ef42f9.zip
powder-de820e36f8032ed699065a0bc0fc425d66ef42f9.tar.gz
Only do grav lensing when N-grav is on, and round coordinates correctly
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c12
-rw-r--r--src/main.c4
2 files changed, 8 insertions, 8 deletions
diff --git a/src/graphics.c b/src/graphics.c
index 0b6dfd7..6225c6f 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -4009,12 +4009,12 @@ void render_gravlensing(pixel *src, pixel * dst)
{
for(ny = 0; ny < YRES; ny++)
{
- rx = nx-(gravxf[(ny*XRES)+nx]*0.75f);
- ry = ny-(gravyf[(ny*XRES)+nx]*0.75f);
- gx = nx-(gravxf[(ny*XRES)+nx]*0.875f);
- gy = ny-(gravyf[(ny*XRES)+nx]*0.875f);
- bx = nx-(gravxf[(ny*XRES)+nx]);
- by = ny-(gravyf[(ny*XRES)+nx]);
+ rx = (int)(nx-gravxf[(ny*XRES)+nx]*0.75f+0.5f);
+ ry = (int)(ny-gravyf[(ny*XRES)+nx]*0.75f+0.5f);
+ gx = (int)(nx-gravxf[(ny*XRES)+nx]*0.875f+0.5f);
+ gy = (int)(ny-gravyf[(ny*XRES)+nx]*0.875f+0.5f);
+ bx = (int)(nx-gravxf[(ny*XRES)+nx]+0.5f);
+ by = (int)(ny-gravyf[(ny*XRES)+nx]+0.5f);
if(rx > 0 && rx < XRES && ry > 0 && ry < YRES && gx > 0 && gx < XRES && gy > 0 && gy < YRES && bx > 0 && bx < XRES && by > 0 && by < YRES)
{
t = dst[ny*(XRES+BARSIZE)+nx];
diff --git a/src/main.c b/src/main.c
index 19aa160..c865cde 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1848,7 +1848,7 @@ int main(int argc, char *argv[])
ClearScreen();
#else
- if(cmode==CM_FANCY)
+ if(ngrav_enable && cmode==CM_FANCY)
{
part_vbuf = part_vbuf_store;
memset(vid_buf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
@@ -1955,7 +1955,7 @@ int main(int argc, char *argv[])
render_signs(part_vbuf);
- if(cmode==CM_FANCY)
+ if(ngrav_enable && cmode==CM_FANCY)
render_gravlensing(part_vbuf, vid_buf);
memset(vid_buf+((XRES+BARSIZE)*YRES), 0, (PIXELSIZE*(XRES+BARSIZE))*MENUSIZE);//clear menu areas