summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob1 <jfu614@gmail.com>2012-03-15 00:44:17 (GMT)
committer Jacob1 <jfu614@gmail.com>2012-03-15 00:44:17 (GMT)
commita27d97124cb985c5e064547e55b401bbb7ec01a1 (patch)
treef82ca615fe2747748cd328894f21792d74a3957f /src
parent4fcfb05f25d8f7b0edcf67c11ea6676ff0e0e047 (diff)
downloadpowder-a27d97124cb985c5e064547e55b401bbb7ec01a1.zip
powder-a27d97124cb985c5e064547e55b401bbb7ec01a1.tar.gz
wifi/portal lines
Diffstat (limited to 'src')
-rw-r--r--src/elements/newgraphics.c3
-rw-r--r--src/graphics.c19
2 files changed, 22 insertions, 0 deletions
diff --git a/src/elements/newgraphics.c b/src/elements/newgraphics.c
index 8957df9..4c9225c 100644
--- a/src/elements/newgraphics.c
+++ b/src/elements/newgraphics.c
@@ -164,6 +164,7 @@ int graphics_WIFI(GRAPHICS_FUNC_ARGS)
*colr = sin(frequency*q + 0) * 127 + 128;
*colg = sin(frequency*q + 2) * 127 + 128;
*colb = sin(frequency*q + 4) * 127 + 128;
+ *pixel_mode |= EFFECT_LINES;
return 0;
}
int graphics_PRTI(GRAPHICS_FUNC_ARGS)
@@ -173,6 +174,7 @@ int graphics_PRTI(GRAPHICS_FUNC_ARGS)
*fireg = 0;
*fireb = 0;
*pixel_mode |= EFFECT_GRAVIN;
+ *pixel_mode |= EFFECT_LINES;
*pixel_mode &= ~PMODE;
*pixel_mode |= PMODE_ADD;
return 1;
@@ -184,6 +186,7 @@ int graphics_PRTO(GRAPHICS_FUNC_ARGS)
*fireg = 0;
*fireb = 255;
*pixel_mode |= EFFECT_GRAVOUT;
+ *pixel_mode |= EFFECT_LINES;
*pixel_mode &= ~PMODE;
*pixel_mode |= PMODE_ADD;
return 1;
diff --git a/src/graphics.c b/src/graphics.c
index 2bfe422..080cb2a 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -2428,6 +2428,25 @@ void render_parts(pixel *vid)
addpixel(vid, nx+nxo, ny+nyo, colr, colg, colb, 255-orbd[r]);
}
}
+ if ((pixel_mode & EFFECT_LINES) && DEBUG_MODE)
+ {
+ if (mousex==(nx) && mousey==(ny))//draw lines connecting wifi/portal channels
+ {
+ int z;
+ int type = parts[i].type;
+ if (type == PT_PRTI)
+ type = PT_PRTO;
+ else if (type == PT_PRTO)
+ type = PT_PRTI;
+ for (z = 0; z<NPART; z++) {
+ if (parts[z].type)
+ {
+ if (parts[z].type==type&&parts[z].tmp==parts[i].tmp)
+ xor_line(nx,ny,(int)(parts[z].x+0.5f),(int)(parts[z].y+0.5f),vid);
+ }
+ }
+ }
+ }
//Fire effects
if(firea && (pixel_mode & FIRE_BLEND))
{