wok annotate oldrunner/stuff/remap.u @ rev 25454
oldrunner: add apple2 keys mapping
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Sep 22 07:58:57 2022 +0000 (20 months ago) |
parents | |
children | 002a704d9c02 |
rev | line source |
---|---|
pascal@25454 | 1 --- oldrunner.c 2010-07-17 17:30:32.000000000 +0000 |
pascal@25454 | 2 +++ oldrunner.c 2022-09-22 07:31:51.585297479 +0000 |
pascal@25454 | 3 @@ -36,6 +36,8 @@ |
pascal@25454 | 4 |
pascal@25454 | 5 #include "oldrunner.h" |
pascal@25454 | 6 |
pascal@25454 | 7 +int remap_apple = 0; |
pascal@25454 | 8 + |
pascal@25454 | 9 /* |
pascal@25454 | 10 * Oldrunner is a remake of the Loadrunner game from Broderbund, and one of the |
pascal@25454 | 11 * first computer games my father offered me. I wrote this in memory of him. |
pascal@25454 | 12 @@ -50,7 +52,7 @@ |
pascal@25454 | 13 int ch, startlvl; |
pascal@25454 | 14 |
pascal@25454 | 15 startlvl = 0; |
pascal@25454 | 16 - while ((ch = getopt (argc, argv, "l:v")) != -1) |
pascal@25454 | 17 + while ((ch = getopt (argc, argv, "l:av")) != -1) |
pascal@25454 | 18 { |
pascal@25454 | 19 switch (ch) |
pascal@25454 | 20 { |
pascal@25454 | 21 @@ -62,6 +64,9 @@ |
pascal@25454 | 22 return 1; |
pascal@25454 | 23 } |
pascal@25454 | 24 break; |
pascal@25454 | 25 + case 'a': |
pascal@25454 | 26 + remap_apple++; |
pascal@25454 | 27 + break; |
pascal@25454 | 28 case 'v': |
pascal@25454 | 29 fputs ("oldrunner-" VERSION "\n", stdout); |
pascal@25454 | 30 return 0; |
pascal@25454 | 31 @@ -74,7 +79,7 @@ |
pascal@25454 | 32 if (argc >= 1) |
pascal@25454 | 33 { |
pascal@25454 | 34 err: |
pascal@25454 | 35 - fputs ("usage: oldrunner [-v] [-l<num>]\n", stderr); |
pascal@25454 | 36 + fputs ("usage: oldrunner [-v] [-a] [-l<num>]\n", stderr); |
pascal@25454 | 37 return 0; |
pascal@25454 | 38 } |
pascal@25454 | 39 |
pascal@25454 | 40 --- usr.c 2010-07-17 17:30:32.000000000 +0000 |
pascal@25454 | 41 +++ usr.c 2022-09-22 07:28:52.590988791 +0000 |
pascal@25454 | 42 @@ -43,6 +43,31 @@ |
pascal@25454 | 43 rec_input.key = ORKEY_NONE; |
pascal@25454 | 44 } |
pascal@25454 | 45 |
pascal@25454 | 46 +static int |
pascal@25454 | 47 +remap (int key) |
pascal@25454 | 48 +{ |
pascal@25454 | 49 + extern int remap_apple; |
pascal@25454 | 50 + if (remap_apple) |
pascal@25454 | 51 + { |
pascal@25454 | 52 + switch (key | 0x20) |
pascal@25454 | 53 + { |
pascal@25454 | 54 + case 'u': |
pascal@25454 | 55 + return ORKEY_DIG_LEFT; |
pascal@25454 | 56 + case 'i': |
pascal@25454 | 57 + return ORKEY_MOVE_UP; |
pascal@25454 | 58 + case 'o': |
pascal@25454 | 59 + return ORKEY_DIG_RIGHT; |
pascal@25454 | 60 + case 'j': |
pascal@25454 | 61 + return ORKEY_MOVE_LEFT; |
pascal@25454 | 62 + case 'k': |
pascal@25454 | 63 + return ORKEY_MOVE_DOWN; |
pascal@25454 | 64 + case 'l': |
pascal@25454 | 65 + return ORKEY_MOVE_RIGHT; |
pascal@25454 | 66 + } |
pascal@25454 | 67 + } |
pascal@25454 | 68 + return key; |
pascal@25454 | 69 +} |
pascal@25454 | 70 + |
pascal@25454 | 71 void |
pascal@25454 | 72 usr_input (void) |
pascal@25454 | 73 { |
pascal@25454 | 74 @@ -63,7 +88,7 @@ |
pascal@25454 | 75 continue; |
pascal@25454 | 76 } |
pascal@25454 | 77 |
pascal@25454 | 78 - switch (rec_input.key) |
pascal@25454 | 79 + switch (remap(rec_input.key)) |
pascal@25454 | 80 { |
pascal@25454 | 81 case ORKEY_EXIT: |
pascal@25454 | 82 return; |