commit 2a786cc67e1cfb7472b117f05e1f9962d7d3da39
Author: Simon Howard <fraggle@gmail.com>
AuthorDate: Sun Dec 5 14:42:09 2010 +0000
Commit: Simon Howard <fraggle@gmail.com>
CommitDate: Sun Dec 5 14:42:09 2010 +0000
Allow textscreen font to be overridden using the TEXTSCREEN_FONT command
line variable.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2195
---
textscreen/txt_sdl.c | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/textscreen/txt_sdl.c b/textscreen/txt_sdl.c
index 0df9fc93..315d2762 100644
--- a/textscreen/txt_sdl.c
+++ b/textscreen/txt_sdl.c
@@ -119,6 +119,22 @@ static SDL_Color ega_colors[] =
#endif
+static txt_font_t *FontForName(char *name)
+{
+ if (!strcmp(name, "small"))
+ {
+ return &small_font;
+ }
+ else if (!strcmp(name, "normal"))
+ {
+ return &main_font;
+ }
+ else
+ {
+ return NULL;
+ }
+}
+
//
// Select the font to use, based on screen resolution
//
@@ -129,9 +145,22 @@ static SDL_Color ega_colors[] =
static void ChooseFont(void)
{
SDL_Rect **modes;
+ char *env;
int i;
- font = &main_font;
+ // Allow normal selection to be overridden from an environment variable:
+
+ env = getenv("TEXTSCREEN_FONT");
+
+ if (env != NULL)
+ {
+ font = FontForName(env);
+
+ if (font != NULL)
+ {
+ return;
+ }
+ }
// Check all modes
@@ -140,6 +169,8 @@ static void ChooseFont(void)
// If in doubt and we can't get a list, always prefer to
// fall back to the normal font:
+ font = &main_font;
+
if (modes == NULL || modes == (SDL_Rect **) -1 || *modes == NULL)
{
#ifdef _WIN32_WCE