Skip to content

Commit 359f864

Browse files
authored
Adds SFX for potion pickups (#109)
1 parent 08d7705 commit 359f864

File tree

6 files changed

+49
-39
lines changed

6 files changed

+49
-39
lines changed

assets/Sounds/FX/freeze.wav

207 KB
Binary file not shown.

assets/Sounds/FX/growl.wav

167 KB
Binary file not shown.

src/doorlocktype.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@
1515
* You should have received a copy of the GNU General Public License
1616
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
18-
19-
#pragma once
18+
#ifndef _DOORLOCK_TYPE_H_
19+
#define _DOORLOCK_TYPE_H_
2020

2121
typedef enum DoorLockType {
2222
LOCK_NONE,
2323
LOCK_SILVER,
2424
LOCK_GOLD
2525
} DoorLockType;
26+
27+
#endif // _DOORLOCK_TYPE_H_
28+

src/item_builder.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "texturecache.h"
3030
#include "sprite.h"
3131
#include "sprite_util.h"
32-
#include "map.h"
32+
#include "doorlocktype.h"
3333

3434
static ItemBuilder *builder = NULL;
3535

@@ -205,6 +205,7 @@ pickup_bloodlust(Item *item, Player *player)
205205
player->effects.effect = POTION_BLOODLUST;
206206
player->effects.damage_multiplier = 4;
207207
sprite_set_color_mod(player->sprite, 255, 25, 45);
208+
mixer_play_effect(GROWL);
208209
}
209210

210211
static void
@@ -216,14 +217,13 @@ pickup_frost(Item *item, Player *player)
216217
player->effects.effect = POTION_FROST;
217218
player->effects.damage_reduction = (uint8_t)(2 * player->stats.lvl);
218219
sprite_set_color_mod(player->sprite, 94, 156, 255);
220+
mixer_play_effect(FREEZE);
219221
}
220222

221223
Item *
222224
item_builder_build_potion(PotionEffect effect)
223225
{
224-
Item *item;
225-
226-
assert(effect != POTION_NONE);
226+
Item *item = NULL;
227227

228228
switch (effect) {
229229
case POTION_BLOODLUST:
@@ -239,7 +239,10 @@ item_builder_build_potion(PotionEffect effect)
239239
pickup_frost);
240240
break;
241241
case POTION_NONE:
242+
fatal("Potion effect is POTION_NONE");
243+
break;
242244
default:
245+
fatal("Unhandled potion effect");
243246
break;
244247
}
245248

src/mixer.c

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -59,49 +59,51 @@ load_effect(char *path)
5959
static void
6060
load_effects(void)
6161
{
62-
effects[CLICK] = load_effect("Sounds/FX/click.wav");
63-
effects[SWING0] = load_effect("Sounds/FX/swing.wav");
64-
effects[SWING1] = load_effect("Sounds/FX/swing2.wav");
65-
effects[SWING2] = load_effect("Sounds/FX/swing3.wav");
66-
effects[SWOOSH] = load_effect("Sounds/FX/swoosh.wav");
67-
effects[TRIPPLE_SWING] = load_effect("Sounds/FX/tripple_swing.wav");
68-
effects[SWORD_HIT] = load_effect("Sounds/FX/sword_hit.wav");
69-
effects[DOUBLE_SWORD_HIT] = load_effect("Sounds/FX/double_sword_hit.wav");
70-
effects[TRIPPLE_SWORD_HIT] = load_effect("Sounds/FX/tripple_sword_hit.wav");
62+
effects[BLAST_EFFECT] = load_effect("Sounds/FX/blast.wav");
63+
effects[BLINK_EFFECT] = load_effect("Sounds/FX/blink.wav");
7164
effects[BONK] = load_effect("Sounds/FX/bonk.wav");
72-
effects[DEATH] = load_effect("Sounds/FX/death.wav");
73-
effects[COIN] = load_effect("Sounds/FX/coin.wav");
7465
effects[BOTTLE] = load_effect("Sounds/FX/bottle.wav");
7566
effects[BUBBLE0] = load_effect("Sounds/FX/bubble.wav");
7667
effects[BUBBLE1] = load_effect("Sounds/FX/bubble2.wav");
7768
effects[BUBBLE2] = load_effect("Sounds/FX/bubble3.wav");
69+
effects[BURST] = load_effect("Sounds/FX/burst.wav");
70+
effects[CHEST_OPEN] = load_effect("Sounds/FX/chest_open.wav");
71+
effects[CLICK] = load_effect("Sounds/FX/click.wav");
72+
effects[COIN] = load_effect("Sounds/FX/coin.wav");
73+
effects[COIN_DROP1] = load_effect("Sounds/FX/coin2.wav");
74+
effects[COIN_DROP2] = load_effect("Sounds/FX/coin3.wav");
75+
effects[DAGGER_PICKUP] = load_effect("Sounds/FX/dagger_pickup.wav");
76+
effects[DEATH] = load_effect("Sounds/FX/death.wav");
77+
effects[DOOR_OPEN] = load_effect("Sounds/FX/door_open.wav");
78+
effects[DOUBLE_SWORD_HIT] = load_effect("Sounds/FX/double_sword_hit.wav");
7879
effects[EAT] = load_effect("Sounds/FX/eat.wav");
80+
effects[EXPLOSION_EFFECT] = load_effect("Sounds/FX/explosion.wav");
81+
effects[FADE_IN] = load_effect("Sounds/FX/fade_in.wav");
82+
effects[FADE_OUT] = load_effect("Sounds/FX/fade_out.wav");
83+
effects[FALL0] = load_effect("Sounds/FX/fall0.wav");
84+
effects[FALL1] = load_effect("Sounds/FX/fall1.wav");
85+
effects[FLESH_DROP1] = load_effect("Sounds/FX/flesh_drop1.wav");
86+
effects[FLESH_DROP2] = load_effect("Sounds/FX/flesh_drop2.wav");
87+
effects[FREEZE] = load_effect("Sounds/FX/freeze.wav");
88+
effects[GROWL] = load_effect("Sounds/FX/growl.wav");
89+
effects[KEY_PICKUP] = load_effect("Sounds/FX/key_pickup.wav");
7990
effects[LEVEL_UP] = load_effect("Sounds/FX/level_up.wav");
91+
effects[MAGIC_PICKUP] = load_effect("Sounds/FX/magic_pickup.wav");
92+
effects[METAL_DROP] = load_effect("Sounds/FX/metal-small3.wav");
8093
effects[NEXT_LEVEL] = load_effect("Sounds/FX/next_level.wav");
81-
effects[SPLAT] = load_effect("Sounds/FX/splat.wav");
8294
effects[PLAYER_HIT0] = load_effect("Sounds/FX/fistpunch_vocal_01.wav");
8395
effects[PLAYER_HIT1] = load_effect("Sounds/FX/fistpunch_vocal_02.wav");
8496
effects[PLAYER_HIT2] = load_effect("Sounds/FX/fistpunch_vocal_03.wav");
85-
effects[DAGGER_PICKUP] = load_effect("Sounds/FX/dagger_pickup.wav");
86-
effects[FALL0] = load_effect("Sounds/FX/fall0.wav");
87-
effects[FALL1] = load_effect("Sounds/FX/fall1.wav");
88-
effects[SLAM] = load_effect("Sounds/FX/slam.wav");
89-
effects[MAGIC_PICKUP] = load_effect("Sounds/FX/magic_pickup.wav");
90-
effects[CHEST_OPEN] = load_effect("Sounds/FX/chest_open.wav");
91-
effects[FADE_IN] = load_effect("Sounds/FX/fade_in.wav");
92-
effects[FADE_OUT] = load_effect("Sounds/FX/fade_out.wav");
93-
effects[BURST] = load_effect("Sounds/FX/burst.wav");
94-
effects[DOOR_OPEN] = load_effect("Sounds/FX/door_open.wav");
95-
effects[KEY_PICKUP] = load_effect("Sounds/FX/key_pickup.wav");
96-
effects[BLINK_EFFECT] = load_effect("Sounds/FX/blink.wav");
97-
effects[BLAST_EFFECT] = load_effect("Sounds/FX/blast.wav");
98-
effects[EXPLOSION_EFFECT] = load_effect("Sounds/FX/explosion.wav");
99-
effects[COIN_DROP1] = load_effect("Sounds/FX/coin2.wav");
100-
effects[COIN_DROP2] = load_effect("Sounds/FX/coin3.wav");
101-
effects[METAL_DROP] = load_effect("Sounds/FX/metal-small3.wav");
10297
effects[POTION_DROP] = load_effect("Sounds/FX/potion_drop.wav");
103-
effects[FLESH_DROP1] = load_effect("Sounds/FX/flesh_drop1.wav");
104-
effects[FLESH_DROP2] = load_effect("Sounds/FX/flesh_drop2.wav");
98+
effects[SLAM] = load_effect("Sounds/FX/slam.wav");
99+
effects[SPLAT] = load_effect("Sounds/FX/splat.wav");
100+
effects[SWING0] = load_effect("Sounds/FX/swing.wav");
101+
effects[SWING1] = load_effect("Sounds/FX/swing2.wav");
102+
effects[SWING2] = load_effect("Sounds/FX/swing3.wav");
103+
effects[SWOOSH] = load_effect("Sounds/FX/swoosh.wav");
104+
effects[SWORD_HIT] = load_effect("Sounds/FX/sword_hit.wav");
105+
effects[TRIPPLE_SWING] = load_effect("Sounds/FX/tripple_swing.wav");
106+
effects[TRIPPLE_SWORD_HIT] = load_effect("Sounds/FX/tripple_sword_hit.wav");
105107
}
106108

107109
void

src/mixer.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
#include "gamestate.h"
2424

2525
typedef enum Music_t {
26-
MENU_MUSIC,
26+
BOSS_MUSIC0,
2727
GAME_MUSIC0,
2828
GAME_MUSIC1,
2929
GAME_MUSIC2,
30-
BOSS_MUSIC0,
30+
MENU_MUSIC,
3131
LAST_MUSIC
3232
} Music;
3333

@@ -57,6 +57,8 @@ typedef enum Fx_t {
5757
FALL1,
5858
FLESH_DROP1,
5959
FLESH_DROP2,
60+
FREEZE,
61+
GROWL,
6062
KEY_PICKUP,
6163
LEVEL_UP,
6264
MAGIC_PICKUP,

0 commit comments

Comments
 (0)