diff options
author | Andrey Nazarov <skuller@skuller.net> | 2007-09-20 23:10:17 +0000 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2007-09-20 23:10:17 +0000 |
commit | a90dcf4fb6daadcbc9388cf54d7c0e0c544b1b42 (patch) | |
tree | c6bdf747cf978c969df7bbc489f04230d45f5a8d /source/q_list.h | |
parent | c1213b4bde16524ea07d6972c9312f8bc57d7b98 (diff) |
Added support for the new R1Q2 protocol version.
Q2PRO protocol is now versioned similar to R1Q2 protocol.
Allow "play" stuffcmd when watching a demo.
Handle clients with zero qport properly, compare IP address _and_ port.
Diffstat (limited to 'source/q_list.h')
-rw-r--r-- | source/q_list.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/q_list.h b/source/q_list.h index 2e1828b..a254cab 100644 --- a/source/q_list.h +++ b/source/q_list.h @@ -84,6 +84,16 @@ static inline void List_Remove( list_t *elem ) { #define LIST_PREV( type, entry, member ) \ LIST_ENTRY( type, (entry)->member.prev, member ) +#define LIST_NEXT_CYCLE( type, entry, list, member ) \ + ( (entry)->member.next == list ? \ + LIST_FIRST( type, list, member ) : \ + LIST_NEXT( type, entry, member ) ) + +#define LIST_PREV_CYCLE( type, entry, list, member ) \ + ( (entry)->member.prev == list ? \ + LIST_LAST( type, list, member ) : \ + LIST_PREV( type, entry, member ) ) + #define LIST_FOR_EACH( type, cursor, list, member ) \ for( cursor = LIST_FIRST( type, list, member ); \ &(cursor)->member != list; \ |