--- deliantra/server/include/client.h 2007/04/02 18:04:46 1.42 +++ deliantra/server/include/client.h 2007/04/10 09:35:23 1.46 @@ -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 */ @@ -210,11 +211,13 @@ /* Below are flags for extedend infos to pass to client * with S->C mapextended command */ bool ACC (RW, EMI_smooth); /* Send smooth in extendmapinfos */ + bool ACC (RW, smoothing); // cfplus-style smoothing bool ACC (RW, force_newmap); // force a newmap before next map update 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 +232,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;