X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=d63a289f8d141d83561545651315f96c13ed81cd;hb=21c25c56356db2138816a0716d73934ac3893e89;hp=81a67831e3e189d0c44f639f0b0b227f86df3d5d;hpb=82b1f76754f039e4ee151c7da7c49819c7310546;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 81a67831..d63a289f 100644 --- a/src/main.h +++ b/src/main.h @@ -220,6 +220,9 @@ struct OptionInfo struct SetupJoystickInfo { + char device_name[MAX_FILENAME_LEN]; + int xleft, xmiddle, xright; + int yupper, ymiddle, ylower; int snap; int bomb; }; @@ -234,26 +237,33 @@ struct SetupKeyboardInfo KeySym bomb; }; +struct SetupInputInfo +{ + boolean use_joystick; + struct SetupJoystickInfo joy; + struct SetupKeyboardInfo key; +}; + struct SetupInfo { - boolean sound_on; - boolean sound_loops_on; - boolean sound_music_on; - boolean sound_simple_on; - boolean toons_on; - boolean direct_draw_on; - boolean scroll_delay_on; - boolean soft_scrolling_on; - boolean fading_on; - boolean autorecord_on; + boolean sound; + boolean sound_loops; + boolean sound_music; + boolean sound_simple; + boolean toons; + boolean double_buffering; + boolean direct_draw; /* !double_buffering (redundant!) */ + boolean scroll_delay; + boolean soft_scrolling; + boolean fading; + boolean autorecord; boolean quick_doors; - struct - { - boolean use_joystick; - int joystick_nr; - struct SetupJoystickInfo joy; - struct SetupKeyboardInfo key; - } input[MAX_PLAYERS]; + boolean team_mode; + + char login_name[MAX_NAMELEN]; + char alias_name[MAX_NAMELEN]; + + struct SetupInputInfo input[MAX_PLAYERS]; }; struct SetupFileList @@ -271,10 +281,12 @@ struct PlayerInfo int index_nr, client_nr, element_nr; - byte action; + byte action; /* action from local input device */ + byte effective_action; /* action aknowledged from network server + or summarized over all configured input + devices when in single player mode */ - char login_name[MAX_NAMELEN]; - char alias_name[MAX_NAMELEN]; + int joystick_fd; /* file descriptor of player's joystick */ int jx,jy, last_jx,last_jy; int MovDir, MovPos, GfxPos; @@ -347,12 +359,6 @@ struct RecordingInfo } pos[MAX_TAPELEN]; }; -struct JoystickInfo -{ - int xleft, xright, xmiddle; - int yupper, ylower, ymiddle; -}; - extern Display *display; extern Visual *visual; extern int screen; @@ -372,7 +378,7 @@ extern int sound_pipe[2]; extern int sound_device; extern char *sound_device_name; extern int joystick_device; -extern char *joystick_device_name[2]; +extern char *joystick_device_name[]; extern char *level_directory; extern int width, height; @@ -1093,24 +1099,32 @@ extern int num_bg_loops; #endif #ifndef MSDOS +#define USERDATA_DIRECTORY ".rocksndiamonds" +#define TAPEDATA_DIRECTORY "tapes" #define SCORE_FILENAME "ROCKS.score" -#define NAMES_FILENAME "ROCKS.names" #define LEVDIR_FILENAME "ROCKS.levelinfo" #define JOYDAT_FILENAME "ROCKS.joystick" -#define SETUP_FILENAME "ROCKS.setup" -#define LEVELSETUP_FILENAME "ROCKS.levelsetup" +#define SETUP_FILENAME "setup" +#define LEVELSETUP_FILENAME "setup.level" +#define TAPEFILE_EXTENSION "tape" #else +#define USERDATA_DIRECTORY "userdata" +#define TAPEDATA_DIRECTORY "tapes" #define SCORE_FILENAME "ROCKS.sco" -#define NAMES_FILENAME "ROCKS.nam" #define LEVDIR_FILENAME "ROCKS.lev" #define JOYDAT_FILENAME "ROCKS.joy" -#define SETUP_FILENAME "ROCKS.set" -#define LEVELSETUP_FILENAME "ROCKS.lvs" +#define SETUP_FILENAME "setup" +#define LEVELSETUP_FILENAME "setup.lev" +#define TAPEFILE_EXTENSION "rec" #endif #define JOYDAT_FILE JOYDAT_PATH "/" JOYDAT_FILENAME -#define LEVEL_PERMS (S_IRUSR|S_IWUSR | S_IRGRP|S_IWGRP | S_IROTH|S_IWOTH) +#define MODE_R_ALL (S_IRUSR | S_IRGRP | S_IROTH) +#define MODE_W_ALL (S_IWUSR | S_IWGRP | S_IWOTH) +#define MODE_X_ALL (S_IXUSR | S_IXGRP | S_IXOTH) +#define USERDATA_DIR_MODE (MODE_R_ALL | MODE_X_ALL | S_IWUSR) +#define LEVEL_PERMS (MODE_R_ALL | MODE_W_ALL) #define SCORE_PERMS LEVEL_PERMS #define NAMES_PERMS LEVEL_PERMS #define LEVDIR_PERMS LEVEL_PERMS @@ -1139,7 +1153,7 @@ extern int num_bg_loops; #define SETUP_COOKIE_LEN (strlen(SETUP_COOKIE)+1) #define LEVELSETUP_COOKIE_LEN (strlen(LEVELSETUP_COOKIE)+1) -#define VERSION_STRING "1.2" +#define VERSION_STRING "1.2 preview 1" #define GAMETITLE_STRING "Rocks'n'Diamonds" #define WINDOWTITLE_STRING GAMETITLE_STRING " " VERSION_STRING #define COPYRIGHT_STRING "Copyright ^1995-98 by Holger Schemel"