X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Feditor.c;h=1cdf04d22af28da74faf22a3c72eb023091bdcbc;hb=89c6f370f355a7822c99faa5ae078b580904d7a9;hp=b45f7c1963bef59c338cc0cdafdcc5dc6d55e2cc;hpb=95df96cd659ac574594ba7abcefb65ed5a77f6e4;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index b45f7c19..1cdf04d2 100644 --- a/src/editor.c +++ b/src/editor.c @@ -650,6 +650,7 @@ enum GADGET_ID_RANDOM_QUANTITY, GADGET_ID_RANDOM_RESTRICTED, GADGET_ID_BD_INTERMISSION, + GADGET_ID_BD_PAL_TIMING, GADGET_ID_STICK_ELEMENT, GADGET_ID_EM_SLIPPERY_GEMS, GADGET_ID_EM_EXPLODES_BY_FIRE, @@ -968,6 +969,7 @@ enum ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_3, ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_2, ED_CHECKBUTTON_ID_BD_INTERMISSION, + ED_CHECKBUTTON_ID_BD_PAL_TIMING, ED_CHECKBUTTON_ID_STICK_ELEMENT, ED_CHECKBUTTON_ID_EM_SLIPPERY_GEMS, ED_CHECKBUTTON_ID_EM_EXPLODES_BY_FIRE, @@ -1049,7 +1051,7 @@ enum #define ED_CHECKBUTTON_ID_EDITOR_LAST ED_CHECKBUTTON_ID_CUSTOM_USE_TEMPLATE_2 #define ED_CHECKBUTTON_ID_ENGINE_FIRST ED_CHECKBUTTON_ID_BD_INTERMISSION -#define ED_CHECKBUTTON_ID_ENGINE_LAST ED_CHECKBUTTON_ID_BD_INTERMISSION +#define ED_CHECKBUTTON_ID_ENGINE_LAST ED_CHECKBUTTON_ID_BD_PAL_TIMING #define ED_CHECKBUTTON_ID_CUSTOM1_FIRST ED_CHECKBUTTON_ID_CUSTOM_USE_GRAPHIC #define ED_CHECKBUTTON_ID_CUSTOM1_LAST ED_CHECKBUTTON_ID_CUSTOM_INDESTRUCTIBLE @@ -3254,6 +3256,14 @@ static struct "Boulder Dash game engine settings:", NULL, "intermission", "level is an intermission level" }, + { + ED_CHECKBUTTON_ID_BD_PAL_TIMING, + ED_LEVEL_SETTINGS_XPOS(0), ED_LEVEL_SETTINGS_YPOS(1), + GADGET_ID_BD_PAL_TIMING, GADGET_ID_NONE, + &level.bd_pal_timing, + NULL, NULL, + "PAL timing", "use slower timer (like PAL C64)" + }, // ---------- element settings: configure (various elements) ---------------- @@ -10486,7 +10496,7 @@ static void DrawPropertiesInfo(void) } #define TEXT_COLLECTING "Score for collecting" -#define TEXT_COLLECTING_EXTRA "Extra score for collecting" +#define TEXT_COLLECTING_EXTRA "Score for extra diamonds" #define TEXT_SMASHING "Score for smashing" #define TEXT_SLURPING "Score for slurping robot" #define TEXT_CRACKING "Score for cracking" @@ -10636,6 +10646,10 @@ static boolean checkPropertiesConfig(int element) { int i; + // special case: empty space customization only available in R'n'D game engine + if (element == EL_EMPTY_SPACE && level.game_engine_type != GAME_ENGINE_TYPE_RND) + return FALSE; + if (IS_GEM(element) || IS_CUSTOM_ELEMENT(element) || IS_GROUP_ELEMENT(element) || @@ -10886,7 +10900,8 @@ static void DrawPropertiesConfig(void) if (IS_BD_PLAYER_ELEMENT(properties_element)) MapCheckbuttonGadget(ED_CHECKBUTTON_ID_BD_DIAGONAL_MOVEMENTS); - if (IS_GEM(properties_element)) + // special case: slippery walls option for gems only available in R'n'D game engine + if (IS_GEM(properties_element) && level.game_engine_type == GAME_ENGINE_TYPE_RND) { checkbutton_info[ED_CHECKBUTTON_ID_EM_SLIPPERY_GEMS].y = ED_ELEMENT_SETTINGS_XPOS(properties_element == EL_BD_DIAMOND ? 2 : 1);