--- deliantra/server/socket/request.C 2007/03/15 14:59:43 1.78 +++ deliantra/server/socket/request.C 2007/03/18 03:05:41 1.82 @@ -134,6 +134,8 @@ { memset (&pl->ns->lastmap, 0, sizeof (pl->ns->lastmap)); + pl->ns->force_newmap = false; + if (pl->ns->newmapcmd == 1) pl->ns->send_packet ("newmap"); @@ -148,11 +150,17 @@ object *ob = pl->ob; char buf[MAX_BUF]; /* eauugggh */ - if (socket.current_map != ob->map) + if (socket.force_newmap) { + // force newmap is used for clients that do not redraw their map + // after image uploads. socket.current_map = ob->map; - clear_map (pl); + } + else if (socket.current_map != ob->map) + { + clear_map (pl); + socket.current_map = ob->map; if (socket.mapinfocmd) { @@ -972,7 +980,7 @@ * it needs to send something back (vs just printing out a message) */ void -send_query (client *ns, uint8 flags, char *text) +send_query (client *ns, uint8 flags, const char *text) { ns->send_packet_printf ("query %d %s", flags, text ? text : ""); }