diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-12-24 18:22:58 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-12-24 18:22:58 (GMT) |
| commit | 835d9f1f3d962fab290c39959b159245a315c984 (patch) | |
| tree | f2a65c70b0aaa2ec7f9e452474bbc87e6553dd87 /src/main.c | |
| parent | b6d9d8d6085f09401f7bc6fd667719f29b506e1d (diff) | |
| download | powder-835d9f1f3d962fab290c39959b159245a315c984.zip powder-835d9f1f3d962fab290c39959b159245a315c984.tar.gz | |
Fix crash with clear_sim if gravity not initialised, fix renderer
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -1153,10 +1153,14 @@ void clear_sim(void) memset(fire_r, 0, sizeof(fire_r)); memset(fire_g, 0, sizeof(fire_g)); memset(fire_b, 0, sizeof(fire_b)); - memset(gravmask, 0xFFFFFFFF, (XRES/CELL)*(YRES/CELL)*sizeof(unsigned)); - memset(gravy, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); - memset(gravx, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); - memset(gravp, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); + if(gravmask) + memset(gravmask, 0xFFFFFFFF, (XRES/CELL)*(YRES/CELL)*sizeof(unsigned)); + if(gravy) + memset(gravy, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); + if(gravx) + memset(gravx, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); + if(gravp) + memset(gravp, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); for(x = 0; x < XRES/CELL; x++){ for(y = 0; y < YRES/CELL; y++){ hv[y][x] = 273.15f+22.0f; //Set to room temperature @@ -1470,7 +1474,11 @@ int main(int argc, char *argv[]) pers_bg = calloc((XRES+BARSIZE)*YRES, PIXELSIZE); - prepare_alpha(4, 1.0f); + prepare_alpha(CELL, 1.0f); + prepare_graphicscache(); + flm_data = generate_gradient(flm_data_colours, flm_data_pos, flm_data_points, 200); + plasma_data = generate_gradient(plasma_data_colours, plasma_data_pos, plasma_data_points, 200); + player.elem = player2.elem = PT_DUST; player.frames = player2.frames = 0; |
