From daae49273dec31176c88c5f71d9bfdfd16cf7391 Mon Sep 17 00:00:00 2001 From: ac-stef Date: Sun, 6 Mar 2016 17:31:16 +0100 Subject: [PATCH] remove __fontsetting instead, "curfont" returns name of current font DOCREF __fontsetting curfont --- config/menus_settings.cfg | 3 ++- source/src/command.cpp | 3 +-- source/src/rendertext.cpp | 18 ++---------------- 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/config/menus_settings.cfg b/config/menus_settings.cfg index af8d0e04..18c142a5 100644 --- a/config/menus_settings.cfg +++ b/config/menus_settings.cfg @@ -450,6 +450,7 @@ alias askquit 1 alias showmenuonstartup 1 alias menufilesort_cgz 0 alias menufilesort_dmo 0 +tempalias __fontlist [ default serif mono ] tempalias __screenshottypes ["JPEG (Terrible Quality)" "JPEG (Bad Quality)" "JPEG (Good Quality)" "JPEG (Best Quality)" "PNG (Lossless)" "BMP (Lossless)"] tempalias __getscreenshottype [ @@ -472,7 +473,7 @@ menuitemslider [Servers to ping at once: ] 0 50 "$maxservpings" 5 [] [ maxservpi menuitemslider [Milliseconds between pinging servers: ] 1000 60000 "$servpingrate" 1000 [] [ servpingrate $arg1 ] menuitemslider [Screenshot type: ] 0 5 __getscreenshottype 1 $__screenshottypes [ screenshottype (at "1 1 1 1 2 0" $arg1) ; if (< $arg1 4) [ jpegquality (at [50 70 85 100] $arg1) ] ] menuitemslider [Console size: ] 0 20 "$consize" 1 [] [ consize $arg1 ] -menuitemslider [Font type: ] 0 2 "$__fontsetting" 1 [Default Serif Monospace] [ if (= $arg1 1) [ setfont serif ] [ if (= $arg1 2) [ setfont mono ] [ setfont default ] ] ] +menuitemslider [Font type: ] 0 2 [findlist $__fontlist (curfont)] 1 [Default Serif Monospace] [ setfont (at $__fontlist $arg1) ] menuitemslider [Mini-map background style: ] 0 2 "$showmapbackdrop" 1 ["Fully Transparent" Black White/Transparent] [ showmapbackdrop $arg1 ] menuitemslider [Menu map file sort order: ] 0 (- (listlen (listoptions menufilesortorders)) 1) "$menufilesort_cgz" 1 (listoptions menufilesortorders) [menufilesort_cgz = $arg1] menuitemslider [Menu demo file sort order: ] 0 (- (listlen (listoptions menufilesortorders)) 1) "$menufilesort_dmo" 1 (listoptions menufilesortorders) [menufilesort_dmo = $arg1] diff --git a/source/src/command.cpp b/source/src/command.cpp index 47ad7de9..fec5807e 100644 --- a/source/src/command.cpp +++ b/source/src/command.cpp @@ -1530,8 +1530,7 @@ void writecfg() } extern int lowfps, highfps; f->printf("fpsrange %d %d\n", lowfps, highfps); - extern string myfont; - f->printf("setfont %s\n", myfont); + if(curfont && curfont->name) f->printf("setfont %s\n", curfont->name); f->printf("\n"); audiomgr.writesoundconfig(f); f->printf("\n"); diff --git a/source/src/rendertext.cpp b/source/src/rendertext.cpp index 15c4fc06..7f07fa16 100644 --- a/source/src/rendertext.cpp +++ b/source/src/rendertext.cpp @@ -10,7 +10,6 @@ static font *fontdef = NULL; font *curfont = NULL; VARP(allowblinkingtext, 0, 0, 1); // if you're so inclined -VARP(__fontsetting, 0, 0, 2); void newfont(char *name, char *tex, int *defaultw, int *defaulth, int *offsetx, int *offsety, int *offsetw, int *offseth) { @@ -59,28 +58,15 @@ COMMANDN(font, newfont, "ssiiiiii"); COMMAND(fontchar, "iiii"); COMMAND(fontskip, "i"); -string myfont = "default"; -void newsetfont(const char *name) -{ - if ( setfont(name) ) copystring(myfont,name); -} - bool setfont(const char *name) { font *f = fonts.access(name); if(!f) return false; - int v = -1; - if(strcmp(name, "default")==0) - v = 0; - else if(strcmp(name, "serif")==0) - v = 1; - else if(strcmp(name, "mono")==0) - v = 2; - if(v!=-1) __fontsetting = v; curfont = f; return true; } -COMMANDN(setfont, newsetfont, "s"); +COMMANDF(setfont, "s", (char *name) { setfont(name); }); +COMMANDF(curfont, "", () { result(curfont && curfont->name ? curfont->name : ""); }); font *getfont(const char *name) {