--- deliantra/server/include/client.h 2007/04/02 18:04:46 1.42 +++ deliantra/server/include/client.h 2007/04/03 00:21:37 1.45 @@ -202,6 +202,7 @@ bool ACC (RW, buggy_mapscroll); // client crashes on large mapscrolls bool ACC (RW, darkness); /* True if client wants darkness information */ bool ACC (RW, image2); /* Client wants image2/face2 commands */ + bool ACC (RW, fxix); // client implements fx and ix (face|image extended) commands bool ACC (RW, update_look); /* If true, we need to send the look window */ bool ACC (RW, has_readable_type); /* If true client accept additional text information */ /* used to arrange text in books, scrolls, or scripted dialogs */ @@ -215,6 +216,7 @@ uint32 ACC (RW, supported_readables); /* each bit is a readable supported by client */ uint32 ACC (RW, cs_version), ACC (RW, sc_version); /* versions of the client */ uint16 ACC (RW, look_position); /* start of drawing of look window */ + uint16 ACC (RW, mss); // likely tcp maximum segment size uint8 ACC (RW, mapmode); /* Type of map commands the client wants. */ uint8 ACC (RW, mapx), ACC (RW, mapy); /* How large a map the client wants */ uint8 ACC (RW, itemcmd); /* What version of the 'item' protocol command to use */ @@ -229,10 +231,17 @@ int ACC (RW, rtt), ACC (RW, rttvar); /* round-trip time and -variance, if known */ + int ACC (RW, rate_avail); // current rate balance int ACC (RW, max_rate); // max. # of bytes to send per tick faceidx ACC (RW, scrub_idx); // which face to send next int ACC (RW, bg_scrub); // how many ticks till the next background face send - std::vector askface; // which faces have been requested by the client + + faceidx partial_face; + uint32 partial_face_ofs; // if != 0, need to send remaining bytes of partial_face + std::vector > askface; // which faces have been requested by the client + + std::vector > fxface; // which faces to send using fx + MTH void flush_fx (); // send fx if required void do_destroy (); void gather_callbacks (AV *&callbacks, event_type event) const;