aboutsummaryrefslogtreecommitdiffstats
path: root/demos/3rdparty/doom/d_event.h
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-12-24 01:00:14 +1000
committerinmarket <andrewh@inmarket.com.au>2013-12-24 01:00:14 +1000
commit39adfff2a9f73919dd09593efc38884dc2a05f40 (patch)
treef0fdf8c70ce4a1396e33927f9033049de370c56a /demos/3rdparty/doom/d_event.h
parent57d9c4854beefd22aa367f6a44b5da4a586632b1 (diff)
downloaduGFX-39adfff2a9f73919dd09593efc38884dc2a05f40.tar.gz
uGFX-39adfff2a9f73919dd09593efc38884dc2a05f40.tar.bz2
uGFX-39adfff2a9f73919dd09593efc38884dc2a05f40.zip
demo - DOOM the game.
Runs but not quite functional yet (requires user input to be completed). Shareware WAD file. Please read README.txt and DOOMLIC.txt
Diffstat (limited to 'demos/3rdparty/doom/d_event.h')
-rw-r--r--demos/3rdparty/doom/d_event.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/demos/3rdparty/doom/d_event.h b/demos/3rdparty/doom/d_event.h
new file mode 100644
index 00000000..feb57833
--- /dev/null
+++ b/demos/3rdparty/doom/d_event.h
@@ -0,0 +1,122 @@
+// Emacs style mode select -*- C++ -*-
+//-----------------------------------------------------------------------------
+//
+// $Id:$
+//
+// Copyright (C) 1993-1996 by id Software, Inc.
+//
+// This source is available for distribution and/or modification
+// only under the terms of the DOOM Source Code License as
+// published by id Software. All rights reserved.
+//
+// The source is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
+// for more details.
+//
+// DESCRIPTION:
+//
+//
+//-----------------------------------------------------------------------------
+
+
+#ifndef __D_EVENT__
+#define __D_EVENT__
+
+
+#include "doomtype.h"
+
+
+//
+// Event handling.
+//
+
+// Input event types.
+typedef enum
+{
+ ev_keydown,
+ ev_keyup,
+ ev_mouse,
+ ev_joystick
+} evtype_t;
+
+// Event structure.
+typedef struct
+{
+ evtype_t type;
+ int data1; // keys / mouse/joystick buttons
+ int data2; // mouse/joystick x move
+ int data3; // mouse/joystick y move
+} event_t;
+
+
+typedef enum
+{
+ ga_nothing,
+ ga_loadlevel,
+ ga_newgame,
+ ga_loadgame,
+ ga_savegame,
+ ga_playdemo,
+ ga_completed,
+ ga_victory,
+ ga_worlddone,
+ ga_screenshot
+} gameaction_t;
+
+
+
+//
+// Button/action code definitions.
+//
+typedef enum
+{
+ // Press "Fire".
+ BT_ATTACK = 1,
+ // Use button, to open doors, activate switches.
+ BT_USE = 2,
+
+ // Flag: game events, not really buttons.
+ BT_SPECIAL = 128,
+ BT_SPECIALMASK = 3,
+
+ // Flag, weapon change pending.
+ // If true, the next 3 bits hold weapon num.
+ BT_CHANGE = 4,
+ // The 3bit weapon mask and shift, convenience.
+ BT_WEAPONMASK = (8+16+32),
+ BT_WEAPONSHIFT = 3,
+
+ // Pause the game.
+ BTS_PAUSE = 1,
+ // Save the game at each console.
+ BTS_SAVEGAME = 2,
+
+ // Savegame slot numbers
+ // occupy the second byte of buttons.
+ BTS_SAVEMASK = (4+8+16),
+ BTS_SAVESHIFT = 2,
+
+} buttoncode_t;
+
+
+
+
+//
+// GLOBAL VARIABLES
+//
+#define MAXEVENTS 64
+
+extern event_t events[MAXEVENTS];
+extern int eventhead;
+extern int eventtail;
+
+extern gameaction_t gameaction;
+
+
+#endif
+//-----------------------------------------------------------------------------
+//
+// $Log:$
+//
+//-----------------------------------------------------------------------------