diff options
| author | jacksonmj <jacksonmj@jacksonmj.none> | 2011-02-13 21:59:45 (GMT) |
|---|---|---|
| committer | jacksonmj <jacksonmj@jacksonmj.none> | 2011-02-13 21:59:45 (GMT) |
| commit | 8c531c5286088dacda03ed9a594e5aabe341285c (patch) | |
| tree | bb746fb6052e1cc5473a9d49b11fabcb3e9289bc /src | |
| parent | 99be47c8bd5c2c66bfabada1fbc5f13393cac4ed (diff) | |
| download | powder-8c531c5286088dacda03ed9a594e5aabe341285c.zip powder-8c531c5286088dacda03ed9a594e5aabe341285c.tar.gz | |
FLAG_STAGNANT usage lost during rewrite
Diffstat (limited to 'src')
| -rw-r--r-- | src/powder.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/powder.c b/src/powder.c index c302a82..77dc305 100644 --- a/src/powder.c +++ b/src/powder.c @@ -1780,6 +1780,9 @@ killed: } } + rt = parts[i].flags & FLAG_STAGNANT; + parts[i].flags &= ~FLAG_STAGNANT; + if ((t==PT_PHOT||t==PT_NEUT)) { if (t == PT_PHOT) { rt = pmap[fin_y][fin_x] & 0xFF; @@ -2008,24 +2011,25 @@ killed: break; } } - else if (clear_x!=x&&clear_y!=y && try_move(i, x, y, clear_x, clear_y)) { + else if ((clear_x!=x||clear_y!=y) && try_move(i, x, y, clear_x, clear_y)) { // if interpolation was done and haven't yet moved, try moving to last clear position parts[i].x = clear_xf; parts[i].y = clear_yf; } + else + parts[i].flags |= FLAG_STAGNANT; parts[i].vx *= ptypes[t].collision; parts[i].vy *= ptypes[t].collision; - if (!s) - parts[i].flags |= FLAG_STAGNANT; } else { - if (clear_x!=x&&clear_y!=y && try_move(i, x, y, clear_x, clear_y)) { + if ((clear_x!=x||clear_y!=y) && try_move(i, x, y, clear_x, clear_y)) { // if interpolation was done, try moving to last clear position parts[i].x = clear_xf; parts[i].y = clear_yf; } - parts[i].flags |= FLAG_STAGNANT; + else + parts[i].flags |= FLAG_STAGNANT; parts[i].vx *= ptypes[t].collision; parts[i].vy *= ptypes[t].collision; } |
