diff options
Diffstat (limited to 'src/modules')
| -rwxr-xr-x | src/modules/modPipe.c | 8 | ||||
| -rwxr-xr-x | src/modules/modWall.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/modules/modPipe.c b/src/modules/modPipe.c index 1e6fe0a..9c5b443 100755 --- a/src/modules/modPipe.c +++ b/src/modules/modPipe.c @@ -373,7 +373,8 @@ static void action_eventpipe(space_t *space, pipe_t *pipe, shot_t *shot) } else { - delObjectFromSpaceWithObject(arena->spaceShot, shot, export_fce->fce_destroyShot); + //delObjectFromSpaceWithObject(arena->spaceShot, shot, export_fce->fce_destroyShot); + shot->del = TRUE; } } } @@ -381,6 +382,11 @@ static void action_eventpipe(space_t *space, pipe_t *pipe, shot_t *shot) static void action_eventshot(space_t *space, shot_t *shot, space_t *spacePipe) { actionSpaceFromLocation(spacePipe, action_eventpipe, shot, shot->x, shot->y, shot->w, shot->h); + + if( shot->del == TRUE ) + { + delObjectFromSpaceWithObject(space, shot, export_fce->fce_destroyShot); + } } int event() diff --git a/src/modules/modWall.c b/src/modules/modWall.c index 8376e29..971edc1 100755 --- a/src/modules/modWall.c +++ b/src/modules/modWall.c @@ -286,12 +286,18 @@ static void action_eventwall(space_t *space, wall_t *wall, shot_t *shot) return; } - delObjectFromSpaceWithObject(arena->spaceShot, shot, export_fce->fce_destroyShot); + //delObjectFromSpaceWithObject(arena->spaceShot, shot, export_fce->fce_destroyShot); + shot->del = TRUE; } static void action_eventshot(space_t *space, shot_t *shot, space_t *spaceWall) { actionSpaceFromLocation(spaceWall, action_eventwall, shot, shot->x, shot->y, shot->w, shot->h); + + if( shot->del == TRUE ) + { + delObjectFromSpaceWithObject(space, shot, export_fce->fce_destroyShot); + } } int event() |