aboutsummaryrefslogtreecommitdiff
path: root/midend.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2006-12-26 16:47:28 +0000
committerSimon Tatham <anakin@pobox.com>2006-12-26 16:47:28 +0000
commitd55ad9fc42ab1f1d38dcf6ef02fe9254e6839165 (patch)
tree3b06ffca17a9c7b2294cbabf90cc8a22d948dc63 /midend.c
parentff7d2559eee80771700cfd935d8775e204d62f36 (diff)
downloadpuzzles-d55ad9fc42ab1f1d38dcf6ef02fe9254e6839165.zip
puzzles-d55ad9fc42ab1f1d38dcf6ef02fe9254e6839165.tar.gz
puzzles-d55ad9fc42ab1f1d38dcf6ef02fe9254e6839165.tar.bz2
puzzles-d55ad9fc42ab1f1d38dcf6ef02fe9254e6839165.tar.xz
New mechanism for automatic generation of the puzzle screenshots on
the web, which I hope will also end up being extended to generate both Windows and X icons for each individual puzzle. The mechanism is: for each puzzle there's a save file in the `icons' subdirectory showing a game state which I think is a decent illustration of the puzzle, and then there's a nasty set of scripts which runs each puzzle binary, loads that save file, grabs a screenshot using xwd, and munges it into shape. In order to support this I've added two new options (--redo and --windowid) to all the GTK puzzles, which I don't expect ever to be used outside the icons makefile. I've also added two more options (--load and --id) which force a GTK puzzle to treat its command-line option as a save file or as a game ID respectively (the previous behaviour was always to guess, and sometimes it guessed wrong). [originally from svn r7014]
Diffstat (limited to 'midend.c')
-rw-r--r--midend.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/midend.c b/midend.c
index 4d729e3..779ca0c 100644
--- a/midend.c
+++ b/midend.c
@@ -740,6 +740,17 @@ void midend_redraw(midend *me)
}
}
+/*
+ * Nasty hacky function used to implement the --redo option in
+ * gtk.c. Only used for generating the puzzles' icons.
+ */
+void midend_freeze_timer(midend *me, float tprop)
+{
+ me->anim_pos = me->anim_time * tprop;
+ midend_redraw(me);
+ deactivate_timer(me->frontend);
+}
+
void midend_timer(midend *me, float tplus)
{
int need_redraw = (me->anim_time > 0 || me->flash_time > 0);