chiark / gitweb /
Position the monster counts more sensibly.
authorSimon Tatham <anakin@pobox.com>
Tue, 7 Jan 2014 18:21:24 +0000 (18:21 +0000)
committerSimon Tatham <anakin@pobox.com>
Tue, 7 Jan 2014 18:21:24 +0000 (18:21 +0000)
Now they're centred within the spare grid cell at the top of the
playing area, rather than being too far down so that the bottoms of
the monster drawings collide with the background of the path clues at
large magnification. Also, while I'm here, I've simplified the code
that draws the monster counts, by moving duplicated parts out of the
branches of the 'if'.

(In fact, almost all of this patch is cleanup; the only substantive
change is the one that changes dy from TILESIZE/2 to TILESIZE/4.)

[originally from svn r10108]

undead.c

index 629de81ea9caa41b4f2ea3ac3367aa3727c5c240..7d68b8183a152891e6e873dc091ed57946339ca4 100644 (file)
--- a/undead.c
+++ b/undead.c
@@ -2273,12 +2273,11 @@ static void draw_monster(drawing *dr, game_drawstate *ds, int x, int y,
 
 static void draw_monster_count(drawing *dr, game_drawstate *ds,
                                const game_state *state, int c, int hflash) {
-    int dx,dy,dh;
+    int dx,dy;
     char buf[8];
     char bufm[8];
     
-    dy = TILESIZE/2;
-    dh = TILESIZE;
+    dy = TILESIZE/4;
     dx = BORDER+(ds->w+2)*TILESIZE/2+TILESIZE/4;
     switch (c) {
       case 0: 
@@ -2297,22 +2296,21 @@ static void draw_monster_count(drawing *dr, game_drawstate *ds,
         break;
     }
 
+    draw_rect(dr, dx-2*TILESIZE/3, dy, 3*TILESIZE/2, TILESIZE,
+              COL_BACKGROUND);
     if (!ds->ascii) { 
-        draw_rect(dr,dx-2*TILESIZE/3,dy,3*TILESIZE/2,dh,COL_BACKGROUND);
-        draw_monster(dr,ds,dx-TILESIZE/3,dh,2*TILESIZE/3,hflash,1<<c);
-        draw_text(dr,dx,dh,FONT_VARIABLE,dy-1,ALIGN_HLEFT|ALIGN_VCENTRE,
-                  (state->count_errors[c] ? COL_ERROR : hflash ? COL_FLASH : COL_TEXT), buf);
-        draw_update(dr,dx-2*TILESIZE/3,dy,3*TILESIZE/2,dh);
-    }
-    else {
-        draw_rect(dr,dx-2*TILESIZE/3,dy,3*TILESIZE/2,dh,COL_BACKGROUND);
-        draw_text(dr,dx-TILESIZE/3,dh,FONT_VARIABLE,dy-1,
+        draw_monster(dr, ds, dx-TILESIZE/3, dy+TILESIZE/2,
+                     2*TILESIZE/3, hflash, 1<<c);
+    } else {
+        draw_text(dr, dx-TILESIZE/3,dy+TILESIZE/2,FONT_VARIABLE,TILESIZE/2,
                   ALIGN_HCENTRE|ALIGN_VCENTRE,
                   hflash ? COL_FLASH : COL_TEXT, bufm);
-        draw_text(dr,dx,dh,FONT_VARIABLE,dy-1,ALIGN_HLEFT|ALIGN_VCENTRE,
-                  (state->count_errors[c] ? COL_ERROR : hflash ? COL_FLASH : COL_TEXT), buf);        
-        draw_update(dr,dx-2*TILESIZE/3,dy,3*TILESIZE/2,dh);
     }
+    draw_text(dr, dx, dy+TILESIZE/2, FONT_VARIABLE, TILESIZE/2,
+              ALIGN_HLEFT|ALIGN_VCENTRE,
+              (state->count_errors[c] ? COL_ERROR :
+               hflash ? COL_FLASH : COL_TEXT), buf);
+    draw_update(dr, dx-2*TILESIZE/3, dy, 3*TILESIZE/2, TILESIZE);
 
     return;
 }