diff options
Diffstat (limited to 'src/base/serverSendMsg.c')
| -rw-r--r-- | src/base/serverSendMsg.c | 213 |
1 files changed, 107 insertions, 106 deletions
diff --git a/src/base/serverSendMsg.c b/src/base/serverSendMsg.c index a347b37..013d41c 100644 --- a/src/base/serverSendMsg.c +++ b/src/base/serverSendMsg.c @@ -14,133 +14,134 @@ #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; + } } - |