}
-/*
-====================
-Log_Init
-====================
-*/
-void Log_Init (void)
-{
- // Allocate a log queue
- logq_size = 512;
- logqueue = Mem_Alloc (tempmempool, logq_size);
- logq_ind = 0;
-
- Cvar_RegisterVariable (&log_file);
-
- // support for the classic Quake option
-// COMMANDLINEOPTION: Console: -condebug logs console messages to qconsole.log, see also log_file
- if (COM_CheckParm ("-condebug") != 0)
- Cvar_SetQuick (&log_file, "qconsole.log");
-}
-
-
/*
====================
Log_Open
if (width == con_linewidth)
return;
- if (width < 1) // video hasn't been initialized yet
- {
- width = 80;
- con_linewidth = width;
- con_totallines = CON_TEXTSIZE / con_linewidth;
- memset (con_text, ' ', CON_TEXTSIZE);
- }
- else
- {
- oldwidth = con_linewidth;
- con_linewidth = width;
- oldtotallines = con_totallines;
- con_totallines = CON_TEXTSIZE / con_linewidth;
- numlines = oldtotallines;
+ oldwidth = con_linewidth;
+ con_linewidth = width;
+ oldtotallines = con_totallines;
+ con_totallines = CON_TEXTSIZE / con_linewidth;
+ numlines = oldtotallines;
- if (con_totallines < numlines)
- numlines = con_totallines;
+ if (con_totallines < numlines)
+ numlines = con_totallines;
- numchars = oldwidth;
+ numchars = oldwidth;
- if (con_linewidth < numchars)
- numchars = con_linewidth;
+ if (con_linewidth < numchars)
+ numchars = con_linewidth;
- memcpy (tbuf, con_text, CON_TEXTSIZE);
- memset (con_text, ' ', CON_TEXTSIZE);
+ memcpy (tbuf, con_text, CON_TEXTSIZE);
+ memset (con_text, ' ', CON_TEXTSIZE);
- for (i=0 ; i<numlines ; i++)
+ for (i=0 ; i<numlines ; i++)
+ {
+ for (j=0 ; j<numchars ; j++)
{
- for (j=0 ; j<numchars ; j++)
- {
- con_text[(con_totallines - 1 - i) * con_linewidth + j] =
- tbuf[((con_current - i + oldtotallines) %
- oldtotallines) * oldwidth + j];
- }
+ con_text[(con_totallines - 1 - i) * con_linewidth + j] =
+ tbuf[((con_current - i + oldtotallines) %
+ oldtotallines) * oldwidth + j];
}
-
- Con_ClearNotify ();
}
+ Con_ClearNotify ();
+
con_backscroll = 0;
con_current = con_totallines - 1;
}
void Con_Init (void)
{
memset (con_text, ' ', CON_TEXTSIZE);
- con_linewidth = -1;
- Con_CheckResize ();
+ con_linewidth = 80;
+ con_totallines = CON_TEXTSIZE / con_linewidth;
+ // Allocate a log queue
+ logq_size = 512;
+ logqueue = Mem_Alloc (tempmempool, logq_size);
+ logq_ind = 0;
+
+ Cvar_RegisterVariable (&log_file);
+
+ // support for the classic Quake option
+// COMMANDLINEOPTION: Console: -condebug logs console messages to qconsole.log, see also log_file
+ if (COM_CheckParm ("-condebug") != 0)
+ Cvar_SetQuick (&log_file, "qconsole.log");
+}
+
+void Con_Init_Commands (void)
+{
// register our cvars
Cvar_RegisterVariable (&con_notifytime);
Cvar_RegisterVariable (&con_notify);
If no console is visible, the notify window will pop up.
================
*/
-void Con_PrintToHistory(const char *txt)
+void Con_PrintToHistory(const char *txt, int mask)
{
- int y, c, l, mask;
+ int y, c, l;
static int cr;
- if (txt[0] == 1)
- {
- mask = 128; // go to colored text
- txt++;
- }
- else if (txt[0] == 2)
- {
- mask = 128; // go to colored text
- txt++;
- }
- else
- mask = 0;
-
-
while ( (c = *txt) )
{
// count word length
}
}
-
- if( txt[0] == 1 ) {
- // play talk wav
- S_LocalSound ("sound/misc/talk.wav");
- }
}
/* The translation table between the graphical font and plain ASCII --KB */
extern qboolean sys_nostdout;
void Con_Print(const char *msg)
{
+ int mask = 0;
static int index = 0;
static char line[16384];
// special color codes for chat messages must always come first
// for Con_PrintToHistory to work properly
if (*msg <= 2)
- line[index++] = *msg++;
+ {
+ if (*msg == 1)
+ {
+ // play talk wav
+ S_LocalSound ("sound/misc/talk.wav");
+ }
+ if (gamemode == GAME_NEXUIZ)
+ {
+ line[index++] = '^';
+ line[index++] = '3';
+ }
+ else
+ {
+ // go to colored text
+ mask = 128;
+ }
+ msg++;
+ }
// store timestamp
for (;*timestamp;index++, timestamp++)
if (index < sizeof(line) - 2)
line[index] = 0;
// send to log file
Log_ConPrint(line);
- // send to scrollable buffer
- if (con_initialized && cls.state != ca_dedicated)
- Con_PrintToHistory(line);
// send to terminal or dedicated server window
if (!sys_nostdout)
{
*p = qfont_table[*p];
Sys_PrintToTerminal(line);
}
+ // send to scrollable buffer
+ if (con_initialized && cls.state != ca_dedicated)
+ Con_PrintToHistory(line, mask);
// empty the line buffer
index = 0;
}
static vec4_t _con_colors[] =
{
- {1.0, 1.0, 1.0, 1.0},
- {1.0, 0.0, 0.0, 1.0},
- {0.0, 1.0, 0.0, 1.0},
- {0.0, 0.0, 1.0, 1.0},
- {1.0, 1.0, 0.0, 1.0},
- {0.0, 1.0, 1.0, 1.0},
- {1.0, 0.0, 1.0, 1.0},
- {0.1, 0.1, 0.1, 1.0}
+ // Quake3 colors
+ // LordHavoc: why on earth is cyan before magenta in Quake3?
+ // LordHavoc: note: Doom3 uses white for [0] and [7]
+ {0.0, 0.0, 0.0, 1.0}, // black
+ {1.0, 0.0, 0.0, 1.0}, // red
+ {0.0, 1.0, 0.0, 1.0}, // green
+ {1.0, 1.0, 0.0, 1.0}, // yellow
+ {0.0, 0.0, 1.0, 1.0}, // blue
+ {0.0, 1.0, 1.0, 1.0}, // cyan
+ {1.0, 0.0, 1.0, 1.0}, // magenta
+ {1.0, 1.0, 1.0, 1.0} // white
+ // Black's color table
+ //{1.0, 1.0, 1.0, 1.0},
+ //{1.0, 0.0, 0.0, 1.0},
+ //{0.0, 1.0, 0.0, 1.0},
+ //{0.0, 0.0, 1.0, 1.0},
+ //{1.0, 1.0, 0.0, 1.0},
+ //{0.0, 1.0, 1.0, 1.0},
+ //{1.0, 0.0, 1.0, 1.0},
+ //{0.1, 0.1, 0.1, 1.0}
};
#define _con_colors_count (sizeof(_con_colors) / sizeof(vec3_t))
const char *first, *last;
int len;
- color = _con_colors[0];
+ color = _con_colors[7];
if( maxlen < 1)
len = strlen( text );
else