From c5eb28d360d8fe6b61fc8f4afbfff236d462accd Mon Sep 17 00:00:00 2001 From: Marisa Heit Date: Fri, 11 Nov 2016 22:56:19 -0600 Subject: [PATCH] Fix console scrolling too far when page scrolling with scaled text --- src/c_console.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/c_console.cpp b/src/c_console.cpp index 180898cc5..d4377682d 100644 --- a/src/c_console.cpp +++ b/src/c_console.cpp @@ -100,7 +100,7 @@ extern bool advancedemo; extern FBaseCVar *CVars; extern FConsoleCommand *Commands[FConsoleCommand::HASH_SIZE]; -unsigned ConCols, PhysRows; +unsigned ConCols; int ConWidth; bool vidactive = false; bool cursoron = false; @@ -533,7 +533,6 @@ void C_InitConsole (int width, int height, bool ingame) } ConWidth = (width - LEFTMARGIN - RIGHTMARGIN); ConCols = ConWidth / cwidth; - PhysRows = height / cheight; if (conbuffer == NULL) conbuffer = new FConsoleBuffer; } @@ -1324,7 +1323,7 @@ static bool C_HandleKey (event_t *ev, FCommandBuffer &buffer) case GK_PGUP: if (ev->data3 & (GKM_SHIFT|GKM_CTRL)) { // Scroll console buffer up one page - RowAdjust += (SCREENHEIGHT-4) / + RowAdjust += (SCREENHEIGHT-4)/active_con_scale() / ((gamestate == GS_FULLCONSOLE || gamestate == GS_STARTUP) ? ConFont->GetHeight() : ConFont->GetHeight()*2) - 3; } else if (RowAdjust < conbuffer->GetFormattedLineCount()) @@ -1347,7 +1346,7 @@ static bool C_HandleKey (event_t *ev, FCommandBuffer &buffer) case GK_PGDN: if (ev->data3 & (GKM_SHIFT|GKM_CTRL)) { // Scroll console buffer down one page - const int scrollamt = (SCREENHEIGHT-4) / + const int scrollamt = (SCREENHEIGHT-4)/active_con_scale() / ((gamestate == GS_FULLCONSOLE || gamestate == GS_STARTUP) ? ConFont->GetHeight() : ConFont->GetHeight()*2) - 3; if (RowAdjust < scrollamt) {