X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=0d427559c812d71a0b821b87c7d2bdeb2dfd5324;hb=a4d4e8e444b21b58dcc88b52ff22726c545142a4;hp=f1b8671c7b9b1a5e292fefdade0936b3dc72fba0;hpb=e5c5bf5c4a76a04f9bf64e92227bf2ef969fd25c;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index f1b8671c..0d427559 100644 --- a/src/main.h +++ b/src/main.h @@ -217,6 +217,24 @@ struct OptionInfo boolean verbose; }; +struct SetupKeyboardInfo +{ + KeySym left; + KeySym right; + KeySym up; + KeySym down; + KeySym snap; + KeySym bomb; +}; + +struct SetupJoystickInfo +{ + boolean use_joystick; + int joystick_nr; + int button_snap; + int button_bomb; +}; + struct SetupInfo { boolean sound_on; @@ -230,7 +248,8 @@ struct SetupInfo boolean fading_on; boolean autorecord_on; boolean quick_doors; - int joystick_nr; + struct SetupKeyboardInfo key_input[MAX_PLAYERS]; + struct SetupJoystickInfo joy_input[MAX_PLAYERS]; }; struct PlayerInfo @@ -386,7 +405,9 @@ extern int lev_fieldx,lev_fieldy, scroll_x,scroll_y; extern int FX,FY, ScrollStepSize; extern int ScreenMovDir, ScreenMovPos, ScreenGfxPos; -extern int GameFrameDelay, MoveSpeed; +extern int GameFrameDelay; +extern int FfwdFrameDelay; +extern int MoveSpeed; extern int BX1,BY1, BX2,BY2; extern int ZX,ZY, ExitX,ExitY; extern int AllPlayersGone; @@ -399,14 +420,13 @@ extern int TestPlayer; extern struct LevelDirInfo leveldir[]; extern struct LevelInfo level; -extern struct PlayerInfo stored_player[]; -extern struct PlayerInfo *local_player; +extern struct PlayerInfo stored_player[], *local_player; extern struct HiScore highscore[]; extern struct RecordingInfo tape; extern struct SoundInfo Sound[]; extern struct JoystickInfo joystick[]; -struct OptionInfo options; -struct SetupInfo setup; +extern struct OptionInfo options; +extern struct SetupInfo setup; extern char *sound_name[]; extern int background_loop[]; @@ -987,6 +1007,13 @@ extern int num_bg_loops; (s)==SND_TYGER || (s)==SND_VOYAGER || \ (s)==SND_TWILIGHT) +/* default input keys */ +#define DEFAULT_KEY_LEFT XK_Left +#define DEFAULT_KEY_RIGHT XK_Right +#define DEFAULT_KEY_UP XK_Up +#define DEFAULT_KEY_DOWN XK_Down +#define DEFAULT_KEY_SNAP XK_Shift_L +#define DEFAULT_KEY_BOMB XK_Shift_R /* directions for moving */ #define MV_NO_MOVING 0 @@ -1015,7 +1042,8 @@ extern int num_bg_loops; #define TYPENAME 5 #define HALLOFFAME 6 #define SETUP 7 -#define EXITGAME 8 +#define SETUPINPUT 8 +#define EXITGAME 9 /* values for game_emulation */ #define EMU_NONE 0