Use the new demo imt.

There are some problems with menus and the console messing up the key_dest
state (they assume console/menu or game, nothing else), but otherwise
things seem to work.
This commit is contained in:
Bill Currie 2011-12-10 15:18:50 +09:00
parent 3ae17e4d37
commit 16c8b2a18d
6 changed files with 25 additions and 10 deletions

View File

@ -482,6 +482,7 @@ C_KeyEvent (knum_t key, short unicode, qboolean down)
return;
}
case key_game:
case key_demo:
Menu_Enter ();
return;
default:

View File

@ -357,8 +357,8 @@ CL_StartDemo (void)
cls.demoplayback = true;
CL_SetState (ca_connected);
cls.forcetrack = 0;
key_dest = key_game;
game_target = IMT_0;
key_dest = key_demo;
game_target = IMT_DEMO;
while ((c = Qgetc (cls.demofile)) != '\n')
if (c == '-')

View File

@ -429,8 +429,13 @@ CL_SetState (cactive_t state)
if (state == ca_active) {
// entering active state
r_active = true;
if (cls.demoplayback) {
game_target = IMT_DEMO;
key_dest = key_demo;
} else {
game_target = IMT_0;
key_dest = key_game;
}
IN_ClearStates ();
VID_SetCaption ("");
} else if (old_state == ca_active) {

View File

@ -1252,7 +1252,8 @@ Sbar_FinaleOverlay (void)
{
int remaining;
if (key_dest != key_game)
//FIXME cleaner test
if (key_dest != key_game && key_dest != key_demo)
return;
scr_copyeverything = 1;
@ -1272,7 +1273,8 @@ Sbar_DrawCenterPrint (void)
if (centertime_off <= 0)
return;
if (key_dest != key_game)
//FIXME cleaner test
if (key_dest != key_game && key_dest != key_demo)
return;
Sbar_DrawCenterString (overlay_view, -1);

View File

@ -1160,8 +1160,13 @@ CL_SetState (cactive_t state)
VID_SetCaption (cls.servername->str);
IN_ClearStates ();
r_active = true;
if (cls.demoplayback) {
game_target = IMT_DEMO;
key_dest = key_demo;
} else {
game_target = IMT_0;
key_dest = key_game;
}
// Auto demo recorder starts here
if (cl_autorecord->int_val && !cls.demoplayback

View File

@ -1712,7 +1712,8 @@ Sbar_FinaleOverlay (void)
{
int remaining;
if (key_dest != key_game)
//FIXME cleaner test
if (key_dest != key_game && key_dest != key_demo)
return;
scr_copyeverything = 1;
@ -1732,7 +1733,8 @@ Sbar_DrawCenterPrint (void)
if (centertime_off <= 0)
return;
if (key_dest != key_game)
//FIXME cleaner test
if (key_dest != key_game && key_dest != key_demo)
return;
Sbar_DrawCenterString (overlay_view, -1);