summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSimon 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)
commit835d9f1f3d962fab290c39959b159245a315c984 (patch)
treef2a65c70b0aaa2ec7f9e452474bbc87e6553dd87 /src/main.c
parentb6d9d8d6085f09401f7bc6fd667719f29b506e1d (diff)
downloadpowder-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.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main.c b/src/main.c
index 62fafe7..90bb065 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;