From fa38f61c3938f132a651213a3e99c2c2068c56f2 Mon Sep 17 00:00:00 2001 From: svdijk Date: Sun, 30 Sep 2012 21:11:39 +0000 Subject: [PATCH] gl_vidsdl.c: minor improvement to bpp list creation git-svn-id: http://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@752 af15c1b1-3010-417e-b628-4374ebc0bcbd --- Quake/gl_vidsdl.c | 10 +++++++--- Quake/keys.c | 7 +++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Quake/gl_vidsdl.c b/Quake/gl_vidsdl.c index bd0f30ff..a0f4f756 100644 --- a/Quake/gl_vidsdl.c +++ b/Quake/gl_vidsdl.c @@ -33,6 +33,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #endif #define MAX_MODE_LIST 600 //johnfitz -- was 30 +#define MAX_BPPS_LIST 5 #define VID_ROW_SIZE 3 #define WARP_WIDTH 320 #define WARP_HEIGHT 200 @@ -1021,7 +1022,7 @@ static void VID_InitFullDIB (void) SDL_Rect **modes; Uint32 flags; int i, j, k, modenum, originalnummodes, existingmode; - int bpps[3] = {16, 24, 32}; // enumerate >8 bpp modes + int bpps[] = {16, 24, 32}; // enumerate >8 bpp modes originalnummodes = nummodes; modenum = 0; @@ -1029,7 +1030,7 @@ static void VID_InitFullDIB (void) // enumerate fullscreen modes flags = SDL_DEFAULT_FLAGS | SDL_FULLSCREEN; - for (i = 0; i < 3; i++) + for (i = 0; i < (int)sizeof(bpps); i++) { if (nummodes >= MAX_MODE_LIST) break; @@ -1391,7 +1392,7 @@ typedef struct { static vid_menu_mode vid_menu_modes[MAX_MODE_LIST]; static int vid_menu_nummodes = 0; -static int vid_menu_bpps[4]; +static int vid_menu_bpps[MAX_BPPS_LIST]; static int vid_menu_numbpps = 0; #if 0 @@ -1444,6 +1445,9 @@ static void VID_Menu_RebuildBppList (void) for (i = 1; i < nummodes; i++) //start i at mode 1 because 0 is windowed mode { + if (vid_menu_numbpps >= MAX_BPPS_LIST) + break; + //bpp list is limited to bpps available with current width/height if (modelist[i].width != vid_width.value || modelist[i].height != vid_height.value) diff --git a/Quake/keys.c b/Quake/keys.c index 38d5611d..457c50a6 100644 --- a/Quake/keys.c +++ b/Quake/keys.c @@ -237,7 +237,7 @@ void Key_Console (int key) static char current[MAXCMDLINE] = ""; int history_line_last; size_t len; - char *line, *workline = key_lines[edit_line]; + char *workline = key_lines[edit_line]; switch (key) { @@ -297,7 +297,10 @@ void Key_Console (int key) case K_HOME: if (keydown[K_CTRL]) { - int i, x;//skip initial empty lines + //skip initial empty lines + int i, x; + char *line; + for (i = con_current - con_totallines + 1; i <= con_current; i++) { line = con_text + (i % con_totallines) * con_linewidth;