diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-19 16:27:00 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-19 16:27:00 +0000 |
| commit | d02ee64a52007d50a1647641630e77601a43d26d (patch) | |
| tree | 764c18292f855e71a9562240e4a105d96666c7b3 /src | |
| parent | 8b93dd8dac51e28bb25ad341f594d21a955c3adb (diff) | |
- oprava, moduly wall a pipe mohli duplicitne odstranovat tu istu strelu z priestoru
( chybu som neduplikoval ale tipujem, ze je to opravene spravne )
- big arena pouziva vlastnu texturu ako pozadie
git-svn-id: http://opensvn.csie.org/tuxanci_ng@160 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src')
| -rw-r--r-- | src/base/shot.c | 1 | ||||
| -rw-r--r-- | src/base/shot.h | 1 | ||||
| -rw-r--r-- | src/client/screen.c | 13 | ||||
| -rwxr-xr-x | src/modules/modPipe.c | 8 | ||||
| -rwxr-xr-x | src/modules/modWall.c | 8 |
5 files changed, 22 insertions, 9 deletions
diff --git a/src/base/shot.c b/src/base/shot.c index 5e95a8e..463796a 100644 --- a/src/base/shot.c +++ b/src/base/shot.c @@ -80,6 +80,7 @@ shot_t* newShot(int x,int y, int px, int py, int gun, int author_id) } new->isCanKillAuthor = FALSE; + new->del = FALSE; switch( gun ) { diff --git a/src/base/shot.h b/src/base/shot.h index d279c02..189cf52 100644 --- a/src/base/shot.h +++ b/src/base/shot.h @@ -34,6 +34,7 @@ typedef struct shot_struct int author_id; bool_t isCanKillAuthor; + bool_t del; #ifndef PUBLIC_SERVER image_t *img; diff --git a/src/client/screen.c b/src/client/screen.c index f08d89a..1a4e862 100644 --- a/src/client/screen.c +++ b/src/client/screen.c @@ -138,9 +138,9 @@ void drawScreen() assert( currentScreen != NULL ); #ifdef DEBUG_TIME_DRAW - clock_t prev; + my_time_t prev; - prev = clock(); + prev = getMyTimeMicro(); #endif currentScreen->fce_draw(); @@ -148,8 +148,7 @@ void drawScreen() interfaceRefresh(); #ifdef DEBUG_TIME_DRAW - printf("CLK_TCK = %d\n", CLOCKS_PER_SEC); - printf("c draw time = %d\n", clock() - prev ); + printf("c draw time = %d\n", getMyTimeMicro() - prev ); #endif } @@ -159,15 +158,15 @@ void eventScreen() assert( currentScreen != NULL ); #ifdef DEBUG_TIME_EVENT - clock_t prev; + my_time_t prev; - prev = clock(); + prev = getMyTimeMicro(); #endif currentScreen->fce_event(); #ifdef DEBUG_TIME_EVENT - printf("c event time = %d\n", clock() - prev ); + printf("c event time = %d\n", getMyTimeMicro() - prev ); #endif } 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() |