Add con_autochat and con_autoclear cvars
This commit is contained in:
parent
c12b81a273
commit
dfce71929a
6 changed files with 35 additions and 7 deletions
|
@ -140,6 +140,12 @@ The defaults for these variables differ depending on the target platform.
|
||||||
behaviour, 0 for standard q3
|
behaviour, 0 for standard q3
|
||||||
cl_mouseAccelOffset - Tuning the acceleration curve, see below
|
cl_mouseAccelOffset - Tuning the acceleration curve, see below
|
||||||
|
|
||||||
|
con_autochat - Set to 0 to disable sending console input
|
||||||
|
text as chat when there is not a slash
|
||||||
|
at the beginning
|
||||||
|
con_autoclear - Set to 0 to disable clearing console
|
||||||
|
input text when console is closed
|
||||||
|
|
||||||
in_joystickUseAnalog - Do not translate joystick axis events
|
in_joystickUseAnalog - Do not translate joystick axis events
|
||||||
to keyboard commands
|
to keyboard commands
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ typedef struct {
|
||||||
console_t con;
|
console_t con;
|
||||||
|
|
||||||
cvar_t *con_conspeed;
|
cvar_t *con_conspeed;
|
||||||
|
cvar_t *con_autoclear;
|
||||||
cvar_t *con_notifytime;
|
cvar_t *con_notifytime;
|
||||||
|
|
||||||
#define DEFAULT_CONSOLE_WIDTH 78
|
#define DEFAULT_CONSOLE_WIDTH 78
|
||||||
|
@ -72,7 +73,10 @@ void Con_ToggleConsole_f (void) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( con_autoclear->integer ) {
|
||||||
Field_Clear( &g_consoleField );
|
Field_Clear( &g_consoleField );
|
||||||
|
}
|
||||||
|
|
||||||
g_consoleField.widthInChars = g_console_field_width;
|
g_consoleField.widthInChars = g_console_field_width;
|
||||||
|
|
||||||
Con_ClearNotify ();
|
Con_ClearNotify ();
|
||||||
|
@ -354,6 +358,7 @@ void Con_Init (void) {
|
||||||
|
|
||||||
con_notifytime = Cvar_Get ("con_notifytime", "3", 0);
|
con_notifytime = Cvar_Get ("con_notifytime", "3", 0);
|
||||||
con_conspeed = Cvar_Get ("scr_conspeed", "3", 0);
|
con_conspeed = Cvar_Get ("scr_conspeed", "3", 0);
|
||||||
|
con_autoclear = Cvar_Get("con_autoclear", "1", CVAR_ARCHIVE);
|
||||||
|
|
||||||
Field_Clear( &g_consoleField );
|
Field_Clear( &g_consoleField );
|
||||||
g_consoleField.widthInChars = g_console_field_width;
|
g_consoleField.widthInChars = g_console_field_width;
|
||||||
|
|
|
@ -613,7 +613,7 @@ void Console_Key (int key) {
|
||||||
// enter finishes the line
|
// enter finishes the line
|
||||||
if ( key == K_ENTER || key == K_KP_ENTER ) {
|
if ( key == K_ENTER || key == K_KP_ENTER ) {
|
||||||
// if not in the game explicitly prepend a slash if needed
|
// if not in the game explicitly prepend a slash if needed
|
||||||
if ( clc.state != CA_ACTIVE &&
|
if ( clc.state != CA_ACTIVE && con_autochat->integer &&
|
||||||
g_consoleField.buffer[0] &&
|
g_consoleField.buffer[0] &&
|
||||||
g_consoleField.buffer[0] != '\\' &&
|
g_consoleField.buffer[0] != '\\' &&
|
||||||
g_consoleField.buffer[0] != '/' ) {
|
g_consoleField.buffer[0] != '/' ) {
|
||||||
|
@ -635,7 +635,10 @@ void Console_Key (int key) {
|
||||||
if ( !g_consoleField.buffer[0] ) {
|
if ( !g_consoleField.buffer[0] ) {
|
||||||
return; // empty lines just scroll the console without adding to history
|
return; // empty lines just scroll the console without adding to history
|
||||||
} else {
|
} else {
|
||||||
|
if ( con_autochat->integer ) {
|
||||||
Cbuf_AddText ("cmd say ");
|
Cbuf_AddText ("cmd say ");
|
||||||
|
}
|
||||||
|
|
||||||
Cbuf_AddText( g_consoleField.buffer );
|
Cbuf_AddText( g_consoleField.buffer );
|
||||||
Cbuf_AddText ("\n");
|
Cbuf_AddText ("\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,6 +95,9 @@ cvar_t *com_legacyprotocol;
|
||||||
cvar_t *com_basegame;
|
cvar_t *com_basegame;
|
||||||
cvar_t *com_homepath;
|
cvar_t *com_homepath;
|
||||||
cvar_t *com_busyWait;
|
cvar_t *com_busyWait;
|
||||||
|
#ifndef DEDICATED
|
||||||
|
cvar_t *con_autochat;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if idx64
|
#if idx64
|
||||||
int (*Q_VMftol)(void);
|
int (*Q_VMftol)(void);
|
||||||
|
@ -2784,6 +2787,10 @@ void Com_Init( char *commandLine ) {
|
||||||
#endif
|
#endif
|
||||||
Cvar_Get("protocol", com_protocol->string, CVAR_ROM);
|
Cvar_Get("protocol", com_protocol->string, CVAR_ROM);
|
||||||
|
|
||||||
|
#ifndef DEDICATED
|
||||||
|
con_autochat = Cvar_Get("con_autochat", "1", CVAR_ARCHIVE);
|
||||||
|
#endif
|
||||||
|
|
||||||
Sys_Init();
|
Sys_Init();
|
||||||
|
|
||||||
Sys_InitPIDFile( FS_GetCurrentGameDir() );
|
Sys_InitPIDFile( FS_GetCurrentGameDir() );
|
||||||
|
@ -3471,8 +3478,8 @@ void Field_CompleteCommand( char *cmd,
|
||||||
completionString = Cmd_Argv( completionArgument - 1 );
|
completionString = Cmd_Argv( completionArgument - 1 );
|
||||||
|
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
// Unconditionally add a '\' to the start of the buffer
|
// add a '\' to the start of the buffer if it might be sent as chat otherwise
|
||||||
if( completionField->buffer[ 0 ] &&
|
if( con_autochat->integer && completionField->buffer[ 0 ] &&
|
||||||
completionField->buffer[ 0 ] != '\\' )
|
completionField->buffer[ 0 ] != '\\' )
|
||||||
{
|
{
|
||||||
if( completionField->buffer[ 0 ] != '/' )
|
if( completionField->buffer[ 0 ] != '/' )
|
||||||
|
|
|
@ -881,6 +881,9 @@ extern cvar_t *com_protocol;
|
||||||
#ifdef LEGACY_PROTOCOL
|
#ifdef LEGACY_PROTOCOL
|
||||||
extern cvar_t *com_legacyprotocol;
|
extern cvar_t *com_legacyprotocol;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef DEDICATED
|
||||||
|
extern cvar_t *con_autochat;
|
||||||
|
#endif
|
||||||
|
|
||||||
// com_speeds times
|
// com_speeds times
|
||||||
extern int time_game;
|
extern int time_game;
|
||||||
|
|
|
@ -378,7 +378,7 @@ char *CON_Input( void )
|
||||||
{
|
{
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
// if not in the game explicitly prepend a slash if needed
|
// if not in the game explicitly prepend a slash if needed
|
||||||
if (clc.state != CA_ACTIVE && TTY_con.cursor &&
|
if (clc.state != CA_ACTIVE && con_autochat->integer && TTY_con.cursor &&
|
||||||
TTY_con.buffer[0] != '/' && TTY_con.buffer[0] != '\\')
|
TTY_con.buffer[0] != '/' && TTY_con.buffer[0] != '\\')
|
||||||
{
|
{
|
||||||
memmove(TTY_con.buffer + 1, TTY_con.buffer, sizeof(TTY_con.buffer) - 1);
|
memmove(TTY_con.buffer + 1, TTY_con.buffer, sizeof(TTY_con.buffer) - 1);
|
||||||
|
@ -389,7 +389,11 @@ char *CON_Input( void )
|
||||||
if (TTY_con.buffer[0] == '/' || TTY_con.buffer[0] == '\\') {
|
if (TTY_con.buffer[0] == '/' || TTY_con.buffer[0] == '\\') {
|
||||||
Q_strncpyz(text, TTY_con.buffer + 1, sizeof(text));
|
Q_strncpyz(text, TTY_con.buffer + 1, sizeof(text));
|
||||||
} else if (TTY_con.cursor) {
|
} else if (TTY_con.cursor) {
|
||||||
|
if (con_autochat->integer) {
|
||||||
Com_sprintf(text, sizeof(text), "cmd say %s", TTY_con.buffer);
|
Com_sprintf(text, sizeof(text), "cmd say %s", TTY_con.buffer);
|
||||||
|
} else {
|
||||||
|
Q_strncpyz(text, TTY_con.buffer, sizeof(text));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
text[0] = '\0';
|
text[0] = '\0';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue