fix gravity

This commit is contained in:
Alex
2010-08-23 17:40:31 -04:00
parent ddfcb7c9f6
commit 98835f2259

View File

@@ -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]; parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL];
} else { } else {
parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL]; parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL];
if(gravityd == 1) if(gravityd == 1) //gravity control stuff
{ {
parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity; 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; parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] - ptypes[t].gravity;
} }
if(gravityd == 2) if(gravityd == 2)
{ {
parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity; parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
} }
if(gravityd == 3) if(gravityd == 3)
{ {
parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity; 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; parts[i].vx += ptypes[t].advection*vx[y/CELL][x/CELL] + ptypes[t].gravity;
} }
if(gravityd == 4) if(gravityd == 4)
{ {
parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity; parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
} }
if(gravityd == 5) if(gravityd == 5)
{ {
parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL]; 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) }
{ if(gravityd == 6)
parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity; {
} parts[i].vx += ptypes[t].advection*vy[y/CELL][x/CELL] + ptypes[t].gravity;
if(gravityd == 7) }
{ 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; 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) }
{ if(gravityd == 8)
parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity; {
} parts[i].vy += ptypes[t].advection*vy[y/CELL][x/CELL] - ptypes[t].gravity;
if(gravityd == 9) }
{ 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; 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) if(ptypes[t].diffusion)
{ {