diff options
| author | Simon <simon@hardwired.org.uk> | 2010-12-19 14:20:38 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-12-19 14:20:38 (GMT) |
| commit | 92d22ac59060800461d23714b2db1a75f7619d2b (patch) | |
| tree | 1eb6579fe7dda5228308f7941a1c1fa4af55fddc /src | |
| parent | 9c805f864315665a6d7fd5d6c5b319c669f25988 (diff) | |
| download | powder-92d22ac59060800461d23714b2db1a75f7619d2b.zip powder-92d22ac59060800461d23714b2db1a75f7619d2b.tar.gz | |
Nibble is a noob, also fix for persistent mode bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics.c | 18 | ||||
| -rw-r--r-- | src/main.c | 9 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/graphics.c b/src/graphics.c index 82fc7ae..013d875 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -2749,6 +2749,24 @@ void dim_copy(pixel *dst, pixel *src) } } +void dim_copy_pers(pixel *dst, pixel *src) +{ + int i,r,g,b; + for(i=0; i<(XRES+BARSIZE)*YRES; i++) + { + r = PIXR(src[i]); + g = PIXG(src[i]); + b = PIXB(src[i]); + if(r>0) + r--; + if(g>0) + g--; + if(b>0) + b--; + dst[i] = PIXRGB(r,g,b); + } +} + void render_zoom(pixel *img) { int x, y, i, j; @@ -1072,6 +1072,7 @@ int main(int argc, char *argv[]) int pastFPS = 0; int past = 0; pixel *vid_buf=calloc((XRES+BARSIZE)*(YRES+MENUSIZE), PIXELSIZE); + pixel *pers_bg=calloc((XRES+BARSIZE)*YRES, PIXELSIZE); void *http_ver_check; char *ver_data=NULL, *tmp; int i, j, bq, fire_fc=0, do_check=0, old_version=0, http_ret=0, major, minor, old_ver_len; @@ -1217,8 +1218,8 @@ int main(int argc, char *argv[]) } else if(cmode==CM_PERS) { - memcpy(vid_buf, fire_bg, XRES*YRES*PIXELSIZE); - memset(vid_buf+(XRES*YRES), 0, ((XRES+BARSIZE)*YRES*PIXELSIZE)-(XRES*YRES*PIXELSIZE)); + memcpy(vid_buf, pers_bg, (XRES+BARSIZE)*YRES*PIXELSIZE); + memset(vid_buf+((XRES+BARSIZE)*YRES), 0, ((XRES+BARSIZE)*YRES*PIXELSIZE)-((XRES+BARSIZE)*YRES*PIXELSIZE)); } else { @@ -1243,11 +1244,11 @@ int main(int argc, char *argv[]) { if(!fire_fc) { - dim_copy(fire_bg, vid_buf); + dim_copy_pers(pers_bg, vid_buf); } else { - memcpy(fire_bg, vid_buf, XRES*YRES*PIXELSIZE); + memcpy(pers_bg, vid_buf, (XRES+BARSIZE)*YRES*PIXELSIZE); } fire_fc = (fire_fc+1) % 3; } |
