--- deliantra/server/socket/request.C 2006/12/14 02:37:37 1.35 +++ deliantra/server/socket/request.C 2006/12/14 04:30:33 1.36 @@ -155,7 +155,7 @@ static void clear_map (player *pl) { - client_socket & socket = pl->socket; + client_socket &socket = *pl->socket; memset (&socket.lastmap, 0, sizeof (socket.lastmap)); @@ -170,7 +170,7 @@ static void check_map_change (player *pl) { - client_socket & socket = pl->socket; + client_socket &socket = *pl->socket; object *ob = pl->ob; char buf[MAX_BUF]; /* eauugggh */ @@ -251,8 +251,8 @@ // initial map and its origin maptile *map = pl->ob->map; sint16 dx, dy; - int mapx = pl->socket.mapx / 2 - pl->ob->x; - int mapy = pl->socket.mapy / 2 - pl->ob->y; + int mapx = pl->socket->mapx / 2 - pl->ob->x; + int mapy = pl->socket->mapy / 2 - pl->ob->y; int max_distance = 8; // limit maximum path length to something generous while (*buf && map && max_distance) @@ -313,7 +313,7 @@ else snprintf (bigbuf, MAX_BUF, "mapinfo %s unsupported", token); - pl->socket.send_packet (bigbuf); + pl->socket->send_packet (bigbuf); } /** This is the Setup cmd - easy first implementation */ @@ -546,16 +546,7 @@ if (ns->status != Ns_Add || add_player (ns)) ns->send_packet ("addme_failed"); else - { - /* Basically, the add_player copies the socket structure into - * the player structure, so this one (which is from init_sockets) - * is not needed anymore. The write below should still work, as the - * stuff in ns is still relevant. - */ - ns->send_packet ("addme_success"); - socket_info.nconns--; - ns->status = Ns_Avail; - } + ns->send_packet ("addme_success"); settings = oldsettings; } @@ -843,7 +834,7 @@ packet sl; sl << "comc " << uint16 (pktlen) << uint32 (time); - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); } @@ -998,7 +989,7 @@ /* Okay, this is MAJOR UGLY. but the only way I know how to * clear the "cache" */ - memset (&pl->socket.lastmap, 0, sizeof (struct Map)); + memset (&pl->socket->lastmap, 0, sizeof (struct Map)); draw_client_map (pl->ob); #endif } @@ -1111,7 +1102,7 @@ AddIfShort (pl->last_stats.Cha, pl->ob->stats.Cha, CS_STAT_CHA); } - if (pl->socket.exp64) + if (pl->socket->exp64) { uint8 s; @@ -1131,7 +1122,7 @@ } } - if (pl->socket.exp64) + if (pl->socket->exp64) { AddIfInt64 (pl->last_stats.exp, pl->ob->stats.exp, CS_STAT_EXP64) } else { AddIfInt (pl->last_stats.exp, (int) pl->ob->stats.exp, CS_STAT_EXP) } @@ -1154,7 +1145,7 @@ AddIfShort (pl->last_flags, flags, CS_STAT_FLAGS); - if (pl->socket.sc_version < 1025) + if (pl->socket->sc_version < 1025) { AddIfShort (pl->last_resist[ATNR_PHYSICAL], pl->ob->resist[ATNR_PHYSICAL], CS_STAT_ARMOUR) } else { @@ -1170,7 +1161,7 @@ } } - if (pl->socket.monitor_spells) + if (pl->socket->monitor_spells) { AddIfInt (pl->last_path_attuned, pl->ob->path_attuned, CS_STAT_SPELL_ATTUNE); AddIfInt (pl->last_path_repelled, pl->ob->path_repelled, CS_STAT_SPELL_REPEL); @@ -1178,13 +1169,13 @@ } rangetostring (pl->ob, buf); /* we want use the new fire & run system in new client */ - AddIfString (pl->socket.stats.range, buf, CS_STAT_RANGE); + AddIfString (pl->socket->stats.range, buf, CS_STAT_RANGE); set_title (pl->ob, buf); - AddIfString (pl->socket.stats.title, buf, CS_STAT_TITLE); + AddIfString (pl->socket->stats.title, buf, CS_STAT_TITLE); /* Only send it away if we have some actual data */ if (sl.length () > 6) - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); } /** @@ -1203,7 +1194,7 @@ << uint32 (pl->ob->face->number) << data8 (pl->ob->name); - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); SET_FLAG (pl->ob, FLAG_CLIENT_SENT); } @@ -1790,7 +1781,7 @@ uint8 extendedinfos; maptile *m; - client_socket &socket = pl->contr->socket; + client_socket &socket = *pl->contr->socket; check_map_change (pl->contr); @@ -2191,9 +2182,9 @@ memset (&newmap, 0, sizeof (struct Map)); - for (j = (pl->y - pl->contr->socket.mapy / 2); j < (pl->y + (pl->contr->socket.mapy + 1) / 2); j++) + for (j = (pl->y - pl->contr->socket->mapy / 2); j < (pl->y + (pl->contr->socket->mapy + 1) / 2); j++) { - for (i = (pl->x - pl->contr->socket.mapx / 2); i < (pl->x + (pl->contr->socket.mapx + 1) / 2); i++) + for (i = (pl->x - pl->contr->socket->mapx / 2); i < (pl->x + (pl->contr->socket->mapx + 1) / 2); i++) { ax = i; ay = j; @@ -2235,7 +2226,7 @@ void send_plugin_custom_message (object *pl, char *buf) { - pl->contr->socket.send_packet (buf); + pl->contr->socket->send_packet (buf); } /** @@ -2290,7 +2281,7 @@ void esrv_update_spells (player *pl) { - if (!pl->socket.monitor_spells) + if (!pl->socket->monitor_spells) return; for (object *spell = pl->ob->inv; spell; spell = spell->below) @@ -2330,7 +2321,7 @@ if (flags & UPD_SP_GRACE ) sl << uint16 (spell->last_grace); if (flags & UPD_SP_DAMAGE) sl << uint16 (spell->last_eat); - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); } } } @@ -2339,7 +2330,7 @@ void esrv_remove_spell (player *pl, object *spell) { - if (!pl->socket.monitor_spells) + if (!pl->socket->monitor_spells) return; if (!pl || !spell || spell->env != pl->ob) @@ -2353,7 +2344,7 @@ sl << "delspell " << uint32 (spell->count); - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); } /* appends the spell *spell to the Socklist we will send the data to. */ @@ -2411,7 +2402,7 @@ return; } - if (!pl->socket.monitor_spells) + if (!pl->socket->monitor_spells) return; packet sl; @@ -2440,7 +2431,7 @@ if (sl.length () >= (MAXSOCKBUF - (26 + strlen (spell->name) + (spell->msg ? strlen (spell->msg) : 0)))) { - Send_With_Handling (&pl->socket, &sl); + Send_With_Handling (pl->socket, &sl); sl.reset (); sl << "addspell "; @@ -2464,7 +2455,6 @@ } /* finally, we can send the packet */ - Send_With_Handling (&pl->socket, &sl); - + Send_With_Handling (pl->socket, &sl); }