diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-09-04 12:40:23 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-09-04 12:40:23 +0000 |
| commit | dd7c1c983c980edab8af7e626fdbea48e04ff852 (patch) | |
| tree | fc706c6dd766478330b228bdfb28510eed2b2098 | |
| parent | 6ee8a4d71e9f4187bf8fd2b47a966d245172d2cc (diff) | |
| download | puzzles-dd7c1c983c980edab8af7e626fdbea48e04ff852.zip puzzles-dd7c1c983c980edab8af7e626fdbea48e04ff852.tar.gz puzzles-dd7c1c983c980edab8af7e626fdbea48e04ff852.tar.bz2 puzzles-dd7c1c983c980edab8af7e626fdbea48e04ff852.tar.xz | |
Another global environment-variable override across all games. This
one is <game>_TILESIZE, adjusting the game's default size. I
anticipate that this will probably _mostly_ be useful for debugging.
[originally from svn r6269]
| -rw-r--r-- | midend.c | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -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; /* |