X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=23c38b2110246d59d90559edad5f19f75e78871b;hb=44051f2e9b98cc3cf5e065616ef0c7569262dd06;hp=4fccecf376ebf57048c8705ce05f6640b763f6fe;hpb=728442c17249f1ca5bb6b6aedb85c2b4fe7b8454;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 4fccecf3..23c38b21 100644 --- a/src/editor.c +++ b/src/editor.c @@ -1767,11 +1767,13 @@ static struct ValueTextInfo options_action_arg_number[] = { CA_ARG_NUMBER_LEVEL_GEMS, "gems" }, { CA_ARG_NUMBER_LEVEL_SCORE, "score" }, { CA_ARG_UNDEFINED, " " }, - { CA_ARG_ELEMENT_CV_HEADLINE, "[CE value" }, - { CA_ARG_ELEMENT_CV_HEADLINE, " of" }, - { CA_ARG_ELEMENT_CV_HEADLINE, " element]" }, + { CA_ARG_ELEMENT_CV_HEADLINE, "[CE value]" }, { CA_ARG_ELEMENT_CV_TARGET, "target" }, { CA_ARG_ELEMENT_CV_TRIGGER, "trigger" }, + { CA_ARG_UNDEFINED, " " }, + { CA_ARG_ELEMENT_CS_HEADLINE, "[CE score]" }, + { CA_ARG_ELEMENT_CS_TARGET, "target" }, + { CA_ARG_ELEMENT_CS_TRIGGER, "trigger" }, { -1, NULL } }; @@ -1802,12 +1804,14 @@ static struct ValueTextInfo options_action_arg_value[] = { CA_ARG_NUMBER_LEVEL_GEMS, "gems" }, { CA_ARG_NUMBER_LEVEL_SCORE, "score" }, { CA_ARG_UNDEFINED, " " }, - { CA_ARG_ELEMENT_CV_HEADLINE, "[CE value" }, - { CA_ARG_ELEMENT_CV_HEADLINE, " of" }, - { CA_ARG_ELEMENT_CV_HEADLINE, " element]" }, + { CA_ARG_ELEMENT_CV_HEADLINE, "[CE value]" }, { CA_ARG_ELEMENT_CV_TARGET, "target" }, { CA_ARG_ELEMENT_CV_TRIGGER, "trigger" }, { CA_ARG_UNDEFINED, " " }, + { CA_ARG_ELEMENT_CS_HEADLINE, "[CE score]" }, + { CA_ARG_ELEMENT_CS_TARGET, "target" }, + { CA_ARG_ELEMENT_CS_TRIGGER, "trigger" }, + { CA_ARG_UNDEFINED, " " }, { CA_ARG_ELEMENT_NR_HEADLINE, "[element]" }, { CA_ARG_ELEMENT_NR_TARGET, "target" }, { CA_ARG_ELEMENT_NR_TRIGGER, "trigger" }, @@ -3369,6 +3373,11 @@ static int editor_el_emerald_mine_club[] = EL_EM_DYNAMITE_ACTIVE, EL_EMPTY, EL_EMPTY, + + EL_YAMYAM_LEFT, + EL_YAMYAM_RIGHT, + EL_YAMYAM_UP, + EL_YAMYAM_DOWN, }; static int *editor_hl_emerald_mine_club_ptr = editor_hl_emerald_mine_club; static int *editor_el_emerald_mine_club_ptr = editor_el_emerald_mine_club; @@ -4216,7 +4225,12 @@ static int editor_el_custom[] = EL_TRIGGER_PLAYER, EL_TRIGGER_ELEMENT, EL_TRIGGER_CE_VALUE, - EL_EMPTY + EL_TRIGGER_CE_SCORE, + + EL_EMPTY, + EL_EMPTY, + EL_CURRENT_CE_VALUE, + EL_CURRENT_CE_SCORE }; static int *editor_hl_custom_ptr = editor_hl_custom; static int *editor_el_custom_ptr = editor_el_custom; @@ -4616,7 +4630,7 @@ static void ReinitializeElementList() if (element >= NUM_FILE_ELEMENTS) Error(ERR_WARN, "editor element %d is runtime element", element); - if (strcmp(getElementInfoText(element), INFOTEXT_UNKNOWN_ELEMENT) == 0) + if (strEqual(getElementInfoText(element), INFOTEXT_UNKNOWN_ELEMENT)) Error(ERR_WARN, "no element description for element %d", element); } } @@ -7691,6 +7705,10 @@ static struct { EL_BD_FIREFLY_DOWN, &level.score[SC_SPACESHIP], TEXT_SMASHING }, { EL_SP_SNIKSNAK, &level.score[SC_SPACESHIP], TEXT_SMASHING }, { EL_YAMYAM, &level.score[SC_YAMYAM], TEXT_SMASHING }, + { EL_YAMYAM_LEFT, &level.score[SC_YAMYAM], TEXT_SMASHING }, + { EL_YAMYAM_RIGHT, &level.score[SC_YAMYAM], TEXT_SMASHING }, + { EL_YAMYAM_UP, &level.score[SC_YAMYAM], TEXT_SMASHING }, + { EL_YAMYAM_DOWN, &level.score[SC_YAMYAM], TEXT_SMASHING }, { EL_DARK_YAMYAM, &level.score[SC_YAMYAM], TEXT_SMASHING }, { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING }, { EL_PACMAN, &level.score[SC_PACMAN], TEXT_SMASHING }, @@ -7841,7 +7859,11 @@ static void DrawPropertiesConfig() if (IS_AMOEBOID(properties_element)) MapDrawingArea(ED_DRAWING_ID_AMOEBA_CONTENT); - else if (properties_element == EL_YAMYAM) + else if (properties_element == EL_YAMYAM || + properties_element == EL_YAMYAM_LEFT || + properties_element == EL_YAMYAM_RIGHT || + properties_element == EL_YAMYAM_UP || + properties_element == EL_YAMYAM_DOWN) DrawYamYamContentAreas(); else if (properties_element == EL_EMC_MAGIC_BALL) { @@ -9919,6 +9941,37 @@ void HandleLevelEditorKeyInput(Key key) break; + case KSYM_Insert: + case KSYM_Delete: + for (i = 0; i < num_editor_elements; i++) + { + int e = editor_elements[i]; + + if ((key == KSYM_Insert && + (e == EL_INTERNAL_CASCADE_CE || + e == EL_INTERNAL_CASCADE_CE_ACTIVE)) || + (key == KSYM_Delete && + (e == EL_INTERNAL_CASCADE_GE || + e == EL_INTERNAL_CASCADE_GE_ACTIVE))) + break; + } + + if (i < num_editor_elements) + { + element_shift = i; + + if (element_shift > num_editor_elements - ED_NUM_ELEMENTLIST_BUTTONS) + element_shift = num_editor_elements - ED_NUM_ELEMENTLIST_BUTTONS; + + ModifyGadget(level_editor_gadget[GADGET_ID_SCROLL_LIST_VERTICAL], + GDI_SCROLLBAR_ITEM_POSITION, + element_shift / ED_ELEMENTLIST_BUTTONS_HORIZ, GDI_END); + + ModifyEditorElementList(); + } + + break; + case KSYM_Escape: if (edit_mode == ED_MODE_DRAWING) {