diff --git a/src/wings.c b/src/wings.c index 340cad8..11c1ab4 100644 --- a/src/wings.c +++ b/src/wings.c @@ -102,8 +102,7 @@ int menu() void *update_frame() { static unsigned char i,j; - static char decalx = -1; - static char decaly = 0; + static char decalx, decaly; dclear(); @@ -114,12 +113,9 @@ void *update_frame() switch(planes[0].dir) { - case 0 : decalx = -1; break; - case 1 : decalx = -1; decaly = 1; break; + case 0 : case 1 : decalx = -1; decaly = planes[0].dir ;break; case 2 : decaly = 1; break; - case 3 : decalx = 1; decaly = 1; break; - case 4 : decalx = 1; break; - case 5 : decalx = 1; decaly = -1; break; + case 3 : case 4 : case 5 : decalx = 1; decaly = 4 - planes[0].dir; break; case 6 : decaly = -1; break; case 7 : decalx = -1; decaly = -1; break; } @@ -131,7 +127,7 @@ void *update_frame() planes[i].x += decalx; planes[i].y += decaly; } - + dimage_part(planes[i].x, planes[i].y, &plane, 16*planes[i].dir, 0, 16, 16); } @@ -162,6 +158,7 @@ int game() unsigned char fire = 0; // fire disable unsigned char sum = 0; + int keys[MAX_KEYS]; unsigned char i; @@ -193,6 +190,8 @@ int game() break; } + case + case KEY_SHIFT : { if(planes[0].reload > 0)