From: Holger Schemel Date: Sat, 24 Apr 2004 12:22:36 +0000 (+0200) Subject: rnd-20040424-1-src X-Git-Tag: 3.1.0^2~15 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=60aac4d0fa635b69e498dcb174f3fe9b2cacc1c9 rnd-20040424-1-src * 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 --- diff --git a/ChangeLog b/ChangeLog index 3abd5c1f..12dc0ab0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/src/conftime.h b/src/conftime.h index bbf0b89c..28fcf97a 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-04-23 09:52]" +#define COMPILE_DATE_STRING "[2004-04-24 03:11]" diff --git a/src/editor.c b/src/editor.c index 6a808a57..c4392072 100644 --- a/src/editor.c +++ b/src/editor.c @@ -5859,12 +5859,18 @@ static void CopyCustomElementPropertiesToEditor(int element) 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; +#endif /* ---------- element settings: advanced (custom elements) --------------- */ @@ -5946,6 +5952,7 @@ static void CopyCustomElementPropertiesToGame(int element) { int i; int access_type_and_layer; + boolean can_explode; /* mark that this custom element has been modified */ custom_element.modified_settings = TRUE; @@ -6022,6 +6029,17 @@ static void CopyCustomElementPropertiesToGame(int element) 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]) @@ -6033,6 +6051,7 @@ static void CopyCustomElementPropertiesToGame(int element) custom_element_properties[EP_CAN_EXPLODE_IMPACT] = custom_element.can_explode_impact; } +#endif /* ---------- element settings: advanced (custom elements) --------------- */ diff --git a/src/events.c b/src/events.c index abf5711f..0f11b48a 100644 --- a/src/events.c +++ b/src/events.c @@ -690,6 +690,7 @@ void HandleKey(Key key, int key_status) case GAME_MODE_INFO: switch(key) { + case KSYM_space: case KSYM_Return: if (game_status == GAME_MODE_MAIN) HandleMainMenu(0,0, 0,0, MB_MENU_CHOICE); @@ -736,6 +737,7 @@ void HandleKey(Key key, int key_status) case GAME_MODE_SCORES: switch(key) { + case KSYM_space: case KSYM_Return: case KSYM_Escape: game_status = GAME_MODE_MAIN; diff --git a/src/init.c b/src/init.c index b19f825b..04067389 100644 --- a/src/init.c +++ b/src/init.c @@ -3367,9 +3367,14 @@ void InitElementPropertiesEngine(int engine_version) 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))); +#endif /* ---------- CAN_EXPLODE_BY_DRAGONFIRE -------------------------------- */ SET_PROPERTY(i, EP_CAN_EXPLODE_BY_DRAGONFIRE, CAN_EXPLODE_BY_FIRE(i));