summaryrefslogtreecommitdiff
path: root/src/simulation/Gravity.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-29 11:18:07 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-29 11:18:07 (GMT)
commit824bde4cebd78aa04c9018171316f7533307e0ce (patch)
treed67afd50f83584e6b8a461193abd34eec929e0db /src/simulation/Gravity.cpp
parent1f914561b2049ac779d8a729d9e910c4915b280b (diff)
downloadpowder-824bde4cebd78aa04c9018171316f7533307e0ce.zip
powder-824bde4cebd78aa04c9018171316f7533307e0ce.tar.gz
clear_sim now clears air and gravity maps better, fixes issue #31
Diffstat (limited to 'src/simulation/Gravity.cpp')
-rw-r--r--src/simulation/Gravity.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/simulation/Gravity.cpp b/src/simulation/Gravity.cpp
index 6ef1382..2b7810d 100644
--- a/src/simulation/Gravity.cpp
+++ b/src/simulation/Gravity.cpp
@@ -31,6 +31,15 @@ void Gravity::bilinear_interpolation(float *src, float *dst, int sw, int sh, int
}
}
+void Gravity::Clear()
+{
+ std::fill(gravy, gravy+((XRES/CELL)*(YRES/CELL)), 0.0f);
+ std::fill(gravx, gravx+((XRES/CELL)*(YRES/CELL)), 0.0f);
+ std::fill(gravp, gravp+((XRES/CELL)*(YRES/CELL)), 0.0f);
+ std::fill(gravmap, gravmap+((XRES/CELL)*(YRES/CELL)), 0.0f);
+ std::fill(gravmask, gravmask+((XRES/CELL)*(YRES/CELL)), 0xFFFFFFFF);
+}
+
void Gravity::gravity_init()
{
ngrav_enable = 0;