rnd-19981108-2
[rocksndiamonds.git] / src / main.h
index 955cf84acdac28b1f2956ceccb7b433a03fa0718..d698ffdf42bc298a637096e09f35eb47e55bf4d7 100644 (file)
@@ -195,7 +195,7 @@ typedef unsigned char byte;
 #define MAX_LEVDIR_FILENAME    (64+1)
 #define MAX_LEVDIR_NAME                (16+1)
 #define MAX_LEVDIR_ENTRIES     15
-#define MAX_SCORE_ENTRIES      15
+#define MAX_SCORE_ENTRIES      100
 
 #define MAX_OPTION_LEN         256
 #define MAX_FILENAME_LEN       256
@@ -213,6 +213,8 @@ struct OptionInfo
   char *display_name;
   char *server_host;
   int server_port;
+  char *base_directory;
+  char *level_directory;
   boolean serveronly;
   boolean network;
   boolean verbose;
@@ -379,7 +381,6 @@ extern int          sound_device;
 extern char           *sound_device_name;
 extern int             joystick_device;
 extern char           *joystick_device_name[];
-extern char           *level_directory;
 extern int                     width, height;
 
 extern char           *program_name;
@@ -1068,55 +1069,39 @@ extern int              num_bg_loops;
 #define EMU_BOULDERDASH                1
 #define EMU_SOKOBAN            2
 
-
 #ifndef GAME_DIR
 #define GAME_DIR               "."
 #endif
 
-#ifndef GFX_PATH
-#define GFX_PATH               GAME_DIR "/graphics"
-#endif
-#ifndef SND_PATH
-#define SND_PATH               GAME_DIR "/sounds"
-#endif
-#ifndef LEVEL_PATH
-#define LEVEL_PATH             GAME_DIR "/levels"
-#endif
-#ifndef SCORE_PATH
-#define SCORE_PATH             LEVEL_PATH
-#endif
-#ifndef NAMES_PATH
-#define NAMES_PATH             LEVEL_PATH
-#endif
-#ifndef CONFIG_PATH
-#define CONFIG_PATH            GAME_DIR
-#endif
-#ifndef JOYDAT_PATH
-#define JOYDAT_PATH            GAME_DIR
-#endif
-#ifndef SETUP_PATH
-#define SETUP_PATH             GAME_DIR
-#endif
+#define BASE_PATH              GAME_DIR
+
+#define GRAPHICS_DIRECTORY     "graphics"
+#define SOUNDS_DIRECTORY       "sounds"
+#define LEVELS_DIRECTORY       "levels"
+#define TAPES_DIRECTORY                "tapes"
+#define SCORES_DIRECTORY       "scores"
 
 #ifndef MSDOS
-#define SCORE_FILENAME         "ROCKS.score"
-#define NAMES_FILENAME         "ROCKS.names"
+#define USERDATA_DIRECTORY     ".rocksndiamonds"
 #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"
+#define SCOREFILE_EXTENSION    "score"
 #else
-#define SCORE_FILENAME         "ROCKS.sco"
-#define NAMES_FILENAME         "ROCKS.nam"
+#define USERDATA_DIRECTORY     "userdata"
 #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"
+#define SCOREFILE_EXTENSION    "sco"
 #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
@@ -1125,12 +1110,10 @@ extern int              num_bg_loops;
 #define SETUP_PERMS            LEVEL_PERMS
 
 /* old cookies */
-#define NAMES_COOKIE_10                "ROCKSNDIAMONDS_NAMES_FILE_VERSION_1.0"
 #define LEVELREC_COOKIE_10     "ROCKSNDIAMONDS_LEVELREC_FILE_VERSION_1.0"
 
 #define LEVEL_COOKIE           "ROCKSNDIAMONDS_LEVEL_FILE_VERSION_1.0"
-#define SCORE_COOKIE           "ROCKSNDIAMONDS_SCORE_FILE_VERSION_1.0"
-#define NAMES_COOKIE           "ROCKSNDIAMONDS_NAMES_FILE_VERSION_1.1"
+#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"
@@ -1138,14 +1121,13 @@ extern int              num_bg_loops;
 #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 NAMES_COOKIE_LEN       (strlen(NAMES_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 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"