X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=d7665cc68453897c2215687667cdf1c72a9e2569;hb=e300f91a9ee9f6160aff68d3bc50a21b797d9941;hp=2a7a8e4e19e7662046cb069eedf580093b3a8d4e;hpb=7758484aa10294db3689a7eacc9c4b64132d5d6e;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 2a7a8e4e..d7665cc6 100644 --- a/src/editor.c +++ b/src/editor.c @@ -2413,8 +2413,13 @@ static struct ED_SCROLLBAR_XPOS, ED_SCROLLBAR_YPOS, SX + ED_SCROLL_HORIZONTAL_XPOS, SY + ED_SCROLL_HORIZONTAL_YPOS, ED_SCROLL_HORIZONTAL_XSIZE, ED_SCROLL_HORIZONTAL_YSIZE, +#if 1 + SX, SY, + SXSIZE, SYSIZE, +#else 0, 0, SX + SXSIZE + SX, WIN_YSIZE, +#endif GD_TYPE_SCROLLBAR_HORIZONTAL, GADGET_ID_SCROLL_HORIZONTAL, "scroll level editing area horizontally" @@ -2423,8 +2428,13 @@ static struct ED_SCROLLBAR_XPOS, ED_SCROLLBAR_YPOS, SX + ED_SCROLL_VERTICAL_XPOS, SY + ED_SCROLL_VERTICAL_YPOS, ED_SCROLL_VERTICAL_XSIZE, ED_SCROLL_VERTICAL_YSIZE, +#if 1 + SX, SY, + SXSIZE, SYSIZE, +#else 0, 0, SX + SXSIZE + SX, WIN_YSIZE, +#endif GD_TYPE_SCROLLBAR_VERTICAL, GADGET_ID_SCROLL_VERTICAL, "scroll level editing area vertically" @@ -2433,8 +2443,13 @@ static struct ED_SCROLLBAR2_XPOS, ED_SCROLLBAR2_YPOS, DX + ED_SCROLL2_VERTICAL_XPOS, DY + ED_SCROLL2_VERTICAL_YPOS, ED_SCROLL2_VERTICAL_XSIZE, ED_SCROLL2_VERTICAL_YSIZE, +#if 1 + DX, DY, + DXSIZE, DYSIZE, +#else SX + SXSIZE + SX, 0, WIN_XSIZE - (SX + SXSIZE + SX), WIN_YSIZE, +#endif GD_TYPE_SCROLLBAR_VERTICAL, GADGET_ID_SCROLL_LIST_VERTICAL, "scroll element list vertically" @@ -3727,6 +3742,11 @@ static int editor_el_chars[] = EL_CHAR('°'), EL_CHAR('®'), EL_CHAR(FONT_ASCII_CURSOR), + EL_CHAR(FONT_ASCII_BUTTON), + + EL_CHAR(FONT_ASCII_UP), + EL_CHAR(FONT_ASCII_DOWN), + EL_CHAR(' '), EL_CHAR(' ') }; static int *editor_hl_chars_ptr = editor_hl_chars; @@ -3734,6 +3754,116 @@ static int *editor_el_chars_ptr = editor_el_chars; static int num_editor_hl_chars = SIZEOF_ARRAY_INT(editor_hl_chars); static int num_editor_el_chars = SIZEOF_ARRAY_INT(editor_el_chars); +static int editor_hl_steelchars[] = +{ + EL_INTERNAL_CASCADE_STEELCHARS_ACTIVE, + EL_STEELCHAR('T'), + EL_STEELCHAR('X'), + EL_STEELCHAR('T'), +}; + +static int editor_el_steelchars[] = +{ + EL_STEELCHAR(' '), + EL_STEELCHAR('!'), + EL_STEELCHAR('"'), + EL_STEELCHAR('#'), + + EL_STEELCHAR('$'), + EL_STEELCHAR('%'), + EL_STEELCHAR('&'), + EL_STEELCHAR('\''), + + EL_STEELCHAR('('), + EL_STEELCHAR(')'), + EL_STEELCHAR('*'), + EL_STEELCHAR('+'), + + EL_STEELCHAR(','), + EL_STEELCHAR('-'), + EL_STEELCHAR('.'), + EL_STEELCHAR('/'), + + EL_STEELCHAR('0'), + EL_STEELCHAR('1'), + EL_STEELCHAR('2'), + EL_STEELCHAR('3'), + + EL_STEELCHAR('4'), + EL_STEELCHAR('5'), + EL_STEELCHAR('6'), + EL_STEELCHAR('7'), + + EL_STEELCHAR('8'), + EL_STEELCHAR('9'), + EL_STEELCHAR(':'), + EL_STEELCHAR(';'), + + EL_STEELCHAR('<'), + EL_STEELCHAR('='), + EL_STEELCHAR('>'), + EL_STEELCHAR('?'), + + EL_STEELCHAR('@'), + EL_STEELCHAR('A'), + EL_STEELCHAR('B'), + EL_STEELCHAR('C'), + + EL_STEELCHAR('D'), + EL_STEELCHAR('E'), + EL_STEELCHAR('F'), + EL_STEELCHAR('G'), + + EL_STEELCHAR('H'), + EL_STEELCHAR('I'), + EL_STEELCHAR('J'), + EL_STEELCHAR('K'), + + EL_STEELCHAR('L'), + EL_STEELCHAR('M'), + EL_STEELCHAR('N'), + EL_STEELCHAR('O'), + + EL_STEELCHAR('P'), + EL_STEELCHAR('Q'), + EL_STEELCHAR('R'), + EL_STEELCHAR('S'), + + EL_STEELCHAR('T'), + EL_STEELCHAR('U'), + EL_STEELCHAR('V'), + EL_STEELCHAR('W'), + + EL_STEELCHAR('X'), + EL_STEELCHAR('Y'), + EL_STEELCHAR('Z'), + EL_STEELCHAR('['), + + EL_STEELCHAR('\\'), + EL_STEELCHAR(']'), + EL_STEELCHAR('^'), + EL_STEELCHAR('_'), + + EL_STEELCHAR('©'), + EL_STEELCHAR('Ä'), + EL_STEELCHAR('Ö'), + EL_STEELCHAR('Ü'), + + EL_STEELCHAR('°'), + EL_STEELCHAR('®'), + EL_STEELCHAR(FONT_ASCII_CURSOR), + EL_STEELCHAR(FONT_ASCII_BUTTON), + + EL_STEELCHAR(FONT_ASCII_UP), + EL_STEELCHAR(FONT_ASCII_DOWN), + EL_STEELCHAR(' '), + EL_STEELCHAR(' ') +}; +static int *editor_hl_steelchars_ptr = editor_hl_steelchars; +static int *editor_el_steelchars_ptr = editor_el_steelchars; +static int num_editor_hl_steelchars = SIZEOF_ARRAY_INT(editor_hl_steelchars); +static int num_editor_el_steelchars = SIZEOF_ARRAY_INT(editor_el_steelchars); + static int editor_hl_custom[] = { EL_INTERNAL_CASCADE_CE_ACTIVE, @@ -4290,6 +4420,12 @@ editor_elements_info[] = &editor_hl_chars_ptr, &num_editor_hl_chars, &editor_el_chars_ptr, &num_editor_el_chars }, + { + &setup.editor.el_steelchars, + &setup.editor_cascade.el_steelchars, + &editor_hl_steelchars_ptr, &num_editor_hl_steelchars, + &editor_el_steelchars_ptr, &num_editor_el_steelchars + }, { &setup.editor.el_custom, &setup.editor_cascade.el_ce, @@ -6761,7 +6897,11 @@ void DrawLevelEd() ReinitializeElementList(); /* update dynamic level element list */ ReinitializeElementListButtons(); /* custom element may look different */ +#if 1 + UnmapAllGadgets(); +#else UnmapTapeButtons(); +#endif MapControlButtons(); DrawEditModeWindow(); @@ -7281,7 +7421,7 @@ static int PrintElementDescriptionFromFile(char *filename, int start_line) int max_lines_per_screen = (SYSIZE - pad_y) / font_height - 1; return DrawTextFromFile(sx, sy, filename, font_nr, max_chars_per_line, - max_lines_per_screen); + max_lines_per_screen, TRUE); } static void DrawPropertiesTabulatorGadgets() @@ -9062,7 +9202,14 @@ static void HandleTextAreaGadgets(struct GadgetInfo *gi) { int type_id = gi->custom_type_id; +#if 1 + strncpy(textarea_info[type_id].value, gi->textarea.value, + MAX_ENVELOPE_TEXT_LEN); + textarea_info[type_id].value[MAX_ENVELOPE_TEXT_LEN] = '\0'; +#else + /* !!! BUGGY !!! MAX_ENVELOPE_TEXT_LEN != MAX_GADGET_TEXTSIZE !!! */ strcpy(textarea_info[type_id].value, gi->textarea.value); +#endif level.changed = TRUE; }