X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=console.c;h=e88af147d42828289a42c7168c6df2b502011654;hb=0b11b24907f6a68f718b5b8d881d53bcf6be17dc;hp=5f14b83f1f7aed5dc5cadec72c48361fabc8ffcc;hpb=0ec51413567a78f109ecee254e6973a42c8a026c;p=xonotic%2Fdarkplaces.git diff --git a/console.c b/console.c index 5f14b83f..e88af147 100644 --- a/console.c +++ b/console.c @@ -57,7 +57,9 @@ cvar_t con_textsize = {CVAR_CLIENT | CVAR_SAVE, "con_textsize","8", "console tex cvar_t con_notifysize = {CVAR_CLIENT | CVAR_SAVE, "con_notifysize","8", "notify text size in virtual 2D pixels"}; cvar_t con_chatsize = {CVAR_CLIENT | CVAR_SAVE, "con_chatsize","8", "chat text size in virtual 2D pixels (if con_chat is enabled)"}; cvar_t con_chatsound = {CVAR_CLIENT | CVAR_SAVE, "con_chatsound","1", "enables chat sound to play on message"}; - +cvar_t con_chatsound_file = {CVAR_CLIENT, "con_chatsound_file","sound/misc/talk.wav", "The sound to play for chat messages"}; +cvar_t con_chatsound_team_file = {CVAR_CLIENT, "con_chatsound_team_file","sound/misc/talk2.wav", "The sound to play for team chat messages"}; +cvar_t con_chatsound_team_mask = {CVAR_CLIENT | CVAR_READONLY, "con_chatsound_team_mask","40","Magic ASCII code that denotes a team chat message"}; cvar_t sys_specialcharactertranslation = {CVAR_CLIENT | CVAR_SERVER, "sys_specialcharactertranslation", "1", "terminal console conchars to ASCII translation (set to 0 if your conchars.tga is for an 8bit character set or if you want raw output)"}; #ifdef WIN32 @@ -807,7 +809,7 @@ static void Con_ConDump_f(cmd_state_t *cmd) file = FS_OpenRealFile(Cmd_Argv(cmd, 1), "w", false); if (!file) { - Con_Printf("condump: unable to write file \"%s\"\n", Cmd_Argv(cmd, 1)); + Con_Errorf("condump: unable to write file \"%s\"\n", Cmd_Argv(cmd, 1)); return; } if (con_mutex) Thread_LockMutex(con_mutex); @@ -884,6 +886,9 @@ void Con_Init (void) Cvar_RegisterVariable (&con_notifytime); Cvar_RegisterVariable (&con_textsize); Cvar_RegisterVariable (&con_chatsound); + Cvar_RegisterVariable (&con_chatsound_file); + Cvar_RegisterVariable (&con_chatsound_team_file); + Cvar_RegisterVariable (&con_chatsound_team_mask); // --blub Cvar_RegisterVariable (&con_nickcompletion); @@ -896,16 +901,13 @@ void Con_Init (void) Cvar_RegisterVariable (&condump_stripcolors); // register our commands - Cmd_AddCommand(&cmd_client, "toggleconsole", Con_ToggleConsole_f, "opens or closes the console"); - Cmd_AddCommand(&cmd_client, "messagemode", Con_MessageMode_f, "input a chat message to say to everyone"); - Cmd_AddCommand(&cmd_client, "messagemode2", Con_MessageMode2_f, "input a chat message to say to only your team"); - Cmd_AddCommand(&cmd_client, "commandmode", Con_CommandMode_f, "input a console command"); - Cmd_AddCommand(&cmd_client, "clear", Con_Clear_f, "clear console history"); - Cmd_AddCommand(&cmd_client, "maps", Con_Maps_f, "list information about available maps"); - Cmd_AddCommand(&cmd_client, "condump", Con_ConDump_f, "output console history to a file (see also log_file)"); - - Cmd_AddCommand(&cmd_server, "maps", Con_Maps_f, "list information about available maps"); - Cmd_AddCommand(&cmd_server, "condump", Con_ConDump_f, "output console history to a file (see also log_file)"); + Cmd_AddCommand(CMD_CLIENT, "toggleconsole", Con_ToggleConsole_f, "opens or closes the console"); + Cmd_AddCommand(CMD_CLIENT, "messagemode", Con_MessageMode_f, "input a chat message to say to everyone"); + Cmd_AddCommand(CMD_CLIENT, "messagemode2", Con_MessageMode2_f, "input a chat message to say to only your team"); + Cmd_AddCommand(CMD_CLIENT, "commandmode", Con_CommandMode_f, "input a console command"); + Cmd_AddCommand(CMD_SHARED, "clear", Con_Clear_f, "clear console history"); + Cmd_AddCommand(CMD_SHARED, "maps", Con_Maps_f, "list information about available maps"); + Cmd_AddCommand(CMD_SHARED, "condump", Con_ConDump_f, "output console history to a file (see also log_file)"); con_initialized = true; Con_DPrint("Console initialized.\n"); @@ -1159,28 +1161,17 @@ void Con_MaskPrint(int additionalmask, const char *msg) { if (con_chatsound.value) { - if(IS_NEXUIZ_DERIVED(gamemode)) - { - if(msg[1] == '\r' && cl.foundtalk2wav) - S_LocalSound ("sound/misc/talk2.wav"); - else - S_LocalSound ("sound/misc/talk.wav"); - } + if(msg[1] == con_chatsound_team_mask.integer && cl.foundteamchatsound) + S_LocalSound (con_chatsound_team_file.string); else - { - if (msg[1] == '(' && cl.foundtalk2wav) - S_LocalSound ("sound/misc/talk2.wav"); - else - S_LocalSound ("sound/misc/talk.wav"); - } + S_LocalSound (con_chatsound_file.string); } } - // Send to chatbox for say/tell (1) and messages (3) // 3 is just so that a message can be sent to the chatbox without a sound. if (*msg == 1 || *msg == 3) mask = CON_MASK_CHAT; - + line[index++] = STRING_COLOR_TAG; line[index++] = '3'; msg++; @@ -1458,6 +1449,61 @@ void Con_Printf(const char *fmt, ...) Con_MaskPrint(CON_MASK_PRINT, msg); } +/* +================ +Con_Warn +================ +*/ +void Con_Warn(const char *msg) +{ + Con_Printf("^3%s",msg); +} + +/* +================ +Con_Warnf +================ +*/ +void Con_Warnf(const char *fmt, ...) +{ + va_list argptr; + char msg[MAX_INPUTLINE]; + + va_start(argptr,fmt); + dpvsnprintf(msg,sizeof(msg),fmt,argptr); + va_end(argptr); + + Con_Printf("^3%s",msg); +} + +/* +================ +Con_Error +================ +*/ +void Con_Error(const char *msg) +{ + Con_Printf("^1%s",msg); +} + +/* +================ +Con_Errorf +================ +*/ +void Con_Errorf(const char *fmt, ...) +{ + va_list argptr; + char msg[MAX_INPUTLINE]; + + va_start(argptr,fmt); + dpvsnprintf(msg,sizeof(msg),fmt,argptr); + va_end(argptr); + + Con_Printf("^1%s",msg); + +} + /* ================ Con_DPrint