]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - netconn.h
new tokenizer tokenize_console that matches the console tokenizing
[xonotic/darkplaces.git] / netconn.h
index 2ac31331049a8b842788ff9ccca3e98b02bcdbfa..5e6f4ad7906762ed351b94070fbcb1f428d47754 100755 (executable)
--- a/netconn.h
+++ b/netconn.h
@@ -142,11 +142,13 @@ typedef struct netconn_s
        int receiveMessageLength;
        unsigned char receiveMessage[NET_MAXMESSAGE];
 
+       // used by both NQ and QW protocols
+       unsigned int outgoing_unreliable_sequence;
+
        struct netconn_nq_s
        {
                unsigned int ackSequence;
                unsigned int sendSequence;
-               unsigned int unreliableSendSequence;
 
                unsigned int receiveSequence;
                unsigned int unreliableReceiveSequence;
@@ -176,7 +178,6 @@ typedef struct netconn_s
 
                int                     incoming_reliable_sequence;             // single bit, maintained local
 
-               int                     outgoing_sequence;
                int                     reliable_sequence;                      // single bit
                int                     last_reliable_sequence;         // sequence number of last send
        }
@@ -226,7 +227,9 @@ typedef enum serverlist_maskop_e
        SLMO_EQUAL,
        SLMO_GREATER,
        SLMO_GREATEREQUAL,
-       SLMO_NOTEQUAL
+       SLMO_NOTEQUAL,
+       SLMO_STARTSWITH,
+       SLMO_NOTSTARTSWITH
 } serverlist_maskop_t;
 
 // struct with all fields that you can search for or sort by
@@ -244,6 +247,10 @@ typedef struct serverlist_info_s
        char map[32];
        // name of the session
        char name[128];
+       // qc-defined short status string
+       char qcstatus[128];
+       // frags/ping/name list (if they fit in the packet)
+       char players[1400];
        // max client number
        int maxplayers;
        // number of currently connected players (including bots)
@@ -260,6 +267,8 @@ typedef struct serverlist_info_s
        // (an integer that is used for filtering incompatible servers,
        //  not filterable by QC)
        int gameversion;
+       // favorite server flag
+       qboolean isfavorite;
 } serverlist_info_t;
 
 typedef enum
@@ -276,9 +285,18 @@ typedef enum
        SLIF_NUMBOTS,
        SLIF_NUMHUMANS,
        SLIF_FREESLOTS,
+       SLIF_QCSTATUS,
+       SLIF_PLAYERS,
+       SLIF_ISFAVORITE,
        SLIF_COUNT
 } serverlist_infofield_t;
 
+typedef enum
+{
+       SLSF_DESCENDING = 1,
+       SLSF_FAVORITESFIRST = 2
+} serverlist_sortflags_t;
+
 typedef enum
 {
        SQS_NONE = 0,
@@ -317,7 +335,7 @@ extern serverlist_mask_t serverlist_andmasks[SERVERLIST_ANDMASKCOUNT];
 extern serverlist_mask_t serverlist_ormasks[SERVERLIST_ORMASKCOUNT];
 
 extern serverlist_infofield_t serverlist_sortbyfield;
-extern qboolean serverlist_sortdescending;
+extern int serverlist_sortflags; // not using the enum, as it is a bitmask
 
 extern int serverlist_viewcount;
 extern serverlist_entry_t *serverlist_viewlist[SERVERLIST_VIEWLISTSIZE];