summaryrefslogtreecommitdiff
path: root/src/simulation/tools/AirTool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/simulation/tools/AirTool.cpp')
-rw-r--r--src/simulation/tools/AirTool.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/simulation/tools/AirTool.cpp b/src/simulation/tools/AirTool.cpp
new file mode 100644
index 0000000..9fd7f79
--- /dev/null
+++ b/src/simulation/tools/AirTool.cpp
@@ -0,0 +1,22 @@
+#include "simulation/Tools.h"
+#include "simulation/Air.h"
+//#TPT-Directive ToolClass Tool_Air TOOL_AIR 3
+Tool_Air::Tool_Air()
+{
+ Identifier = "DEFAULT_TOOL_AIR";
+ Name = "AIR";
+ Colour = PIXPACK(0xFFFFFF);
+ Description = "Creates air pressure";
+}
+
+int Tool_Air::Perform(Simulation * sim, Particle * cpart, int x, int y, float strength)
+{
+ sim->air->pv[y/CELL][x/CELL] += 0.03f*strength;
+ if(sim->air->pv[y/CELL][x/CELL] > 256.0f)
+ sim->air->pv[y/CELL][x/CELL] = 256.0f;
+ if(sim->air->pv[y/CELL][x/CELL] < -256.0f)
+ sim->air->pv[y/CELL][x/CELL] = -256.0f;
+ return 1;
+}
+
+Tool_Air::~Tool_Air() {} \ No newline at end of file