summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex <zc00gii@gmail.com>2010-08-23 21:40:31 (GMT)
committer Alex <zc00gii@gmail.com>2010-08-23 21:40:31 (GMT)
commit98835f22596f6455e546cd400b12cc928cd7550a (patch)
tree9dffceb6957a5adf119ab0c011ecfcc7219b7ef3
parentddfcb7c9f680eb700d201b62b1aebe53cee91f57 (diff)
downloadpowder-98835f22596f6455e546cd400b12cc928cd7550a.zip
powder-98835f22596f6455e546cd400b12cc928cd7550a.tar.gz
fix gravity
-rw-r--r--powder.c83
1 files changed, 42 insertions, 41 deletions
diff --git a/powder.c b/powder.c
index 6db7f0f..6e49a49 100644
--- a/powder.c
+++ b/powder.c
@@ -1531,47 +1531,48 @@ void update_particles_i(pixel *vid, int start, int inc)
parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL];
} else {
parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL];
- if(gravityd == 1)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
- parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] - ptypes[t].gravity;
- }
- if(gravityd == 2)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
- }
- if(gravityd == 3)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
- parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] + ptypes[t].gravity;
- }
- if(gravityd == 4)
- {
- parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
- }
- if(gravityd == 5)
- {
- parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL];
- }
- if(gravityd == 6)
- {
- parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
- }
- if(gravityd == 7)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
- parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] - ptypes[t].gravity;
- }
- if(gravityd == 8)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
- }
- if(gravityd == 9)
- {
- parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
- parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] + ptypes[t].gravity;
- }
- }
+ if(gravityd == 1) //gravity control stuff
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
+ parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] - ptypes[t].gravity;
+ }
+ if(gravityd == 2)
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
+ }
+ if(gravityd == 3)
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
+ parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] + ptypes[t].gravity;
+ }
+ if(gravityd == 4)
+ {
+ parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
+ }
+ if(gravityd == 5)
+ {
+ parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL];
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL];
+ }
+ if(gravityd == 6)
+ {
+ parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
+ }
+ if(gravityd == 7)
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
+ parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] - ptypes[t].gravity;
+ }
+ if(gravityd == 8)
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
+ }
+ if(gravityd == 9)
+ {
+ parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
+ parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] + ptypes[t].gravity;
+ }
+ }
if(ptypes[t].diffusion)
{