Minor optimisations for startup and render_fire
This commit is contained in:
parent
94e316af85
commit
db5cb5e2f9
@ -3798,17 +3798,20 @@ void render_fire(pixel *vid)
|
|||||||
for (y=-CELL+1; y<2*CELL; y++)
|
for (y=-CELL+1; y<2*CELL; y++)
|
||||||
for (x=-CELL+1; x<2*CELL; x++)
|
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]);
|
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 (y=-1; y<2; y++)
|
||||||
for (x=-1; x<2; x++)
|
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;
|
r += fire_r[j+y][i+x];
|
||||||
g += fire_g[j+y][i+x] / 8;
|
g += fire_g[j+y][i+x];
|
||||||
b += fire_b[j+y][i+x] / 8;
|
b += fire_b[j+y][i+x];
|
||||||
}
|
}
|
||||||
r /= 2;
|
r /= 16;
|
||||||
g /= 2;
|
g /= 16;
|
||||||
b /= 2;
|
b /= 16;
|
||||||
fire_r[j][i] = r>4 ? r-4 : 0;
|
fire_r[j][i] = r>4 ? r-4 : 0;
|
||||||
fire_g[j][i] = g>4 ? g-4 : 0;
|
fire_g[j][i] = g>4 ? g-4 : 0;
|
||||||
fire_b[j][i] = b>4 ? b-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(emap, 0, sizeof(emap));
|
||||||
memset(signs, 0, sizeof(signs));
|
memset(signs, 0, sizeof(signs));
|
||||||
memset(parts, 0, sizeof(particle)*NPART);
|
memset(parts, 0, sizeof(particle)*NPART);
|
||||||
|
pfree = -1;
|
||||||
memset(pmap, 0, sizeof(pmap));
|
memset(pmap, 0, sizeof(pmap));
|
||||||
memset(pv, 0, sizeof(pv));
|
memset(pv, 0, sizeof(pv));
|
||||||
memset(vx, 0, sizeof(vx));
|
memset(vx, 0, sizeof(vx));
|
||||||
@ -1736,10 +1737,6 @@ int main(int argc, char *argv[])
|
|||||||
menu_count();
|
menu_count();
|
||||||
parts = calloc(sizeof(particle), NPART);
|
parts = calloc(sizeof(particle), NPART);
|
||||||
cb_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);
|
fire_bg=calloc(XRES*YRES, PIXELSIZE);
|
||||||
init_can_move();
|
init_can_move();
|
||||||
clear_sim();
|
clear_sim();
|
||||||
|
Reference in New Issue
Block a user