X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.h;h=cbf07655baec425336effc42731f6372981db07e;hb=05651fcbc154b1d8321d6e4e9374cfcdd274feda;hp=d698ffdf42bc298a637096e09f35eb47e55bf4d7;hpb=49dab46aa55cb43233c7f9a310593f8bd8debc29;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index d698ffdf..cbf07655 100644 --- a/src/main.h +++ b/src/main.h @@ -33,12 +33,17 @@ #include #ifdef XPM_INCLUDE_FILE +#define USE_XPM_LIBRARY #include XPM_INCLUDE_FILE #endif #else /* MSDOS */ #include "msdos.h" #endif /* MSDOS */ +#ifdef DEBUG +#define DEBUG_TIMING 0 +#endif + typedef unsigned char boolean; typedef unsigned char byte; @@ -189,13 +194,13 @@ typedef unsigned char byte; #define MAX_LEVNAMLEN 32 #define MAX_LEVSCORE_ENTRIES 16 -#define NUM_FREE_LVHD_BYTES 18 -#define MAX_TAPELEN 10000 +#define MAX_TAPELEN (1000 * 50) /* max. time * framerate */ #define MAX_LEVDIR_FILENAME (64+1) #define MAX_LEVDIR_NAME (16+1) -#define MAX_LEVDIR_ENTRIES 15 +#define MAX_LEVDIR_ENTRIES 100 #define MAX_SCORE_ENTRIES 100 +#define MAX_VISIBLE_ENTRIES 15 #define MAX_OPTION_LEN 256 #define MAX_FILENAME_LEN 256 @@ -222,7 +227,7 @@ struct OptionInfo struct SetupJoystickInfo { - char device_name[MAX_FILENAME_LEN]; + char *device_name; int xleft, xmiddle, xright; int yupper, ymiddle, ylower; int snap; @@ -248,6 +253,8 @@ struct SetupInputInfo struct SetupInfo { + char *player_name; + boolean sound; boolean sound_loops; boolean sound_music; @@ -262,9 +269,6 @@ struct SetupInfo boolean quick_doors; boolean team_mode; - char login_name[MAX_NAMELEN]; - char alias_name[MAX_NAMELEN]; - struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -335,10 +339,12 @@ struct LevelInfo struct LevelDirInfo { - char filename[MAX_LEVDIR_FILENAME]; - char name[MAX_LEVDIR_NAME]; + char *filename; + char *name; int levels; - int readonly; + int sort_priority; + boolean user_defined; + boolean readonly; }; struct RecordingInfo @@ -369,7 +375,7 @@ extern GC gc, clip_gc[], tile_clip_gc; extern Pixmap pix[]; extern Pixmap clipmask[], tile_clipmask[]; -#ifdef XPM_INCLUDE_FILE +#ifdef USE_XPM_LIBRARY extern XpmAttributes xpm_att[]; #endif @@ -381,7 +387,6 @@ extern int sound_device; extern char *sound_device_name; extern int joystick_device; extern char *joystick_device_name[]; -extern int width, height; extern char *program_name; @@ -1083,16 +1088,16 @@ extern int num_bg_loops; #ifndef MSDOS #define USERDATA_DIRECTORY ".rocksndiamonds" -#define LEVDIR_FILENAME "ROCKS.levelinfo" -#define SETUP_FILENAME "setup" -#define LEVELSETUP_FILENAME "setup.level" +#define SETUP_FILENAME "setup.conf" +#define LEVELSETUP_FILENAME "levelsetup.conf" +#define LEVELINFO_FILENAME "levelinfo.conf" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" #else #define USERDATA_DIRECTORY "userdata" -#define LEVDIR_FILENAME "ROCKS.lev" -#define SETUP_FILENAME "setup" -#define LEVELSETUP_FILENAME "setup.lev" +#define SETUP_FILENAME "setup.cnf" +#define LEVELSETUP_FILENAME "lvlsetup.cnf" +#define LEVELINFO_FILENAME "lvlinfo.cnf" #define TAPEFILE_EXTENSION "rec" #define SCOREFILE_EXTENSION "sco" #endif @@ -1109,23 +1114,24 @@ extern int num_bg_loops; #define JOYDAT_PERMS LEVEL_PERMS #define SETUP_PERMS LEVEL_PERMS -/* old cookies */ -#define LEVELREC_COOKIE_10 "ROCKSNDIAMONDS_LEVELREC_FILE_VERSION_1.0" - -#define LEVEL_COOKIE "ROCKSNDIAMONDS_LEVEL_FILE_VERSION_1.0" +#define LEVEL_COOKIE "ROCKSNDIAMONDS_LEVEL_FILE_VERSION_1.2" #define SCORE_COOKIE "ROCKSNDIAMONDS_SCORE_FILE_VERSION_1.2" -#define LEVELDIR_COOKIE "ROCKSNDIAMONDS_LEVELDIR_FILE_VERSION_1.0" -#define LEVELREC_COOKIE "ROCKSNDIAMONDS_LEVELREC_FILE_VERSION_1.2" -#define JOYSTICK_COOKIE "ROCKSNDIAMONDS_JOYSTICK_FILE_VERSION_1.0" +#define TAPE_COOKIE "ROCKSNDIAMONDS_TAPE_FILE_VERSION_1.2" #define SETUP_COOKIE "ROCKSNDIAMONDS_SETUP_FILE_VERSION_1.2" #define LEVELSETUP_COOKIE "ROCKSNDIAMONDS_LEVELSETUP_FILE_VERSION_1.2" -#define LEVEL_COOKIE_LEN (strlen(LEVEL_COOKIE)+1) -#define SCORE_COOKIE_LEN (strlen(SCORE_COOKIE)+1) -#define LEVELDIR_COOKIE_LEN (strlen(LEVELDIR_COOKIE)+1) -#define LEVELREC_COOKIE_LEN (strlen(LEVELREC_COOKIE)+1) -#define JOYSTICK_COOKIE_LEN (strlen(JOYSTICK_COOKIE)+1) -#define SETUP_COOKIE_LEN (strlen(SETUP_COOKIE)+1) -#define LEVELSETUP_COOKIE_LEN (strlen(LEVELSETUP_COOKIE)+1) +#define LEVELINFO_COOKIE "ROCKSNDIAMONDS_LEVELINFO_FILE_VERSION_1.2" + +/* old cookies for backward compatibility */ +#define LEVEL_COOKIE_10 "ROCKSNDIAMONDS_LEVEL_FILE_VERSION_1.0" +#define TAPE_COOKIE_10 "ROCKSNDIAMONDS_LEVELREC_FILE_VERSION_1.0" + +#define LEVEL_COOKIE_LEN (strlen(LEVEL_COOKIE) + 1) +#define SCORE_COOKIE_LEN (strlen(SCORE_COOKIE) + 1) +#define LEVELREC_COOKIE_LEN (strlen(LEVELREC_COOKIE) + 1) +#define TAPE_COOKIE_LEN (strlen(TAPE_COOKIE) + 1) +#define SETUP_COOKIE_LEN (strlen(SETUP_COOKIE) + 1) +#define LEVELSETUP_COOKIE_LEN (strlen(LEVELSETUP_COOKIE) + 1) +#define LEVELINFO_COOKIE_LEN (strlen(LEVELINFO_COOKIE) + 1) #define VERSION_STRING "1.2 preview 1" #define GAMETITLE_STRING "Rocks'n'Diamonds"