diff options
Diffstat (limited to 'src/base/serverSendMsg.c')
| -rw-r--r-- | src/base/serverSendMsg.c | 213 |
1 files changed, 106 insertions, 107 deletions
diff --git a/src/base/serverSendMsg.c b/src/base/serverSendMsg.c index dc5718e..a347b37 100644 --- a/src/base/serverSendMsg.c +++ b/src/base/serverSendMsg.c @@ -14,134 +14,133 @@ #include "screen_world.h" #endif -static void -addMsgClient(client_t * p, char *msg, int type, int id) +static void addMsgClient(client_t *p, char *msg, int type, int id) { - assert(p != NULL); - assert(msg != NULL); + assert( p != NULL ); + assert( msg != NULL ); - if (p->status != NET_STATUS_ZOMBIE) { - addMsgInCheckFront(p->listSendMsg, msg, type, id); - } + if( p->status != NET_STATUS_ZOMBIE ) + { + addMsgInCheckFront(p->listSendMsg, msg, type, id); + } } -static void -addMsgAllClientBut(char *msg, client_t * p, int type, int id) +static void addMsgAllClientBut(char *msg, client_t *p, int type, int id) { - list_t *listClient; - client_t *thisClient; - int i; + list_t *listClient; + client_t *thisClient; + int i; - assert(msg != NULL); + assert( msg != NULL ); - listClient = getListServerClient(); + listClient = getListServerClient(); - for (i = 0; i < listClient->count; i++) { - thisClient = (client_t *) listClient->list[i]; + for( i = 0 ; i < listClient->count; i++) + { + thisClient = (client_t *) listClient->list[i]; - if (thisClient->tux != NULL && thisClient != p) { - addMsgClient(thisClient, msg, type, id); - } - } + if( thisClient->tux != NULL && thisClient != p ) + { + addMsgClient(thisClient, msg, type, id); + } + } } -static void -addMsgAllClient(char *msg, int type, int id) +static void addMsgAllClient(char *msg, int type, int id) { - assert(msg != NULL); + assert( msg != NULL ); - addMsgAllClientBut(msg, NULL, type, id); + addMsgAllClientBut(msg, NULL, type, id); } -static void -addMsgAllClientSeesTux(char *msg, tux_t * tux, int type, int id) +static void addMsgAllClientSeesTux(char *msg, tux_t *tux, int type, int id) { - list_t *listHelp; - arena_t *arena; - space_t *space; - int x, y, w, h; - int i; - - assert(msg != NULL); - - arena = getCurrentArena(); - space = arena->spaceTux; - - x = tux->x - WINDOW_SIZE_X; - y = tux->y - WINDOW_SIZE_Y; - - w = 2 * WINDOW_SIZE_X; - h = 2 * WINDOW_SIZE_Y; - - if (x < 0) - x = 0; - if (y < 0) - y = 0; - if (w + x >= arena->w) - w = arena->w - (x + 1); - if (h + y >= arena->h) - h = arena->h - (y + 1); - - listHelp = newList(); - - getObjectFromSpace(space, x, y, w, h, listHelp); - //printf("%d %d %d %d %d\n", x, y, w, h, listHelp->count); - - for (i = 0; i < listHelp->count; i++) { - tux_t *thisTux; - client_t *thisClient; - - thisTux = (tux_t *) listHelp->list[i]; - - if (thisTux == tux) { - continue; - } - - thisClient = thisTux->client; - - if (thisClient != NULL) { - addMsgClient(thisClient, msg, type, id); - } - } - - destroyList(listHelp); + list_t *listHelp; + arena_t *arena; + space_t *space; + int x, y, w, h; + int i; + + assert( msg != NULL ); + + arena = getCurrentArena(); + space = arena->spaceTux; + + x = tux->x - WINDOW_SIZE_X; + y = tux->y - WINDOW_SIZE_Y; + + w = 2 * WINDOW_SIZE_X; + h = 2 * WINDOW_SIZE_Y; + + if( x < 0 )x = 0; + if( y < 0 )y = 0; + if( w+x >= arena->w )w = arena->w - (x+1); + if( h+y >= arena->h )h = arena->h - (y+1); + + listHelp = newList(); + + getObjectFromSpace(space, x, y, w, h, listHelp); + //printf("%d %d %d %d %d\n", x, y, w, h, listHelp->count); + + for( i = 0 ; i < listHelp->count ; i++ ) + { + tux_t *thisTux; + client_t *thisClient; + + thisTux = (tux_t *)listHelp->list[i]; + + if( thisTux == tux ) + { + continue; + } + + thisClient = thisTux->client; + + if( thisClient != NULL ) + { + addMsgClient(thisClient, msg, type, id); + } + } + + destroyList(listHelp); } -void -protoSendClient(int type, client_t * client, char *msg, int type2, int id) +void protoSendClient(int type, client_t *client, char *msg, int type2, int id) { - assert(msg != NULL); - - switch (type) { - case PROTO_SEND_ONE: - assert(client != NULL); - addMsgClient(client, msg, type2, id); - break; - case PROTO_SEND_ALL: - assert(client == NULL); - addMsgAllClient(msg, type2, id); - break; - case PROTO_SEND_BUT: - assert(client != NULL); - addMsgAllClientBut(msg, client, type2, id); - break; - case PROTO_SEND_ALL_SEES_TUX: + assert( msg != NULL ); + + switch( type ) + { + case PROTO_SEND_ONE : + assert( client != NULL ); + addMsgClient(client, msg, type2, id); + break; + case PROTO_SEND_ALL : + assert( client == NULL ); + addMsgAllClient(msg, type2, id); + break; + case PROTO_SEND_BUT : + assert( client != NULL ); + addMsgAllClientBut(msg, client, type2, id); + break; + case PROTO_SEND_ALL_SEES_TUX : #ifndef PUBLIC_SERVER - if (client != NULL) { - addMsgAllClientSeesTux(msg, client->tux, type2, id); - } - else { - addMsgAllClientSeesTux(msg, - getControlTux(TUX_CONTROL_KEYBOARD_RIGHT), - type2, id); - } + if( client != NULL ) + { + addMsgAllClientSeesTux(msg, client->tux, type2, id); + } + else + { + addMsgAllClientSeesTux(msg, getControlTux(TUX_CONTROL_KEYBOARD_RIGHT), type2, id); + } #endif #ifdef PUBLIC_SERVER - addMsgAllClientSeesTux(msg, client->tux, type2, id); + addMsgAllClientSeesTux(msg, client->tux, type2, id); #endif - break; - default: - assert(!_("Type variable has a really wierd value!")); - break; - } + break; + default : + assert( ! _("Type variable has a really wierd value!") ); + break; + } } + |