- if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){\r
-// if(testcontrolnoisy > 0){ printf("ud "); printf("%u ", inpu.Keyboard[def->up]); printf("%u ", inpu.Keyboard[def->down]);}\r
- if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]) || player[pn].pdir == 0)\r
- my = motion_Up;\r
- if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up]) || player[pn].pdir == 4)\r
- my = motion_Down;\r
- }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){\r
-// if(testcontrolnoisy > 0){ printf("lr "); printf("%u ", inpu.Keyboard[def->left]); printf("%u ", inpu.Keyboard[def->right]); }\r
- if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]) || player[pn].pdir == 1)\r
- mx = motion_Left;\r
- if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left]) || player[pn].pdir == 3)\r
- mx = motion_Right;\r
+//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
+ my = motion_Up;\r
+ if((inst.Keyboard[def->down] && !inst.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
+ mx = motion_Left;\r
+ if((inst.Keyboard[def->right] && !inst.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
+ 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
+ break;\r
+ default:\r
+ break;\r
+ }\r
+#ifdef __DEBUG_InputMgr__\r
+ //if(dbg_testcontrolnoisy > 0){ printf("dir=%c ", dirchar(dir)); printf("pdir=%c ", dirchar(player->pdir)); }\r
+#endif\r
+ }\r