1 | /* |
1 | /* |
2 | * static char *rcsid_player_c = |
2 | * static char *rcsid_player_c = |
3 | * "$Id: player.c,v 1.13 2006/04/21 14:40:31 pippijn Exp $"; |
3 | * "$Id: player.c,v 1.15 2006/05/02 15:41:03 pippijn Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
264 | p->gen_sp_armour=10; |
264 | p->gen_sp_armour=10; |
265 | p->last_speed= -1; |
265 | p->last_speed= -1; |
266 | p->shoottype=range_none; |
266 | p->shoottype=range_none; |
267 | p->bowtype=bow_normal; |
267 | p->bowtype=bow_normal; |
268 | p->petmode=pet_normal; |
268 | p->petmode=pet_normal; |
269 | p->listening=9; |
269 | p->listening=10; |
270 | p->last_weapon_sp= -1; |
270 | p->last_weapon_sp= -1; |
271 | p->peaceful=1; /* default peaceful */ |
271 | p->peaceful=1; /* default peaceful */ |
272 | p->do_los=1; |
272 | p->do_los=1; |
273 | p->explore=0; |
273 | p->explore=0; |
274 | p->no_shout=0; /* default can shout */ |
274 | p->no_shout=0; /* default can shout */ |
… | |
… | |
316 | |
316 | |
317 | int add_player(NewSocket *ns) { |
317 | int add_player(NewSocket *ns) { |
318 | player *p; |
318 | player *p; |
319 | |
319 | |
320 | p=get_player(NULL); |
320 | p=get_player(NULL); |
321 | memcpy(&p->socket, ns, sizeof(NewSocket)); |
321 | p->socket = *ns; |
322 | p->socket.faces_sent = malloc(p->socket.faces_sent_len*sizeof(*p->socket.faces_sent)); |
322 | p->socket.faces_sent = malloc(p->socket.faces_sent_len*sizeof(*p->socket.faces_sent)); |
323 | if(p->socket.faces_sent == NULL) |
323 | if(p->socket.faces_sent == NULL) |
324 | fatal(OUT_OF_MEMORY); |
324 | fatal(OUT_OF_MEMORY); |
325 | memcpy(p->socket.faces_sent, ns->faces_sent, p->socket.faces_sent_len*sizeof(*p->socket.faces_sent)); |
325 | memcpy(p->socket.faces_sent, ns->faces_sent, p->socket.faces_sent_len*sizeof(*p->socket.faces_sent)); |
326 | /* Needed because the socket we just copied over needs to be cleared. |
326 | /* Needed because the socket we just copied over needs to be cleared. |