diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics.c | 17 | ||||
| -rw-r--r-- | src/main.c | 5 |
2 files changed, 11 insertions, 11 deletions
diff --git a/src/graphics.c b/src/graphics.c index fbbe1b4..e91ad86 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -3798,17 +3798,20 @@ void render_fire(pixel *vid) for (y=-CELL+1; y<2*CELL; y++) for (x=-CELL+1; x<2*CELL; x++) addpixel(vid, i*CELL+x, j*CELL+y, r, g, b, fire_alpha[y+CELL][x+CELL]); + r *= 8; + g *= 8; + b *= 8; for (y=-1; y<2; y++) for (x=-1; x<2; x++) - if (i+x>=0 && j+y>=0 && i+x<XRES/CELL && j+y<YRES/CELL && (x || y)) + if ((x || y) && i+x>=0 && j+y>=0 && i+x<XRES/CELL && j+y<YRES/CELL) { - r += fire_r[j+y][i+x] / 8; - g += fire_g[j+y][i+x] / 8; - b += fire_b[j+y][i+x] / 8; + r += fire_r[j+y][i+x]; + g += fire_g[j+y][i+x]; + b += fire_b[j+y][i+x]; } - r /= 2; - g /= 2; - b /= 2; + r /= 16; + g /= 16; + b /= 16; fire_r[j][i] = r>4 ? r-4 : 0; fire_g[j][i] = g>4 ? g-4 : 0; fire_b[j][i] = b>4 ? b-4 : 0; @@ -1126,6 +1126,7 @@ void clear_sim(void) memset(emap, 0, sizeof(emap)); memset(signs, 0, sizeof(signs)); memset(parts, 0, sizeof(particle)*NPART); + pfree = -1; memset(pmap, 0, sizeof(pmap)); memset(pv, 0, sizeof(pv)); memset(vx, 0, sizeof(vx)); @@ -1736,10 +1737,6 @@ int main(int argc, char *argv[]) menu_count(); parts = calloc(sizeof(particle), NPART); cb_parts = calloc(sizeof(particle), NPART); - for (i=0; i<NPART-1; i++) - parts[i].life = i+1; - parts[NPART-1].life = -1; - pfree = 0; fire_bg=calloc(XRES*YRES, PIXELSIZE); init_can_move(); clear_sim(); |
