From 821814fe3234bae5ddd605a83a70b35766408f37 Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Tue, 6 Mar 2018 10:25:04 +0000 Subject: [PATCH] Avoid filtering seams by drawing custom scrollbars twice, like the scuba gear and chaingun. Patch from Fox. git-svn-id: https://svn.eduke32.com/eduke32@6719 1a8010ca-5511-0410-912e-c29ae57300e0 --- source/duke3d/src/menus.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/duke3d/src/menus.cpp b/source/duke3d/src/menus.cpp index 79c10f74b..34cfab8e6 100644 --- a/source/duke3d/src/menus.cpp +++ b/source/duke3d/src/menus.cpp @@ -4338,6 +4338,14 @@ static void Menu_RunScrollbar(Menu_t *cm, MenuMenuFormat_t const * const format, if (scrollTile >= 0) { + // draw the scrollbar (minus the top tile) twice to fill the gaps between tiles + if (tilesiz[scrollTile].y > 0) + { + for (int32_t y = scrollregionstart + ((tilesiz[scrollTileTop].y == 0)*tilesiz[scrollTile].y*ud.menu_scrollbarz); y < scrollregionend; y += tilesiz[scrollTile].y*ud.menu_scrollbarz) + rotatesprite(scrollx, y - (ud.menu_scrollbarz>>1), ud.menu_scrollbarz, 0, scrollTile, 0, 0, 26, 0, 0, xdim-1, mulscale16(scrollregionend, ydim*200)-1); + } + rotatesprite_fs(scrollx, scrollregionend - (ud.menu_scrollbarz>>1), ud.menu_scrollbarz, 0, scrollTileBottom, 0, 0, 26); + if (tilesiz[scrollTile].y > 0) { for (int32_t y = scrollregionstart; y < scrollregionend; y += tilesiz[scrollTile].y*ud.menu_scrollbarz)