]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_in_o.c
__seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
[16.git] / src / lib / 16_in_o.c
similarity index 83%
rename from src/lib/16_in_1.c
rename to src/lib/16_in_o.c
index 3eb669d344bcd749916bf76042f7784613383211..e7ed19edafbe81620eadfbd47dac839280a916a9 100755 (executable)
@@ -39,7 +39,7 @@
 //     DEBUG - there are more globals\r
 //\r
 \r
-#include "src/lib/16_in_1.h"\r
+#include "src/lib/16_in.h"\r
 #pragma        hdrstop\r
 \r
 static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */\r
@@ -51,7 +51,7 @@ static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */
 \r
 =============================================================================\r
 */\r
-/*struct inconfig\r
+struct inconfig\r
 {\r
        boolean         MousePresent;\r
        boolean         JoysPresent[MaxJoys];\r
@@ -62,9 +62,9 @@ static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */
 \r
        KeyboardDef     KbdDefs[MaxKbds];\r
        JoystickDef     JoyDefs[MaxJoys];\r
-} inpu;*/\r
+} inpu;\r
 \r
-//gvar->in.KbdDefs = {0x1d,0x38,/*0x47,*/0x48,/*0x49,*/0x4b,0x4d,/*0x4f,*/0x50/*,0x51*/};\r
+//inpu.KbdDefs = {0x1d,0x38,/*0x47,*/0x48,/*0x49,*/0x4b,0x4d,/*0x4f,*/0x50/*,0x51*/};\r
 \r
 /*\r
 =============================================================================\r
@@ -79,13 +79,9 @@ extern "C" {
 #endif\r
 \r
 static struct instat {\r
+       boolean         IN_Started;\r
        boolean         CapsLock;\r
        ScanCode        CurCode,LastCode;\r
-\r
-       boolean         Keyboard[NumCodes];\r
-       boolean         Paused;\r
-       char            LastASCII;\r
-       ScanCode        LastScan;\r
 } inst;\r
 \r
 static byte        far ASCIINames[] =          // Unshifted ASCII for scan codes\r
@@ -187,7 +183,7 @@ static      boolean special;
        if (k == 0xe0)          // Special key prefix\r
                special = true;\r
        else if (k == 0xe1)     // Handle Pause key\r
-               inst.Paused = true;\r
+               inpu.Paused = true;\r
        else\r
        {\r
                if (k & 0x80)   // Break code\r
@@ -196,13 +192,13 @@ static    boolean special;
 \r
 // DEBUG - handle special keys: ctl-alt-delete, print scrn\r
 \r
-                       inst.Keyboard[k] = false;\r
+                       inpu.Keyboard[k] = false;\r
                }\r
                else                    // Make code\r
                {\r
                        inst.LastCode = inst.CurCode;\r
-                       inst.CurCode = inst.LastScan = k;\r
-                       inst.Keyboard[k] = true;\r
+                       inst.CurCode = inpu.LastScan = k;\r
+                       inpu.Keyboard[k] = true;\r
 \r
                        if (special)\r
                                c = SpecialNames[k];\r
@@ -214,7 +210,7 @@ static      boolean special;
                                        // DEBUG - make caps lock light work\r
                                }\r
 \r
-                               if (inst.Keyboard[sc_LShift] || inst.Keyboard[sc_RShift])       // If shifted\r
+                               if (inpu.Keyboard[sc_LShift] || inpu.Keyboard[sc_RShift])       // If shifted\r
                                {\r
                                        c = ShiftNames[k];\r
                                        if ((c >= 'A') && (c <= 'Z') && inst.CapsLock)\r
@@ -228,7 +224,7 @@ static      boolean special;
                                }\r
                        }\r
                        if (c)\r
-                               inst.LastASCII = c;\r
+                               inpu.LastASCII = c;\r
                }\r
 \r
                special = false;\r
@@ -237,7 +233,7 @@ static      boolean special;
        if (INL_KeyHook && !special)\r
                INL_KeyHook();\r
 #ifdef __DEBUG_InputMgr__\r
-       if(dbg_testkeyin > 0) printf("%c        %u      [0x%x %u]       %u\n", c, c, k, k, inst.Keyboard[k]);\r
+       if(dbg_testkeyin > 0) printf("%c        %u      [0x%x %u]       %u\n", c, c, k, k, inpu.Keyboard[k]);\r
 #endif\r
        outportb(0x20,0x20);\r
 }\r
@@ -380,7 +376,7 @@ done:
 //             joystick (from +/-127)\r
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
-void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/, global_game_variables_t *gvar)\r
+void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/)\r
 {\r
        word            x,y;\r
        word TimeCount = *clockw;\r
@@ -388,7 +384,7 @@ void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/, global_game_
 static word    lasttime;\r
 \r
        IN_GetJoyAbs(joy,&x,&y);\r
-       def = gvar->in.JoyDefs + joy;\r
+       def = inpu.JoyDefs + joy;\r
 \r
        if (x < def->threshMinX)\r
        {\r
@@ -497,7 +493,7 @@ IN_GetJoyButtonsDB(word joy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static void\r
-INL_StartKbd(global_game_variables_t *gvar)\r
+INL_StartKbd(void)\r
 {\r
        INL_KeyHook = NULL;     // Clear key hook\r
 \r
@@ -564,11 +560,11 @@ INL_ShutMouse(void)
 //     INL_SetJoyScale() - Sets up scaling values for the specified joystick\r
 //\r
 static void\r
-INL_SetJoyScale(word joy, global_game_variables_t *gvar)\r
+INL_SetJoyScale(word joy)\r
 {\r
        JoystickDef     *def;\r
 \r
-       def = &(gvar->in.JoyDefs[joy]);\r
+       def = &(inpu.JoyDefs[joy]);\r
        def->joyMultXL = JoyScaleMax / (def->threshMinX - def->joyMinX);\r
        def->joyMultXH = JoyScaleMax / (def->joyMaxX - def->threshMaxX);\r
        def->joyMultYL = JoyScaleMax / (def->threshMinY - def->joyMinY);\r
@@ -582,12 +578,12 @@ INL_SetJoyScale(word joy, global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy, global_game_variables_t *gvar)\r
+IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy)\r
 {\r
        word            d,r;\r
        JoystickDef     *def;\r
 \r
-       def = &(gvar->in.JoyDefs[joy]);\r
+       def = &(inpu.JoyDefs[joy]);\r
 \r
        def->joyMinX = minx;\r
        def->joyMaxX = maxx;\r
@@ -603,7 +599,7 @@ IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy, global_game_variab
        def->threshMinY = ((r / 2) - d) + miny;\r
        def->threshMaxY = ((r / 2) + d) + miny;\r
 \r
-       INL_SetJoyScale(joy, gvar);\r
+       INL_SetJoyScale(joy);\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -613,7 +609,7 @@ IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy, global_game_variab
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static boolean\r
-INL_StartJoy(word joy, global_game_variables_t *gvar)\r
+INL_StartJoy(word joy)\r
 {\r
        word            x,y;\r
 \r
@@ -627,7 +623,7 @@ INL_StartJoy(word joy, global_game_variables_t *gvar)
                return(false);\r
        else\r
        {\r
-               IN_SetupJoy(joy,0,x * 2,0,y * 2, gvar);\r
+               IN_SetupJoy(joy,0,x * 2,0,y * 2);\r
                return(true);\r
        }\r
 }\r
@@ -638,9 +634,9 @@ INL_StartJoy(word joy, global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static void\r
-INL_ShutJoy(word joy, global_game_variables_t *gvar)\r
+INL_ShutJoy(word joy)\r
 {\r
-       gvar->in.JoysPresent[joy] = false;\r
+       inpu.JoysPresent[joy] = false;\r
 }\r
 \r
 //     Public routines\r
@@ -651,12 +647,12 @@ INL_ShutJoy(word joy, global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Startup(global_game_variables_t *gvar)\r
+IN_Startup()\r
 {\r
        boolean checkjoys,checkmouse;\r
        word    i;\r
 \r
-       if (gvar->in.IN_Started)\r
+       if (inst.IN_Started)\r
                return;\r
 \r
        checkjoys = true;\r
@@ -674,15 +670,13 @@ IN_Startup(global_game_variables_t *gvar)
                }\r
        }\r
 \r
-       INL_StartKbd(gvar);\r
-       gvar->in.MousePresent = checkmouse? INL_StartMouse() : false;\r
+       INL_StartKbd();\r
+       inpu.MousePresent = checkmouse? INL_StartMouse() : false;\r
 \r
        for (i = 0;i < MaxJoys;i++)\r
-               gvar->in.JoysPresent[i] = checkjoys? INL_StartJoy(i, gvar) : false;\r
-\r
-       gvar->in.inst = &inst;\r
+               inpu.JoysPresent[i] = checkjoys? INL_StartJoy(i) : false;\r
 \r
-       gvar->in.IN_Started = true;\r
+       inst.IN_Started = true;\r
 \r
 }\r
 \r
@@ -692,26 +686,26 @@ IN_Startup(global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Default(boolean gotit,player_t *player,ControlType nt, global_game_variables_t *gvar)\r
+IN_Default(boolean gotit,player_t *player,ControlType nt)\r
 {\r
        int i;\r
        if\r
        (\r
                (!gotit)\r
-       ||      ((nt == ctrl_Joystick1) && !gvar->in.JoysPresent[0])\r
-       ||      ((nt == ctrl_Joystick2) && !gvar->in.JoysPresent[1])\r
-       ||      ((nt == ctrl_Mouse) && !gvar->in.MousePresent)\r
+       ||      ((nt == ctrl_Joystick1) && !inpu.JoysPresent[0])\r
+       ||      ((nt == ctrl_Joystick2) && !inpu.JoysPresent[1])\r
+       ||      ((nt == ctrl_Mouse) && !inpu.MousePresent)\r
        )\r
                nt = ctrl_Keyboard1;\r
-       gvar->in.KbdDefs[0].button0 = 0x1c;\r
-       gvar->in.KbdDefs[0].button1 = 0x38;\r
+       inpu.KbdDefs[0].button0 = 0x1c;\r
+       inpu.KbdDefs[0].button1 = 0x38;\r
        //in.KbdDefs[0].upleft = 0x47;\r
-       gvar->in.KbdDefs[0].up = 0x48;\r
+       inpu.KbdDefs[0].up = 0x48;\r
        //in.KbdDefs[0].upright = 0x49;\r
-       gvar->in.KbdDefs[0].left = 0x4b;\r
-       gvar->in.KbdDefs[0].right = 0x4d;\r
+       inpu.KbdDefs[0].left = 0x4b;\r
+       inpu.KbdDefs[0].right = 0x4d;\r
        //in.KbdDefs[0].downleft = 0x4f;\r
-       gvar->in.KbdDefs[0].down = 0x50;\r
+       inpu.KbdDefs[0].down = 0x50;\r
        //in.KbdDefs[0].downright = 0x51;\r
        IN_SetControlType(player,nt);\r
        for(i=0; i>MaxPlayers;i++)\r
@@ -724,19 +718,19 @@ IN_Default(boolean gotit,player_t *player,ControlType nt, global_game_variables_
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Shutdown(global_game_variables_t *gvar)\r
+IN_Shutdown(void)\r
 {\r
        word    i;\r
 \r
-       if (!gvar->in.IN_Started)\r
+       if (!inst.IN_Started)\r
                return;\r
 \r
        INL_ShutMouse();\r
        for (i = 0;i < MaxJoys;i++)\r
-               INL_ShutJoy(i, gvar);\r
+               INL_ShutJoy(i);\r
        INL_ShutKbd();\r
 \r
-       gvar->in.IN_Started = false;\r
+       inst.IN_Started = false;\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -761,9 +755,9 @@ IN_ClearKeysDown(void)
 {\r
        //int   i;\r
 \r
-       inst.LastScan = sc_None;\r
-       inst.LastASCII = key_None;\r
-       memset (inst.Keyboard,0,sizeof(inst.Keyboard));\r
+       inpu.LastScan = sc_None;\r
+       inpu.LastASCII = key_None;\r
+       memset (inpu.Keyboard,0,sizeof(inpu.Keyboard));\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -790,7 +784,7 @@ INL_AdjustCursor(CursorInfo *info,word buttons,int dx,int dy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_ReadCursor(CursorInfo *info, global_game_variables_t *gvar)\r
+IN_ReadCursor(CursorInfo *info)\r
 {\r
        word    i,\r
                        buttons;\r
@@ -799,7 +793,7 @@ IN_ReadCursor(CursorInfo *info, global_game_variables_t *gvar)
        info->x = info->y = 0;\r
        info->button0 = info->button1 = false;\r
 \r
-       if (gvar->in.MousePresent)\r
+       if (inpu.MousePresent)\r
        {\r
                buttons = INL_GetMouseButtons();\r
                INL_GetMouseDelta(&dx,&dy);\r
@@ -808,11 +802,11 @@ IN_ReadCursor(CursorInfo *info, global_game_variables_t *gvar)
 \r
        for (i = 0;i < MaxJoys;i++)\r
        {\r
-               if (!gvar->in.JoysPresent[i])\r
+               if (!inpu.JoysPresent[i])\r
                        continue;\r
 \r
                buttons = INL_GetJoyButtons(i);\r
-               INL_GetJoyDelta(i,&dx,&dy/*,true*/, gvar);\r
+               INL_GetJoyDelta(i,&dx,&dy/*,true*/);\r
                dx /= 64;\r
                dy /= 64;\r
                INL_AdjustCursor(info,buttons,dx,dy);\r
@@ -830,7 +824,7 @@ IN_ReadCursor(CursorInfo *info, global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_ReadControl(player_t *player, global_game_variables_t *gvar)\r
+IN_ReadControl(player_t *player)\r
 {\r
                        boolean         realdelta;\r
 #if DEMO0\r
@@ -874,7 +868,7 @@ register    KeyboardDef     *def;
                {\r
                case ctrl_Keyboard1:\r
                case ctrl_Keyboard2:\r
-                       def = &(gvar->in.KbdDefs[type - ctrl_Keyboard]);\r
+                       def = &(inpu.KbdDefs[type - ctrl_Keyboard]);\r
 \r
 /*                     if (Keyboard[def->upleft])\r
                                mx = motion_Left,my = motion_Up;\r
@@ -887,28 +881,28 @@ register  KeyboardDef     *def;
 //TODO: make this into a function that the joystick AND keyboard can use wwww\r
                        if(DIRECTIONIFELSE)//(player->info.dir == 2)\r
                        {\r
-                       if(!inst.Keyboard[def->left] && !inst.Keyboard[def->right]){\r
-                               if((inst.Keyboard[def->up] && !inst.Keyboard[def->down]))\r
+                       if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){\r
+                               if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]))\r
                                        my = motion_Up;\r
-                               if((inst.Keyboard[def->down] && !inst.Keyboard[def->up]))\r
+                               if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up]))\r
                                        my = motion_Down;\r
-                       }else if(!inst.Keyboard[def->up] && !inst.Keyboard[def->down]){\r
-                               if((inst.Keyboard[def->left] && !inst.Keyboard[def->right]))\r
+                       }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){\r
+                               if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]))\r
                                        mx = motion_Left;\r
-                               if((inst.Keyboard[def->right] && !inst.Keyboard[def->left]))\r
+                               if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left]))\r
                                        mx = motion_Right;\r
                        }else{  //2 keys pressed\r
                                        switch (player->pdir)\r
                                        {\r
                                                case 0:\r
                                                case 4:\r
-                                                       if((inst.Keyboard[def->left] && !inst.Keyboard[def->right])){ dir = DirTable[1]; }//mx = motion_Left; }\r
-                                                       else if((inst.Keyboard[def->right] && !inst.Keyboard[def->left])){ dir = DirTable[3]; }//mx = motion_Right; }\r
+                                                       if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right])){ dir = DirTable[1]; }//mx = motion_Left; }\r
+                                                       else if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left])){ dir = DirTable[3]; }//mx = motion_Right; }\r
                                                break;\r
                                                case 1:\r
                                                case 3:\r
-                                                       if((inst.Keyboard[def->up] && !inst.Keyboard[def->down])){ dir = DirTable[0]; }//my = motion_Up; }\r
-                                                       else if((inst.Keyboard[def->down] && !inst.Keyboard[def->up])){ dir = DirTable[4]; }//my = motion_Down; }\r
+                                                       if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down])){ dir = DirTable[0]; }//my = motion_Up; }\r
+                                                       else if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up])){ dir = DirTable[4]; }//my = motion_Down; }\r
                                                break;\r
                                                default:\r
                                                break;\r
@@ -919,15 +913,15 @@ register  KeyboardDef     *def;
                                }\r
                        }\r
                        //input from player\r
-                       if (inst.Keyboard[def->button0])\r
+                       if (inpu.Keyboard[def->button0])\r
                                buttons += 1 << 0;\r
-                       if (inst.Keyboard[def->button1])\r
+                       if (inpu.Keyboard[def->button1])\r
                                buttons += 1 << 1;\r
                        realdelta = false;\r
                        break;\r
                case ctrl_Joystick1:\r
                case ctrl_Joystick2:\r
-                       INL_GetJoyDelta(type - ctrl_Joystick,&dx,&dy/*,false*/, gvar);\r
+                       INL_GetJoyDelta(type - ctrl_Joystick,&dx,&dy/*,false*/);\r
                        buttons = INL_GetJoyButtons(type - ctrl_Joystick);\r
                        realdelta = true;\r
                        break;\r
@@ -998,14 +992,14 @@ register  KeyboardDef     *def;
 #endif\r
 #ifdef __DEBUG_InputMgr__\r
 if(dbg_testcontrolnoisy > 0)\r
-if(player->info.dir!=2/*(inst.Keyboard[def->up] || inst.Keyboard[def->down] || inst.Keyboard[def->left] || inst.Keyboard[def->right])*/ || player->enti.q>1)\r
+if(player->info.dir!=2/*(inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right])*/ || player->enti.q>1)\r
 {\r
        //printf("b1=%u b2=%u b3=%u b4=%u       ", player->info.button0, player->info.button1, player->info.button2, player->info.button3);\r
        //printf("q=%d ", player->enti.q);\r
        //printf("cpee=%c ", dirchar(conpee));\r
        printf("pdir=%c d=%c dir=%c ", dirchar(player->pdir), dirchar(player->enti.d), dirchar(player->info.dir));\r
        /*if(realdelta) */printf("dx=%d dy=%d   mx=%d   my=%d", player->info.x, player->info.y, player->info.xaxis, player->info.yaxis);\r
-       //else if(!realdelta) printf("%c%d %c%d %c%d %c%d", dirchar(0), inst.Keyboard[def->up], dirchar(4), inst.Keyboard[def->down], dirchar(1), inst.Keyboard[def->left], dirchar(3), inst.Keyboard[def->right]);\r
+       //else if(!realdelta) printf("%c%d %c%d %c%d %c%d", dirchar(0), inpu.Keyboard[def->up], dirchar(4), inpu.Keyboard[def->down], dirchar(1), inpu.Keyboard[def->left], dirchar(3), inpu.Keyboard[def->right]);\r
        printf("\n");\r
 }\r
 #endif\r
@@ -1118,9 +1112,9 @@ IN_WaitForKey(void)
 {\r
        ScanCode        result;\r
 \r
-       while (!(result = inst.LastScan))\r
+       while (!(result = inpu.LastScan))\r
                ;\r
-       inst.LastScan = 0;\r
+       inpu.LastScan = 0;\r
        return(result);\r
 }\r
 \r
@@ -1135,9 +1129,9 @@ IN_WaitForASCII(void)
 {\r
        char            result;\r
 \r
-       while (!(result = inst.LastASCII))\r
+       while (!(result = inpu.LastASCII))\r
                ;\r
-       inst.LastASCII = '\0';\r
+       inpu.LastASCII = '\0';\r
        return(result);\r
 }\r
 \r
@@ -1150,7 +1144,7 @@ IN_WaitForASCII(void)
 \r
 boolean        btnstate[8];\r
 \r
-void IN_StartAck(global_game_variables_t *gvar)\r
+void IN_StartAck(void)\r
 {\r
        unsigned        i,buttons;\r
 \r
@@ -1161,8 +1155,8 @@ void IN_StartAck(global_game_variables_t *gvar)
        memset (btnstate,0,sizeof(btnstate));\r
 \r
        buttons = IN_JoyButtons () << 4;\r
-       if (gvar->in.MousePresent)\r
-               buttons |= IN_MouseButtons (gvar);\r
+       if (inpu.MousePresent)\r
+               buttons |= IN_MouseButtons ();\r
 \r
        for (i=0;i<8;i++,buttons>>=1)\r
                if (buttons&1)\r
@@ -1170,19 +1164,19 @@ void IN_StartAck(global_game_variables_t *gvar)
 }\r
 \r
 \r
-boolean IN_CheckAck (global_game_variables_t *gvar)\r
+boolean IN_CheckAck (void)\r
 {\r
        unsigned        i,buttons;\r
 \r
 //\r
 // see if something has been pressed\r
 //\r
-       if (inst.LastScan)\r
+       if (inpu.LastScan)\r
                return true;\r
 \r
        buttons = IN_JoyButtons () << 4;\r
-       if (gvar->in.MousePresent)\r
-               buttons |= IN_MouseButtons (gvar);\r
+       if (inpu.MousePresent)\r
+               buttons |= IN_MouseButtons ();\r
 \r
        for (i=0;i<8;i++,buttons>>=1)\r
                if ( buttons&1 )\r
@@ -1197,11 +1191,11 @@ boolean IN_CheckAck (global_game_variables_t *gvar)
 }\r
 \r
 \r
-void IN_Ack (global_game_variables_t *gvar)\r
+void IN_Ack (void)\r
 {\r
-       IN_StartAck (gvar);\r
+       IN_StartAck ();\r
 \r
-       while (!IN_CheckAck (gvar))\r
+       while (!IN_CheckAck ())\r
        ;\r
 }\r
 \r
@@ -1212,19 +1206,19 @@ void IN_Ack (global_game_variables_t *gvar)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 boolean\r
-IN_IsUserInput(global_game_variables_t *gvar)\r
+IN_IsUserInput()\r
 {\r
        boolean result;\r
        word    i;\r
 \r
-       result = inst.LastScan;\r
+       result = inpu.LastScan;\r
 \r
-       if (gvar->in.MousePresent)\r
+       if (inpu.MousePresent)\r
                if (INL_GetMouseButtons())\r
                        result = true;\r
 \r
        for (i = 0;i < MaxJoys;i++)\r
-               if (gvar->in.JoysPresent[i])\r
+               if (inpu.JoysPresent[i])\r
                        if (INL_GetJoyButtons(i))\r
                                result = true;\r
 \r
@@ -1239,16 +1233,16 @@ IN_IsUserInput(global_game_variables_t *gvar)
 //             button up.\r
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
-boolean IN_UserInput(word delay, global_game_variables_t *gvar)\r
+boolean IN_UserInput(word delay)\r
 {\r
        word TimeCount = *clockw;\r
        word    lasttime;\r
 \r
        lasttime = TimeCount;\r
-       IN_StartAck (gvar);\r
+       IN_StartAck ();\r
        do\r
        {\r
-               if (IN_CheckAck(gvar))\r
+               if (IN_CheckAck())\r
                        return true;\r
        } while (TimeCount - lasttime < delay);\r
        return(false);\r
@@ -1264,10 +1258,10 @@ boolean IN_UserInput(word delay, global_game_variables_t *gvar)
 ===================\r
 */\r
 \r
-byte   IN_MouseButtons (global_game_variables_t *gvar)\r
+byte   IN_MouseButtons (void)\r
 {\r
        union REGS CPURegs;\r
-       if (gvar->in.MousePresent)\r
+       if (inpu.MousePresent)\r
        {\r
                Mouse(MButtons);\r
                return CPURegs.x.bx;\r
@@ -1299,11 +1293,9 @@ byte     IN_JoyButtons (void)
 boolean IN_KeyDown(byte code)\r
 {\r
 #ifdef __DEBUG_InputMgr__\r
-       if(inst.Keyboard[code])\r
-               printf("IN_KeyDown(%c): %u\n", code, inst.Keyboard[code]);\r
        if(!dbg_nointest)\r
 #endif\r
-       return inst.Keyboard[code];\r
+       return inpu.Keyboard[code];\r
 #ifdef __DEBUG_InputMgr__\r
        else\r
                if(dbg_nointest && kbhit())\r
@@ -1315,23 +1307,23 @@ boolean IN_KeyDown(byte code)
 \r
 void IN_ClearKey(byte code)\r
 {\r
-       inst.Keyboard[code] = false;\r
-       if(code == inst.LastScan)\r
-               inst.LastScan = sc_None;\r
+       inpu.Keyboard[code] = false;\r
+       if(code == inpu.LastScan)\r
+               inpu.LastScan = sc_None;\r
        }\r
 \r
 boolean IN_qb(byte kee)\r
 {\r
 #ifdef __DEBUG_InputMgr__\r
-       if(dbg_testkeyin) if(inst.Keyboard[kee]) printf("IN_qb():       %u\n", inst.Keyboard[kee]);\r
+       if(dbg_testkeyin) printf("%u\n", inpu.Keyboard[kee]);\r
 #endif\r
-       if(inst.Keyboard[kee]==true) return 1;\r
+       if(inpu.Keyboard[kee]==true) return 1;\r
        else return 0;\r
 }\r
 \r
 ScanCode IN_GetLastScan()\r
 {\r
-       return inst.LastScan;\r
+       return inpu.LastScan;\r
 }\r
 \r
 ScanCode IN_GetCurCode()\r