~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Forgot to set up the initial value of checkboxes.
[sgt/puzzles]
/
midend.c
diff --git
a/midend.c
b/midend.c
index
818b278
..
cacd66e
100644
(file)
--- a/
midend.c
+++ b/
midend.c
@@
-13,6
+13,8
@@
struct midend_data {
frontend *frontend;
struct midend_data {
frontend *frontend;
+ random_state *random;
+
char *seed;
int fresh_seed;
int nstates, statesize, statepos;
char *seed;
int fresh_seed;
int nstates, statesize, statepos;
@@
-36,11
+38,12
@@
struct midend_data {
} \
} while (0)
} \
} while (0)
-midend_data *midend_new(frontend *f
rontend
)
+midend_data *midend_new(frontend *f
e, void *randseed, int randseedsize
)
{
midend_data *me = snew(midend_data);
{
midend_data *me = snew(midend_data);
- me->frontend = frontend;
+ me->frontend = fe;
+ me->random = random_init(randseed, randseedsize);
me->nstates = me->statesize = me->statepos = 0;
me->states = NULL;
me->params = default_params();
me->nstates = me->statesize = me->statepos = 0;
me->states = NULL;
me->params = default_params();
@@
-88,7
+91,7
@@
void midend_new_game(midend_data *me)
if (!me->fresh_seed) {
sfree(me->seed);
if (!me->fresh_seed) {
sfree(me->seed);
- me->seed = new_game_seed(me->params);
+ me->seed = new_game_seed(me->params
, me->random
);
} else
me->fresh_seed = FALSE;
} else
me->fresh_seed = FALSE;
@@
-252,7
+255,7
@@
float *midend_colours(midend_data *me, int *ncolours)
float *ret;
if (me->nstates == 0) {
float *ret;
if (me->nstates == 0) {
- char *seed = new_game_seed(me->params);
+ char *seed = new_game_seed(me->params
, me->random
);
state = new_game(me->params, seed);
sfree(seed);
} else
state = new_game(me->params, seed);
sfree(seed);
} else