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;