summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-07-25 17:26:58 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-07-26 17:25:34 (GMT)
commitdb5cb5e2f94e0c120133cca8e1d7aa6f7e3195ad (patch)
tree5df0bc9d0d4f7e2ba433d3efb9031240cdb2170a /src
parent94e316af854932ddd8f60b011de936000f10fac4 (diff)
downloadpowder-db5cb5e2f94e0c120133cca8e1d7aa6f7e3195ad.zip
powder-db5cb5e2f94e0c120133cca8e1d7aa6f7e3195ad.tar.gz
Minor optimisations for startup and render_fire
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c17
-rw-r--r--src/main.c5
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;
diff --git a/src/main.c b/src/main.c
index ad561b0..1d46a55 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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();