Mercurial > scrounge
changeset 52:46f33d277b4d
faster darkness
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sun, 28 Aug 2011 17:37:00 +0200 |
| parents | 1e347ff94ea6 |
| children | 11633a298288 |
| files | src/display.py src/level.py |
| diffstat | 2 files changed, 11 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/display.py Sun Aug 28 17:17:17 2011 +0200 +++ b/src/display.py Sun Aug 28 17:37:00 2011 +0200 @@ -118,9 +118,9 @@ self.scroll_offset = (0, 0) self.background = pygame.Surface((map_size[0] * 24, map_size[1] * 16)) self.background.fill((0, 0, 0)) - self.fog = pygame.Surface((map_size[0] * 24, map_size[1] * 16), - pygame.SRCALPHA) - self.fog.fill((255, 255, 255)) + self.fog = pygame.Surface((map_size[0] * 24, map_size[1] * 16)) + self.fog.fill((0, 0, 0)) + self.fog.set_colorkey((255, 255, 255)) self.sprites.empty() self.shadows.empty() self.overlay.empty() @@ -171,8 +171,7 @@ self.screen.blit(self.fog, (0, 0), pygame.rect.Rect( (-self.scroll_offset[0], -self.scroll_offset[1]), - (self.screen.get_width(), self.screen.get_height())), - pygame.BLEND_RGBA_SUB) + (self.screen.get_width(), self.screen.get_height()))) self.effects.draw(self.screen) self._sprite_shift(self.shadows, self.scroll_offset, reverse=True) self._sprite_shift(self.sprites, self.scroll_offset, reverse=True) @@ -207,7 +206,7 @@ dirty += self.effects.draw(self.screen) for d in dirty: r = d.move(-self.scroll_offset[0], -self.scroll_offset[1]) - self.screen.blit(self.fog, d.topleft, r, pygame.BLEND_RGBA_SUB) + self.screen.blit(self.fog, d.topleft, r) self.effects.draw(self.screen) self._sprite_shift(self.shadows, self.scroll_offset, reverse=True) self._sprite_shift(self.sprites, self.scroll_offset, reverse=True)
--- a/src/level.py Sun Aug 28 17:17:17 2011 +0200 +++ b/src/level.py Sun Aug 28 17:37:00 2011 +0200 @@ -166,13 +166,13 @@ if not self.flags[y][x] & self.EXPLORED: update = True self.flags[y][x] |= self.EXPLORED - to_display.fog.fill((0, 0, 0), - rect=(x * 24, y * 16, 24, 16)) else: holes.add((x - area[0], y - area[1])) - if not update: return + to_display.fog.fill((255, 255, 255), rect=( + area[0] * 24, area[1] * 16, + (area[2] - area[0]) * 24, (area[3] - area[1]) * 16)) dark = display.Darkness(area[0], area[1], area[2] - area[0], area[3] - area[1], holes) to_display.darkness.add(dark) @@ -180,8 +180,9 @@ def render_map(self, to_display, area): if area is None: area = (0, 0, len(self.map[0]), len(self.map)) - to_display.background.fill((0, 0, 0), rect=pygame.rect.Rect(area[0]*24, - area[1]*16, (area[2] - area[0]) * 24, (area[3] - area[1]) * 16)) + to_display.background.fill((0, 0, 0), rect=( + area[0]*24, area[1]*16, + (area[2] - area[0]) * 24, (area[3] - area[1]) * 16)) for y, line in enumerate(self.map[area[1]:area[3]]): for x, c in enumerate(line[area[0]:area[2]]): tile_class = self.key.get(c)
