… | |
… | |
329 | player *p; |
329 | player *p; |
330 | |
330 | |
331 | p = get_player (NULL); |
331 | p = get_player (NULL); |
332 | p->socket = *ns; |
332 | p->socket = *ns; |
333 | p->socket.faces_sent = (uint8 *) malloc (p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); |
333 | p->socket.faces_sent = (uint8 *) malloc (p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); |
|
|
334 | |
334 | if (p->socket.faces_sent == NULL) |
335 | if (p->socket.faces_sent == NULL) |
335 | fatal (OUT_OF_MEMORY); |
336 | fatal (OUT_OF_MEMORY); |
|
|
337 | |
336 | memcpy (p->socket.faces_sent, ns->faces_sent, p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); |
338 | memcpy (p->socket.faces_sent, ns->faces_sent, p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); |
337 | /* Needed because the socket we just copied over needs to be cleared. |
339 | /* Needed because the socket we just copied over needs to be cleared. |
338 | * Note that this can result in a client reset if there is partial data |
340 | * Note that this can result in a client reset if there is partial data |
339 | * on the uncoming socket. |
341 | * on the uncoming socket. |
340 | */ |
342 | */ |
… | |
… | |
345 | add_friendly_object (p->ob); |
347 | add_friendly_object (p->ob); |
346 | send_rules (p->ob); |
348 | send_rules (p->ob); |
347 | send_news (p->ob); |
349 | send_news (p->ob); |
348 | display_motd (p->ob); |
350 | display_motd (p->ob); |
349 | get_name (p->ob); |
351 | get_name (p->ob); |
|
|
352 | |
350 | return 0; |
353 | return 0; |
351 | } |
354 | } |
352 | |
355 | |
353 | /* |
356 | /* |
354 | * get_player_archetype() return next player archetype from archetype |
357 | * get_player_archetype() return next player archetype from archetype |