X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_in.c;h=687ec6499eb111009bd25526645d399881b459a6;hb=d1ce94441d5e0bffafeb959c505bf3d3975a0a35;hp=2878be77c71f4c15d9eb6c645f1b4c26a7432bef;hpb=b653a5ce33432229e31e2e661a2283d7f277676c;p=16.git diff --git a/src/lib/16_in.c b/src/lib/16_in.c index 2878be77..687ec649 100644 --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -805,7 +805,8 @@ IN_ReadControl(int playnum,player_t *player) word buttons; int dx,dy; Motion mx,my; - ControlType type; + ControlType type; + sword conpee; register KeyboardDef *def; dx = dy = 0; @@ -849,19 +850,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->left] && !inpu.Keyboard[def->right]){ - if((inpu.Keyboard[def->up] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 0) + if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 0) my = motion_Up; - else if((inpu.Keyboard[def->down] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 4) + if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up] && 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] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 1) + }else if(!inpu.Keyboard[def->up] && !inpu.Keyboard[def->down]){ + if((inpu.Keyboard[def->left] && !inpu.Keyboard[def->right] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 1) mx = motion_Left; - else if((inpu.Keyboard[def->right] && player[playnum].info.dir == 2))// || player[playnum].info.dir == 3) + if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left] && 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]) @@ -908,7 +909,9 @@ register KeyboardDef *def; 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) * 2) + (mx + 1))-1]; + conpee=(((my + 1) * 2) + (mx + 1)); + if(conpee) conpee--; + player[playnum].info.dir = DirTable[conpee]; #if DEMO0 if (DemoMode == demo_Record) @@ -936,7 +939,7 @@ register KeyboardDef *def; } #endif #ifdef TESTCONTROLNOISY -if(inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right]) +if((inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right])&& player[playnum].info.dir!=2) { printf("(mx)=%d ", mx); printf("(my)=%d ", my);