From 1b2dc5e1692e9d7b010aa9822d228f4fc3c5ac1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Sun, 28 Jan 2018 11:48:41 +0700 Subject: [PATCH] Make all sound playing fail-safe --- brutalmaze/characters.py | 2 +- brutalmaze/maze.py | 2 +- brutalmaze/misc.py | 8 ++++---- setup.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/brutalmaze/characters.py b/brutalmaze/characters.py index c47e22e..262578e 100644 --- a/brutalmaze/characters.py +++ b/brutalmaze/characters.py @@ -79,7 +79,7 @@ class Hero: self.wound -= HEAL_SPEED / self.spin_speed / HERO_HP if self.wound < 0: self.wound = 0.0 if time > self.next_beat: - self.sfx_heart.play() + play(self.sfx_heart) self.next_beat = time + MIN_BEAT*(2 - self.wound/HERO_HP) if self.slashing and time >= self.next_strike: diff --git a/brutalmaze/maze.py b/brutalmaze/maze.py index 86edadf..da3428f 100644 --- a/brutalmaze/maze.py +++ b/brutalmaze/maze.py @@ -365,4 +365,4 @@ class Maze: self.hero.dead = True self.hero.slashing = self.hero.firing = False self.vx = self.vy = 0.0 - self.sfx_lose.play() + play(self.sfx_lose) diff --git a/brutalmaze/misc.py b/brutalmaze/misc.py index eb2d45c..6593c48 100644 --- a/brutalmaze/misc.py +++ b/brutalmaze/misc.py @@ -83,13 +83,14 @@ def choices(d): if num <= w: return population[i] -def play(sound, volume, angle=None): +def play(sound, volume=1.0, angle=None): """Play a pygame.mixer.Sound at the given volume.""" if pygame.mixer.find_channel() is None: pygame.mixer.set_num_channels(pygame.mixer.get_num_channels() + 1) + + channel = sound.play() if angle is None: - sound.set_volume(volume) - sound.play() + channel.set_volume(volume) else: delta = cos(angle) volumes = [volume * (1-delta), volume * (1+delta)] @@ -98,5 +99,4 @@ def play(sound, volume, angle=None): volumes[i - 1] += v - 1 volumes[i] = 1.0 sound.set_volume(1.0) - channel = sound.play() channel.set_volume(*volumes) diff --git a/setup.py b/setup.py index 19ba02b..1984de8 100755 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ with open('README.rst') as f: setup( name='brutalmaze', - version='0.4.1', + version='0.4.2', description='A hash and slash game with fast-paced action and a minimalist art style', long_description=long_description, url='https://github.com/McSinyx/brutalmaze',