X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=d393bfc00fd6c5f057410c14786db7774c6e92fd;hb=fa26d82a378cebf6b519c566c3f33739ebba7823;hp=497a39585cd8091f30ac48d491cec08371072c21;hpb=b13dc8e30a0c07bea53bf168ae6d1017394d3c22;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 497a3958..d393bfc0 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -67,17 +67,27 @@ #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space /* values for move directions and special "button" keys */ +#define MV_BIT_LEFT 0 +#define MV_BIT_RIGHT 1 +#define MV_BIT_UP 2 +#define MV_BIT_DOWN 3 +#define NUM_MV_DIRECTIONS 4 + #define MV_NO_MOVING 0 -#define MV_LEFT (1 << 0) -#define MV_RIGHT (1 << 1) -#define MV_UP (1 << 2) -#define MV_DOWN (1 << 3) +#define MV_LEFT (1 << MV_BIT_LEFT) +#define MV_RIGHT (1 << MV_BIT_RIGHT) +#define MV_UP (1 << MV_BIT_UP) +#define MV_DOWN (1 << MV_BIT_DOWN) #define KEY_BUTTON_1 (1 << 4) #define KEY_BUTTON_2 (1 << 5) #define KEY_MOTION (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN) #define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2) #define KEY_ACTION (KEY_MOTION | KEY_BUTTON) +#define MV_DIR_BIT(x) ((x) == MV_LEFT ? MV_BIT_LEFT : \ + (x) == MV_RIGHT ? MV_BIT_RIGHT : \ + (x) == MV_UP ? MV_BIT_UP : MV_BIT_DOWN) + /* values for button status */ #define MB_NOT_PRESSED FALSE #define MB_NOT_RELEASED TRUE @@ -230,17 +240,19 @@ struct OptionInfo char *display_name; char *server_host; int server_port; + char *ro_base_directory; char *rw_base_directory; char *level_directory; char *graphics_directory; char *sounds_directory; char *music_directory; + char *execute_command; + boolean serveronly; boolean network; boolean verbose; boolean debug; - char *debug_command; }; struct VideoSystemInfo @@ -320,6 +332,19 @@ struct SetupInputInfo struct SetupKeyboardInfo key; }; +struct SetupEditorInfo +{ + boolean el_boulderdash; + boolean el_emerald_mine; + boolean el_more; + boolean el_sokoban; + boolean el_supaplex; + boolean el_diamond_caves; + boolean el_dx_boulderdash; + boolean el_chars; + boolean el_custom; +}; + struct SetupShortcutInfo { Key save_game; @@ -356,6 +381,7 @@ struct SetupInfo boolean override_level_sounds; boolean override_level_music; + struct SetupEditorInfo editor; struct SetupShortcutInfo shortcut; struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -467,7 +493,7 @@ struct ArtworkListInfo int num_suffix_list_entries; struct FileInfo *file_list; /* static artwork file array */ - char **suffix_list; /* parameter suffixes array */ + struct ConfigInfo *suffix_list; /* parameter suffixes array */ struct ListNodeInfo **artwork_list; /* static artwork node array */