#define GFX_CRUMBLED(e) HAS_PROPERTY(GFX_ELEMENT(e), EP_GFX_CRUMBLED)
// macros for pre-defined properties
-#define ELEM_IS_PLAYER(e) HAS_PROPERTY(e, EP_PLAYER)
+#define IS_PLAYER_ELEMENT(e) HAS_PROPERTY(e, EP_PLAYER)
#define CAN_PASS_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_MAGIC_WALL)
#define CAN_PASS_DC_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_DC_MAGIC_WALL)
#define IS_SWITCHABLE(e) HAS_PROPERTY(e, EP_SWITCHABLE)
(ge == EL_ANY_ELEMENT ? TRUE : \
IS_GROUP_ELEMENT(ge) ? IS_IN_GROUP(e, GROUP_NR(ge)) : (e) == (ge))
-#define IS_PLAYER(x, y) (ELEM_IS_PLAYER(StorePlayer[x][y]))
+#define IS_PLAYER(x, y) (IS_PLAYER_ELEMENT(StorePlayer[x][y]))
#define IS_FREE(x, y) (Tile[x][y] == EL_EMPTY && !IS_PLAYER(x, y))
#define IS_FREE_OR_PLAYER(x, y) (Tile[x][y] == EL_EMPTY)
// program information and versioning definitions
#define PROGRAM_VERSION_SUPER 4
-#define PROGRAM_VERSION_MAJOR 2
-#define PROGRAM_VERSION_MINOR 3
-#define PROGRAM_VERSION_PATCH 2
+#define PROGRAM_VERSION_MAJOR 3
+#define PROGRAM_VERSION_MINOR 1
+#define PROGRAM_VERSION_PATCH 0
#define PROGRAM_VERSION_EXTRA ""
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
// values for game_emulation
#define EMU_NONE 0
#define EMU_BOULDERDASH 1
-#define EMU_SOKOBAN 2
+#define EMU_UNUSED_2 2
#define EMU_SUPAPLEX 3
// values for level file type identifier
#define AUTOPLAY_FFWD (1 << 1)
#define AUTOPLAY_WARP (1 << 2)
#define AUTOPLAY_TEST (1 << 3)
-#define AUTOPLAY_FIX (1 << 4)
+#define AUTOPLAY_SAVE (1 << 4)
+#define AUTOPLAY_UPLOAD (1 << 5)
+#define AUTOPLAY_FIX (1 << 6)
#define AUTOPLAY_WARP_NO_DISPLAY AUTOPLAY_TEST
#define AUTOPLAY_MODE_NONE 0
#define AUTOPLAY_MODE_FFWD (AUTOPLAY_MODE_PLAY | AUTOPLAY_FFWD)
#define AUTOPLAY_MODE_WARP (AUTOPLAY_MODE_FFWD | AUTOPLAY_WARP)
#define AUTOPLAY_MODE_TEST (AUTOPLAY_MODE_WARP | AUTOPLAY_TEST)
+#define AUTOPLAY_MODE_SAVE (AUTOPLAY_MODE_TEST | AUTOPLAY_SAVE)
+#define AUTOPLAY_MODE_UPLOAD (AUTOPLAY_MODE_TEST | AUTOPLAY_UPLOAD)
#define AUTOPLAY_MODE_FIX (AUTOPLAY_MODE_TEST | AUTOPLAY_FIX)
#define AUTOPLAY_MODE_WARP_NO_DISPLAY AUTOPLAY_MODE_TEST
int last_added_local;
boolean updated;
+ boolean uploaded;
boolean force_last_added;
struct ScoreEntry entry[MAX_SCORE_ENTRIES];
{
char *autoplay_leveldir;
int autoplay_level[MAX_TAPES_PER_SET];
+ int autoplay_mode;
boolean autoplay_all;
- boolean autoplay_mode;
+ time_t autoplay_time;
char *patchtapes_mode;
char *patchtapes_leveldir;