# HG changeset patch # User Neil Muller # Date 1378246289 -7200 # Node ID 434b5a3aaaff8715387673c82d90352c37304fc1 # Parent f2128ddc0acdb588cb6699ac422f840fbdd7bcff Pass display offset to overlays for when the display is larger than the level diff -r f2128ddc0acd -r 434b5a3aaaff nagslang/game_object.py --- a/nagslang/game_object.py Tue Sep 03 23:58:57 2013 +0200 +++ b/nagslang/game_object.py Wed Sep 04 00:11:29 2013 +0200 @@ -90,7 +90,7 @@ def set_game_object(self, game_object): self.game_object = game_object - def render(self, surface): + def render(self, surface, display_offset): pass def is_visible(self): @@ -102,7 +102,13 @@ self.text = text self.widget = LabelWidget((20, 20), self.text) - def render(self, surface): + def render(self, surface, display_offset): + x, y = 20, 20 + if display_offset[0] < 0: + x += abs(display_offset[0]) + if display_offset[1] < 0: + y += abs(display_offset[1]) + self.widget.rect.topleft = (x, y) self.widget.draw(surface) diff -r f2128ddc0acd -r 434b5a3aaaff nagslang/screens/area.py --- a/nagslang/screens/area.py Tue Sep 03 23:58:57 2013 +0200 +++ b/nagslang/screens/area.py Wed Sep 04 00:11:29 2013 +0200 @@ -173,7 +173,7 @@ surface.blit(mysurface, (0, 0), render_rect) for overlay in self._level.overlay_drawables: if overlay.is_visible(): - overlay.render(surface) + overlay.render(surface, render_rect.topleft) def tick_protagonist(self): dx, dy = self.keys.get_direction()