X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=d7665cc68453897c2215687667cdf1c72a9e2569;hb=e300f91a9ee9f6160aff68d3bc50a21b797d9941;hp=4218efbb530e4bf4e2b07229ebb4f93d1e29864a;hpb=d6d1c9d93fa318a7e49304f008dd6a965a5dc48c;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 4218efbb..d7665cc6 100644 --- a/src/editor.c +++ b/src/editor.c @@ -3742,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; @@ -3749,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, @@ -4305,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, @@ -7300,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() @@ -9081,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; }