]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_in.h
modified: src/lib/16_in.c
[16.git] / src / lib / 16_in.h
index 1e099ee4c591ee310ea6002966829bfb1b8a8d8a..9aaf3456fc72b33bea5906740847d2250b273b70 100644 (file)
 //\r
 //     ID Engine\r
 //     ID_IN.h - Header file for Input Manager\r
-//     v1.0d1\r
-//     By Jason Blochowiak\r
+//     v1.0d1w\r
+//     By Jason Blochowiak
+// Open Watcom port by sparky4\r
 //\r
 \r
 #ifndef        __16_IN__\r
 #define        __16_IN__\r
 
+#include <string.h>\r
 #include "src/lib/lib_head.h"\r
-//#include "src/lib/16_us.h"
+//#include "src/lib/16_us.h"\r
 \r
-#ifdef __DEBUG__\r
+//++++#ifdef   __DEBUG__\r
 #define        __DEBUG_InputMgr__\r
-#endif\r
-
-#define        KeyInt  9       // The keyboard ISR number
-
-// Stuff for the joystick
-#define        JoyScaleMax             32768
-#define        JoyScaleShift   8
-#define        MaxJoyValue             5000
+//++++#endif\r
+\r
+//#define DUMU\r
+#define TESTKEYIN
+#define TESTCONTROLNOISY\r
+\r
+#define        KeyInt  9       // The keyboard ISR number\r
+\r
+// Stuff for the joystick\r
+#define        JoyScaleMax             32768\r
+#define        JoyScaleShift   8\r
+#define        MaxJoyValue             5000\r
 \r
 #define        MaxPlayers      4\r
 #define        MaxKbds         2\r
@@ -128,6 +134,10 @@ typedef    byte            ScanCode;
 #define        key_BackSpace   0x08\r
 #define        key_Tab                 0x09\r
 #define        key_Delete              0x7f\r
+
+#define        key_LSuper                      0x5b
+#define        key_RSuper                      0x5c
+#define        key_Menu                        0x5d
 \r
 //     Stuff for the mouse\r
 #define        MReset          0\r
@@ -138,7 +148,7 @@ typedef     byte            ScanCode;
 #ifdef DEMO0\r
 typedef        enum            {\r
                                                demo_Off,demo_Record,demo_Playback,demo_PlayDone\r
-                                       } Demo;
+                                       } Demo;\r
 #endif\r
 typedef        enum            {\r
                                                ctrl_None,                              // MDM (GAMERS EDGE) - added\r
@@ -154,10 +164,10 @@ typedef   enum            {
                                                motion_Right = 1,motion_Down = 1\r
                                        } Motion;\r
 typedef        enum            {\r
-                                               dir_North,dir_NorthEast,\r
-                                               dir_East,dir_SouthEast,\r
-                                               dir_South,dir_SouthWest,\r
-                                               dir_West,dir_NorthWest,\r
+                                               dir_North,//dir_NorthEast,\r
+                                               dir_East,//dir_SouthEast,\r
+                                               dir_South,//dir_SouthWest,\r
+                                               dir_West,//dir_NorthWest,\r
                                                dir_None\r
                                        } Direction;\r
 typedef        struct          {\r
@@ -167,11 +177,17 @@ typedef   struct          {
                                                Direction       dir;\r
                                        } CursorInfo;\r
 typedef        CursorInfo      ControlInfo;\r
+\r
 typedef        struct          {\r
                                                ScanCode        button0,button1,\r
-                                                                       upleft,         up,             upright,\r
+                                                                       //upleft,\r
+                                                                       up,\r
+                                                                       //upright,\r
                                                                        left,                           right,\r
-                                                                       downleft,       down,   downright;\r
+                                                                       //downleft,\r
+                                                                       down\r
+                                                                       //,downright\r
+                                                                       ;\r
                                        } KeyboardDef;\r
 typedef        struct          {\r
                                                word            joyMinX,joyMinY,\r
@@ -196,30 +212,30 @@ static boolean                    MousePresent;
 static boolean                 JoysPresent[MaxJoys];\r
 static boolean                 JoyPadPresent;\r
 \r
+//     Global variables\r
+               extern boolean JoystickCalibrated;              // MDM (GAMERS EDGE) - added\r
+               extern ControlType ControlTypeUsed;                             // MDM (GAMERS EDGE) - added\r
 \r
-//     Global variables
-               static boolean JoystickCalibrated=false;                // MDM (GAMERS EDGE) - added
-               static ControlType ControlTypeUsed;                             // MDM (GAMERS EDGE) - added
-\r
-               static boolean          Keyboard[NumCodes];\r
-               static boolean          Paused;\r
-               static char             LastASCII;\r
-               static ScanCode LastScan;\r
+               extern boolean          Keyboard[NumCodes];\r
+               extern boolean          Paused;\r
+               extern char             LastASCII;\r
+               extern ScanCode LastScan;\r
 \r
+               //extern KeyboardDef    KbdDefs[];
                static KeyboardDef      KbdDefs[] = {0x1d,0x38,0x47,0x48,0x49,0x4b,0x4d,0x4f,0x50,0x51};\r
-               static JoystickDef      JoyDefs[MaxJoys];\r
-               static ControlType      Controls[MaxPlayers];\r
+               extern JoystickDef      JoyDefs[MaxJoys];\r
+               extern ControlType      Controls[MaxPlayers];\r
 \r
-               static dword    MouseDownCount;
+               extern dword    MouseDownCount;\r
 \r
 #ifdef DEMO0\r
                static Demo             DemoMode = demo_Off;\r
                static byte /*_seg*/    *DemoBuffer;\r
-               static word             DemoOffset,DemoSize;
-#endif
-
-extern dword far* clockdw;
-
+               static word             DemoOffset,DemoSize;\r
+#endif\r
+\r
+extern dword far* clockdw;\r
+\r
 /*\r
 =============================================================================\r
 \r
@@ -271,15 +287,18 @@ static    ScanCode        CurCode,LastCode;
 \r
 static Direction       DirTable[] =            // Quick lookup for total direction\r
                                        {\r
-                                               dir_NorthWest,  dir_North,      dir_NorthEast,\r
+                                               //dir_NorthWest,\r
+                                               dir_North,\r
+                                               //dir_NorthEast,\r
                                                dir_West,               dir_None,       dir_East,\r
-                                               dir_SouthWest,  dir_South,      dir_SouthEast\r
+                                               //dir_SouthWest,\r
+                                               dir_South//,dir_SouthEast\r
                                        };\r
 \r
 static void                    (*INL_KeyHook)(void);\r
 static void interrupt  (*OldKeyVect)(void);\r
 \r
-static char                    *ParmStrings[] = {"nojoys","nomouse",nil};\r
+static char                    *ParmStringsIN[] = {"nojoys","nomouse",nil};\r
 \r
 // Function prototypes\r
 #define        IN_KeyDown(code)        (Keyboard[(code)])\r
@@ -296,22 +315,25 @@ extern    void            IN_Startup(void),IN_Shutdown(void),
                                        IN_SetControlType(int,ControlType),\r
                                        IN_GetJoyAbs(word joy,word *xp,word *yp),\r
                                        IN_SetupJoy(word joy,word minx,word maxx,\r
-                                                               word miny,word maxy),
+                                                               word miny,word maxy),\r
+                                       Mouse(int x),\r
 #ifdef DEMO0\r
                                        IN_StartDemoPlayback(byte __segment *buffer,word bufsize),\r
-                                       IN_StopDemo(void),IN_FreeDemoBuffer(void),
+                                       IN_StopDemo(void),IN_FreeDemoBuffer(void),\r
 #endif\r
                                        IN_Ack(void),IN_AckBack(void);\r
 extern boolean         IN_UserInput(dword delay,boolean clear),\r
-                                       IN_IsUserInput(void)
+                                       IN_IsUserInput(void)\r
 #ifdef DEMO0\r
-                                       , IN_StartDemoRecord(word bufsize)
-#endif
+                                       , IN_StartDemoRecord(word bufsize)\r
+#endif\r
 ;\r
 extern byte            *IN_GetScanName(ScanCode);\r
 extern char            IN_WaitForASCII(void);\r
 extern ScanCode        IN_WaitForKey(void);\r
-extern word            IN_GetJoyButtonsDB(word joy);
-
-//static void interrupt INL_KeyService(void);\r
+extern word            IN_GetJoyButtonsDB(word joy);\r
+\r
+\r
+void interrupt INL_KeyService(void);\r
+boolean IN_qb(byte kee);\r
 #endif\r