From: simon Date: Sun, 4 Sep 2005 12:40:23 +0000 (+0000) Subject: Another global environment-variable override across all games. This X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/83134cff82fffc60405f2b5515897ded96f2d958 Another global environment-variable override across all games. This one is _TILESIZE, adjusting the game's default size. I anticipate that this will probably _mostly_ be useful for debugging. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6269 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/midend.c b/midend.c index 1be8ca9..6d639eb 100644 --- a/midend.c +++ b/midend.c @@ -80,7 +80,7 @@ struct midend { int pressed_mouse_button; - int tilesize, winwidth, winheight; + int preferred_tilesize, tilesize, winwidth, winheight; }; #define ensure(me) do { \ @@ -130,6 +130,26 @@ midend *midend_new(frontend *fe, const game *ourgame, else me->drawing = NULL; + me->preferred_tilesize = ourgame->preferred_tilesize; + { + /* + * Allow an environment-based override for the default tile + * size by defining a variable along the lines of + * `NET_TILESIZE=15'. + */ + + char buf[80], *e; + int j, k, ts; + + sprintf(buf, "%s_TILESIZE", me->ourgame->name); + for (j = k = 0; buf[j]; j++) + if (!isspace((unsigned char)buf[j])) + buf[k++] = toupper((unsigned char)buf[j]); + buf[k] = '\0'; + if ((e = getenv(buf)) != NULL && sscanf(e, "%d", &ts) == 1 && ts > 0) + me->preferred_tilesize = ts; + } + sfree(randseed); return me; @@ -210,7 +230,7 @@ void midend_size(midend *me, int *x, int *y, int expand) me->ourgame->compute_size(me->params, max, &rx, &ry); } while (rx <= *x && ry <= *y); } else - max = me->ourgame->preferred_tilesize + 1; + max = me->preferred_tilesize + 1; min = 1; /*