UFO: Alien Invasion
|
IRC client implementation for UFO:AI. More...
#include "cl_irc.h"
#include "client.h"
#include "cl_language.h"
#include "ui/ui_main.h"
#include "ui/ui_nodes.h"
#include "ui/ui_popup.h"
#include "battlescape/cl_hud.h"
#include "cgame/cl_game.h"
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <fcntl.h>
Go to the source code of this file.
Data Structures | |
struct | irc_user_s |
struct | irc_channel_s |
struct | irc_command_s |
struct | irc_server_msg_s |
struct | irc_bucket_message_s |
struct | irc_bucket_s |
Macros | |
#define | IRC_SEND_BUF_SIZE 512 |
#define | IRC_RECV_BUF_SIZE 1024 |
#define | IRC_CTCP_MARKER_CHR '\001' |
#define | IRC_CTCP_MARKER_STR "\001" |
#define | IRC_MAX_USERLIST 512 |
Typedefs | |
typedef struct irc_user_s | irc_user_t |
typedef struct irc_channel_s | irc_channel_t |
typedef enum irc_numeric_e | irc_numeric_t |
typedef enum irc_command_type_e | irc_command_type_t |
typedef enum irc_nick_prefix_e | irc_nick_prefix_t |
typedef struct irc_command_s | irc_command_t |
typedef struct irc_server_msg_s | irc_server_msg_t |
typedef struct irc_bucket_message_s | irc_bucket_message_t |
typedef struct irc_bucket_s | irc_bucket_t |
Functions | |
static void | Irc_Logic_RemoveChannelName (irc_channel_t *channel, const char *nick) |
Removes a username from the channel username list. More... | |
static void | Irc_Logic_AddChannelName (irc_channel_t *channel, irc_nick_prefix_t prefix, const char *nick) |
Adds a new username to the channel username list. More... | |
static void | Irc_Client_Names_f (void) |
static bool | Irc_Client_Join (const char *channel, const char *password) |
static void | Irc_Logic_Disconnect (const char *reason) |
static bool | Irc_AppendToBuffer (const char *const msg,...) |
Append the irc message to the buffer. More... | |
static bool static bool | Irc_Proto_ParseServerMsg (const char *txt, size_t txt_len, irc_server_msg_t *msg) |
static bool | Irc_Proto_Enqueue (const char *msg, size_t msg_len) |
static bool | Irc_Net_Connect (const char *host, const char *port) |
static bool | Irc_Net_Disconnect (void) |
static void | Irc_Net_Send (const char *msg, size_t msg_len) |
static void | Irc_Connect_f (void) |
static void | Irc_Disconnect_f (void) |
static void | Irc_Input_Deactivate_f (void) |
static bool | Irc_IsChannel (const char *target) |
static void | Irc_ParseName (const char *mask, char *nick, size_t size, irc_nick_prefix_t *prefix) |
static bool | Irc_Proto_Connect (const char *host, const char *port) |
static bool | Irc_Proto_Disconnect (void) |
static bool | Irc_Proto_Quit (const char *quitmsg) |
static bool | Irc_Proto_Nick (const char *nick) |
static bool | Irc_Proto_User (const char *user, bool invisible, const char *name) |
static bool | Irc_Proto_Password (const char *password) |
static bool | Irc_Proto_Join (const char *channel, const char *password) |
static bool | Irc_Proto_Part (const char *channel) |
static bool | Irc_Proto_Mode (const char *target, const char *modes, const char *params) |
static bool | Irc_Proto_Topic (const char *channel, const char *topic) |
static bool | Irc_Proto_Msg (const char *target, const char *text) |
static bool | Irc_Proto_Notice (const char *target, const char *text) |
static void | Irc_Proto_Pong (const char *nick, const char *server, const char *cookie) |
static bool | Irc_Proto_Kick (const char *channel, const char *nick, const char *reason) |
static bool | Irc_Proto_Who (const char *nick) |
static bool | Irc_Proto_Whois (const char *nick) |
static bool | Irc_Proto_Whowas (const char *nick) |
static bool | Irc_Proto_PollServerMsg (irc_server_msg_t *msg, bool *msg_complete) |
static void | Irc_Client_CmdRplWhowasuser (const char *params, const char *trailing) |
static void | Irc_Client_CmdTopic (const char *prefix, const char *trailing) |
static void | Irc_Client_CmdRplTopic (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplWhoisuser (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplWhoisserver (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplWhoisaccount (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplWhoisidle (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplWhoreply (const char *params, const char *trailing) |
static void | Irc_Client_CmdMode (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdJoin (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdPart (const char *prefix, const char *trailing) |
static void | Irc_Client_CmdQuit (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdKill (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdKick (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdNick (const char *prefix, const char *params, const char *trailing) |
Changes the cvar 'name' with the new name you set. More... | |
static void | Irc_Client_CmdPrivmsg (const char *prefix, const char *params, const char *trailing) |
static void | Irc_Client_CmdRplNamreply (const char *params, const char *trailing) |
static void | Irc_Client_CmdRplEndofnames (const char *params, const char *trailing) |
static bool | Irc_Proto_ProcessServerMsg (const irc_server_msg_t *msg) |
static void | Irc_Proto_RefillBucket (void) |
static void | Irc_Proto_DrainBucket (void) |
Send all enqueued packets. More... | |
static void | Irc_Logic_SendMessages (void) |
static void | Irc_Logic_ReadMessages (void) |
static void | Irc_Logic_Connect (const char *server, const char *port) |
void | Irc_Logic_Frame (void) |
static const char * | Irc_Logic_GetChannelTopic (const irc_channel_t *channel) |
static void | Irc_Net_StreamClose (void) |
static void | Irc_Client_Join_f (void) |
static void | Irc_Client_Part_f (void) |
static void | Irc_Client_Msg_f (void) |
Send a message from menu or commandline. More... | |
static void | Irc_Client_PrivMsg_f (void) |
static void | Irc_Client_Mode_f (void) |
static void | Irc_Client_Topic_f (void) |
static void | Irc_Client_Kick_f (void) |
static void | Irc_GetExternalIP (const char *externalIP, void *userdata) |
static void | Irc_Client_Invite_f (void) |
static void | Irc_Client_Who_f (void) |
static void | Irc_Client_Whois_f (void) |
static void | Irc_Client_Whowas_f (void) |
static void | Irc_UserClick_f (void) |
Adds the username you clicked to your input buffer. More... | |
static void | Irc_UserRightClick_f (void) |
Performs a whois query for the username you clicked. More... | |
static void | Irc_Input_Activate_f (void) |
void | Irc_Init (void) |
void | Irc_Shutdown (void) |
Variables | |
static cvar_t * | irc_server |
static cvar_t * | irc_port |
static cvar_t * | irc_channel |
static cvar_t * | irc_nick |
static cvar_t * | irc_user |
static cvar_t * | irc_password |
static cvar_t * | irc_topic |
static cvar_t * | irc_defaultChannel |
static cvar_t * | irc_logConsole |
static cvar_t * | irc_showIfNotInMenu |
static cvar_t * | irc_send_buffer |
static memPool_t * | cl_ircSysPool |
static bool | irc_connected |
static struct net_stream * | irc_stream |
static const char | IRC_INVITE_FOR_A_GAME [] = "UFOAIINVITE;" |
static irc_channel_t | ircChan |
static irc_channel_t * | chan |
static char | irc_buffer [4096] |
static cvar_t * | irc_messageBucketSize |
static cvar_t * | irc_messageBucketBurst |
static cvar_t * | irc_characterBucketSize |
static cvar_t * | irc_characterBucketBurst |
static cvar_t * | irc_characterBucketRate |
static irc_bucket_t | irc_bucket |
static char | irc_userListOrdered [IRC_MAX_USERLIST][MAX_VAR] |
IRC client implementation for UFO:AI.
Definition in file cl_irc.cpp.
#define IRC_CTCP_MARKER_CHR '\001' |
Definition at line 903 of file cl_irc.cpp.
Referenced by Irc_Client_CmdPrivmsg().
#define IRC_CTCP_MARKER_STR "\001" |
Definition at line 904 of file cl_irc.cpp.
Referenced by Irc_Client_CmdPrivmsg().
#define IRC_MAX_USERLIST 512 |
Definition at line 1763 of file cl_irc.cpp.
Referenced by Irc_Client_Names_f(), Irc_UserClick_f(), and Irc_UserRightClick_f().
#define IRC_RECV_BUF_SIZE 1024 |
Definition at line 63 of file cl_irc.cpp.
Referenced by Irc_Proto_PollServerMsg().
#define IRC_SEND_BUF_SIZE 512 |
Definition at line 62 of file cl_irc.cpp.
Referenced by Irc_Client_CmdKick(), Irc_Client_CmdPrivmsg(), Irc_Client_CmdRplWhoisaccount(), Irc_Client_CmdRplWhoisidle(), Irc_Client_CmdRplWhoisserver(), Irc_Client_CmdRplWhoisuser(), Irc_Client_CmdRplWhoreply(), Irc_Client_CmdRplWhowasuser(), Irc_Client_Msg_f(), Irc_Client_PrivMsg_f(), Irc_Proto_Join(), Irc_Proto_Kick(), Irc_Proto_Mode(), Irc_Proto_Msg(), Irc_Proto_Nick(), Irc_Proto_Notice(), Irc_Proto_Part(), Irc_Proto_Password(), Irc_Proto_Pong(), Irc_Proto_Quit(), Irc_Proto_Topic(), Irc_Proto_User(), Irc_Proto_Who(), Irc_Proto_Whois(), and Irc_Proto_Whowas().
typedef struct irc_bucket_message_s irc_bucket_message_t |
typedef struct irc_bucket_s irc_bucket_t |
typedef struct irc_channel_s irc_channel_t |
typedef struct irc_command_s irc_command_t |
typedef enum irc_command_type_e irc_command_type_t |
typedef enum irc_nick_prefix_e irc_nick_prefix_t |
typedef enum irc_numeric_e irc_numeric_t |
typedef struct irc_server_msg_s irc_server_msg_t |
typedef struct irc_user_s irc_user_t |
enum irc_command_type_e |
Enumerator | |
---|---|
IRC_COMMAND_NUMERIC | |
IRC_COMMAND_STRING |
Definition at line 226 of file cl_irc.cpp.
enum irc_nick_prefix_e |
Enumerator | |
---|---|
IRC_NICK_PREFIX_NONE | |
IRC_NICK_PREFIX_OP | |
IRC_NICK_PREFIX_VOICE |
Definition at line 231 of file cl_irc.cpp.
enum irc_numeric_e |
Definition at line 78 of file cl_irc.cpp.
|
static |
Append the irc message to the buffer.
[in] | msg | the complete irc message (without ) |
Definition at line 626 of file cl_irc.cpp.
References Com_Printf(), GAME_AddChatMessage(), cvar_s::integer, irc_buffer, lengthof, Q_strcat(), Q_streq, Q_strncpyz(), Q_vsnprintf(), S_StartLocalSample(), SND_VOLUME_DEFAULT, TEXT_IRCCONTENT, UI_GetActiveWindowName(), UI_RegisterText(), and UI_TextScrollEnd().
Referenced by Irc_Client_CmdJoin(), Irc_Client_CmdKick(), Irc_Client_CmdKill(), Irc_Client_CmdMode(), Irc_Client_CmdNick(), Irc_Client_CmdPart(), Irc_Client_CmdPrivmsg(), Irc_Client_CmdQuit(), Irc_Client_CmdRplWhoisaccount(), Irc_Client_CmdRplWhoisidle(), Irc_Client_CmdRplWhoisserver(), Irc_Client_CmdRplWhoisuser(), Irc_Client_CmdRplWhoreply(), Irc_Client_CmdRplWhowasuser(), Irc_Client_Msg_f(), and Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 828 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_Logic_AddChannelName(), Irc_ParseName(), and MAX_VAR.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 864 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_Logic_RemoveChannelName(), Irc_ParseName(), IRC_SEND_BUF_SIZE, MAX_VAR, Q_streq, Q_strncpyz(), and cvar_s::string.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 855 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_Logic_RemoveChannelName(), Irc_ParseName(), and MAX_VAR.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 820 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_ParseName(), and MAX_VAR.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Changes the cvar 'name' with the new name you set.
Definition at line 886 of file cl_irc.cpp.
References Cvar_ForceSet(), Irc_AppendToBuffer(), Irc_Logic_AddChannelName(), Irc_Logic_RemoveChannelName(), Irc_ParseName(), MAX_VAR, Q_streq, and cvar_s::string.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 837 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_Logic_RemoveChannelName(), Irc_ParseName(), and MAX_VAR.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
get the ip and port into the menu
Definition at line 909 of file cl_irc.cpp.
References Com_DPrintf(), Com_Printf(), Cvar_GetString(), DEBUG_CLIENT, GAME_AddChatMessage(), Irc_AppendToBuffer(), IRC_CTCP_MARKER_CHR, IRC_CTCP_MARKER_STR, IRC_INVITE_FOR_A_GAME, Irc_Proto_Msg(), Irc_Proto_Notice(), IRC_SEND_BUF_SIZE, MAX_VAR, OBJZERO, port, Q_streq, Q_strncpyz(), S_COLOR_GREEN, S_StartLocalSample(), SND_VOLUME_DEFAULT, cvar_s::string, UFO_VERSION, UI_ExecuteConfunc(), UI_GetActiveWindow(), UI_GetActiveWindowName(), UI_PushWindow(), and va().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 846 of file cl_irc.cpp.
References Irc_AppendToBuffer(), Irc_Logic_RemoveChannelName(), Irc_ParseName(), and MAX_VAR.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 1022 of file cl_irc.cpp.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 988 of file cl_irc.cpp.
References Irc_Logic_AddChannelName(), Irc_ParseName(), len, MAX_VAR, Mem_Free, Mem_PoolAllocTypeN, and Q_strncpyz().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 691 of file cl_irc.cpp.
References Irc_Client_CmdTopic().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 745 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, and Q_strncpyz().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 766 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, and Q_strncpyz().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 724 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, and Q_strncpyz().
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 700 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, Q_strncpyz(), and user.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 787 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, Q_strncpyz(), and user.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 662 of file cl_irc.cpp.
References i, Irc_AppendToBuffer(), IRC_SEND_BUF_SIZE, Q_strncpyz(), and user.
Referenced by Irc_Proto_ProcessServerMsg().
|
inlinestatic |
Definition at line 686 of file cl_irc.cpp.
References Cvar_ForceSet().
Referenced by Irc_Client_CmdRplTopic(), and Irc_Proto_ProcessServerMsg().
Definition at line 1836 of file cl_irc.cpp.
References CL_OnBattlescape(), Com_Printf(), HTTP_GetURL(), Irc_GetExternalIP(), masterserver_url, cvar_s::string, UI_PushWindow(), and va().
Referenced by Irc_Init().
|
static |
Definition at line 1623 of file cl_irc.cpp.
References Com_Printf(), Cvar_ForceSet(), Irc_IsChannel(), and Irc_Proto_Join().
Referenced by Irc_Client_Join_f(), Irc_Connect_f(), and Irc_Logic_Frame().
Definition at line 1640 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Com_Printf(), and Irc_Client_Join().
Referenced by Irc_Init().
Definition at line 1789 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Args(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Kick().
Referenced by Irc_Init().
Definition at line 1717 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Args(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Mode().
Referenced by Irc_Init().
Send a message from menu or commandline.
Definition at line 1669 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Args(), Com_Printf(), Cvar_ForceSet(), Irc_AppendToBuffer(), Irc_Proto_Msg(), IRC_SEND_BUF_SIZE, and cvar_s::string.
Referenced by Irc_Init().
Definition at line 1766 of file cl_irc.cpp.
References Com_Printf(), i, IRC_MAX_USERLIST, irc_userListOrdered, irc_user_s::key, LIST_AddString(), MAX_VAR, irc_user_s::next, Q_StringSort(), Q_strncpyz(), TEXT_IRCUSERS, UI_RegisterLinkedListText(), user, irc_channel_s::user, and irc_channel_s::users.
Referenced by Irc_Init(), Irc_Logic_AddChannelName(), and Irc_Logic_RemoveChannelName().
Definition at line 1653 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Part().
Referenced by Irc_Init().
Definition at line 1699 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Args(), Cmd_Argv(), Com_Printf(), Irc_Proto_Msg(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Init().
Definition at line 1731 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Args(), Cmd_Argv(), Com_Printf(), Irc_Logic_GetChannelTopic(), Irc_Proto_Topic(), and Q_strncpyz().
Referenced by Irc_Init().
Definition at line 1851 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Who().
Referenced by Irc_Init().
Definition at line 1860 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Whois().
Referenced by Irc_Init().
Definition at line 1869 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Com_Printf(), and Irc_Proto_Whowas().
Referenced by Irc_Init().
Definition at line 1585 of file cl_irc.cpp.
References Cbuf_AddText(), Cmd_Argc(), Cmd_Argv(), Com_Printf(), Cvar_Set(), cvar_s::integer, Irc_Client_Join(), irc_connected, Irc_Logic_Connect(), Irc_Logic_Disconnect(), and cvar_s::string.
Referenced by Irc_Init().
Definition at line 1618 of file cl_irc.cpp.
References Irc_Logic_Disconnect().
Referenced by Irc_Init().
Definition at line 1810 of file cl_irc.cpp.
References Com_Printf(), Com_sprintf(), IRC_INVITE_FOR_A_GAME, Irc_Proto_Msg(), irc_user_s::key, name, irc_user_s::next, port, Q_streq, cvar_s::string, UFO_VERSION, user, and irc_channel_s::user.
Referenced by Irc_Client_Invite_f().
Definition at line 1959 of file cl_irc.cpp.
References Cmd_AddCommand(), CVAR_ARCHIVE, Cvar_Get(), CVAR_NOSET, Irc_Client_Invite_f(), Irc_Client_Join_f(), Irc_Client_Kick_f(), Irc_Client_Mode_f(), Irc_Client_Msg_f(), Irc_Client_Names_f(), Irc_Client_Part_f(), Irc_Client_PrivMsg_f(), Irc_Client_Topic_f(), Irc_Client_Who_f(), Irc_Client_Whois_f(), Irc_Client_Whowas_f(), Irc_Connect_f(), Irc_Disconnect_f(), Irc_Input_Activate_f(), Irc_Input_Deactivate_f(), Irc_UserClick_f(), Irc_UserRightClick_f(), Mem_CreatePool, and cvar_s::modified.
Referenced by CL_Init().
Definition at line 1931 of file cl_irc.cpp.
References Com_DPrintf(), DEBUG_CLIENT, irc_buffer, irc_connected, cvar_s::string, TEXT_IRCCONTENT, UI_PopWindow(), UI_PushWindow(), and UI_RegisterText().
Referenced by Irc_Init().
Definition at line 1946 of file cl_irc.cpp.
References cvar_s::modified, TEXT_IRCCONTENT, and UI_ResetData().
Referenced by Irc_Init(), and Irc_Logic_Disconnect().
|
inlinestatic |
Definition at line 292 of file cl_irc.cpp.
Referenced by Irc_Client_Join().
|
static |
Adds a new username to the channel username list.
Definition at line 1497 of file cl_irc.cpp.
References Com_DPrintf(), Com_sprintf(), DEBUG_CLIENT, i, Irc_Client_Names_f(), MAX_VAR, Mem_PoolAllocType, irc_user_s::next, user, irc_channel_s::user, and irc_channel_s::users.
Referenced by Irc_Client_CmdJoin(), Irc_Client_CmdNick(), and Irc_Client_CmdRplNamreply().
|
static |
Definition at line 1430 of file cl_irc.cpp.
References Com_Printf(), irc_connected, Irc_Proto_Connect(), Irc_Proto_Nick(), Irc_Proto_Password(), Irc_Proto_User(), cvar_s::string, and user.
Referenced by Irc_Connect_f(), and Irc_Logic_Frame().
|
static |
Definition at line 1446 of file cl_irc.cpp.
References Com_Printf(), Cvar_ForceSet(), irc_connected, Irc_Input_Deactivate_f(), Irc_Proto_Disconnect(), Irc_Proto_Quit(), TEXT_IRCUSERS, and UI_ResetData().
Referenced by Irc_Connect_f(), Irc_Disconnect_f(), Irc_Logic_Frame(), Irc_Logic_ReadMessages(), Irc_Proto_ProcessServerMsg(), and Irc_Shutdown().
Definition at line 1468 of file cl_irc.cpp.
References Irc_Client_Join(), irc_connected, Irc_Logic_Connect(), Irc_Logic_Disconnect(), Irc_Logic_ReadMessages(), Irc_Logic_SendMessages(), cvar_s::modified, and cvar_s::string.
Referenced by CL_SlowFrame().
|
static |
Definition at line 1487 of file cl_irc.cpp.
References irc_channel_s::topic.
Referenced by Irc_Client_Topic_f().
Definition at line 1413 of file cl_irc.cpp.
References _, Irc_Logic_Disconnect(), Irc_Proto_PollServerMsg(), Irc_Proto_ProcessServerMsg(), and UI_Popup().
Referenced by Irc_Logic_Frame().
|
static |
Removes a username from the channel username list.
Definition at line 1519 of file cl_irc.cpp.
References i, Irc_Client_Names_f(), Mem_Free, irc_user_s::next, user, irc_channel_s::user, and irc_channel_s::users.
Referenced by Irc_Client_CmdKick(), Irc_Client_CmdKill(), Irc_Client_CmdNick(), Irc_Client_CmdPart(), and Irc_Client_CmdQuit().
Definition at line 1401 of file cl_irc.cpp.
References Irc_Proto_DrainBucket(), and Irc_Proto_RefillBucket().
Referenced by Irc_Logic_Frame().
|
static |
Definition at line 1556 of file cl_irc.cpp.
References Irc_Net_StreamClose(), NET_Connect(), and NET_StreamFree().
Referenced by Irc_Proto_Connect().
|
static |
Definition at line 1567 of file cl_irc.cpp.
References NET_StreamFree().
Referenced by Irc_Proto_Disconnect().
|
static |
Definition at line 1573 of file cl_irc.cpp.
References NET_StreamEnqueue().
Referenced by Irc_Proto_DrainBucket(), Irc_Proto_Pong(), and Irc_Proto_Quit().
Definition at line 1547 of file cl_irc.cpp.
Referenced by Irc_Net_Connect().
|
static |
Definition at line 298 of file cl_irc.cpp.
References IRC_NICK_PREFIX_NONE, IRC_NICK_PREFIX_OP, IRC_NICK_PREFIX_VOICE, length, and Q_strncpyz().
Referenced by Irc_Client_CmdJoin(), Irc_Client_CmdKick(), Irc_Client_CmdKill(), Irc_Client_CmdMode(), Irc_Client_CmdNick(), Irc_Client_CmdPart(), Irc_Client_CmdQuit(), and Irc_Client_CmdRplNamreply().
|
static |
Definition at line 351 of file cl_irc.cpp.
References irc_bucket_s::character_size, irc_bucket_s::character_token, CL_Milliseconds(), irc_bucket_s::first_msg, Irc_Net_Connect(), irc_bucket_s::last_refill, irc_bucket_s::message_size, and cvar_s::value.
Referenced by Irc_Logic_Connect().
|
static |
Definition at line 367 of file cl_irc.cpp.
References irc_bucket_s::character_size, irc_bucket_s::first_msg, Irc_Net_Disconnect(), Mem_Free, irc_bucket_s::message_size, irc_bucket_message_s::msg, and irc_bucket_message_s::next.
Referenced by Irc_Logic_Disconnect().
Send all enqueued packets.
Definition at line 1361 of file cl_irc.cpp.
References irc_bucket_s::character_size, irc_bucket_s::character_token, irc_bucket_s::first_msg, Irc_Net_Send(), Mem_Free, irc_bucket_s::message_size, irc_bucket_message_s::msg_len, irc_bucket_message_s::next, and cvar_s::value.
Referenced by Irc_Logic_SendMessages().
|
static |
Definition at line 1305 of file cl_irc.cpp.
References irc_bucket_s::character_size, Com_Printf(), irc_bucket_s::first_msg, cvar_s::integer, irc_connected, m, Mem_AllocType, Mem_AllocTypeN, irc_bucket_s::message_size, irc_bucket_message_s::msg, irc_bucket_message_s::msg_len, and irc_bucket_message_s::next.
Referenced by Irc_Proto_Join(), Irc_Proto_Kick(), Irc_Proto_Mode(), Irc_Proto_Msg(), Irc_Proto_Nick(), Irc_Proto_Notice(), Irc_Proto_Part(), Irc_Proto_Password(), Irc_Proto_Topic(), Irc_Proto_User(), Irc_Proto_Who(), Irc_Proto_Whois(), and Irc_Proto_Whowas().
|
static |
Definition at line 433 of file cl_irc.cpp.
References Com_Printf(), Irc_Proto_Enqueue(), IRC_SEND_BUF_SIZE, ircChan, irc_channel_s::name, OBJZERO, and Q_strncpyz().
Referenced by Irc_Client_Join().
|
static |
Definition at line 536 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Kick_f().
|
static |
Definition at line 467 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Mode_f().
|
static |
Definition at line 495 of file cl_irc.cpp.
References Cbuf_AddText(), Com_DPrintf(), DEBUG_CLIENT, Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_CmdPrivmsg(), Irc_Client_Msg_f(), Irc_Client_PrivMsg_f(), and Irc_GetExternalIP().
|
static |
Definition at line 400 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Logic_Connect().
|
static |
Definition at line 512 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_CmdPrivmsg().
|
static |
Definition at line 1209 of file cl_irc.cpp.
References i, irc_server_msg_s::id, IRC_COMMAND_NUMERIC, IRC_COMMAND_STRING, irc_server_msg_s::numeric, irc_server_msg_s::params, irc_server_msg_s::prefix, irc_server_msg_s::string, irc_server_msg_s::trailing, and irc_server_msg_s::type.
Referenced by Irc_Proto_PollServerMsg().
|
static |
Definition at line 456 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Part_f().
|
static |
Definition at line 422 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Logic_Connect().
|
static |
Definition at line 582 of file cl_irc.cpp.
References Com_Printf(), Irc_Proto_ParseServerMsg(), IRC_RECV_BUF_SIZE, and NET_StreamDequeue().
Referenced by Irc_Logic_ReadMessages().
|
static |
Definition at line 523 of file cl_irc.cpp.
References Irc_Net_Send(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Proto_ProcessServerMsg().
|
static |
Definition at line 1029 of file cl_irc.cpp.
References _, CL_Translate(), Com_DPrintf(), Com_Printf(), DEBUG_CLIENT, ERR_ALREADYREGISTRED, ERR_BADCHANNELKEY, ERR_BADNAME, ERR_BADPING, ERR_BANNEDFROMCHAN, ERR_BANNICKCHANGE, ERR_CANNOTSENDTOCHAN, ERR_CANTKILLSERVER, ERR_CHANNELISFULL, ERR_CHANOPRIVSNEEDED, ERR_ERRONEUSNICKNAME, ERR_FILEERROR, ERR_GHOSTEDCLIENT, ERR_INVITEONLYCHAN, ERR_KEYSET, ERR_LAST_ERR_MSG, ERR_LISTSYNTAX, ERR_NCHANGETOOFAST, ERR_NEEDMOREPARAMS, ERR_NICKCOLLISION, ERR_NICKNAMEINUSE, ERR_NOADMININFO, ERR_NOLOGIN, ERR_NOMOTD, ERR_NONICKNAMEGIVEN, ERR_NOOPERHOST, ERR_NOORIGIN, ERR_NOPERMFORHOST, ERR_NOPRIVILEGES, ERR_NORECIPIENT, ERR_NOSUCHCHANNEL, ERR_NOSUCHGLINE, ERR_NOSUCHNICK, ERR_NOSUCHSERVER, ERR_NOTEXTTOSEND, ERR_NOTONCHANNEL, ERR_NOTOPLEVEL, ERR_NOTREGISTERED, ERR_PASSWDMISMATCH, ERR_SILELISTFULL, ERR_SUMMONDISABLED, ERR_TOOMANYCHANNELS, ERR_TOOMANYDCC, ERR_TOOMANYTARGETS, ERR_UMODEUNKNOWNFLAG, ERR_UNKNOWNCOMMAND, ERR_UNKNOWNMODE, ERR_USERNOTINCHANNEL, ERR_USERONCHANNEL, ERR_USERSDISABLED, ERR_USERSDONTMATCH, ERR_WASNOSUCHNICK, ERR_WHOLIMEXCEED, ERR_WHOSYNTAX, ERR_WILDTOPLEVEL, ERR_YOUREBANNEDCREEP, irc_command_s::id, irc_server_msg_s::id, cvar_s::integer, Irc_AppendToBuffer(), Irc_Client_CmdJoin(), Irc_Client_CmdKick(), Irc_Client_CmdKill(), Irc_Client_CmdMode(), Irc_Client_CmdNick(), Irc_Client_CmdPart(), Irc_Client_CmdPrivmsg(), Irc_Client_CmdQuit(), Irc_Client_CmdRplEndofnames(), Irc_Client_CmdRplNamreply(), Irc_Client_CmdRplTopic(), Irc_Client_CmdRplWhoisaccount(), Irc_Client_CmdRplWhoisidle(), Irc_Client_CmdRplWhoisserver(), Irc_Client_CmdRplWhoisuser(), Irc_Client_CmdRplWhoreply(), Irc_Client_CmdRplWhowasuser(), Irc_Client_CmdTopic(), IRC_COMMAND_NUMERIC, IRC_COMMAND_STRING, Irc_Logic_Disconnect(), Irc_Proto_Pong(), irc_command_s::numeric, irc_server_msg_s::numeric, irc_server_msg_s::params, popupText, irc_server_msg_s::prefix, Q_strncpyz(), RPL_CREATED, RPL_ENDOFMOTD, RPL_ENDOFNAMES, RPL_ENDOFWHO, RPL_ENDOFWHOIS, RPL_ENDOFWHOWAS, RPL_GLOBALUSERS, RPL_HELLO, RPL_ISUPPORT, RPL_LOCALUSERS, RPL_LUSERCHANNELS, RPL_LUSERCLIENT, RPL_LUSERME, RPL_LUSEROP, RPL_LUSERUNKNOWN, RPL_MOTD, RPL_MOTDSTART, RPL_MYINFO, RPL_NAMREPLY, RPL_NOTOPIC, RPL_TOPIC, RPL_WELCOME, RPL_WHOISACCOUNT, RPL_WHOISCHANNELS, RPL_WHOISIDLE, RPL_WHOISOPERATOR, RPL_WHOISSERVER, RPL_WHOISUSER, RPL_WHOREPLY, RPL_WHOWASUSER, RPL_YOURHOST, cvar_s::string, irc_command_s::string, irc_server_msg_s::string, irc_server_msg_s::trailing, irc_command_s::type, irc_server_msg_s::type, UI_Popup(), and UI_PushWindow().
Referenced by Irc_Logic_ReadMessages().
|
static |
Definition at line 388 of file cl_irc.cpp.
References Irc_Net_Send(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Logic_Disconnect().
Definition at line 1341 of file cl_irc.cpp.
References irc_bucket_s::character_token, CL_Milliseconds(), irc_bucket_s::last_refill, and cvar_s::value.
Referenced by Irc_Logic_SendMessages().
|
static |
Definition at line 480 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Topic_f().
|
static |
Definition at line 411 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Logic_Connect().
|
static |
Definition at line 549 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Who_f().
|
static |
Definition at line 560 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Whois_f(), and Irc_UserRightClick_f().
|
static |
Definition at line 571 of file cl_irc.cpp.
References Irc_Proto_Enqueue(), and IRC_SEND_BUF_SIZE.
Referenced by Irc_Client_Whowas_f().
Definition at line 2006 of file cl_irc.cpp.
References irc_connected, Irc_Logic_Disconnect(), and Mem_DeletePool.
Referenced by CL_Shutdown().
Adds the username you clicked to your input buffer.
Definition at line 1888 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), Cvar_Set(), IRC_MAX_USERLIST, irc_userListOrdered, name, cvar_s::string, and irc_channel_s::users.
Referenced by Irc_Init().
Performs a whois query for the username you clicked.
Definition at line 1910 of file cl_irc.cpp.
References Cmd_Argc(), Cmd_Argv(), IRC_MAX_USERLIST, Irc_Proto_Whois(), irc_userListOrdered, name, and irc_channel_s::users.
Referenced by Irc_Init().
|
static |
Definition at line 264 of file cl_irc.cpp.
|
static |
Definition at line 58 of file cl_irc.cpp.
|
static |
Definition at line 346 of file cl_irc.cpp.
|
static |
Definition at line 266 of file cl_irc.cpp.
Referenced by Irc_AppendToBuffer(), and Irc_Input_Activate_f().
|
static |
Definition at line 48 of file cl_irc.cpp.
|
static |
Definition at line 329 of file cl_irc.cpp.
|
static |
Definition at line 330 of file cl_irc.cpp.
|
static |
Definition at line 328 of file cl_irc.cpp.
|
static |
Definition at line 60 of file cl_irc.cpp.
Referenced by Irc_Connect_f(), Irc_Input_Activate_f(), Irc_Logic_Connect(), Irc_Logic_Disconnect(), Irc_Logic_Frame(), Irc_Proto_Enqueue(), and Irc_Shutdown().
|
static |
Definition at line 53 of file cl_irc.cpp.
|
static |
Definition at line 261 of file cl_irc.cpp.
Referenced by Irc_Client_CmdPrivmsg(), and Irc_GetExternalIP().
|
static |
Definition at line 54 of file cl_irc.cpp.
|
static |
Definition at line 327 of file cl_irc.cpp.
|
static |
Definition at line 326 of file cl_irc.cpp.
|
static |
Definition at line 49 of file cl_irc.cpp.
|
static |
Definition at line 51 of file cl_irc.cpp.
|
static |
Definition at line 47 of file cl_irc.cpp.
|
static |
Definition at line 57 of file cl_irc.cpp.
|
static |
Definition at line 46 of file cl_irc.cpp.
|
static |
Definition at line 55 of file cl_irc.cpp.
|
static |
Definition at line 259 of file cl_irc.cpp.
|
static |
Definition at line 52 of file cl_irc.cpp.
|
static |
Definition at line 50 of file cl_irc.cpp.
|
static |
Definition at line 1764 of file cl_irc.cpp.
Referenced by Irc_Client_Names_f(), Irc_UserClick_f(), and Irc_UserRightClick_f().
|
static |
Definition at line 263 of file cl_irc.cpp.
Referenced by Irc_Proto_Join().