* fixed dynabombs exploding now into anything diggable
* fixed Supaplex style gravity movement into buggy base now impossible
* added pressing key "space" as valid action to select menu options
+2004-04-23
+ * fixed dynabombs exploding now into anything diggable
+ * fixed Supaplex style gravity movement into buggy base now impossible
+ * added pressing key "space" as valid action to select menu options
+
2004-04-20
* added "replace when walkable" to relocate player to walkable element
* added "enter"/"leave" event for elements affected by relocation
2004-04-20
* added "replace when walkable" to relocate player to walkable element
* added "enter"/"leave" event for elements affected by relocation
-#define COMPILE_DATE_STRING "[2004-04-23 09:52]"
+#define COMPILE_DATE_STRING "[2004-04-24 03:11]"
CAN_EXPLODE_CROSS(element));
/* special case: sub-settings dependent from main setting */
CAN_EXPLODE_CROSS(element));
/* special case: sub-settings dependent from main setting */
+#if 0
+ custom_element.can_explode_by_fire = CAN_EXPLODE_BY_FIRE(element);
+ custom_element.can_explode_smashed = CAN_EXPLODE_SMASHED(element);
+ custom_element.can_explode_impact = CAN_EXPLODE_IMPACT(element);
+#else
if (CAN_EXPLODE_BY_FIRE(element))
custom_element.can_explode_by_fire = TRUE;
if (CAN_EXPLODE_SMASHED(element))
custom_element.can_explode_smashed = TRUE;
if (CAN_EXPLODE_IMPACT(element))
custom_element.can_explode_impact = TRUE;
if (CAN_EXPLODE_BY_FIRE(element))
custom_element.can_explode_by_fire = TRUE;
if (CAN_EXPLODE_SMASHED(element))
custom_element.can_explode_smashed = TRUE;
if (CAN_EXPLODE_IMPACT(element))
custom_element.can_explode_impact = TRUE;
/* ---------- element settings: advanced (custom elements) --------------- */
/* ---------- element settings: advanced (custom elements) --------------- */
{
int i;
int access_type_and_layer;
{
int i;
int access_type_and_layer;
/* mark that this custom element has been modified */
custom_element.modified_settings = TRUE;
/* mark that this custom element has been modified */
custom_element.modified_settings = TRUE;
custom_element_properties[EP_EXPLODE_RESULT];
/* special case: sub-settings dependent from main setting */
custom_element_properties[EP_EXPLODE_RESULT];
/* special case: sub-settings dependent from main setting */
+#if 0
+ can_explode = (custom_element_properties[EP_CAN_EXPLODE_1X1] ||
+ custom_element_properties[EP_CAN_EXPLODE_3X3] ||
+ custom_element_properties[EP_CAN_EXPLODE_CROSS]);
+ custom_element_properties[EP_CAN_EXPLODE_BY_FIRE] =
+ (can_explode && custom_element.can_explode_by_fire);
+ custom_element_properties[EP_CAN_EXPLODE_SMASHED] =
+ (can_explode && custom_element.can_explode_smashed);
+ custom_element_properties[EP_CAN_EXPLODE_IMPACT] =
+ (can_explode && custom_element.can_explode_impact);
+#else
if (custom_element_properties[EP_CAN_EXPLODE_1X1] ||
custom_element_properties[EP_CAN_EXPLODE_3X3] ||
custom_element_properties[EP_CAN_EXPLODE_CROSS])
if (custom_element_properties[EP_CAN_EXPLODE_1X1] ||
custom_element_properties[EP_CAN_EXPLODE_3X3] ||
custom_element_properties[EP_CAN_EXPLODE_CROSS])
custom_element_properties[EP_CAN_EXPLODE_IMPACT] =
custom_element.can_explode_impact;
}
custom_element_properties[EP_CAN_EXPLODE_IMPACT] =
custom_element.can_explode_impact;
}
/* ---------- element settings: advanced (custom elements) --------------- */
/* ---------- element settings: advanced (custom elements) --------------- */
case GAME_MODE_INFO:
switch(key)
{
case GAME_MODE_INFO:
switch(key)
{
case KSYM_Return:
if (game_status == GAME_MODE_MAIN)
HandleMainMenu(0,0, 0,0, MB_MENU_CHOICE);
case KSYM_Return:
if (game_status == GAME_MODE_MAIN)
HandleMainMenu(0,0, 0,0, MB_MENU_CHOICE);
case GAME_MODE_SCORES:
switch(key)
{
case GAME_MODE_SCORES:
switch(key)
{
case KSYM_Return:
case KSYM_Escape:
game_status = GAME_MODE_MAIN;
case KSYM_Return:
case KSYM_Escape:
game_status = GAME_MODE_MAIN;
CAN_EXPLODE_IMPACT(i)));
/* ---------- CAN_EXPLODE_3X3 ------------------------------------------ */
CAN_EXPLODE_IMPACT(i)));
/* ---------- CAN_EXPLODE_3X3 ------------------------------------------ */
+#if 0
+ SET_PROPERTY(i, EP_CAN_EXPLODE_3X3, (!CAN_EXPLODE_1X1(i) &&
+ !CAN_EXPLODE_CROSS(i)));
+#else
SET_PROPERTY(i, EP_CAN_EXPLODE_3X3, (CAN_EXPLODE(i) &&
!CAN_EXPLODE_1X1(i) &&
!CAN_EXPLODE_CROSS(i)));
SET_PROPERTY(i, EP_CAN_EXPLODE_3X3, (CAN_EXPLODE(i) &&
!CAN_EXPLODE_1X1(i) &&
!CAN_EXPLODE_CROSS(i)));
/* ---------- CAN_EXPLODE_BY_DRAGONFIRE -------------------------------- */
SET_PROPERTY(i, EP_CAN_EXPLODE_BY_DRAGONFIRE, CAN_EXPLODE_BY_FIRE(i));
/* ---------- CAN_EXPLODE_BY_DRAGONFIRE -------------------------------- */
SET_PROPERTY(i, EP_CAN_EXPLODE_BY_DRAGONFIRE, CAN_EXPLODE_BY_FIRE(i));