#include "keys.hpp" #include "lisp.hpp" #include #include "joy.hpp" #include "jwindow.hpp" #include "config.hpp" #include "game.hpp" extern window_manager *eh; int key_players=0; int morph_detail=MEDIUM_DETAIL; struct player_keys { int joy,left,right,up,down,b1,b2,b3,b4; } ; player_keys *key_map=NULL; int binding_for_player(int player) { char tmp[40]; sprintf(tmp,"player%d",player); Cell *f=find_symbol(tmp); if (!NILP(f) && DEFINEDP(symbol_value(f))) { void *what=symbol_value(f); if (what==make_find_symbol("keyboard")) return 1; else if (what==make_find_symbol("joystick")) return 2; } return 0; } int get_key_binding(char *dir, int i) { char tmp[100],kn[50]; sprintf(tmp,"player%d-%s",i,dir); Cell *f=find_symbol(tmp); if (NILP(f) || !DEFINEDP(symbol_value(f))) return 0; void *k=symbol_value(f); if (item_type(k)!=L_SYMBOL) return 0; #ifdef SCADALISP strcpy(tmp,symbol_name(k)); #else strcpy(tmp,lstring_value(symbol_name(k))); #endif for (char *c=tmp;*c;c++) { *c=tolower(*c); if (*c=='_') *c=' '; } for (int j=0;jkey_down(x) void get_movement(int player, int &x, int &y, int &b1, int &b2, int &b3, int &b4) { if (player