]> 4ch.mooo.com Git - 16.git/commitdiff
__seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
authorsparky4 <sparky4@cock.li>
Thu, 23 Mar 2017 18:11:26 +0000 (13:11 -0500)
committersparky4 <sparky4@cock.li>
Thu, 23 Mar 2017 18:11:26 +0000 (13:11 -0500)
makefile
src/inntest.c
src/lib/16_in_1.c
src/lib/16_in_1.h
src/util/shbat/winnbuil.sh [new file with mode: 0755]

index fb475d5d279b947097a4b9b0abdbb26868b65f0c..eeb4d5aca29d6d49d760abc0882d494dfa59ff07 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -34,7 +34,7 @@
 # comment this out on game release.
 # serial output goes to COM1 at 9600 baud 1 stop bit odd parity.
 # serial output is plain text ASCII.
-DEBUGSERIAL=1
+DEBUGSERIAL=0
 
 DELLOGFILE=1
 
@@ -263,7 +263,7 @@ fonttest.exe:        fonttest.$(OBJ) gfx.lib
 #fonttes0.exe: fonttes0.$(OBJ) $(16LIB)
 fontgfx.exe:   fontgfx.$(OBJ) gfx.lib $(DOSLIB)
 inputest.exe:   inputest.$(OBJ) $(16LIB) $(DOSLIB) gfx.lib
-inntest.exe:           inntest.$(OBJ)  $(16LIBNOINOBJS) 16_in_1.$(OBJ)
+inntest.exe:           inntest.$(OBJ)  $(16LIBNOINOBJS) 16_in_1.$(OBJ) $(DOSLIB) gfx.lib
 #sountest.exe: sountest.$(OBJ) $(16LIB)
 pcxtest.exe:   pcxtest.$(OBJ) gfx.lib $(DOSLIB) $(16LIB)
 vrstest.exe:   vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB)
index 598303a6e7c9aeac2cef350922e93590755ffb77..5655e5aea7735445fdba921477dca8e9d84418fb 100755 (executable)
 \r
 void probe_dos(){}\r
 void cpu_probe(){}\r
-int probe_vga(){ return 0; }\r
-void VGAmodeX(){}\r
+//int probe_vga(){ return 0; }\r
+//void VGAmodeX(){}\r
 \r
 void\r
 main(int argc, char *argv[])\r
 {\r
        static global_game_variables_t gvar;\r
-       //extern struct inconfig inpu;\r
-       dbg_testkeyin=0;\r
-       dbg_testcontrolnoisy=1;\r
-       start_timer(&gvar);\r
+       dbg_nointest=0;\r
+       dbg_testkeyin=1;\r
+       dbg_testcontrolnoisy=0;\r
+       start_timer(&gvar);     printf(".");\r
        //Startup16(&gvar);\r
-       IN_Startup(&gvar);\r
+       IN_Startup(&gvar);      printf(".");\r
        //IN_Default(0,&gvar.player,ctrl_Joystick1);\r
        //IN_SetControlType(0,&gvar.player,ctrl_Joystick1);\r
-       IN_Default(0,&gvar.player[0],ctrl_Keyboard1, &gvar);\r
-       IN_SetControlType(&gvar.player[0],ctrl_Keyboard1);\r
+       IN_Default(0,&gvar.player[0],ctrl_Keyboard1, &gvar);    printf(".");\r
+       IN_SetControlType(&gvar.player[0],ctrl_Keyboard1);      printf(".");\r
 \r
        gvar.player[0].enti.q=1;\r
        gvar.player[0].enti.d=2;\r
@@ -51,11 +51,12 @@ main(int argc, char *argv[])
 //0000 nibbletest(){}\r
 //0000 booleantest(){}\r
        //printf("dbg_testkeyin=%u      dbg_testcontrolnoisy=%u dbg_nogvar.playerinpu=%u\nloop if this is not responsive then please KILL or reset machine sorry!!\n", dbg_testkeyin, dbg_testcontrolnoisy, dbg_nogvar.playerinpu);\r
+       printf("\nloop\n");\r
        while(!IN_KeyDown(sc_Escape, &gvar))\r
        {\r
 //0000         shinkutxt(&gvar);\r
                IN_ReadControl(&gvar.player[0], &gvar);\r
-               switch(gvar.player[0].enti.d)\r
+/*             switch(gvar.player[0].enti.d)\r
                {\r
                //right movement\r
                case 3:\r
@@ -88,10 +89,11 @@ main(int argc, char *argv[])
                                gvar.player[0].enti.q++;\r
                        } else { gvar.player[0].enti.q = 1; gvar.player[0].enti.d = 2; }\r
                break;\r
-       }\r
-               //printf("%u\n", IN_KeyDown(sc_Escape));\r
-               //if(\r
-               IN_qb(sc_9, &gvar);//>0) printf("IN_qb(sc_9)=%u\n", IN_qb(sc_9));\r
+       }*/\r
+               //printf("%u\n", IN_KeyDown(sc_Escape, &gvar));\r
+               //if(gvar.in.Keyboard[sc_Escape])\r
+                       printf("gvar.in.Keyboard[sc_Escape]=%u\n", gvar.in.Keyboard[sc_Escape]);\r
+               //IN_qb(sc_Enter, &gvar);//>0) printf("IN_qb(sc_9)=%u\n", IN_qb(sc_9));\r
                if(IN_KeyDown(88, &gvar))       //speed\r
                {\r
                        switch(gvar.kurokku.fpscap)\r
index 84e1266e050a6ad9e618bd026044ba6b6ede5f2c..60657a9580091621c617c701c921d1527b2fcdac 100755 (executable)
@@ -39,7 +39,7 @@
 //     DEBUG - there are more globals\r
 //\r
 \r
-#include "src/lib/16_in.h"\r
+#include "src/lib/16_in_1.h"\r
 #pragma        hdrstop\r
 \r
 static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */\r
@@ -64,7 +64,7 @@ static word far* clockw= (word far*) 0x046C; /* 18.2hz clock */
        JoystickDef     JoyDefs[MaxJoys];\r
 } inpu;*/\r
 \r
-//inpu.KbdDefs = {0x1d,0x38,/*0x47,*/0x48,/*0x49,*/0x4b,0x4d,/*0x4f,*/0x50/*,0x51*/};\r
+//gvar->in.KbdDefs = {0x1d,0x38,/*0x47,*/0x48,/*0x49,*/0x4b,0x4d,/*0x4f,*/0x50/*,0x51*/};\r
 \r
 /*\r
 =============================================================================\r
@@ -168,7 +168,7 @@ static      char                    *ParmStringsIN[] = {"nojoys","nomouse",nil};
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 /*static */void interrupt\r
-INL_KeyService(void)//!\r
+INL_KeyService(global_game_variables_t *gvar)//!\r
 {\r
 static boolean special;\r
                byte    k,c,\r
@@ -183,7 +183,7 @@ static      boolean special;
        if (k == 0xe0)          // Special key prefix\r
                special = true;\r
        else if (k == 0xe1)     // Handle Pause key\r
-               inpu.Paused = true;\r
+               gvar->in.Paused = true;\r
        else\r
        {\r
                if (k & 0x80)   // Break code\r
@@ -192,13 +192,13 @@ static    boolean special;
 \r
 // DEBUG - handle special keys: ctl-alt-delete, print scrn\r
 \r
-                       inpu.Keyboard[k] = false;\r
+                       gvar->in.Keyboard[k] = false;\r
                }\r
                else                    // Make code\r
                {\r
-                       inst.LastCode = inst.CurCode;\r
-                       inst.CurCode = inpu.LastScan = k;\r
-                       inpu.Keyboard[k] = true;\r
+                       gvar->in.LastCode = gvar->in.CurCode;\r
+                       gvar->in.CurCode = gvar->in.LastScan = k;\r
+                       gvar->in.Keyboard[k] = true;\r
 \r
                        if (special)\r
                                c = SpecialNames[k];\r
@@ -206,25 +206,25 @@ static    boolean special;
                        {\r
                                if (k == sc_CapsLock)\r
                                {\r
-                                       inst.CapsLock ^= true;\r
+                                       gvar->in.CapsLock ^= true;\r
                                        // DEBUG - make caps lock light work\r
                                }\r
 \r
-                               if (inpu.Keyboard[sc_LShift] || inpu.Keyboard[sc_RShift])       // If shifted\r
+                               if (gvar->in.Keyboard[sc_LShift] || gvar->in.Keyboard[sc_RShift])       // If shifted\r
                                {\r
                                        c = ShiftNames[k];\r
-                                       if ((c >= 'A') && (c <= 'Z') && inst.CapsLock)\r
+                                       if ((c >= 'A') && (c <= 'Z') && gvar->in.CapsLock)\r
                                                c += 'a' - 'A';\r
                                }\r
                                else\r
                                {\r
                                        c = ASCIINames[k];\r
-                                       if ((c >= 'a') && (c <= 'z') && inst.CapsLock)\r
+                                       if ((c >= 'a') && (c <= 'z') && gvar->in.CapsLock)\r
                                                c -= 'a' - 'A';\r
                                }\r
                        }\r
                        if (c)\r
-                               inpu.LastASCII = c;\r
+                               gvar->in.LastASCII = c;\r
                }\r
 \r
                special = false;\r
@@ -232,8 +232,8 @@ static      boolean special;
 \r
        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, inpu.Keyboard[k]);\r
+#ifdef __DEBUG_InputMgr2__\r
+       if(dbg_testkeyin > 0) printf("%c        %u      [0x%x %u]       %u\n", c, c, k, k, gvar->in.Keyboard[k]);\r
 #endif\r
        outportb(0x20,0x20);\r
 }\r
@@ -376,7 +376,7 @@ done:
 //             joystick (from +/-127)\r
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
-void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/)//!\r
+void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/, global_game_variables_t *gvar)//!\r
 {\r
        word            x,y;\r
        word TimeCount = *clockw;\r
@@ -384,7 +384,7 @@ void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/)//!
 static word    lasttime;\r
 \r
        IN_GetJoyAbs(joy,&x,&y);\r
-       def = inpu.JoyDefs + joy;\r
+       def = gvar->in.JoyDefs + joy;\r
 \r
        if (x < def->threshMinX)\r
        {\r
@@ -493,11 +493,11 @@ IN_GetJoyButtonsDB(word joy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static void\r
-INL_StartKbd(void)\r
+INL_StartKbd(global_game_variables_t *gvar)\r
 {\r
        INL_KeyHook = NULL;     // Clear key hook\r
 \r
-       IN_ClearKeysDown();\r
+       IN_ClearKeysDown(gvar);\r
 \r
        OldKeyVect = getvect(KeyInt);//IN_KbdLED();\r
        setvect(KeyInt,INL_KeyService);\r
@@ -560,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)\r
+INL_SetJoyScale(word joy, global_game_variables_t *gvar)\r
 {\r
        JoystickDef     *def;\r
 \r
-       def = &(inpu.JoyDefs[joy]);\r
+       def = &(gvar->in.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
@@ -578,12 +578,12 @@ INL_SetJoyScale(word joy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy)//!\r
+IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy, global_game_variables_t *gvar)//!\r
 {\r
        word            d,r;\r
        JoystickDef     *def;\r
 \r
-       def = &(inpu.JoyDefs[joy]);\r
+       def = &(gvar->in.JoyDefs[joy]);\r
 \r
        def->joyMinX = minx;\r
        def->joyMaxX = maxx;\r
@@ -599,7 +599,7 @@ IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy)//!
        def->threshMinY = ((r / 2) - d) + miny;\r
        def->threshMaxY = ((r / 2) + d) + miny;\r
 \r
-       INL_SetJoyScale(joy);\r
+       INL_SetJoyScale(joy, gvar);\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -609,7 +609,7 @@ IN_SetupJoy(word joy,word minx,word maxx,word miny,word maxy)//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static boolean\r
-INL_StartJoy(word joy)\r
+INL_StartJoy(word joy, global_game_variables_t *gvar)\r
 {\r
        word            x,y;\r
 \r
@@ -623,7 +623,7 @@ INL_StartJoy(word joy)
                return(false);\r
        else\r
        {\r
-               IN_SetupJoy(joy,0,x * 2,0,y * 2);\r
+               IN_SetupJoy(joy,0,x * 2,0,y * 2, gvar);\r
                return(true);\r
        }\r
 }\r
@@ -634,9 +634,9 @@ INL_StartJoy(word joy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 static void\r
-INL_ShutJoy(word joy)//!\r
+INL_ShutJoy(word joy, global_game_variables_t *gvar)//!\r
 {\r
-       inpu.JoysPresent[joy] = false;\r
+       gvar->in.JoysPresent[joy] = false;\r
 }\r
 \r
 //     Public routines\r
@@ -647,12 +647,12 @@ INL_ShutJoy(word joy)//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Startup()//!\r
+IN_Startup(global_game_variables_t *gvar)//!\r
 {\r
        boolean checkjoys,checkmouse;\r
        word    i;\r
 \r
-       if (inst.IN_Started)\r
+       if (gvar->in.IN_Started)\r
                return;\r
 \r
        checkjoys = true;\r
@@ -670,13 +670,13 @@ IN_Startup()//!
                }\r
        }\r
 \r
-       INL_StartKbd();\r
-       inpu.MousePresent = checkmouse? INL_StartMouse() : false;\r
+       INL_StartKbd(gvar);\r
+       gvar->in.MousePresent = checkmouse? INL_StartMouse() : false;\r
 \r
        for (i = 0;i < MaxJoys;i++)\r
-               inpu.JoysPresent[i] = checkjoys? INL_StartJoy(i) : false;\r
+               gvar->in.JoysPresent[i] = checkjoys? INL_StartJoy(i, gvar) : false;\r
 \r
-       inst.IN_Started = true;\r
+       gvar->in.IN_Started = true;\r
 \r
 }\r
 \r
@@ -686,26 +686,26 @@ IN_Startup()//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Default(boolean gotit,player_t *player,ControlType nt)//!\r
+IN_Default(boolean gotit,player_t *player,ControlType nt, global_game_variables_t *gvar)//!\r
 {\r
        int i;\r
        if\r
        (\r
                (!gotit)\r
-       ||      ((nt == ctrl_Joystick1) && !inpu.JoysPresent[0])\r
-       ||      ((nt == ctrl_Joystick2) && !inpu.JoysPresent[1])\r
-       ||      ((nt == ctrl_Mouse) && !inpu.MousePresent)\r
+       ||      ((nt == ctrl_Joystick1) && !gvar->in.JoysPresent[0])\r
+       ||      ((nt == ctrl_Joystick2) && !gvar->in.JoysPresent[1])\r
+       ||      ((nt == ctrl_Mouse) && !gvar->in.MousePresent)\r
        )\r
                nt = ctrl_Keyboard1;\r
-       inpu.KbdDefs[0].button0 = 0x1c;\r
-       inpu.KbdDefs[0].button1 = 0x38;\r
+       gvar->in.KbdDefs[0].button0 = 0x1c;\r
+       gvar->in.KbdDefs[0].button1 = 0x38;\r
        //in.KbdDefs[0].upleft = 0x47;\r
-       inpu.KbdDefs[0].up = 0x48;\r
+       gvar->in.KbdDefs[0].up = 0x48;\r
        //in.KbdDefs[0].upright = 0x49;\r
-       inpu.KbdDefs[0].left = 0x4b;\r
-       inpu.KbdDefs[0].right = 0x4d;\r
+       gvar->in.KbdDefs[0].left = 0x4b;\r
+       gvar->in.KbdDefs[0].right = 0x4d;\r
        //in.KbdDefs[0].downleft = 0x4f;\r
-       inpu.KbdDefs[0].down = 0x50;\r
+       gvar->in.KbdDefs[0].down = 0x50;\r
        //in.KbdDefs[0].downright = 0x51;\r
        IN_SetControlType(player,nt);\r
        for(i=0; i>MaxPlayers;i++)\r
@@ -718,19 +718,19 @@ IN_Default(boolean gotit,player_t *player,ControlType nt)//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_Shutdown(void)//!\r
+IN_Shutdown(global_game_variables_t *gvar)//!\r
 {\r
        word    i;\r
 \r
-       if (!inst.IN_Started)\r
+       if (!gvar->in.IN_Started)\r
                return;\r
 \r
        INL_ShutMouse();\r
        for (i = 0;i < MaxJoys;i++)\r
-               INL_ShutJoy(i);\r
+               INL_ShutJoy(i, gvar);\r
        INL_ShutKbd();\r
 \r
-       inst.IN_Started = false;\r
+       gvar->in.IN_Started = false;\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -751,13 +751,13 @@ IN_SetKeyHook(void (*hook)())
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_ClearKeysDown(void)//!\r
+IN_ClearKeysDown(global_game_variables_t *gvar)//!\r
 {\r
        //int   i;\r
 \r
-       inpu.LastScan = sc_None;\r
-       inpu.LastASCII = key_None;\r
-       memset (inpu.Keyboard,0,sizeof(inpu.Keyboard));\r
+       gvar->in.LastScan = sc_None;\r
+       gvar->in.LastASCII = key_None;\r
+       memset (gvar->in.Keyboard,0,sizeof(gvar->in.Keyboard));\r
 }\r
 \r
 ///////////////////////////////////////////////////////////////////////////\r
@@ -784,7 +784,7 @@ INL_AdjustCursor(CursorInfo *info,word buttons,int dx,int dy)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_ReadCursor(CursorInfo *info)//!\r
+IN_ReadCursor(CursorInfo *info, global_game_variables_t *gvar)//!\r
 {\r
        word    i,\r
                        buttons;\r
@@ -793,7 +793,7 @@ IN_ReadCursor(CursorInfo *info)//!
        info->x = info->y = 0;\r
        info->button0 = info->button1 = false;\r
 \r
-       if (inpu.MousePresent)\r
+       if (gvar->in.MousePresent)\r
        {\r
                buttons = INL_GetMouseButtons();\r
                INL_GetMouseDelta(&dx,&dy);\r
@@ -802,11 +802,11 @@ IN_ReadCursor(CursorInfo *info)//!
 \r
        for (i = 0;i < MaxJoys;i++)\r
        {\r
-               if (!inpu.JoysPresent[i])\r
+               if (!gvar->in.JoysPresent[i])\r
                        continue;\r
 \r
                buttons = INL_GetJoyButtons(i);\r
-               INL_GetJoyDelta(i,&dx,&dy/*,true*/);\r
+               INL_GetJoyDelta(i,&dx,&dy/*,true*/, gvar);\r
                dx /= 64;\r
                dy /= 64;\r
                INL_AdjustCursor(info,buttons,dx,dy);\r
@@ -824,7 +824,7 @@ IN_ReadCursor(CursorInfo *info)//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 void\r
-IN_ReadControl(player_t *player)//!\r
+IN_ReadControl(player_t *player, global_game_variables_t *gvar)//!\r
 {\r
                        boolean         realdelta;\r
 #if DEMO0\r
@@ -868,7 +868,7 @@ register    KeyboardDef     *def;
                {\r
                case ctrl_Keyboard1:\r
                case ctrl_Keyboard2:\r
-                       def = &(inpu.KbdDefs[type - ctrl_Keyboard]);\r
+                       def = &(gvar->in.KbdDefs[type - ctrl_Keyboard]);\r
 \r
 /*                     if (Keyboard[def->upleft])\r
                                mx = motion_Left,my = motion_Up;\r
@@ -881,47 +881,47 @@ 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(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){\r
-                               if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]))\r
+                       if(!gvar->in.Keyboard[def->left] && !gvar->in.Keyboard[def->right]){\r
+                               if((gvar->in.Keyboard[def->up] && !gvar->in.Keyboard[def->down]))\r
                                        my = motion_Up;\r
-                               if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up]))\r
+                               if((gvar->in.Keyboard[def->down] && !gvar->in.Keyboard[def->up]))\r
                                        my = motion_Down;\r
-                       }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){\r
-                               if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]))\r
+                       }else if(!gvar->in.Keyboard[def->up] && !gvar->in.Keyboard[def->down]){\r
+                               if((gvar->in.Keyboard[def->left] && !gvar->in.Keyboard[def->right]))\r
                                        mx = motion_Left;\r
-                               if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left]))\r
+                               if((gvar->in.Keyboard[def->right] && !gvar->in.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((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
+                                                       if((gvar->in.Keyboard[def->left] && !gvar->in.Keyboard[def->right])){ dir = DirTable[1]; }//mx = motion_Left; }\r
+                                                       else if((gvar->in.Keyboard[def->right] && !gvar->in.Keyboard[def->left])){ dir = DirTable[3]; }//mx = motion_Right; }\r
                                                break;\r
                                                case 1:\r
                                                case 3:\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
+                                                       if((gvar->in.Keyboard[def->up] && !gvar->in.Keyboard[def->down])){ dir = DirTable[0]; }//my = motion_Up; }\r
+                                                       else if((gvar->in.Keyboard[def->down] && !gvar->in.Keyboard[def->up])){ dir = DirTable[4]; }//my = motion_Down; }\r
                                                break;\r
                                                default:\r
                                                break;\r
                                        }\r
-#ifdef __DEBUG_InputMgr__\r
+#ifdef __DEBUG_InputMgr2__\r
                                        //if(dbg_testcontrolnoisy > 0){ printf("dir=%c ", dirchar(dir)); printf("pdir=%c        ", dirchar(player->pdir)); }\r
 #endif\r
                                }\r
                        }\r
                        //input from player\r
-                       if (inpu.Keyboard[def->button0])\r
+                       if (gvar->in.Keyboard[def->button0])\r
                                buttons += 1 << 0;\r
-                       if (inpu.Keyboard[def->button1])\r
+                       if (gvar->in.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*/);\r
+                       INL_GetJoyDelta(type - ctrl_Joystick,&dx,&dy/*,false*/, gvar);\r
                        buttons = INL_GetJoyButtons(type - ctrl_Joystick);\r
                        realdelta = true;\r
                        break;\r
@@ -990,16 +990,16 @@ register  KeyboardDef     *def;
                }\r
        }\r
 #endif\r
-#ifdef __DEBUG_InputMgr__\r
+#ifdef __DEBUG_InputMgr2__\r
 if(dbg_testcontrolnoisy > 0)\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
+if(player->info.dir!=2/*(gvar->in.Keyboard[def->up] || gvar->in.Keyboard[def->down] || gvar->in.Keyboard[def->left] || gvar->in.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), inpu.Keyboard[def->up], dirchar(4), inpu.Keyboard[def->down], dirchar(1), inpu.Keyboard[def->left], dirchar(3), inpu.Keyboard[def->right]);\r
+       //else if(!realdelta) printf("%c%d %c%d %c%d %c%d", dirchar(0), gvar->in.Keyboard[def->up], dirchar(4), gvar->in.Keyboard[def->down], dirchar(1), gvar->in.Keyboard[def->left], dirchar(3), gvar->in.Keyboard[def->right]);\r
        printf("\n");\r
 }\r
 #endif\r
@@ -1108,13 +1108,13 @@ IN_GetScanName(ScanCode scan)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 ScanCode\r
-IN_WaitForKey(void)//!\r
+IN_WaitForKey(global_game_variables_t *gvar)//!\r
 {\r
        ScanCode        result;\r
 \r
-       while (!(result = inpu.LastScan))\r
+       while (!(result = gvar->in.LastScan))\r
                ;\r
-       inpu.LastScan = 0;\r
+       gvar->in.LastScan = 0;\r
        return(result);\r
 }\r
 \r
@@ -1125,13 +1125,13 @@ IN_WaitForKey(void)//!
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 char\r
-IN_WaitForASCII(void)//!\r
+IN_WaitForASCII(global_game_variables_t *gvar)//!\r
 {\r
        char            result;\r
 \r
-       while (!(result = inpu.LastASCII))\r
+       while (!(result = gvar->in.LastASCII))\r
                ;\r
-       inpu.LastASCII = '\0';\r
+       gvar->in.LastASCII = '\0';\r
        return(result);\r
 }\r
 \r
@@ -1144,19 +1144,19 @@ IN_WaitForASCII(void)//!
 \r
 boolean        btnstate[8];\r
 \r
-void IN_StartAck(void)//!\r
+void IN_StartAck(global_game_variables_t *gvar)//!\r
 {\r
        unsigned        i,buttons;\r
 \r
 //\r
 // get initial state of everything\r
 //\r
-       IN_ClearKeysDown();\r
+       IN_ClearKeysDown(gvar);\r
        memset (btnstate,0,sizeof(btnstate));\r
 \r
        buttons = IN_JoyButtons () << 4;\r
-       if (inpu.MousePresent)\r
-               buttons |= IN_MouseButtons ();\r
+       if (gvar->in.MousePresent)\r
+               buttons |= IN_MouseButtons (gvar);\r
 \r
        for (i=0;i<8;i++,buttons>>=1)\r
                if (buttons&1)\r
@@ -1164,19 +1164,19 @@ void IN_StartAck(void)//!
 }\r
 \r
 \r
-boolean IN_CheckAck (void)//!\r
+boolean IN_CheckAck (global_game_variables_t *gvar)//!\r
 {\r
        unsigned        i,buttons;\r
 \r
 //\r
 // see if something has been pressed\r
 //\r
-       if (inpu.LastScan)\r
+       if (gvar->in.LastScan)\r
                return true;\r
 \r
        buttons = IN_JoyButtons () << 4;\r
-       if (inpu.MousePresent)\r
-               buttons |= IN_MouseButtons ();\r
+       if (gvar->in.MousePresent)\r
+               buttons |= IN_MouseButtons (gvar);\r
 \r
        for (i=0;i<8;i++,buttons>>=1)\r
                if ( buttons&1 )\r
@@ -1191,11 +1191,11 @@ boolean IN_CheckAck (void)//!
 }\r
 \r
 \r
-void IN_Ack (void)\r
+void IN_Ack (global_game_variables_t *gvar)\r
 {\r
-       IN_StartAck ();\r
+       IN_StartAck (gvar);\r
 \r
-       while (!IN_CheckAck ())\r
+       while (!IN_CheckAck (gvar))\r
        ;\r
 }\r
 \r
@@ -1206,19 +1206,19 @@ void IN_Ack (void)
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
 boolean\r
-IN_IsUserInput()//!\r
+IN_IsUserInput(global_game_variables_t *gvar)//!\r
 {\r
        boolean result;\r
        word    i;\r
 \r
-       result = inpu.LastScan;\r
+       result = gvar->in.LastScan;\r
 \r
-       if (inpu.MousePresent)\r
+       if (gvar->in.MousePresent)\r
                if (INL_GetMouseButtons())\r
                        result = true;\r
 \r
        for (i = 0;i < MaxJoys;i++)\r
-               if (inpu.JoysPresent[i])\r
+               if (gvar->in.JoysPresent[i])\r
                        if (INL_GetJoyButtons(i))\r
                                result = true;\r
 \r
@@ -1233,16 +1233,16 @@ IN_IsUserInput()//!
 //             button up.\r
 //\r
 ///////////////////////////////////////////////////////////////////////////\r
-boolean IN_UserInput(word delay)\r
+boolean IN_UserInput(word delay, global_game_variables_t *gvar)\r
 {\r
        word TimeCount = *clockw;\r
        word    lasttime;\r
 \r
        lasttime = TimeCount;\r
-       IN_StartAck ();\r
+       IN_StartAck (gvar);\r
        do\r
        {\r
-               if (IN_CheckAck())\r
+               if (IN_CheckAck(gvar))\r
                        return true;\r
        } while (TimeCount - lasttime < delay);\r
        return(false);\r
@@ -1258,10 +1258,10 @@ boolean IN_UserInput(word delay)
 ===================\r
 */\r
 \r
-byte   IN_MouseButtons (void)//!\r
+byte   IN_MouseButtons (global_game_variables_t *gvar)//!\r
 {\r
        union REGS CPURegs;\r
-       if (inpu.MousePresent)\r
+       if (gvar->in.MousePresent)\r
        {\r
                Mouse(MButtons);\r
                return CPURegs.x.bx;\r
@@ -1290,13 +1290,15 @@ byte    IN_JoyButtons (void)
        return joybits;\r
 }\r
 \r
-boolean IN_KeyDown(byte code)//!\r
+boolean IN_KeyDown(byte code, global_game_variables_t *gvar)//!\r
 {\r
-#ifdef __DEBUG_InputMgr__\r
+#ifdef __DEBUG_InputMgr2__\r
+       if(gvar->in.Keyboard[code])\r
+               printf("IN_KeyDown(%c): %u\n", code, gvar->in.Keyboard[code]);\r
        if(!dbg_nointest)\r
 #endif\r
-       return inpu.Keyboard[code];\r
-#ifdef __DEBUG_InputMgr__\r
+       return gvar->in.Keyboard[code];\r
+#ifdef __DEBUG_InputMgr2__\r
        else\r
                if(dbg_nointest && kbhit())\r
                        return 1;\r
@@ -1305,30 +1307,30 @@ boolean IN_KeyDown(byte code)//!
 #endif\r
 }\r
 \r
-void IN_ClearKey(byte code)//!\r
+void IN_ClearKey(byte code, global_game_variables_t *gvar)//!\r
 {\r
-       inpu.Keyboard[code] = false;\r
-       if(code == inpu.LastScan)\r
-               inpu.LastScan = sc_None;\r
+       gvar->in.Keyboard[code] = false;\r
+       if(code == gvar->in.LastScan)\r
+               gvar->in.LastScan = sc_None;\r
        }\r
 \r
-boolean IN_qb(byte kee)//!\r
+boolean IN_qb(byte kee, global_game_variables_t *gvar)//!\r
 {\r
-#ifdef __DEBUG_InputMgr__\r
-       if(dbg_testkeyin) printf("%u\n", inpu.Keyboard[kee]);\r
+#ifdef __DEBUG_InputMgr2__\r
+       if(dbg_testkeyin) if(gvar->in.Keyboard[kee]) printf("IN_qb():   %u\n", gvar->in.Keyboard[kee]);\r
 #endif\r
-       if(inpu.Keyboard[kee]==true) return 1;\r
+       if(gvar->in.Keyboard[kee]==true) return 1;\r
        else return 0;\r
 }\r
 \r
-ScanCode IN_GetLastScan()//!\r
+ScanCode IN_GetLastScan(global_game_variables_t *gvar)//!\r
 {\r
-       return inpu.LastScan;\r
+       return gvar->in.LastScan;\r
 }\r
 \r
-ScanCode IN_GetCurCode()//!\r
+ScanCode IN_GetCurCode(global_game_variables_t *gvar)//!\r
 {\r
-       return inst.CurCode;\r
+       return gvar->in.CurCode;\r
 }\r
 \r
 void IN_KbdLED()\r
index c6115bf0bda373877a7a1fcea862c681b45df600..483574c68c1ea22f9dddc1267bac9236d5110b6c 100755 (executable)
@@ -38,7 +38,7 @@
 #include "src/lib/16_spri.h"\r
 #include "src/lib/16_enti.h"\r
 #endif*/\r
-\r
+#define        __DEBUG_InputMgr2__\r
 #define        KeyInt  9       // The keyboard ISR number\r
 \r
 // Stuff for the joystick\r
@@ -216,31 +216,31 @@ typedef   struct          {
 extern void            IN_Startup(global_game_variables_t *gvar),IN_Shutdown(global_game_variables_t *gvar),\r
                                        IN_Default(boolean gotit,player_t *player,ControlType nt, global_game_variables_t *gvar),\r
                                        IN_SetKeyHook(void (*)()),\r
-                                       IN_ClearKeysDown(void),\r
-                                       IN_ReadCursor(CursorInfo *),\r
+                                       IN_ClearKeysDown(global_game_variables_t *gvar),\r
+                                       IN_ReadCursor(CursorInfo *, global_game_variables_t *gvar),\r
                                        IN_ReadControl(player_t *player, global_game_variables_t *gvar),\r
                                        IN_SetControlType(player_t *player,ControlType type),\r
                                        IN_GetJoyAbs(word joy,word *xp,word *yp),\r
                                        IN_SetupJoy(word joy,word minx,word maxx,\r
-                                                               word miny,word maxy),\r
+                                                               word miny,word maxy, global_game_variables_t *gvar),\r
 #if DEMO0\r
                                        IN_StopDemo(void),IN_FreeDemoBuffer(void),\r
 #endif\r
-                                       IN_Ack(void),IN_AckBack(void);\r
-extern boolean         IN_UserInput(word delay);\r
-extern char            IN_WaitForASCII(void);\r
-extern ScanCode        IN_WaitForKey(void);\r
+                                       IN_Ack(global_game_variables_t *gvar),IN_AckBack(void);\r
+extern boolean         IN_UserInput(word delay, global_game_variables_t *gvar);\r
+extern char            IN_WaitForASCII(global_game_variables_t *gvar);\r
+extern ScanCode        IN_WaitForKey(global_game_variables_t *gvar);\r
 extern word            IN_GetJoyButtonsDB(word joy);\r
 extern byte            *IN_GetScanName(ScanCode);\r
 \r
 \r
-byte   IN_MouseButtons (void);\r
+byte   IN_MouseButtons (global_game_variables_t *gvar);\r
 byte   IN_JoyButtons (void);\r
 \r
-void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/);\r
-void IN_StartAck(void);\r
-boolean IN_CheckAck (void);\r
-boolean IN_IsUserInput();\r
+void INL_GetJoyDelta(word joy,int *dx,int *dy/*,boolean adaptive*/, global_game_variables_t *gvar);\r
+void IN_StartAck(global_game_variables_t *gvar);\r
+boolean IN_CheckAck (global_game_variables_t *gvar);\r
+boolean IN_IsUserInput(global_game_variables_t *gvar);\r
 #define Mouse(x)         INL_Mouse(x)\r
 //void IN_SetKeyHook(void (*hook)());\r
 #if DEMO0\r
@@ -252,7 +252,7 @@ void IN_FreeDemoBuffer(void);
 \r
 boolean        IN_KeyDown(byte code, global_game_variables_t *gvar),\r
                IN_qb(byte kee, global_game_variables_t *gvar);\r
-void           IN_ClearKey(byte code),\r
+void           IN_ClearKey(byte code, global_game_variables_t *gvar),\r
                IN_KbdLED();\r
 ScanCode       IN_GetLastScan(),\r
                IN_GetCurCode();\r
diff --git a/src/util/shbat/winnbuil.sh b/src/util/shbat/winnbuil.sh
new file mode 100755 (executable)
index 0000000..e665230
--- /dev/null
@@ -0,0 +1,2 @@
+wmake -h clean
+wmake -h inntest.exe