X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_in.c;h=2878be77c71f4c15d9eb6c645f1b4c26a7432bef;hb=a423e762973f70f457b66845696d58aa597291ed;hp=b19702d088ccabb92f92e633b89ea6c3a3102f59;hpb=96a1197c2071ccb64faa19b149a22b86ce3b3d5e;p=16.git diff --git a/src/lib/16_in.c b/src/lib/16_in.c index b19702d0..2878be77 100644 --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -149,12 +149,15 @@ static byte far ASCIINames[] = // Unshifted ASCII for scan codes static Direction DirTable[] = // Quick lookup for total direction { - //dir_Nortinest, - dir_North, + //dir_Nortinest, + dir_North, + dir_West, + dir_None, + dir_East, + dir_South //dir_NorthEast, - dir_West, dir_None, dir_East, //dir_Soutinest, - dir_South//,dir_SouthEast + //,dir_SouthEast }; #ifdef __cplusplus } @@ -674,7 +677,7 @@ IN_Default(boolean gotit,player_t *player,ControlType nt) || ((nt == ctrl_Joypad2) && !inpu.JoyPadPresent[1]) ) nt = ctrl_Keyboard1; - inpu.KbdDefs[0].button0 = 0x1d; + inpu.KbdDefs[0].button0 = 0x1c; inpu.KbdDefs[0].button1 = 0x38; //in.KbdDefs[0].upleft = 0x47; inpu.KbdDefs[0].up = 0x48; @@ -846,18 +849,19 @@ register KeyboardDef *def; else if (Keyboard[def->downright]) mx = motion_Right,my = motion_Down;*/ - if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){ - if (inpu.Keyboard[def->up]) + //if(!inpu.Keyboard[def->left] && !inpu.Keyboard[def->right]){ + + if((inpu.Keyboard[def->up] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 0) my = motion_Up; - else if (inpu.Keyboard[def->down]) + else if((inpu.Keyboard[def->down] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 4) my = motion_Down; - }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){ - if (inpu.Keyboard[def->left]) + //}else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){ + if((inpu.Keyboard[def->left] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 1) mx = motion_Left; - else if (inpu.Keyboard[def->right]) + else if((inpu.Keyboard[def->right] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 3) mx = motion_Right; - } + //} if (inpu.Keyboard[def->button0]) buttons += 1 << 0; if (inpu.Keyboard[def->button1]) @@ -903,7 +907,8 @@ register KeyboardDef *def; player[playnum].info.button1 = buttons & (1 << 1); player[playnum].info.button2 = buttons & (1 << 2); player[playnum].info.button3 = buttons & (1 << 3); - player[playnum].info.dir = DirTable[((my + 1) * 3) + (mx + 1)]; +// player[playnum].info.dir = DirTable[((my + 1) * 3) + (mx + 1)]; + player[playnum].info.dir = DirTable[(((my + 1) * 2) + (mx + 1))-1]; #if DEMO0 if (DemoMode == demo_Record) @@ -930,8 +935,13 @@ register KeyboardDef *def; } } #endif -#ifdef TESTCONTROLNOISY -printf("dir=%d\n", player[playnum].info.dir); +#ifdef TESTCONTROLNOISY +if(inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right]) +{ + printf("(mx)=%d ", mx); + printf("(my)=%d ", my); + printf("dir=%d\n", player[playnum].info.dir); +} #endif }