From 69b0c4526e6f2d6fe6920f1efa3b32e27b3db0bc Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 20 Sep 2008 23:27:22 +0000 Subject: Use common event queue code. Subversion-branch: /branches/raven-branch Subversion-revision: 1263 --- src/heretic/d_main.c | 34 +--------------------------------- src/heretic/d_net.c | 5 ++--- src/heretic/doomdef.h | 6 ------ 3 files changed, 3 insertions(+), 42 deletions(-) diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c index 437abed3..6107ba16 100644 --- a/src/heretic/d_main.c +++ b/src/heretic/d_main.c @@ -64,36 +64,6 @@ void D_AdvanceDemo(void); void F_Drawer(void); boolean F_Responder(event_t * ev); -/* -=============================================================================== - - EVENT HANDLING - -Events are asyncronous inputs generally generated by the game user. - -Events can be discarded if no responder claims them - -=============================================================================== -*/ - -event_t events[MAXEVENTS]; -int eventhead; -int eventtail; - -//--------------------------------------------------------------------------- -// -// PROC D_PostEvent -// -// Called by the I/O functions when input is detected. -// -//--------------------------------------------------------------------------- - -void D_PostEvent(event_t * ev) -{ - events[eventhead] = *ev; - eventhead = (eventhead + 1) & (MAXEVENTS - 1); -} - //--------------------------------------------------------------------------- // // PROC D_ProcessEvents @@ -106,10 +76,8 @@ void D_ProcessEvents(void) { event_t *ev; - for (; eventtail != eventhead; - eventtail = (eventtail + 1) & (MAXEVENTS - 1)) + while ((ev = D_PopEvent()) != NULL) { - ev = &events[eventtail]; if (F_Responder(ev)) { continue; diff --git a/src/heretic/d_net.c b/src/heretic/d_net.c index 8b8aba20..fd728de4 100644 --- a/src/heretic/d_net.c +++ b/src/heretic/d_net.c @@ -483,10 +483,9 @@ void CheckAbort(void) I_StartTic(); I_StartTic(); - for (; eventtail != eventhead; - eventtail = (eventtail + 1) & (MAXEVENTS - 1)) + + while ((ev = D_PopEvent()) != NULL) { - ev = &events[eventtail]; if (ev->type == ev_keydown && ev->data1 == KEY_ESCAPE) I_Error("Network game synchronization aborted."); } diff --git a/src/heretic/doomdef.h b/src/heretic/doomdef.h index 3da11a3c..c60fa350 100644 --- a/src/heretic/doomdef.h +++ b/src/heretic/doomdef.h @@ -544,12 +544,6 @@ extern doomdata_t *netbuffer; // points inside doomcom #define TELEFOGHEIGHT (32*FRACUNIT) -#define MAXEVENTS 64 - -extern event_t events[MAXEVENTS]; -extern int eventhead; -extern int eventtail; - extern gameaction_t gameaction; extern boolean paused; -- cgit v1.2.3