# HG changeset patch # User Thibaut Girka # Date 1314523216 -7200 # Node ID e4af16a019d392341291240a8783da0bbfd683c1 # Parent 6a08f44fa01b433f4d02aa4ef6f5aa94b3caade1 Do not remove enemies as soon as they lose their animation (Daiyousei...) diff --git a/pytouhou/game/enemymanager.py b/pytouhou/game/enemymanager.py --- a/pytouhou/game/enemymanager.py +++ b/pytouhou/game/enemymanager.py @@ -119,17 +119,17 @@ class Enemy(object): def is_visible(self, screen_width, screen_height): - if not self._sprite: - return False + if self._sprite: + tx, ty, tw, th = self._sprite.texcoords + if self._sprite.corner_relative_placement: + raise Exception #TODO + else: + tx, ty, tw, th = 0., 0., 0., 0. - tx, ty, tw, th = self._sprite.texcoords - if self._sprite.corner_relative_placement: - raise Exception #TODO - else: - max_x = tw / 2. - max_y = th / 2. - min_x = -max_x - min_y = -max_y + max_x = tw / 2. + max_y = th / 2. + min_x = -max_x + min_y = -max_y if any((min_x > screen_width - self.x, max_x < -self.x, @@ -140,6 +140,9 @@ class Enemy(object): def get_objects_by_texture(self): + if not self._sprite: + return {} + objects_by_texture = {} key = self._sprite.anm.first_name, self._sprite.anm.secondary_name key = (key, self._sprite.blendfunc)