summaryrefslogtreecommitdiff
path: root/src/simulation/Simulation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/simulation/Simulation.h')
-rw-r--r--src/simulation/Simulation.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/simulation/Simulation.h b/src/simulation/Simulation.h
index 31185f6..7b0ee91 100644
--- a/src/simulation/Simulation.h
+++ b/src/simulation/Simulation.h
@@ -9,6 +9,7 @@
#include "SimulationData.h"
#include "Sign.h"
#include "Particle.h"
+#include "Solid.h"
#include "Stickman.h"
#include "WallType.h"
#include "GOLMenu.h"
@@ -101,6 +102,8 @@ public:
int pmap[YRES][XRES];
int photons[YRES][XRES];
int pmap_count[YRES][XRES];
+ //Solids
+ Solid solids[NSOLID];
//Simulation Settings
int edgeMode;
int gravityMode;
@@ -148,6 +151,7 @@ public:
//int get_brush_flags();
TPT_NO_INLINE int create_part(int p, int x, int y, int t);
TPT_NO_INLINE void delete_part(int x, int y);
+ void unlink_solid(int part);
void get_sign_pos(int i, int *x0, int *y0, int *w, int *h);
TPT_NO_INLINE int is_wire(int x, int y);
TPT_NO_INLINE int is_wire_off(int x, int y);
@@ -157,6 +161,7 @@ public:
int nearest_part(int ci, int t, int max_d);
void update_particles_i(int start, int inc);
void update_particles();
+ void update_solids();
void rotate_area(int area_x, int area_y, int area_w, int area_h, int invert);
void clear_area(int area_x, int area_y, int area_w, int area_h);
@@ -169,6 +174,8 @@ public:
void ApplyDecorationBox(int x1, int y1, int x2, int y2, int colR, int colG, int colB, int colA, int mode);
//Drawing Tools like HEAT, AIR, and GRAV
+ int ToolStart(int x, int y, int tool);
+ int ToolClick(int x, int y, int tool);
int Tool(int x, int y, int tool, float strength = 1.0f);
int ToolBrush(int x, int y, int tool, Brush * cBrush, float strength = 1.0f);
void ToolLine(int x1, int y1, int x2, int y2, int tool, Brush * cBrush, float strength = 1.0f);
@@ -188,7 +195,6 @@ public:
void CreateLine(int x1, int y1, int x2, int y2, int c);
void CreateBox(int x1, int y1, int x2, int y2, int c, int flags = -1);
int FloodParts(int x, int y, int c, int cm, int flags = -1);
-
void GetGravityField(int x, int y, float particleGrav, float newtonGrav, float & pGravX, float & pGravY);