X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_in.c;h=f07a694f4ea7bd03f85923ed492731913c46a59f;hb=05b59a2be57557408dada7c2134c406c073e424c;hp=fd812ff091a1551b1b4cc2187f50cc2828ae3b55;hpb=84fa53074a01907f4d3908255df5886d8361cd24;p=16.git diff --git a/src/lib/16_in.c b/src/lib/16_in.c old mode 100644 new mode 100755 index fd812ff0..f07a694f --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -799,7 +799,7 @@ IN_ReadCursor(CursorInfo *info) /////////////////////////////////////////////////////////////////////////// void IN_ReadControl(int playnum,player_t *player) -{ +{ boolean realdelta; byte dbyte; word buttons; @@ -811,7 +811,7 @@ register KeyboardDef *def; dx = dy = 0; mx = my = motion_None; - buttons = 0; + buttons = 0; #if DEMO0 if (DemoMode == demo_Playback) @@ -849,18 +849,16 @@ register KeyboardDef *def; mx = motion_Left,my = motion_Down; 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] && !inpu.Keyboard[def->down] && player[playnum].info.dir == 2) || player[playnum].info.dir == 0) - my = motion_Up; - if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up] && player[playnum].info.dir == 2) || player[playnum].info.dir == 4) - my = motion_Down; - + if((inpu.Keyboard[def->up] && !inpu.Keyboard[def->down] && player[playnum].d == 2))// || player[playnum].info.dir == 0) + my = motion_Up; + if((inpu.Keyboard[def->down] && !inpu.Keyboard[def->up] && player[playnum].d == 2))// || player[playnum].info.dir == 4) + my = motion_Down; }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; - 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->left] && !inpu.Keyboard[def->right] && player[playnum].d == 2))// || player[playnum].info.dir == 1) + mx = motion_Left; + if((inpu.Keyboard[def->right] && !inpu.Keyboard[def->left] && player[playnum].d == 2))// || player[playnum].info.dir == 3) + mx = motion_Right; } if (inpu.Keyboard[def->button0]) buttons += 1 << 0; @@ -895,10 +893,10 @@ register KeyboardDef *def; } else { - dx = mx * 127; - dy = my * 127; + dx = mx;// * 127; + dy = my;// * 127; } - + player[playnum].info.x = dx; player[playnum].info.xaxis = mx; player[playnum].info.y = dy; @@ -910,7 +908,11 @@ register KeyboardDef *def; // player[playnum].info.dir = DirTable[((my + 1) * 3) + (mx + 1)]; conpee=(((my + 1) * 2) + (mx + 1)); if(conpee) conpee--; - player[playnum].info.dir = DirTable[conpee]; + player[playnum].info.dir = DirTable[conpee]; + if(player[playnum].q==1 && (mx!=motion_None || my!=motion_None)) + { + player[playnum].d = player[playnum].info.dir; + } #if DEMO0 if (DemoMode == demo_Record)