diff options
| author | Ian C <ianc@noddybox.co.uk> | 2006-10-10 23:00:37 +0000 | 
|---|---|---|
| committer | Ian C <ianc@noddybox.co.uk> | 2006-10-10 23:00:37 +0000 | 
| commit | 5a05c0b7b950e6a76c5ebb9b5f52fa24115013c8 (patch) | |
| tree | f0677b57f1f22730318d9fe572d98d2badd6c1a0 /source | |
| parent | 8b56e05609ccc77f0c0b98b63d8b5640a3b55392 (diff) | |
Now allows multiple pad keys to be mapped to the same key -- improves City Patrol no end!
Diffstat (limited to 'source')
| -rw-r--r-- | source/keyboard.c | 14 | ||||
| -rw-r--r-- | source/tapes.c | 18 | 
2 files changed, 22 insertions, 10 deletions
| diff --git a/source/keyboard.c b/source/keyboard.c index 786b32d..c58aaae 100644 --- a/source/keyboard.c +++ b/source/keyboard.c @@ -51,14 +51,24 @@ static SoftKey	pad_L_key	= NUM_SOFT_KEYS;  static SoftKey	pad_start_key	= NUM_SOFT_KEYS;  static SoftKey	pad_select_key	= NUM_SOFT_KEYS; +#define CLEAR_STATE(SHORTCUT)					\ +	do							\ +	{							\ +	    if (SHORTCUT != NUM_SOFT_KEYS &&			\ +		!key_state[SHORTCUT].handled)			\ +	    {							\ +		key_state[SHORTCUT].new_state = FALSE;		\ +	    }							\ +	} while(0) +  #define CHECK_STATE(KEYS,BIT,CODE,SHORTCUT)			\  	do							\  	{							\  	    key_state[CODE].new_state = (KEYS & BIT);		\  	    if (SHORTCUT != NUM_SOFT_KEYS &&			\ -		!key_state[SHORTCUT].handled)			\ +		!key_state[SHORTCUT].handled && (KEYS & BIT))	\  	    {							\ -		key_state[SHORTCUT].new_state = (KEYS & BIT);	\ +		key_state[SHORTCUT].new_state = TRUE;		\  	    }							\  	} while(0) diff --git a/source/tapes.c b/source/tapes.c index ce4082c..c5915ac 100644 --- a/source/tapes.c +++ b/source/tapes.c @@ -62,9 +62,11 @@ static SoftKey	maze_keys[]=  static SoftKey	cpatrol_keys[]=  		    {  		    	SK_PAD_UP,	SK_F, -		    	SK_PAD_R,	SK_J, -		    	SK_PAD_L,	SK_N, +		    	SK_PAD_RIGHT,	SK_J, +		    	SK_PAD_LEFT,	SK_N,  			SK_PAD_DOWN,	SK_V, +		    	SK_PAD_R,	SK_N, +		    	SK_PAD_L,	SK_J,  			SK_PAD_A,	SK_0,  			NUM_SOFT_KEYS  		    }; @@ -114,12 +116,12 @@ static Tape	tapes[NO_TAPES]=  			"yes - that parallax city was\n"  			"done with a text mode and the\n"  			"equivalent of a 0.8mhz z80\n\n" -			"the joypad controls up and down.\n" -			"the %L% and %R% shoulder buttons\n" -			"move left and right.\n" -			"when moving left or right use\n" -			"the other shoulder button\n" -			"to move fast.  %A% fires.\n" +			"the joypad controls the cursor.\n" +			"hold %L% or %R% shoulder buttons\n" +			"to move fast when moving in the\n" +			"same direction.\n" +			"%A% fires.\n" +			"as does just about everything.\n"  		    },  		    {  		    	sabotage_bin, | 
