]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - console.c
modified gamma handling, now VID_UpdateGamma is only called from VID_Finish, and...
[xonotic/darkplaces.git] / console.c
index 7c1977155096752b6d2bb05b0412f6ca9cd8ba7a..a54d46df945f75335ea7242b82699bd56a90710b 100644 (file)
--- a/console.c
+++ b/console.c
@@ -53,6 +53,11 @@ int con_vislines;
 
 qboolean con_initialized;
 
+// used for server replies to rcon command
+qboolean rcon_redirect = false;
+int rcon_redirect_bufferpos = 0;
+char rcon_redirect_buffer[1400];
+
 
 /*
 ==============================================================================
@@ -148,10 +153,11 @@ void Log_Start (void)
        // Dump the contents of the log queue into the log file and free it
        if (logqueue != NULL)
        {
-               if (logfile != NULL && logq_ind != 0)
-                       FS_Write (logfile, logqueue, logq_ind);
-               Mem_Free (logqueue);
+               unsigned char *temp = logqueue;
                logqueue = NULL;
+               if (logfile != NULL && logq_ind != 0)
+                       FS_Write (logfile, temp, logq_ind);
+               Mem_Free (temp);
                logq_ind = 0;
                logq_size = 0;
        }
@@ -387,7 +393,7 @@ void Con_Init (void)
        con_linewidth = 80;
        con_totallines = CON_TEXTSIZE / con_linewidth;
 
-       // Allocate a log queue
+       // Allocate a log queue, this will be freed after configs are parsed
        logq_size = MAX_INPUTLINE;
        logqueue = (unsigned char *)Mem_Alloc (tempmempool, logq_size);
        logq_ind = 0;
@@ -561,9 +567,13 @@ void Con_Print(const char *msg)
 
        for (;*msg;msg++)
        {
+               // if this print is in response to an rcon command, add the character
+               // to the rcon redirect buffer
+               if (rcon_redirect && rcon_redirect_bufferpos < (int)sizeof(rcon_redirect_buffer) - 1)
+                       rcon_redirect_buffer[rcon_redirect_bufferpos++] = *msg;
+               // if this is the beginning of a new line, print timestamp
                if (index == 0)
                {
-                       // if this is the beginning of a new line, print timestamp
                        const char *timestamp = timestamps.integer ? Sys_TimeString(timeformat.string) : "";
                        // reset the color
                        // FIXME: 1. perhaps we should use a terminal system 2. use a constant instead of 7!
@@ -831,10 +841,7 @@ void Con_DrawConsole (int lines)
                return;
 
 // draw the background
-       if (scr_conbrightness.value >= 0.01f)
-               DrawQ_Pic(0, lines - vid_conheight.integer, "gfx/conback", vid_conwidth.integer, vid_conheight.integer, scr_conbrightness.value, scr_conbrightness.value, scr_conbrightness.value, scr_conalpha.value, 0);
-       else
-               DrawQ_Fill(0, lines - vid_conheight.integer, vid_conwidth.integer, vid_conheight.integer, 0, 0, 0, scr_conalpha.value, 0);
+       DrawQ_Pic(0, lines - vid_conheight.integer, scr_conbrightness.value >= 0.01f ? Draw_CachePic("gfx/conback", true) : NULL, vid_conwidth.integer, vid_conheight.integer, scr_conbrightness.value, scr_conbrightness.value, scr_conbrightness.value, scr_conalpha.value, 0);
        DrawQ_String(vid_conwidth.integer - strlen(engineversion) * con_textsize.value - con_textsize.value, lines - con_textsize.value, engineversion, 0, con_textsize.value, con_textsize.value, 1, 0, 0, 1, 0);
 
 // draw the text
@@ -974,7 +981,7 @@ qboolean GetMapList (const char *s, char *completedname, int completednamebuffer
                                        keyname[l] = 0;
                                        if (!COM_ParseToken(&data, false))
                                                break;
-                                       if (developer.integer >= 2)
+                                       if (developer.integer >= 100)
                                                Con_Printf("key: %s %s\n", keyname, com_token);
                                        if (!strcmp(keyname, "message"))
                                        {