#ifdef XPM_INCLUDE_FILE
#include XPM_INCLUDE_FILE
#endif
-#else
+#else /* MSDOS */
#include "msdos.h"
-#endif /* #ifndef MSDOS */
+#endif /* MSDOS */
typedef unsigned char boolean;
typedef unsigned char byte;
#ifndef MSDOS
#define WIN_XPOS 0
#define WIN_YPOS 0
-#else
+#else /* MSDOS */
#define WIN_XPOS ((XRES - WIN_XSIZE) / 2)
#define WIN_YPOS ((YRES - WIN_YSIZE) / 2)
-#endif
+#endif /* MSDOS */
#define SCR_FIELDX 17
#define SCR_FIELDY 17
#define MAX_BUF_XSIZE (SCR_FIELDX + 2)
#ifndef SIGN
#define SIGN(a) ((a) < 0 ? -1 : ((a)>0 ? 1 : 0))
#endif
+
#define SCREENX(a) ((a) - scroll_x)
#define SCREENY(a) ((a) - scroll_y)
#define LEVELX(a) ((a) + scroll_x)
boolean verbose;
};
+struct SetupJoystickInfo
+{
+ int snap;
+ int bomb;
+};
+
struct SetupKeyboardInfo
{
KeySym left;
KeySym bomb;
};
-struct SetupJoystickInfo
-{
- int snap;
- int bomb;
-};
-
struct SetupInfo
{
boolean sound_on;
} input[MAX_PLAYERS];
};
+struct SetupFileList
+{
+ char *token;
+ char *value;
+ struct SetupFileList *next;
+};
+
struct PlayerInfo
{
boolean present; /* player present in level playfield */
- boolean connected; /* player connected locally or via network */
- boolean local; /* player connected locally */
+ boolean connected; /* player connected (locally or via network) */
boolean active; /* player (present && connected) */
int index_nr, client_nr, element_nr;
char login_name[MAX_NAMELEN];
char alias_name[MAX_NAMELEN];
- int handicap;
- unsigned int setup;
- int leveldir_nr;
- int level_nr;
int jx,jy, last_jx,last_jy;
int MovDir, MovPos, GfxPos;
extern struct JoystickInfo joystick[];
extern struct OptionInfo options;
extern struct SetupInfo setup;
+extern struct SetupFileList *setup_list;
+extern struct SetupFileList *level_setup_list;
extern char *sound_name[];
extern int background_loop[];
(s)==SND_TWILIGHT)
/* default input keys */
-#define KEY_UNDEFINDED 0
+#define KEY_UNDEFINDED XK_VoidSymbol
#define DEFAULT_KEY_LEFT XK_Left
#define DEFAULT_KEY_RIGHT XK_Right
#define DEFAULT_KEY_UP XK_Up
#ifndef JOYDAT_PATH
#define JOYDAT_PATH GAME_DIR
#endif
+#ifndef SETUP_PATH
+#define SETUP_PATH GAME_DIR
+#endif
#ifndef MSDOS
#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"
#else
#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"
#endif
#define JOYDAT_FILE JOYDAT_PATH "/" JOYDAT_FILENAME
#define LEVDIR_PERMS LEVEL_PERMS
#define LEVREC_PERMS LEVEL_PERMS
#define JOYDAT_PERMS LEVEL_PERMS
+#define SETUP_PERMS LEVEL_PERMS
/* old cookies */
#define NAMES_COOKIE_10 "ROCKSNDIAMONDS_NAMES_FILE_VERSION_1.0"
#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 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 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 GAMETITLE_STRING "Rocks'n'Diamonds"
#define ANIM_OSCILLATE 1
#define ANIM_REVERSE 2
-#endif
+#endif /* MAIN_H */