fixed lock repulsion
[naja.git] / naja / widgets / tile.py
index 93078a586df3cc90adc1327e59bafd5dff5ac22b..808798fd2e9f88df1a04c1475f3b4d5920695962 100644 (file)
@@ -2,7 +2,7 @@
 import pygame
 
 from naja.constants import (
-    TILE_SIZE, BITS, LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE)
+    TILE_SIZE, BITS, LOCK_HEIGHT, SMALL_LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE)
 from naja.resources import resources
 from naja.resources.mutators import EIGHT_BIT, blender
 from naja.widgets.base import Widget
@@ -78,11 +78,17 @@ class TileWidget(Widget):
             return 4
 
         img_name = BIT_MAP[action.required_bits]
+
         if self.board_pos != self.state.player.position:
             x_offset = 0
         else:
             img_name = img_name.replace('.png', '_small.png')
-            x_offset = 4
+            x_offset = 2
+            if y_offset == LOCK_HEIGHT:
+                y_offset = 0  # middle -> top
+            elif y_offset == 2 * LOCK_HEIGHT:
+                y_offset += LOCK_HEIGHT - SMALL_LOCK_HEIGHT - 2 # bottom -> further down
+
         img = resources.get_image(img_name, transforms=(EIGHT_BIT,))
         self.surface.blit(img, (x_offset, y_offset))
         return x_offset + img.get_width() + 2