]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - console.c
DP_EF_RESTARTANIM_BIT
[xonotic/darkplaces.git] / console.c
index 12df5d1adb31790f2b096855797522be6a2f6a6e..71a5f86928ccea41619a75c690db6287bb0eea85 100644 (file)
--- a/console.c
+++ b/console.c
@@ -28,9 +28,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 float con_cursorspeed = 4;
 
-#define                CON_TEXTSIZE    1048576
-#define                CON_MAXLINES      16384
-
 // lines up from bottom to display
 int con_backscroll;
 
@@ -51,6 +48,7 @@ cvar_t con_chatwidth = {CVAR_SAVE, "con_chatwidth","1.0", "relative chat window
 cvar_t con_textsize = {CVAR_SAVE, "con_textsize","8", "console text size in virtual 2D pixels"};
 cvar_t con_notifysize = {CVAR_SAVE, "con_notifysize","8", "notify text size in virtual 2D pixels"};
 cvar_t con_chatsize = {CVAR_SAVE, "con_chatsize","8", "chat text size in virtual 2D pixels (if con_chat is enabled)"};
+cvar_t con_chatsound = {CVAR_SAVE, "con_chatsound","1", "enables chat sound to play on message"};
 
 
 cvar_t sys_specialcharactertranslation = {0, "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)"};
@@ -94,6 +92,7 @@ char rcon_redirect_buffer[1400];
 
 void ConBuffer_Init(conbuffer_t *buf, int textsize, int maxlines, mempool_t *mempool)
 {
+       buf->active = true;
        buf->textsize = textsize;
        buf->text = (char *) Mem_Alloc(mempool, textsize);
        buf->maxlines = maxlines;
@@ -119,6 +118,7 @@ ConBuffer_Shutdown
 */
 void ConBuffer_Shutdown(conbuffer_t *buf)
 {
+       buf->active = false;
        Mem_Free(buf->text);
        Mem_Free(buf->lines);
        buf->text = NULL;
@@ -229,6 +229,10 @@ void ConBuffer_AddLine(conbuffer_t *buf, const char *line, int len, int mask)
        char *putpos;
        con_lineinfo_t *p;
 
+       // developer_memory 1 during shutdown prints while conbuffer_t is being freed
+       if (!buf->active)
+               return;
+
        ConBuffer_FixTimes(buf);
 
        if(len >= buf->textsize)
@@ -330,7 +334,7 @@ void Log_ConPrint (const char *msg);
 Log_DestBuffer_Init
 ====================
 */
-static void Log_DestBuffer_Init()
+static void Log_DestBuffer_Init(void)
 {
        memcpy(log_dest_buffer, "\377\377\377\377n", 5); // QW rcon print
        log_dest_buffer_pos = 5;
@@ -341,7 +345,7 @@ static void Log_DestBuffer_Init()
 Log_DestBuffer_Flush
 ====================
 */
-void Log_DestBuffer_Flush()
+void Log_DestBuffer_Flush(void)
 {
        lhnetaddress_t log_dest_addr;
        lhnetsocket_t *log_dest_socket;
@@ -711,7 +715,7 @@ void Con_ConDump_f (void)
        FS_Close(file);
 }
 
-void Con_Clear_f ()
+void Con_Clear_f (void)
 {
        ConBuffer_Clear(&con);
 }
@@ -753,6 +757,7 @@ void Con_Init (void)
        Cvar_RegisterVariable (&con_notifysize);
        Cvar_RegisterVariable (&con_notifytime);
        Cvar_RegisterVariable (&con_textsize);
+       Cvar_RegisterVariable (&con_chatsound);
 
        // --blub
        Cvar_RegisterVariable (&con_nickcompletion);
@@ -879,7 +884,7 @@ void Con_Rcon_Redirect_Init(lhnetsocket_t *sock, lhnetaddress_t *dest)
        rcon_redirect_bufferpos = 5;
 }
 
-void Con_Rcon_Redirect_Flush()
+void Con_Rcon_Redirect_Flush(void)
 {
        rcon_redirect_buffer[rcon_redirect_bufferpos] = 0;
        NetConn_WriteString(rcon_redirect_sock, rcon_redirect_buffer, rcon_redirect_dest);
@@ -887,14 +892,14 @@ void Con_Rcon_Redirect_Flush()
        rcon_redirect_bufferpos = 5;
 }
 
-void Con_Rcon_Redirect_End()
+void Con_Rcon_Redirect_End(void)
 {
        Con_Rcon_Redirect_Flush();
        rcon_redirect_dest = NULL;
        rcon_redirect_sock = NULL;
 }
 
-void Con_Rcon_Redirect_Abort()
+void Con_Rcon_Redirect_Abort(void)
 {
        rcon_redirect_dest = NULL;
        rcon_redirect_sock = NULL;
@@ -1031,19 +1036,22 @@ void Con_Print(const char *msg)
                                // play talk wav
                                if (*msg == 1)
                                {
-                                       if(gamemode == GAME_NEXUIZ)
+                                       if (con_chatsound.value)
                                        {
-                                               if(msg[1] == '\r' && cl.foundtalk2wav)
-                                                       S_LocalSound ("sound/misc/talk2.wav");
-                                               else
-                                                       S_LocalSound ("sound/misc/talk.wav");
-                                       }
-                                       else
-                                       {
-                                               if (msg[1] == '(' && cl.foundtalk2wav)
-                                                       S_LocalSound ("sound/misc/talk2.wav");
+                                               if(gamemode == GAME_NEXUIZ)
+                                               {
+                                                       if(msg[1] == '\r' && cl.foundtalk2wav)
+                                                               S_LocalSound ("sound/misc/talk2.wav");
+                                                       else
+                                                               S_LocalSound ("sound/misc/talk.wav");
+                                               }
                                                else
-                                                       S_LocalSound ("sound/misc/talk.wav");
+                                               {
+                                                       if (msg[1] == '(' && cl.foundtalk2wav)
+                                                               S_LocalSound ("sound/misc/talk2.wav");
+                                                       else
+                                                               S_LocalSound ("sound/misc/talk.wav");
+                                               }
                                        }
                                        mask = CON_MASK_CHAT;
                                }