+2005-08-20
+ * fixed bug preventing "walkable from no direction" from being ignored
+ (due to compatibility code overwriting this setting after loading)
+
2005-08-15
* fixed bug on Mac OS X (use of reserved name "Random") in EM engine
CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(JOYSTICK)
-# DEBUG = -DDEBUG -g
+DEBUG = -DDEBUG -g
# PROFILING = $(PROFILING_FLAGS)
# OPTIONS = $(DEBUG) -Wall # only for debugging purposes
-#define COMPILE_DATE_STRING "[2005-08-16 00:08]"
+#define COMPILE_DATE_STRING "[2005-08-20 17:50]"
}
/* correct custom element values (for old levels without these options) */
- for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
+ if (level->game_version < VERSION_IDENT(3,1,1,0))
{
- int element = EL_CUSTOM_START + i;
- struct ElementInfo *ei = &element_info[element];
+ for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++)
+ {
+ int element = EL_CUSTOM_START + i;
+ struct ElementInfo *ei = &element_info[element];
- if (ei->access_direction == MV_NO_MOVING)
- ei->access_direction = MV_ALL_DIRECTIONS;
+ if (ei->access_direction == MV_NO_MOVING)
+ ei->access_direction = MV_ALL_DIRECTIONS;
- for (j = 0; j < ei->num_change_pages; j++)
- {
- struct ElementChangeInfo *change = &ei->change_page[j];
+ for (j = 0; j < ei->num_change_pages; j++)
+ {
+ struct ElementChangeInfo *change = &ei->change_page[j];
- if (change->trigger_side == CH_SIDE_NONE)
- change->trigger_side = CH_SIDE_ANY;
+ if (change->trigger_side == CH_SIDE_NONE)
+ change->trigger_side = CH_SIDE_ANY;
+ }
}
}
#define USE_CHANGE_TO_TRIGGERED (TRUE * USE_NEW_STUFF * 1)
+#define USE_BACK_WALKABLE_BUGFIX (TRUE * USE_NEW_STUFF * 1)
+
/* for DigField() */
#define DF_NO_PUSH 0
if (IS_TUBE(Back[jx][jy]) && game.engine_version >= VERSION_IDENT(2,2,0,0))
old_element = Back[jx][jy];
+#if USE_BACK_WALKABLE_BUGFIX
+
+ /* in case of element dropped at player position, check background */
+ else if (Back[jx][jy] != EL_EMPTY &&
+ game.engine_version >= VERSION_IDENT(2,2,0,0))
+ old_element = Back[jx][jy];
+#endif
#endif
/* program information and versioning definitions */
-#define RELEASE_311 TRUE
+#define RELEASE_311 FALSE
#if RELEASE_311
#define PROGRAM_VERSION_MAJOR 3
#define PROGRAM_VERSION_MINOR 1
-#define PROGRAM_VERSION_PATCH 1
+#define PROGRAM_VERSION_PATCH 2
#define PROGRAM_VERSION_BUILD 0
#else
/* !!! make sure that packaging script can find unique version number !!! */
-#define X_PROGRAM_VERSION_MAJOR 3
-#define X_PROGRAM_VERSION_MINOR 2
-#define X_PROGRAM_VERSION_PATCH 0
-#define X_PROGRAM_VERSION_BUILD 3
+#define PROGRAM_VERSION_MAJOR 3
+#define PROGRAM_VERSION_MINOR 2
+#define PROGRAM_VERSION_PATCH 0
+#define PROGRAM_VERSION_BUILD 3
#endif
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"