diff --git a/engine/client/keys.c b/engine/client/keys.c index de051e73c..4f11f057b 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -719,8 +719,12 @@ void Key_Console (int key) if (key == K_PGUP || key==K_MWHEELUP) { + // scr_conlines actually contains the height of the console in + // pixels (and not the number of lines). It's 22 pixels larger + // than the text area to include borders I guess... weird shit. + // - Molgrum if (keydown[K_CTRL]) - con_current->display -= ( ( con_current->vislines / 8 ) - 3 ); + con_current->display -= ( ( (int)scr_conlines - 22 ) / 8 ); else con_current->display -= 2; if (con_current->display < upperconbound) @@ -730,8 +734,12 @@ void Key_Console (int key) if (key == K_PGDN || key==K_MWHEELDOWN) { + // scr_conlines actually contains the height of the console in + // pixels (and not the number of lines). It's 22 pixels larger + // than the text area to include borders I guess... weird shit. + // - Molgrum if (keydown[K_CTRL]) - con_current->display += ( ( con_current->vislines / 8 ) - 3 ); + con_current->display += ( ( (int)scr_conlines - 22 ) / 8 ); else con_current->display += 2; if (con_current->display < upperconbound)