# These will probably need to go away when we have images
import pygame
-from naja.constants import TILE_SIZE, BITS, LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS
+from naja.constants import (
+ TILE_SIZE, BITS, LOCK_HEIGHT, SMALL_LOCK_HEIGHT, EXAMINE, ACTION_GLYPHS, PALETTE)
from naja.resources import resources
-from naja.resources.mutators import EIGHT_BIT
+from naja.resources.mutators import EIGHT_BIT, blender
from naja.widgets.base import 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
- if y_offset >= TILE_SIZE[1] // 2:
- # FIXME: Hack'ish
- # Bump the lock down by some hand-tuned factor
- # to not overlap with the robot
- y_offset += LOCK_HEIGHT // 2 - 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
GLYPH_MAP[glyph], transforms=(EIGHT_BIT,))
self.surface.blit(img, (x_offset, y_offset + 4))
x_offset += img.get_width()
+ if action.MSB_GLYPH is not None:
+ img = resources.get_image(
+ GLYPH_MAP[action.MSB_GLYPH],
+ transforms=(EIGHT_BIT, blender(PALETTE.LIGHT_VIOLET)))
+ self.surface.blit(img, (x_offset, y_offset + 4))
+ x_offset += img.get_width()
return y_offset + LOCK_HEIGHT
def set_highlight(self, pos):