ref: a88630d07570f7e9a30098817db9efe32307a776
dir: /in.h/
#define MaxPlayers 4 #define NumCodes 128 // Stuff for the mouse #define MReset 0 #define MButtons 3 #define MDelta 11 #define MouseInt 0x33 #define Mouse(x) _AX = x,geninterrupt(MouseInt) typedef enum { demo_Off,demo_Record,demo_Playback,demo_PlayDone } Demo; typedef enum { ctrl_Keyboard, ctrl_Keyboard1 = ctrl_Keyboard,ctrl_Keyboard2, ctrl_Mouse } ControlType; typedef enum { motion_Left = -1,motion_Up = -1, motion_None = 0, motion_Right = 1,motion_Down = 1 } Motion; typedef enum { dir_North,dir_NorthEast, dir_East,dir_SouthEast, dir_South,dir_SouthWest, dir_West,dir_NorthWest, dir_None } Direction; typedef struct { int button0,button1,button2,button3; s16int x,y; Motion xaxis,yaxis; Direction dir; } CursorInfo; typedef CursorInfo ControlInfo; typedef struct { u8int button0,button1, upleft, up, upright, left, right, downleft, down, downright; } KeyboardDef; // Global variables extern int Keyboard[], MousePresent; extern int Paused; extern char LastASCII; extern u8int LastScan; extern KeyboardDef KbdDefs; extern ControlType Controls[MaxPlayers]; extern Demo DemoMode; extern u8int _seg *DemoBuffer; extern u16int DemoOffset,DemoSize; // Function prototypes #define IN_KeyDown(code) (Keyboard[(code)]) #define IN_ClearKey(code) {Keyboard[code] = false;\ if (code == LastScan) LastScan = sc_None;}