|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
/* $Id: keyb.c,v 1.4 2004/05/20 16:55:30 stpohle Exp $
|
|
|
|
|
/* $Id: keyb.c,v 1.5 2004/09/13 22:15:57 stpohle Exp $
|
|
|
|
|
* keyb.c
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
@ -43,22 +43,31 @@ const struct _key_codes key_codetab [] = {
|
|
|
|
|
* set the default keyboard settings
|
|
|
|
|
*/
|
|
|
|
|
void keyb_config_reset () {
|
|
|
|
|
/* player 1 */
|
|
|
|
|
|
|
|
|
|
/* One Player on One Screen - player one */
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_up] = SDLK_UP;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_down] = SDLK_DOWN;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_left] = SDLK_LEFT;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_right] = SDLK_RIGHT;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_drop] = SDLK_RCTRL;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_special] = SDLK_RSHIFT;
|
|
|
|
|
|
|
|
|
|
/* player 2 */
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_up] = 'W';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_down] = 'S';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_left] = 'A';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_right] = 'D';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_drop] = SDLK_LCTRL;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_special] = SDLK_LSHIFT;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_drop] = SDLK_LCTRL;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_special] = SDLK_LSHIFT;
|
|
|
|
|
|
|
|
|
|
/* Two Players on One Screen - player one */
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_up] = SDLK_UP;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_down] = SDLK_DOWN;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_left] = SDLK_LEFT;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_right] = SDLK_RIGHT;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_drop] = SDLK_RCTRL;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_special] = SDLK_RSHIFT;
|
|
|
|
|
|
|
|
|
|
/* Two Player on One Screen - player two */
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_up] = 'W';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_down] = 'S';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_left] = 'A';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_right] = 'D';
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_drop] = SDLK_LCTRL;
|
|
|
|
|
keyb_gamekeys.keycode[BCPK_max + BCPK_max + BCPK_special] = SDLK_LSHIFT;
|
|
|
|
|
|
|
|
|
|
/* game keys */
|
|
|
|
|
keyb_gamekeys.keycode[BCK_help] = SDLK_F1;
|
|
|
|
|
keyb_gamekeys.keycode[BCK_playermenu] = SDLK_F2;
|
|
|
|
@ -111,9 +120,7 @@ void keyb_config_createkeymenu (_menu *menu, int key, int x, int y, int menu_nr)
|
|
|
|
|
char keyname [32];
|
|
|
|
|
char keytext [50];
|
|
|
|
|
|
|
|
|
|
if (key >= BCPK_max && key < BCPK_max * 2)
|
|
|
|
|
key_id = key - BCPK_max;
|
|
|
|
|
else key_id = key;
|
|
|
|
|
for (key_id = key; key_id >= BCPK_max && key_id < BCPK_max * 3; key_id = key_id - BCPK_max);
|
|
|
|
|
|
|
|
|
|
switch (key_id) {
|
|
|
|
|
case (BCPK_up):
|
|
|
|
@ -156,7 +163,7 @@ void keyb_config_createkeymenu (_menu *menu, int key, int x, int y, int menu_nr)
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, keyname, x, y + 2, 0, COLOR_brown);
|
|
|
|
|
keyb_code2text (keyb_gamekeys.keycode[key], keytext);
|
|
|
|
|
menu_create_button (menu, keytext, x + 50, y, 100, menu_nr + key);
|
|
|
|
|
menu_create_button (menu, keytext, x + 70, y, 100, menu_nr + key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -227,21 +234,27 @@ void keyb_config () {
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
menu = menu_new ("Keyboard Config", 420, 400);
|
|
|
|
|
menu_create_label (menu, "Player 1", 10, 50, 2, COLOR_brown);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_up, 25, 90, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_down, 25, 120, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_left, 25, 150, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_right, 25, 180, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_drop, 25, 210, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_special, 25, 240, 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, "One Screen Keys", -1, 50, 1, COLOR_yellow);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_drop, 25, 75, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_special, 225, 75, 10);
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, "Player 1", 20, 105, 1, COLOR_yellow);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_up, 25, 130, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_down, 25, 160, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_left, 25, 190, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_right, 25, 220, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_drop, 25, 250, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_special, 25, 280, 10);
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, "Player 2", 200, 50, 2, COLOR_brown);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_up, 225, 90, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_down, 225, 120, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_left, 225, 150, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_right, 225, 180, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_drop, 225, 210, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_special, 225, 240, 10);
|
|
|
|
|
menu_create_label (menu, "Player 2", 210, 105, 1, COLOR_yellow);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_up, 225, 130, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_down, 225, 160, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_left, 225, 190, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_right, 225, 220, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_drop, 225, 250, 10);
|
|
|
|
|
keyb_config_createkeymenu (menu, BCPK_max + BCPK_max + BCPK_special, 225, 280, 10);
|
|
|
|
|
|
|
|
|
|
/*menu_create_label ("Other Keys", -1, 270, 2, COLOR_brown);
|
|
|
|
|
keyb_config_createkeymenu (BCK_help, 25, 300, 10);
|
|
|
|
@ -251,8 +264,8 @@ void keyb_config () {
|
|
|
|
|
keyb_config_createkeymenu (BCK_playermenu, 225, 330, 10);
|
|
|
|
|
keyb_config_createkeymenu (BCK_pause, 225, 360, 10); */
|
|
|
|
|
|
|
|
|
|
menu_create_button (menu, "Default", 50, 280, 150, 2);
|
|
|
|
|
menu_create_button (menu, "OK", 250, 280, 150, 1);
|
|
|
|
|
menu_create_button (menu, "Default", 50, 330, 150, 2);
|
|
|
|
|
menu_create_button (menu, "OK", 250, 330, 150, 1);
|
|
|
|
|
menu_focus_id (menu, menuselect);
|
|
|
|
|
menuselect = menu_loop (menu);
|
|
|
|
|
menu_delete (menu);
|
|
|
|
|