diff options
| author | Dusan Durech <dusan@debian.(none)> | 2008-11-26 23:13:54 +0100 |
|---|---|---|
| committer | Dusan Durech <dusan@debian.(none)> | 2008-11-26 23:13:54 +0100 |
| commit | ac06fff171f1b600cc9f470e04d58446a03b37ee (patch) | |
| tree | 7dbcdfd482b94ae71ce07c1617af790bd254336c /src/modules/modPipe.c | |
| parent | ed32a3daceec1d246cd5cf08a30c23b46282b699 (diff) | |
Less amount of code is being processed on the client side now.
Diffstat (limited to 'src/modules/modPipe.c')
| -rw-r--r-- | src/modules/modPipe.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/modules/modPipe.c b/src/modules/modPipe.c index 9049731..76554b2 100644 --- a/src/modules/modPipe.c +++ b/src/modules/modPipe.c @@ -11,6 +11,8 @@ #include "list.h" #include "gun.h" #include "space.h" +#include "proto.h" +#include "serverSendMsg.h" #ifndef PUBLIC_SERVER # include "interface.h" @@ -258,6 +260,8 @@ static int negPosition(int n) return -1; // no warnning } + +#if 0 //zaloha static void action_eventpipe(space_t * space, pipe_t * pipe, shot_t * shot) { arena_t *arena; @@ -285,6 +289,32 @@ static void action_eventpipe(space_t * space, pipe_t * pipe, shot_t * shot) } } } +#endif + +static void action_eventpipe(space_t * space, pipe_t * pipe, shot_t * shot) +{ + arena_t *arena; + tux_t *author; + + arena = export_fce->fce_getCurrentArena(); + + author = getObjectFromSpaceWithID(arena->spaceTux, shot->author_id); + + if (author != NULL && + author->bonus == BONUS_GHOST && author->bonus_time > 0) { + return; + } + + if (negPosition(shot->position) == pipe->position ) { + moveShotFromPipe(shot, pipe); + } else { + if (shot->gun == GUN_BOMBBALL) { + export_fce->fce_boundBombBall(shot); + } else { + shot->del = TRUE; + } + } +} static void action_eventshot(space_t * space, shot_t * shot, space_t * spacePipe) @@ -293,6 +323,10 @@ action_eventshot(space_t * space, shot_t * shot, space_t * spacePipe) shot->y, shot->w, shot->h); if (shot->del == TRUE) { + if (getNetTypeGame() == NET_GAME_TYPE_SERVER) { + proto_send_del_server(PROTO_SEND_ALL, NULL, shot->id); + } + delObjectFromSpaceWithObject(space, shot, export_fce->fce_destroyShot); } } @@ -303,6 +337,11 @@ int event() return 0; } + // na skusku + if (export_fce->fce_getNetTypeGame() == NET_GAME_TYPE_CLIENT) { + return 0; + } + actionSpace(export_fce->fce_getCurrentArena()->spaceShot, action_eventshot, spacePipe); |