mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
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]
This commit is contained in:
24
midend.c
24
midend.c
@ -80,7 +80,7 @@ struct midend {
|
|||||||
|
|
||||||
int pressed_mouse_button;
|
int pressed_mouse_button;
|
||||||
|
|
||||||
int tilesize, winwidth, winheight;
|
int preferred_tilesize, tilesize, winwidth, winheight;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ensure(me) do { \
|
#define ensure(me) do { \
|
||||||
@ -130,6 +130,26 @@ midend *midend_new(frontend *fe, const game *ourgame,
|
|||||||
else
|
else
|
||||||
me->drawing = NULL;
|
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);
|
sfree(randseed);
|
||||||
|
|
||||||
return me;
|
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);
|
me->ourgame->compute_size(me->params, max, &rx, &ry);
|
||||||
} while (rx <= *x && ry <= *y);
|
} while (rx <= *x && ry <= *y);
|
||||||
} else
|
} else
|
||||||
max = me->ourgame->preferred_tilesize + 1;
|
max = me->preferred_tilesize + 1;
|
||||||
min = 1;
|
min = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user