diff options
| author | Stanislaw Skowronek <skylark@disorder.sko> | 2013-11-13 13:54:46 (GMT) |
|---|---|---|
| committer | Stanislaw Skowronek <skylark@disorder.sko> | 2013-11-13 13:54:46 (GMT) |
| commit | 54769d13eb1b4216b7c6d18e08c3797bf3a48e8a (patch) | |
| tree | b9044f60fc982a75e00eda291be1aa3baaca1656 /src/simulation/Simulation.h | |
| parent | f32929128e1d93517f24253ed58801acc32ce814 (diff) | |
| download | powder-54769d13eb1b4216b7c6d18e08c3797bf3a48e8a.zip powder-54769d13eb1b4216b7c6d18e08c3797bf3a48e8a.tar.gz | |
Initial check-in of movable solids. Save/Load/Undo do not work and may crash.
Diffstat (limited to 'src/simulation/Simulation.h')
| -rw-r--r-- | src/simulation/Simulation.h | 8 |
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); |
