- screen_pos = -viewport[0], -viewport[1]
- if self._level_layer == 'floor':
- screen.blit(self._surfaces[self._level_layer], screen_pos)
- else:
- # blit tunnels, with translucent overlay
- # We need to call pygame.Surface.blit ourselves,
- # since pgzero's screen blit hides the blend flags
- # from us
- tunnels = self._surfaces[self._level_layer].copy()
- tunnels.blit(self._overlay, (0, 0),
- special_flags=pgl.BLEND_MULT)
- screen.blit(tunnels, screen_pos)
+ screen.surface.blit(self._surfaces[self._level_layer], (0, 0),
+ area=(viewport[0], viewport[1], WIDTH, HEIGHT))
+ if self._level_layer != 'floor':
+ screen.surface.blit(self._overlay, (0, 0),
+ area=(viewport[0], viewport[1], WIDTH, HEIGHT),
+ special_flags=pgl.BLEND_ADD)