]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_in.c
PEE!!!
[16.git] / src / lib / 16_in.c
index 558ef7f3cac8b88ba592cd01daaf5dbd977e496e..fd812ff091a1551b1b4cc2187f50cc2828ae3b55 100644 (file)
@@ -805,7 +805,8 @@ IN_ReadControl(int playnum,player_t *player)
                        word            buttons;\r
                        int                     dx,dy;\r
                        Motion          mx,my;\r
-                       ControlType     type;\r
+                       ControlType     type;
+                       sword conpee;\r
 register       KeyboardDef     *def;\r
 \r
        dx = dy = 0;\r
@@ -849,19 +850,18 @@ register  KeyboardDef     *def;
                        else if (Keyboard[def->downright])\r
                                mx = motion_Right,my = motion_Down;*/\r
 \r
-                       //if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){
-                       \r
-                       if((inpu.Keyboard[def->up] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 0)\r
+                       if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){
+                       if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down] && player[playnum].info.dir == 2) || player[playnum].info.dir == 0)\r
                                my = motion_Up;\r
-                       else if((inpu.Keyboard[def->down] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 4)\r
+                       if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up] && player[playnum].info.dir == 2) || player[playnum].info.dir == 4)\r
                                my = motion_Down;\r
 \r
-                       //}else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){\r
-                       if((inpu.Keyboard[def->left] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 1)\r
+                       }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){\r
+                       if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right] && player[playnum].info.dir == 2) || player[playnum].info.dir == 1)\r
                                mx = motion_Left;\r
-                       else if((inpu.Keyboard[def->right] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 3)\r
+                       if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left] && player[playnum].info.dir == 2) || player[playnum].info.dir == 3)\r
                                mx = motion_Right;\r
-                       //}\r
+                       }\r
                        if (inpu.Keyboard[def->button0])\r
                                buttons += 1 << 0;\r
                        if (inpu.Keyboard[def->button1])\r
@@ -908,7 +908,9 @@ register    KeyboardDef     *def;
        player[playnum].info.button2 = buttons & (1 << 2);\r
        player[playnum].info.button3 = buttons & (1 << 3);\r
 //     player[playnum].info.dir = DirTable[((my + 1) * 3) + (mx + 1)];
-       player[playnum].info.dir = DirTable[(((my + 1) * 2) + (mx + 1))-1];\r
+       conpee=(((my + 1) * 2) + (mx + 1));
+       if(conpee) conpee--;
+       player[playnum].info.dir = DirTable[conpee];\r
 \r
 #if DEMO0\r
        if (DemoMode == demo_Record)\r
@@ -1205,8 +1207,10 @@ void IN_ClearKey(byte code)
        }\r
 \r
 boolean IN_qb(byte kee)\r
-{\r
-       printf("%u\n", inpu.Keyboard[kee]);\r
+{
+       #ifdef TESTKEYIN\r
+       printf("%u\n", inpu.Keyboard[kee]);
+       #endif\r
        if(inpu.Keyboard[kee]==true) return 1;\r
        else return 0;\r
 }\r