DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
 
console.h
Go to the documentation of this file.
1/*
2Copyright (C) 1996-1997 Id Software, Inc.
3Copyright (C) 2000-2020 DarkPlaces contributors
4
5This program is free software; you can redistribute it and/or
6modify it under the terms of the GNU General Public License
7as published by the Free Software Foundation; either version 2
8of the License, or (at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14See the GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
20*/
21
22#ifndef CONSOLE_H
23#define CONSOLE_H
24
25#include <stddef.h>
26#include "qtypes.h"
27#include "cmd.h"
28#include "lhnet.h"
29
30//
31// console
32//
33extern int con_totallines;
34extern int con_backscroll;
36
37void Con_Rcon_Redirect_Init(lhnetsocket_t *sock, lhnetaddress_t *dest, qbool proquakeprotocol);
38void Con_Rcon_Redirect_End(void);
40
42void Con_CheckResize (void);
43void Con_Init (void);
45void Con_Shutdown (void);
46void Con_DrawConsole (int lines, qbool forcedfullscreen);
47
49void Con_MaskPrint(unsigned additionalmask, const char *msg);
50
51// Prints to a chosen console target
52void Con_MaskPrintf(unsigned mask, const char *fmt, ...) DP_FUNC_PRINTF(2);
53
55void Con_Print(const char *txt);
56
58void Con_Printf(const char *fmt, ...) DP_FUNC_PRINTF(1);
59
61void Con_DPrint(const char *msg);
62
64void Con_DPrintf(const char *fmt, ...) DP_FUNC_PRINTF(1);
65
66const char *Con_Quakebar(int len, char *bar, size_t bufsize);
67void Con_CenterPrintf(int maxLineLength, const char *fmt, ...) DP_FUNC_PRINTF(2);
68void Con_CenterPrint(const char *str);
69
71void Con_DrawNotify (void);
72
74void Con_ClearNotify (void);
76
77qbool GetMapList (const char *s, char *completedname, int completednamebufferlength);
78
84
87void Con_DisplayList(const char **list);
88
89
93void Log_Init (void);
94void Log_Close (void);
95void Log_Start (void);
96void Log_DestBuffer_Flush (void);
97
98void Log_Printf(const char *logfilename, const char *fmt, ...) DP_FUNC_PRINTF(2);
100
101#define CON_WARN "^3"
102#define CON_ERROR "^1"
103
104// CON_MASK_PRINT is the default (Con_Print/Con_Printf)
105// CON_MASK_DEVELOPER is used by Con_DPrint/Con_DPrintf
106#define CON_MASK_HIDENOTIFY 128
107#define CON_MASK_CHAT 1
108#define CON_MASK_INPUT 2
109#define CON_MASK_DEVELOPER 4
110#define CON_MASK_PRINT 8
111
112typedef struct con_lineinfo_s
113{
114 char *start;
115 size_t len;
116 unsigned mask;
117
119 double addtime;
120 int height;
121}
123
124typedef struct conbuffer_s
125{
128 char *text;
133}
135
136#define CONBUFFER_LINES(buf, i) (buf)->lines[((buf)->lines_first + (i)) % (buf)->maxlines]
137#define CONBUFFER_LINES_COUNT(buf) ((buf)->lines_count)
138#define CONBUFFER_LINES_LAST(buf) CONBUFFER_LINES(buf, CONBUFFER_LINES_COUNT(buf) - 1)
139
140void ConBuffer_Init(conbuffer_t *buf, int textsize, int maxlines, mempool_t *mempool);
143
149
152
155
157void ConBuffer_AddLine(conbuffer_t *buf, const char *line, int len, unsigned mask);
158int ConBuffer_FindPrevLine(conbuffer_t *buf, unsigned mask_must, unsigned mask_mustnot, int start);
159int ConBuffer_FindNextLine(conbuffer_t *buf, unsigned mask_must, unsigned mask_mustnot, int start);
160const char *ConBuffer_GetLine(conbuffer_t *buf, int i);
161
162#endif
163
void Con_Clear_f(cmd_state_t *cmd)
Definition console.c:840
void Con_Init(void)
Definition console.c:861
void Con_Printf(const char *fmt,...) DP_FUNC_PRINTF(1)
Prints to all appropriate console targets.
Definition console.c:1514
const char * ConBuffer_GetLine(conbuffer_t *buf, int i)
Definition console.c:386
void Con_CenterPrint(const char *str)
Prints a center-aligned message to the console.
Definition console.c:1655
int ConBuffer_FindNextLine(conbuffer_t *buf, unsigned mask_must, unsigned mask_mustnot, int start)
const char * Con_Quakebar(int len, char *bar, size_t bufsize)
Returns a horizontal line.
Definition console.c:1570
void ConBuffer_FixTimes(conbuffer_t *buf)
Definition console.c:242
qbool GetMapList(const char *s, char *completedname, int completednamebufferlength)
Definition console.c:2275
int con_totallines
void Con_CenterPrintf(int maxLineLength, const char *fmt,...) DP_FUNC_PRINTF(2)
Left-pad a string with spaces to make it appear centered.
Definition console.c:1600
void ConBuffer_Clear(conbuffer_t *buf)
Definition console.c:212
void Con_DrawNotify(void)
Definition console.c:1945
void Con_Print(const char *txt)
Prints to all appropriate console targets, and adds timestamps.
Definition console.c:1504
void Con_DrawConsole(int lines, qbool forcedfullscreen)
Definition console.c:2138
void ConBuffer_Shutdown(conbuffer_t *buf)
Definition console.c:222
void ConBuffer_DeleteLine(conbuffer_t *buf)
Deletes the first line from the console history.
Definition console.c:263
void Con_MaskPrint(unsigned additionalmask, const char *msg)
Prints to a chosen console target.
Definition console.c:1161
void Log_Init(void)
int ConBuffer_FindPrevLine(conbuffer_t *buf, unsigned mask_must, unsigned mask_mustnot, int start)
Definition console.c:366
qbool con_initialized
Definition console.c:97
void ConBuffer_DeleteLastLine(conbuffer_t *buf)
Deletes the last line from the console history.
Definition console.c:278
void Con_ClearNotify(void)
Clear all notify lines.
Definition console.c:702
int Con_CompleteCommandLine(cmd_state_t *cmd, qbool is_console)
wrapper function to attempt to either complete the command line or to list possible matches grouped b...
Definition console.c:2898
void Con_Rcon_Redirect_Init(lhnetsocket_t *sock, lhnetaddress_t *dest, qbool proquakeprotocol)
Definition console.c:1004
void Log_Start(void)
Definition console.c:542
void ConBuffer_AddLine(conbuffer_t *buf, const char *line, int len, unsigned mask)
Appends a given string as a new line to the console.
Definition console.c:332
void Log_DestBuffer_Flush(void)
call this once per frame to send out replies to rcon streaming clients
Definition console.c:465
void Con_DPrint(const char *msg)
A Con_Print that only shows up if the "developer" cvar is set.
Definition console.c:1531
void Con_Init_Commands(void)
void Con_Rcon_Redirect_End(void)
Definition console.c:1041
void Log_Printf(const char *logfilename, const char *fmt,...) DP_FUNC_PRINTF(2)
Definition console.c:655
void Con_DPrintf(const char *fmt,...) DP_FUNC_PRINTF(1)
A Con_Printf that only shows up if the "developer" cvar is set.
Definition console.c:1544
void Con_Rcon_Redirect_Abort(void)
Definition console.c:1048
void ConBuffer_Init(conbuffer_t *buf, int textsize, int maxlines, mempool_t *mempool)
Definition console.c:108
void Con_MaskPrintf(unsigned mask, const char *fmt,...) DP_FUNC_PRINTF(2)
Definition console.c:1487
void Con_CheckResize(void)
If the line width has changed, reformat the buffer.
Definition console.c:763
void Con_Shutdown(void)
Definition console.c:941
void Con_DisplayList(const char **list)
Generic libs/util/console.c function to display a list formatted in columns on the console.
Definition console.c:2452
void Con_ToggleConsole_f(cmd_state_t *cmd)
Definition console.c:686
void Log_Close(void)
Definition console.c:521
int con_backscroll
Definition console.c:37
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
Definition glquake.h:609
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition glquake.h:657
void cmd(string command,...)
int i
#define DP_FUNC_PRINTF(n)
Definition qdefs.h:14
bool qbool
Definition qtypes.h:9
command interpreter state - the tokenizing and execution of commands, as well as pointers to which cv...
Definition cmd.h:127
unsigned mask
Definition console.h:116
double addtime
used only by console.c
Definition console.h:119
char * start
Definition console.h:114
int height
recalculated line height when needed (-1 to unset)
Definition console.h:120
int maxlines
Definition console.h:129
int lines_first
Definition console.h:131
int lines_count
cyclic buffer
Definition console.h:132
qbool active
Definition console.h:126
char * text
Definition console.h:128
int textsize
Definition console.h:127
con_lineinfo_t * lines
Definition console.h:130