From 5cae3e118cd55278d286cac524d30e36f9df88a4 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Sat, 12 Mar 2016 23:17:26 -0600 Subject: [PATCH] pdir printf(%c%d %c%d %c%d %c%dn, dirchar(0), inpu.Keyboard[def->up], dirchar(4), inpu.Keyboard[def->down], dirchar(1), inpu.Keyboard[def->left], dirchar(3), inpu.Keyboard[def->right]); --- src/lib/16_head.c | 24 ++++++++++++++++++++++++ src/lib/16_head.h | 1 + src/lib/16_in.c | 13 +++++++------ src/lib/16_in.h | 3 ++- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/lib/16_head.c b/src/lib/16_head.c index 2d26ca3b..3b2d8a8a 100755 --- a/src/lib/16_head.c +++ b/src/lib/16_head.c @@ -157,3 +157,27 @@ US_CheckParm(char *parm,char **strings) exit(exit_code); }*/ + +byte dirchar(byte in) +{ + byte out; + switch(in) + { + case 0: //up + out = 0x1E; + break; + case 4: //down + out = 0x1F; + break; + case 1: //left + out = 0x11; + break; + case 3: //right + out = 0x10; + break; + default: //null + out = 0xB3; + break; + } + return out; +} diff --git a/src/lib/16_head.h b/src/lib/16_head.h index 5db7e3f4..d48f48f1 100755 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -178,5 +178,6 @@ void wait(clock_t wait); long int filesize(FILE *fp); void printmeminfoline(byte *strc, const byte *pee, size_t h_total, size_t h_used, size_t h_free); int US_CheckParm(char *parm,char **strings); +byte dirchar(byte in); #endif/*_LIBHEAD_H_*/ diff --git a/src/lib/16_in.c b/src/lib/16_in.c index f93fad39..7d4b32d9 100755 --- a/src/lib/16_in.c +++ b/src/lib/16_in.c @@ -919,7 +919,7 @@ register KeyboardDef *def; player[pn].info.dir = DirTable[conpee]; //TODO: overwriting direction must be added - if(DIRECTIONIFELSEGFXTEST) player[pn].pdir=DirTable[conpee]; + if(player[pn].d==2) player[pn].pdir=DirTable[conpee]; if(player[pn].q==1 && (mx!=motion_None || my!=motion_None)) { player[pn].d = player[pn].info.dir; @@ -952,13 +952,14 @@ register KeyboardDef *def; #endif //#ifdef TESTCONTROLNOISY if(testcontrolnoisy > 0) -//if((inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right]) && NDIRECTIONIFELSEGFXTEST) +if((inpu.Keyboard[def->up] || inpu.Keyboard[def->down] || inpu.Keyboard[def->left] || inpu.Keyboard[def->right]) || player[pn].q>1) { printf("q=%d ", player[pn].q); - printf("cpee=%d ", conpee); - printf("(mx)=%d ", mx); - printf("(my)=%d ", my); - printf("pdir=%d d=%d dir=%d\n", player[pn].pdir, player[pn].d, player[pn].info.dir); + printf("cpee=%c ", dirchar(conpee)); + //printf("(mx)=%d ", mx); + //printf("(my)=%d ", my); + printf("pdir=%c d=%c dir=%c", dirchar(player[pn].pdir), dirchar(player[pn].d), dirchar(player[pn].info.dir)); + printf("%c%d %c%d %c%d %c%d\n", dirchar(0), inpu.Keyboard[def->up], dirchar(4), inpu.Keyboard[def->down], dirchar(1), inpu.Keyboard[def->left], dirchar(3), inpu.Keyboard[def->right]); } //#endif } diff --git a/src/lib/16_in.h b/src/lib/16_in.h index 9f900aa5..760b5bb2 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -46,8 +46,9 @@ extern byte testkeyin,testcontrolnoisy; //if else for gfxtesting and direction //player[pn].d == 2 || +//player[pn].d != 2 || #define DIRECTIONIFELSEGFXTEST (player[pn].info.dir == 2) -//#define NDIRECTIONIFELSEGFXTEST (player[pn].d != 2 || player[pn].info.dir != 2) +#define NDIRECTIONIFELSEGFXTEST (player[pn].info.dir != 2) #define KeyInt 9 // The keyboard ISR number -- 2.39.2