From 23d6823bc3b877451e40103d2007dee9ddb10cb0 Mon Sep 17 00:00:00 2001
From: jacksonmj <mj-pt@jacksonmj.co.uk>
Date: Sun, 25 Dec 2011 03:07:24 +0800
Subject: [PATCH] Fix gravmap memset, and restrict_flt for temperatures

---
 src/elements/bang.c | 6 +++---
 src/elements/ignt.c | 2 +-
 src/main.c          | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/elements/bang.c b/src/elements/bang.c
index 2c5c90408..9a374c2d8 100644
--- a/src/elements/bang.c
+++ b/src/elements/bang.c
@@ -45,12 +45,12 @@ int update_BANG(UPDATE_FUNC_ARGS) {
 			if(!(rand()%2))
 			{
 				create_part(i, x, y, PT_FIRE);
-				parts[i].temp = (MAX_TEMP/4)+otemp;
+				parts[i].temp = restrict_flt((MAX_TEMP/4)+otemp, MIN_TEMP, MAX_TEMP);
 			}
 			else
 			{
 				create_part(i, x, y, PT_SMKE);
-				parts[i].temp = (MAX_TEMP/4)+otemp;
+				parts[i].temp = restrict_flt((MAX_TEMP/4)+otemp, MIN_TEMP, MAX_TEMP);
 			}
 		}
 		else
@@ -60,7 +60,7 @@ int update_BANG(UPDATE_FUNC_ARGS) {
 				create_part(i, x, y, PT_BOMB);
 				parts[i].tmp = 1;
 				parts[i].life = 50;
-				parts[i].temp = (MAX_TEMP/3)+otemp;
+				parts[i].temp = restrict_flt((MAX_TEMP/3)+otemp, MIN_TEMP, MAX_TEMP);
 				parts[i].vx = rand()%20-10;
 				parts[i].vy = rand()%20-10;
 			}
diff --git a/src/elements/ignt.c b/src/elements/ignt.c
index c11fccf95..f002e2dbd 100644
--- a/src/elements/ignt.c
+++ b/src/elements/ignt.c
@@ -31,7 +31,7 @@ int update_IGNT(UPDATE_FUNC_ARGS) {
 				parts[nb].life = 30;
 				parts[nb].vx = rand()%20-10;
 				parts[nb].vy = rand()%20-10;
-				parts[nb].temp = 400.0f+parts[i].temp-273.15;
+				parts[nb].temp = restrict_flt(400.0f+parts[i].temp-273.15, MIN_TEMP, MAX_TEMP);
 			}
 		}
 		else
diff --git a/src/main.c b/src/main.c
index fd4f34e71..74074cec4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1865,7 +1865,7 @@ int main(int argc, char *argv[])
 		
 		gravity_update_async(); //Check for updated velocity maps from gravity thread
 		if (!sys_pause||framerender) //Only update if not paused
-			memset(gravmap, 0, sizeof(gravmap)); //Clear the old gravmap
+			memset(gravmap, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); //Clear the old gravmap
 
 		if (framerender) {
 			framerender = 0;