shithub: puzzles

Download patch

ref: 079e0d13288e3fce5b26c9de35e9a01880367097
parent: 8713e2fa8138242df69af501ae8c9c4dc0358d74
author: Simon Tatham <anakin@pobox.com>
date: Sat Apr 23 07:44:41 EDT 2011

Stop calling face_text_pos() for faces that don't need to have text in
them anyway. It's slow and pointless.

[originally from svn r9155]

--- a/loopy.c
+++ b/loopy.c
@@ -3735,9 +3735,11 @@
     draw_rect(dr, x, y, w, h, COL_BACKGROUND);
 
     for (i = 0; i < g->num_faces; i++) {
-        face_text_bbox(ds, g, &g->faces[i], &bx, &by, &bw, &bh);
-        if (boxes_intersect(x, y, w, h, bx, by, bw, bh))
-            game_redraw_clue(dr, ds, state, i);
+        if (state->clues[i] >= 0) {
+            face_text_bbox(ds, g, &g->faces[i], &bx, &by, &bw, &bh);
+            if (boxes_intersect(x, y, w, h, bx, by, bw, bh))
+                game_redraw_clue(dr, ds, state, i);
+        }
     }
     for (phase = 0; phase < NPHASES; phase++) {
         for (i = 0; i < g->num_edges; i++) {