X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=db347cdaa88e55ca0c28a2ce531b74fb2e7ef08c;hb=e51177796149f37de339bda83558c3c49758be93;hp=9fbd5b1b487ea80e54320890e3389d04a3043a19;hpb=59ee473b86e7cbc1d9b09a3c22b0bbd3a410f16f;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 9fbd5b1b..db347cda 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1025,7 +1025,11 @@ static boolean insideTextPosRect(struct TextPosInfo *rect, int x, int y) static void drawCursorExt(int xpos, int ypos, boolean active, int graphic) { +#if 1 + static int cursor_array[MAX_LEV_FIELDY]; +#else static int cursor_array[SCR_FIELDY]; +#endif int x = mSX + TILEX * xpos; int y = mSY + TILEY * (MENU_SCREEN_START_YPOS + ypos); @@ -1186,7 +1190,7 @@ void DrawTitleScreenMessage(int nr, boolean initial) ClearRectangleOnBackground(drawto, 0, 0, WIN_XSIZE, WIN_YSIZE); DrawTextFile(ALIGNED_TEXT_XPOS(tmi), ALIGNED_TEXT_YPOS(tmi), - filename, tmi->font, tmi->chars, -1, tmi->lines, -1, + filename, tmi->font, tmi->chars, -1, tmi->lines, 0, -1, tmi->autowrap, tmi->centered, tmi->parse_comments); game_status = last_game_status; /* restore current game status */ @@ -1286,8 +1290,8 @@ void DrawMainMenuExt(int fade_mask, boolean do_fading) #endif #if 1 - /* needed if newly loaded custom artwork requires a different screen mode */ - ChangeScreenModeIfNeeded(); + /* needed if different viewport properties defined for menues */ + ChangeViewportPropertiesIfNeeded(); #endif #if defined(TARGET_SDL) @@ -1387,7 +1391,7 @@ void DrawMainMenu() DrawMainMenuExt(REDRAW_ALL, FALSE); } -#if 0 +#if defined(CREATE_SPECIAL_EDITION_RND_JUE) static void gotoTopLevelDir() { /* move upwards to top level directory */ @@ -1754,7 +1758,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) SaveLevelSetup_LastSeries(); SaveLevelSetup_SeriesInfo(); -#if 0 +#if defined(CREATE_SPECIAL_EDITION_RND_JUE) gotoTopLevelDir(); #endif @@ -1777,6 +1781,11 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) FadeSetEnterScreen(); +#if 0 + /* needed if different viewport properties defined for editor */ + ChangeViewportPropertiesIfNeeded(); +#endif + DrawLevelEd(); } else if (pos == MAIN_CONTROL_INFO) @@ -2247,7 +2256,7 @@ void DrawInfoScreen_HelpText(int element, int action, int direction, int ypos) sy += getFontHeight(font_nr) / 2; DrawTextBuffer(sx, sy + ypos * ystep, text, font_nr, - max_chars_per_line, -1, max_lines_per_text, -1, + max_chars_per_line, -1, max_lines_per_text, 0, -1, TRUE, FALSE, FALSE); } @@ -3051,7 +3060,7 @@ void DrawInfoScreen_LevelSet() if (filename != NULL) DrawTextFile(mSX + ALIGNED_TEXT_XPOS(tmi), mSY + ALIGNED_TEXT_YPOS(tmi), - filename, tmi->font, tmi->chars, -1, tmi->lines, -1, + filename, tmi->font, tmi->chars, -1, tmi->lines, 0, -1, tmi->autowrap, tmi->centered, tmi->parse_comments); else DrawTextCentered(mSY + ALIGNED_TEXT_YPOS(tmi), FONT_TEXT_2, @@ -5673,13 +5682,21 @@ static struct { { IMG_MENU_BUTTON_UP, IMG_MENU_BUTTON_UP_ACTIVE, +#if 1 + -1, -1, /* these values are not constant, but can change at runtime */ +#else SC_SCROLL_UP_XPOS, SC_SCROLL_UP_YPOS, +#endif SCREEN_CTRL_ID_SCROLL_UP, "scroll up" }, { IMG_MENU_BUTTON_DOWN, IMG_MENU_BUTTON_DOWN_ACTIVE, +#if 1 + -1, -1, /* these values are not constant, but can change at runtime */ +#else SC_SCROLL_DOWN_XPOS, SC_SCROLL_DOWN_YPOS, +#endif SCREEN_CTRL_ID_SCROLL_DOWN, "scroll down" } @@ -5705,8 +5722,13 @@ static struct #else IMG_MENU_SCROLLBAR, IMG_MENU_SCROLLBAR_ACTIVE, #endif +#if 1 + -1, -1, /* these values are not constant, but can change at runtime */ + -1, -1, /* these values are not constant, but can change at runtime */ +#else SC_SCROLL_VERTICAL_XPOS, SC_SCROLL_VERTICAL_YPOS, SC_SCROLL_VERTICAL_XSIZE, SC_SCROLL_VERTICAL_YSIZE, +#endif GD_TYPE_SCROLLBAR_VERTICAL, SCREEN_CTRL_ID_SCROLL_VERTICAL, "scroll level series vertically" @@ -5772,6 +5794,12 @@ static void CreateScreenScrollbuttons() unsigned long event_mask; int i; + /* these values are not constant, but can change at runtime */ + scrollbutton_info[0].x = SC_SCROLL_UP_XPOS; + scrollbutton_info[0].y = SC_SCROLL_UP_YPOS; + scrollbutton_info[1].x = SC_SCROLL_DOWN_XPOS; + scrollbutton_info[1].y = SC_SCROLL_DOWN_YPOS; + for (i = 0; i < NUM_SCREEN_SCROLLBUTTONS; i++) { Bitmap *gd_bitmap_unpressed, *gd_bitmap_pressed; @@ -5827,6 +5855,12 @@ static void CreateScreenScrollbars() { int i; + /* these values are not constant, but can change at runtime */ + scrollbar_info[0].x = SC_SCROLL_VERTICAL_XPOS; + scrollbar_info[0].y = SC_SCROLL_VERTICAL_YPOS; + scrollbar_info[0].width = SC_SCROLL_VERTICAL_XSIZE; + scrollbar_info[0].height = SC_SCROLL_VERTICAL_YSIZE; + for (i = 0; i < NUM_SCREEN_SCROLLBARS; i++) { Bitmap *gd_bitmap_unpressed, *gd_bitmap_pressed;