summaryrefslogtreecommitdiff
path: root/src/air.c
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-30 17:57:49 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-30 17:57:49 (GMT)
commitb7a004986f70986aa9cd314d754deddff6b031f0 (patch)
tree8f9329a74cfd1d2718de4e4a8bef62d7313d96ea /src/air.c
parent3863a7587734be5a010327d869838daf5790d84a (diff)
downloadpowder-b7a004986f70986aa9cd314d754deddff6b031f0.zip
powder-b7a004986f70986aa9cd314d754deddff6b031f0.tar.gz
A cracker commit with some nice comments
Diffstat (limited to 'src/air.c')
-rw-r--r--src/air.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/air.c b/src/air.c
index aaf42d2..9fbfc86 100644
--- a/src/air.c
+++ b/src/air.c
@@ -14,7 +14,7 @@ float cb_pv[YRES/CELL][XRES/CELL], cb_opv[YRES/CELL][XRES/CELL];
float fvx[YRES/CELL][XRES/CELL], fvy[YRES/CELL][XRES/CELL];
-void make_kernel(void)
+void make_kernel(void) //used for velocity
{
int i, j;
float s = 0.0f;
@@ -34,9 +34,9 @@ void update_air(void)
int x, y, i, j;
float dp, dx, dy, f, tx, ty;
-if (airMode != 4) {
+if (airMode != 4) { //airMode 4 is no air/pressure update
- for (i=0; i<YRES/CELL; i++)
+ for (i=0; i<YRES/CELL; i++) //reduces pressure/velocity on the edges every frame
{
pv[i][0] = pv[i][0]*0.8f;
pv[i][1] = pv[i][1]*0.8f;
@@ -52,7 +52,7 @@ if (airMode != 4) {
vy[i][XRES/CELL-2] = vy[i][XRES/CELL-3]*0.9f;
vy[i][XRES/CELL-1] = vy[i][XRES/CELL-2]*0.9f;
}
- for (i=0; i<XRES/CELL; i++)
+ for (i=0; i<XRES/CELL; i++) //reduces pressure/velocity on the edges every frame
{
pv[0][i] = pv[0][i]*0.8f;
pv[1][i] = pv[1][i]*0.8f;
@@ -69,7 +69,7 @@ if (airMode != 4) {
vy[YRES/CELL-1][i] = vy[YRES/CELL-2][i]*0.9f;
}
- for (j=1; j<YRES/CELL; j++)
+ for (j=1; j<YRES/CELL; j++) //clear some velocities near walls
{
for (i=1; i<XRES/CELL; i++)
{
@@ -83,7 +83,7 @@ if (airMode != 4) {
}
}
- for (y=1; y<YRES/CELL; y++)
+ for (y=1; y<YRES/CELL; y++) //pressure adjustments from velocity
for (x=1; x<XRES/CELL; x++)
{
dp = 0.0f;
@@ -93,7 +93,7 @@ if (airMode != 4) {
pv[y][x] += dp*AIR_TSTEPP;
}
- for (y=0; y<YRES/CELL-1; y++)
+ for (y=0; y<YRES/CELL-1; y++) //velocity adjustments from pressure
for (x=0; x<XRES/CELL-1; x++)
{
dx = dy = 0.0f;
@@ -115,7 +115,7 @@ if (airMode != 4) {
vy[y][x] = 0;
}
- for (y=0; y<YRES/CELL; y++)
+ for (y=0; y<YRES/CELL; y++) //update velocity and pressure
for (x=0; x<XRES/CELL; x++)
{
dx = 0.0f;
@@ -172,7 +172,7 @@ if (airMode != 4) {
dx += fvx[y][x];
dy += fvy[y][x];
}
-
+ // pressure/velocity caps
if (dp > 256.0f) dp = 256.0f;
if (dp < -256.0f) dp = -256.0f;
if (dx > 256.0f) dx = 256.0f;