diff --git a/src/battle/entities.c b/src/battle/entities.c index 37193b4..48830aa 100644 --- a/src/battle/entities.c +++ b/src/battle/entities.c @@ -53,8 +53,7 @@ void doEntities(void) { self = e; - e->x += e->dx; - e->y += e->dy; + removeFromGrid(e); if (e->action != NULL) { @@ -89,6 +88,11 @@ void doEntities(void) break; } + e->x += e->dx; + e->y += e->dy; + + addToGrid(e); + if (e->alive == ALIVE_DEAD) { if (e == battle.entityTail) diff --git a/src/battle/entities.h b/src/battle/entities.h index 84264fc..d52aa5f 100644 --- a/src/battle/entities.h +++ b/src/battle/entities.h @@ -26,6 +26,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern void blitRotated(SDL_Texture *t, int x, int y, int angle); extern void drawFighter(Entity *e); extern void doFighter(void); +extern void addToGrid(Entity *e); +extern void removeFromGrid(Entity *e); extern Battle battle; extern Entity *self;