diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c0587f87f..96ff867a8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,6 +4,7 @@ D2X-Rebirth Changelog -------- 2d/font.c, main/gamefont.c, main/gamefont.h, main/menu.c: Scale fonts by float values and filter them if texture filtering is on; Another fix for the code flow in change_res() as the check for minimal custom resolution always failed main/collide.c: Yet another check for collide sounds as FixedStep is not necessarily true if the actual collision happens +main/newmenu.c: Cast LINE_SPACING to integer for menu Scrollbox usages - fixing scrolling issues with non-integer-scaled font sizes 20081028 -------- diff --git a/main/newmenu.c b/main/newmenu.c index 44da506e3..7ad59ef46 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -1116,7 +1116,7 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, if (ScrollOffset != 0) { gr_get_string_size(UP_ARROW_MARKER, &arrow_width, &arrow_height, &aw); x2 = grd_curcanv->cv_bitmap.bm_x + item[ScrollOffset].x-FSPACX(13); - y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset].y-(LINE_SPACING*ScrollOffset); + y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset].y-(((int)LINE_SPACING)*ScrollOffset); x1 = x2 - arrow_width; y2 = y1 + arrow_height; if (((mx > x1) && (mx < x2)) && ((my > y1) && (my < y2)) ) { @@ -1131,7 +1131,7 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, if (ScrollOffset+MaxDisplayablecv_bitmap.bm_x + item[ScrollOffset+MaxDisplayable-1].x-FSPACX(13); - y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset+MaxDisplayable-1].y-(LINE_SPACING*ScrollOffset); + y1 = grd_curcanv->cv_bitmap.bm_y + item[ScrollOffset+MaxDisplayable-1].y-(((int)LINE_SPACING)*ScrollOffset); x1 = x2 - arrow_width; y2 = y1 + arrow_height; if (((mx > x1) && (mx < x2)) && ((my > y1) && (my < y2)) ) { @@ -1344,12 +1344,12 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, // Redraw everything... for (i=ScrollOffset; i