mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-13 00:24:12 +00:00
make the console run at full speed no matter what demo_speed is at. what a
lot of work for such a simple concept :P
This commit is contained in:
parent
1366ad4661
commit
6063fb75d9
20 changed files with 91 additions and 87 deletions
|
@ -84,7 +84,7 @@ extern struct console_data_s con_data;
|
||||||
//extern byte *con_chars;
|
//extern byte *con_chars;
|
||||||
|
|
||||||
void Con_CheckResize (void);
|
void Con_CheckResize (void);
|
||||||
void Con_DrawConsole (int lines);
|
void Con_DrawConsole (void);
|
||||||
|
|
||||||
void Con_Print (const char *fmt, va_list args);
|
void Con_Print (const char *fmt, va_list args);
|
||||||
void Con_Printf (const char *fmt, ...) __attribute__((format(printf,1,2)));
|
void Con_Printf (const char *fmt, ...) __attribute__((format(printf,1,2)));
|
||||||
|
@ -141,4 +141,6 @@ void Menu_KeyEvent (knum_t key, short unicode, qboolean down);
|
||||||
void Menu_Enter (void);
|
void Menu_Enter (void);
|
||||||
void Menu_Leave (void);
|
void Menu_Leave (void);
|
||||||
|
|
||||||
|
extern struct cvar_s *con_size;
|
||||||
|
|
||||||
#endif // __console_h
|
#endif // __console_h
|
||||||
|
|
|
@ -42,7 +42,7 @@ void Draw_Pic (int x, int y, qpic_t *pic);
|
||||||
void Draw_SubPic(int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height);
|
void Draw_SubPic(int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height);
|
||||||
void Draw_TextBox (int x, int y, int width, int lines, byte alpha);
|
void Draw_TextBox (int x, int y, int width, int lines, byte alpha);
|
||||||
void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation);
|
void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation);
|
||||||
void Draw_ConsoleBackground (int lines);
|
void Draw_ConsoleBackground (int lines, byte alpha);
|
||||||
void Draw_Crosshair (void);
|
void Draw_Crosshair (void);
|
||||||
void Draw_BeginDisc (void);
|
void Draw_BeginDisc (void);
|
||||||
void Draw_EndDisc (void);
|
void Draw_EndDisc (void);
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
typedef void (QFPLUGIN *P_C_Print) (const char *fmt, va_list args);
|
typedef void (QFPLUGIN *P_C_Print) (const char *fmt, va_list args);
|
||||||
typedef void (QFPLUGIN *P_C_ProcessInput) (void);
|
typedef void (QFPLUGIN *P_C_ProcessInput) (void);
|
||||||
typedef void (QFPLUGIN *P_C_KeyEvent) (knum_t key, short unicode, qboolean down);
|
typedef void (QFPLUGIN *P_C_KeyEvent) (knum_t key, short unicode, qboolean down);
|
||||||
typedef void (QFPLUGIN *P_C_DrawConsole) (int lines);
|
typedef void (QFPLUGIN *P_C_DrawConsole) (void);
|
||||||
typedef void (QFPLUGIN *P_C_CheckResize) (void);
|
typedef void (QFPLUGIN *P_C_CheckResize) (void);
|
||||||
typedef void (QFPLUGIN *P_C_NewMap) (void);
|
typedef void (QFPLUGIN *P_C_NewMap) (void);
|
||||||
|
|
||||||
|
@ -55,11 +55,13 @@ typedef struct console_data_s {
|
||||||
const char *dl_name;
|
const char *dl_name;
|
||||||
int *dl_percent;
|
int *dl_percent;
|
||||||
double *realtime;
|
double *realtime;
|
||||||
|
double *frametime;
|
||||||
int force_commandline;
|
int force_commandline;
|
||||||
int ormask;
|
int ormask;
|
||||||
void (*quit)(void);
|
void (*quit)(void);
|
||||||
struct cbuf_s *cbuf;
|
struct cbuf_s *cbuf;
|
||||||
struct view_s *view;
|
struct view_s *view;
|
||||||
|
float lines;
|
||||||
} console_data_t;
|
} console_data_t;
|
||||||
|
|
||||||
#endif // __QF_plugin_console_h_
|
#endif // __QF_plugin_console_h_
|
||||||
|
|
|
@ -54,7 +54,6 @@ void SCR_DrawTime (void);
|
||||||
void SCR_DrawTurtle (void);
|
void SCR_DrawTurtle (void);
|
||||||
void SCR_DrawPause (void);
|
void SCR_DrawPause (void);
|
||||||
void SCR_CheckDrawCenterString (void);
|
void SCR_CheckDrawCenterString (void);
|
||||||
void SCR_DrawConsole (void);
|
|
||||||
|
|
||||||
struct tex_s *SCR_ScreenShot (int width, int height);
|
struct tex_s *SCR_ScreenShot (int width, int height);
|
||||||
void SCR_DrawStringToSnap (const char *s, struct tex_s *tex, int x, int y);
|
void SCR_DrawStringToSnap (const char *s, struct tex_s *tex, int x, int y);
|
||||||
|
@ -76,7 +75,6 @@ extern qboolean hudswap;
|
||||||
extern struct cvar_s *scr_viewsize;
|
extern struct cvar_s *scr_viewsize;
|
||||||
extern struct cvar_s *scr_fov;
|
extern struct cvar_s *scr_fov;
|
||||||
extern struct cvar_s *scr_viewsize;
|
extern struct cvar_s *scr_viewsize;
|
||||||
extern struct cvar_s *scr_consize;
|
|
||||||
|
|
||||||
// only the refresh window will be updated unless these variables are flagged
|
// only the refresh window will be updated unless these variables are flagged
|
||||||
extern int scr_copytop;
|
extern int scr_copytop;
|
||||||
|
|
|
@ -53,6 +53,7 @@ static __attribute__ ((unused)) const char rcsid[] =
|
||||||
#include "QF/plugin.h"
|
#include "QF/plugin.h"
|
||||||
#include "QF/qargs.h"
|
#include "QF/qargs.h"
|
||||||
#include "QF/quakefs.h"
|
#include "QF/quakefs.h"
|
||||||
|
#include "QF/render.h"
|
||||||
#include "QF/screen.h"
|
#include "QF/screen.h"
|
||||||
#include "QF/sys.h"
|
#include "QF/sys.h"
|
||||||
#include "QF/va.h"
|
#include "QF/va.h"
|
||||||
|
@ -78,6 +79,9 @@ static old_console_t *con;
|
||||||
static float con_cursorspeed = 4;
|
static float con_cursorspeed = 4;
|
||||||
|
|
||||||
static cvar_t *con_notifytime; // seconds
|
static cvar_t *con_notifytime; // seconds
|
||||||
|
static cvar_t *con_alpha;
|
||||||
|
static cvar_t *con_size;
|
||||||
|
static cvar_t *con_speed;
|
||||||
static cvar_t *cl_chatmode;
|
static cvar_t *cl_chatmode;
|
||||||
|
|
||||||
#define NUM_CON_TIMES 4
|
#define NUM_CON_TIMES 4
|
||||||
|
@ -660,8 +664,17 @@ draw_console_text (view_t *view)
|
||||||
static void
|
static void
|
||||||
draw_console (view_t *view)
|
draw_console (view_t *view)
|
||||||
{
|
{
|
||||||
|
byte alpha;
|
||||||
|
|
||||||
|
if (con_data.force_commandline) {
|
||||||
|
alpha = 255;
|
||||||
|
} else {
|
||||||
|
float y = vid.height * con_size->value;
|
||||||
|
alpha = 255 * con_alpha->value * view->ylen / y;
|
||||||
|
alpha = min (alpha, 255);
|
||||||
|
}
|
||||||
// draw the background
|
// draw the background
|
||||||
Draw_ConsoleBackground (view->ylen);
|
Draw_ConsoleBackground (view->ylen, alpha);
|
||||||
|
|
||||||
// draw everything else
|
// draw everything else
|
||||||
view_draw (view);
|
view_draw (view);
|
||||||
|
@ -711,13 +724,39 @@ draw_notify (view_t *view)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
C_DrawConsole (int lines)
|
setup_console (void)
|
||||||
{
|
{
|
||||||
if (console_view->ylen != lines)
|
float lines;
|
||||||
view_resize (console_view, console_view->xlen, lines);
|
|
||||||
|
if (con_data.force_commandline) {
|
||||||
|
lines = con_data.lines = vid.height;
|
||||||
|
} else if (key_dest == key_console) {
|
||||||
|
lines = vid.height * bound (0.2, con_size->value, 1);
|
||||||
|
} else {
|
||||||
|
lines = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lines < con_data.lines) {
|
||||||
|
con_data.lines -= max (0.2, con_speed->value) * *con_data.frametime;
|
||||||
|
con_data.lines = max (con_data.lines, lines);
|
||||||
|
} else if (lines > con_data.lines) {
|
||||||
|
con_data.lines += max (0.2, con_speed->value) * *con_data.frametime;
|
||||||
|
con_data.lines = min (con_data.lines, lines);
|
||||||
|
}
|
||||||
|
if (con_data.lines >= vid.height - r_lineadj)
|
||||||
|
scr_copyeverything = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
C_DrawConsole (void)
|
||||||
|
{
|
||||||
|
setup_console ();
|
||||||
|
|
||||||
|
if (console_view->ylen != con_data.lines)
|
||||||
|
view_resize (console_view, console_view->xlen, con_data.lines);
|
||||||
|
|
||||||
say_view->visible = key_dest == key_message;
|
say_view->visible = key_dest == key_message;
|
||||||
console_view->visible = lines != 0;
|
console_view->visible = con_data.lines != 0;
|
||||||
menu_view->visible = key_dest == key_menu;
|
menu_view->visible = key_dest == key_menu;
|
||||||
|
|
||||||
view_draw (con_data.view);
|
view_draw (con_data.view);
|
||||||
|
@ -768,6 +807,14 @@ C_Init (void)
|
||||||
"Controls when console text will be treated as a "
|
"Controls when console text will be treated as a "
|
||||||
"chat message: 0 - never, 1 - always, 2 - smart");
|
"chat message: 0 - never, 1 - always, 2 - smart");
|
||||||
|
|
||||||
|
con_alpha = Cvar_Get ("con_alpha", "0.6", CVAR_ARCHIVE, NULL,
|
||||||
|
"alpha value for the console background");
|
||||||
|
con_size = Cvar_Get ("con_size", "0.5", CVAR_ARCHIVE, NULL,
|
||||||
|
"Fraction of the screen the console covers when "
|
||||||
|
"down");
|
||||||
|
con_speed = Cvar_Get ("con_speed", "300", CVAR_ARCHIVE, NULL,
|
||||||
|
"How quickly the console scrolls up or down");
|
||||||
|
|
||||||
con_debuglog = COM_CheckParm ("-condebug");
|
con_debuglog = COM_CheckParm ("-condebug");
|
||||||
|
|
||||||
con_data.view = view_new (0, 0, 320, 200, grav_northeast);
|
con_data.view = view_new (0, 0, 320, 200, grav_northeast);
|
||||||
|
|
|
@ -146,10 +146,10 @@ Con_SetOrMask (int mask)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Con_DrawConsole (int lines)
|
Con_DrawConsole (void)
|
||||||
{
|
{
|
||||||
if (con_module)
|
if (con_module)
|
||||||
con_module->functions->console->pC_DrawConsole (lines);
|
con_module->functions->console->pC_DrawConsole ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -460,7 +460,7 @@ C_KeyEvent (knum_t key, short unicode, qboolean down)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
C_DrawConsole (int lines)
|
C_DrawConsole (void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -670,11 +670,9 @@ Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte * translation)
|
||||||
several simple yet very cool GL effects. --KB
|
several simple yet very cool GL effects. --KB
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
Draw_ConsoleBackground (int lines)
|
Draw_ConsoleBackground (int lines, byte alpha)
|
||||||
{
|
{
|
||||||
byte alpha;
|
|
||||||
float ofs;
|
float ofs;
|
||||||
int y;
|
|
||||||
glpic_t *gl;
|
glpic_t *gl;
|
||||||
qpic_t *conback;
|
qpic_t *conback;
|
||||||
|
|
||||||
|
@ -707,14 +705,6 @@ Draw_ConsoleBackground (int lines)
|
||||||
else
|
else
|
||||||
ofs = (vid.conheight - lines) / (float) vid.conheight;
|
ofs = (vid.conheight - lines) / (float) vid.conheight;
|
||||||
|
|
||||||
y = vid.height * scr_consize->value;
|
|
||||||
if (!r_active || lines > y) {
|
|
||||||
alpha = 255;
|
|
||||||
} else {
|
|
||||||
// set up to draw alpha console
|
|
||||||
alpha = 255 * (gl_conalpha->value * lines) / y;
|
|
||||||
}
|
|
||||||
|
|
||||||
color_0_8[3] = alpha;
|
color_0_8[3] = alpha;
|
||||||
qfglColor4ubv (color_0_8);
|
qfglColor4ubv (color_0_8);
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,6 @@ cvar_t *d_mipscale;
|
||||||
|
|
||||||
cvar_t *gl_affinemodels;
|
cvar_t *gl_affinemodels;
|
||||||
cvar_t *gl_clear;
|
cvar_t *gl_clear;
|
||||||
cvar_t *gl_conalpha;
|
|
||||||
cvar_t *gl_conspin;
|
cvar_t *gl_conspin;
|
||||||
cvar_t *gl_constretch;
|
cvar_t *gl_constretch;
|
||||||
cvar_t *gl_dlight_polyblend;
|
cvar_t *gl_dlight_polyblend;
|
||||||
|
@ -127,8 +126,6 @@ cvar_t *r_waterwarp;
|
||||||
cvar_t *r_zgraph;
|
cvar_t *r_zgraph;
|
||||||
|
|
||||||
cvar_t *scr_centertime;
|
cvar_t *scr_centertime;
|
||||||
cvar_t *scr_consize;
|
|
||||||
cvar_t *scr_conspeed;
|
|
||||||
cvar_t *scr_fov;
|
cvar_t *scr_fov;
|
||||||
cvar_t *scr_fisheye;
|
cvar_t *scr_fisheye;
|
||||||
cvar_t *scr_fviews;
|
cvar_t *scr_fviews;
|
||||||
|
@ -255,8 +252,6 @@ R_Init_Cvars (void)
|
||||||
"set to 1");
|
"set to 1");
|
||||||
gl_clear = Cvar_Get ("gl_clear", "0", CVAR_NONE, NULL, "Set to 1 to make "
|
gl_clear = Cvar_Get ("gl_clear", "0", CVAR_NONE, NULL, "Set to 1 to make "
|
||||||
"background black. Useful for removing HOM effect");
|
"background black. Useful for removing HOM effect");
|
||||||
gl_conalpha = Cvar_Get ("gl_conalpha", "0.6", CVAR_ARCHIVE, NULL,
|
|
||||||
"alpha value for the console background");
|
|
||||||
gl_conspin = Cvar_Get ("gl_conspin", "0", CVAR_ARCHIVE, NULL,
|
gl_conspin = Cvar_Get ("gl_conspin", "0", CVAR_ARCHIVE, NULL,
|
||||||
"speed at which the console spins");
|
"speed at which the console spins");
|
||||||
gl_constretch = Cvar_Get ("gl_constretch", "0", CVAR_ARCHIVE, NULL,
|
gl_constretch = Cvar_Get ("gl_constretch", "0", CVAR_ARCHIVE, NULL,
|
||||||
|
@ -425,11 +420,6 @@ R_Init_Cvars (void)
|
||||||
"z-axis position");
|
"z-axis position");
|
||||||
scr_centertime = Cvar_Get ("scr_centertime", "2", CVAR_NONE, NULL, "How "
|
scr_centertime = Cvar_Get ("scr_centertime", "2", CVAR_NONE, NULL, "How "
|
||||||
"long in seconds screen hints are displayed");
|
"long in seconds screen hints are displayed");
|
||||||
scr_consize = Cvar_Get ("scr_consize", "0.5", CVAR_ARCHIVE, NULL,
|
|
||||||
"Fraction of the screen the console covers when "
|
|
||||||
"down");
|
|
||||||
scr_conspeed = Cvar_Get ("scr_conspeed", "300", CVAR_NONE, NULL,
|
|
||||||
"How quickly the console scrolls up or down");
|
|
||||||
scr_fov = Cvar_Get ("fov", "90", CVAR_NONE, NULL, "Your field of view in "
|
scr_fov = Cvar_Get ("fov", "90", CVAR_NONE, NULL, "Your field of view in "
|
||||||
"degrees. Smaller than 90 zooms in. Don't touch in "
|
"degrees. Smaller than 90 zooms in. Don't touch in "
|
||||||
"fisheye mode, use ffov instead.");
|
"fisheye mode, use ffov instead.");
|
||||||
|
|
|
@ -99,9 +99,6 @@ static __attribute__ ((unused)) const char rcsid[] =
|
||||||
int scr_copytop;
|
int scr_copytop;
|
||||||
int scr_copyeverything;
|
int scr_copyeverything;
|
||||||
|
|
||||||
float scr_con_current;
|
|
||||||
float scr_conlines; // lines of console to display
|
|
||||||
|
|
||||||
float oldfov;
|
float oldfov;
|
||||||
int oldsbar;
|
int oldsbar;
|
||||||
|
|
||||||
|
@ -311,40 +308,10 @@ SCR_DrawPause (void)
|
||||||
void
|
void
|
||||||
SCR_SetUpToDrawConsole (void)
|
SCR_SetUpToDrawConsole (void)
|
||||||
{
|
{
|
||||||
// decide on the height of the console
|
|
||||||
if (!r_active) {
|
|
||||||
scr_conlines = vid.height; // full screen
|
|
||||||
scr_con_current = scr_conlines;
|
|
||||||
} else if (key_dest == key_console)
|
|
||||||
scr_conlines = vid.height * bound (0.2, scr_consize->value, 1);
|
|
||||||
else
|
|
||||||
scr_conlines = 0; // none visible
|
|
||||||
|
|
||||||
if (scr_con_current >= vid.height - r_lineadj)
|
|
||||||
scr_copyeverything = 1;
|
|
||||||
if (scr_conlines < scr_con_current) {
|
|
||||||
scr_con_current -= scr_conspeed->value * r_frametime;
|
|
||||||
if (scr_conlines > scr_con_current)
|
|
||||||
scr_con_current = scr_conlines;
|
|
||||||
|
|
||||||
} else if (scr_conlines > scr_con_current) {
|
|
||||||
scr_con_current += scr_conspeed->value * r_frametime;
|
|
||||||
if (scr_conlines < scr_con_current)
|
|
||||||
scr_con_current = scr_conlines;
|
|
||||||
}
|
|
||||||
if (scr_con_current >= vid.height - r_lineadj)
|
|
||||||
scr_copyeverything = 1;
|
|
||||||
|
|
||||||
if (clearconsole++ < vid.numpages)
|
if (clearconsole++ < vid.numpages)
|
||||||
Sbar_Changed ();
|
Sbar_Changed ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
SCR_DrawConsole (void)
|
|
||||||
{
|
|
||||||
Con_DrawConsole (scr_con_current);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Find closest color in the palette for named color
|
Find closest color in the palette for named color
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -473,7 +473,7 @@ Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte * translation)
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Draw_ConsoleBackground (int lines)
|
Draw_ConsoleBackground (int lines, byte alpha)
|
||||||
{
|
{
|
||||||
int x, y, v;
|
int x, y, v;
|
||||||
byte *src, *dest;
|
byte *src, *dest;
|
||||||
|
|
|
@ -129,11 +129,6 @@ SCR_CalcRefdef (void)
|
||||||
|
|
||||||
R_SetVrect (&vrect, &scr_vrect, r_lineadj);
|
R_SetVrect (&vrect, &scr_vrect, r_lineadj);
|
||||||
|
|
||||||
// guard against going from one mode to another that's less than half the
|
|
||||||
// vertical resolution
|
|
||||||
if (scr_con_current > vid.height)
|
|
||||||
scr_con_current = vid.height;
|
|
||||||
|
|
||||||
// notify the refresh of the change
|
// notify the refresh of the change
|
||||||
R_ViewChanged (&vrect, r_lineadj, vid.aspect);
|
R_ViewChanged (&vrect, r_lineadj, vid.aspect);
|
||||||
}
|
}
|
||||||
|
|
|
@ -630,7 +630,7 @@ Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte * translation)
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Draw_ConsoleBackground (int lines)
|
Draw_ConsoleBackground (int lines, byte alpha)
|
||||||
{
|
{
|
||||||
int x, y, v;
|
int x, y, v;
|
||||||
byte *src;
|
byte *src;
|
||||||
|
|
|
@ -130,11 +130,6 @@ SCR_CalcRefdef (void)
|
||||||
|
|
||||||
R_SetVrect (&vrect, &scr_vrect, r_lineadj);
|
R_SetVrect (&vrect, &scr_vrect, r_lineadj);
|
||||||
|
|
||||||
// guard against going from one mode to another that's less than half the
|
|
||||||
// vertical resolution
|
|
||||||
if (scr_con_current > vid.height)
|
|
||||||
scr_con_current = vid.height;
|
|
||||||
|
|
||||||
// notify the refresh of the change
|
// notify the refresh of the change
|
||||||
R_ViewChanged (&vrect, r_lineadj, vid.aspect);
|
R_ViewChanged (&vrect, r_lineadj, vid.aspect);
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,9 +72,7 @@ static SCR_Func scr_funcs[] = {
|
||||||
SCR_DrawPause,
|
SCR_DrawPause,
|
||||||
SCR_CheckDrawCenterString,
|
SCR_CheckDrawCenterString,
|
||||||
Sbar_Draw,
|
Sbar_Draw,
|
||||||
SCR_DrawConsole,
|
Con_DrawConsole,
|
||||||
// FIXME: MENUCODE
|
|
||||||
// M_Draw,
|
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,10 @@ double host_time;
|
||||||
double realtime; // without any filtering or bounding
|
double realtime; // without any filtering or bounding
|
||||||
double oldrealtime; // last frame run
|
double oldrealtime; // last frame run
|
||||||
|
|
||||||
|
double con_frametime;
|
||||||
|
double con_realtime;
|
||||||
|
double oldcon_realtime;
|
||||||
|
|
||||||
int host_framecount;
|
int host_framecount;
|
||||||
int host_hunklevel;
|
int host_hunklevel;
|
||||||
int minimum_memory;
|
int minimum_memory;
|
||||||
|
@ -526,6 +530,8 @@ Host_FilterTime (float time)
|
||||||
float timedifference;
|
float timedifference;
|
||||||
float timescale = 1.0;
|
float timescale = 1.0;
|
||||||
|
|
||||||
|
con_realtime += time;
|
||||||
|
|
||||||
if (cls.demoplayback) {
|
if (cls.demoplayback) {
|
||||||
timescale = max (0, demo_speed->value);
|
timescale = max (0, demo_speed->value);
|
||||||
time *= timescale;
|
time *= timescale;
|
||||||
|
@ -542,6 +548,9 @@ Host_FilterTime (float time)
|
||||||
host_frametime = realtime - oldrealtime;
|
host_frametime = realtime - oldrealtime;
|
||||||
oldrealtime = realtime;
|
oldrealtime = realtime;
|
||||||
|
|
||||||
|
con_frametime = con_realtime - oldcon_realtime;
|
||||||
|
oldcon_realtime = con_realtime;
|
||||||
|
|
||||||
if (host_framerate->value > 0)
|
if (host_framerate->value > 0)
|
||||||
host_frametime = host_framerate->value;
|
host_frametime = host_framerate->value;
|
||||||
else // don't allow really long or short frames
|
else // don't allow really long or short frames
|
||||||
|
@ -937,7 +946,8 @@ Host_Init (void)
|
||||||
else
|
else
|
||||||
Con_Init ("client");
|
Con_Init ("client");
|
||||||
if (con_module) {
|
if (con_module) {
|
||||||
con_module->data->console->realtime = &realtime;
|
con_module->data->console->realtime = &con_realtime;
|
||||||
|
con_module->data->console->frametime = &con_frametime;
|
||||||
con_module->data->console->quit = Host_Quit_f;
|
con_module->data->console->quit = Host_Quit_f;
|
||||||
con_module->data->console->cbuf = host_cbuf;
|
con_module->data->console->cbuf = host_cbuf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1023,7 +1023,7 @@ Sbar_Draw (void)
|
||||||
if ((sb_updates >= vid.numpages) && !headsup)
|
if ((sb_updates >= vid.numpages) && !headsup)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (scr_con_current == vid.height)
|
if (con_module && con_module->data->console->lines == vid.height)
|
||||||
return; // console is full screen
|
return; // console is full screen
|
||||||
|
|
||||||
if (cls.state == ca_active
|
if (cls.state == ca_active
|
||||||
|
|
|
@ -202,6 +202,10 @@ double realtime; // without any filtering or bounding
|
||||||
double oldrealtime; // last frame run
|
double oldrealtime; // last frame run
|
||||||
int host_framecount;
|
int host_framecount;
|
||||||
|
|
||||||
|
double con_frametime;
|
||||||
|
double con_realtime;
|
||||||
|
double oldcon_realtime;
|
||||||
|
|
||||||
int host_hunklevel;
|
int host_hunklevel;
|
||||||
|
|
||||||
byte *host_basepal;
|
byte *host_basepal;
|
||||||
|
@ -1433,6 +1437,8 @@ Host_SimulationTime (float time)
|
||||||
float fps, timedifference;
|
float fps, timedifference;
|
||||||
float timescale = 1.0;
|
float timescale = 1.0;
|
||||||
|
|
||||||
|
con_realtime += time;
|
||||||
|
|
||||||
if (cls.demoplayback) {
|
if (cls.demoplayback) {
|
||||||
timescale = max (0, demo_speed->value);
|
timescale = max (0, demo_speed->value);
|
||||||
time *= timescale;
|
time *= timescale;
|
||||||
|
@ -1490,6 +1496,9 @@ Host_Frame (float time)
|
||||||
oldrealtime = realtime;
|
oldrealtime = realtime;
|
||||||
host_frametime = min (host_frametime, 0.2);
|
host_frametime = min (host_frametime, 0.2);
|
||||||
|
|
||||||
|
con_frametime = con_realtime - oldcon_realtime;
|
||||||
|
oldcon_realtime = con_realtime;
|
||||||
|
|
||||||
IN_ProcessEvents ();
|
IN_ProcessEvents ();
|
||||||
|
|
||||||
// process gib threads
|
// process gib threads
|
||||||
|
@ -1725,7 +1734,8 @@ Host_Init (void)
|
||||||
if (con_module) {
|
if (con_module) {
|
||||||
con_module->data->console->dl_name = cls.downloadname;
|
con_module->data->console->dl_name = cls.downloadname;
|
||||||
con_module->data->console->dl_percent = &cls.downloadpercent;
|
con_module->data->console->dl_percent = &cls.downloadpercent;
|
||||||
con_module->data->console->realtime = &realtime;
|
con_module->data->console->realtime = &con_realtime;
|
||||||
|
con_module->data->console->frametime = &con_frametime;
|
||||||
con_module->data->console->quit = CL_Quit_f;
|
con_module->data->console->quit = CL_Quit_f;
|
||||||
con_module->data->console->cbuf = cl_cbuf;
|
con_module->data->console->cbuf = cl_cbuf;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ static SCR_Func scr_funcs[] = {
|
||||||
SCR_DrawPause,
|
SCR_DrawPause,
|
||||||
SCR_CheckDrawCenterString,
|
SCR_CheckDrawCenterString,
|
||||||
Sbar_Draw,
|
Sbar_Draw,
|
||||||
SCR_DrawConsole,
|
Con_DrawConsole,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -958,7 +958,7 @@ Sbar_Draw (void)
|
||||||
if ((sb_updates >= vid.numpages) && !headsup)
|
if ((sb_updates >= vid.numpages) && !headsup)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (scr_con_current == vid.height)
|
if (con_module && con_module->data->console->lines == vid.height)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (cls.state == ca_active
|
if (cls.state == ca_active
|
||||||
|
|
Loading…
Reference in a new issue