-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsound.c
65 lines (52 loc) · 1.38 KB
/
sound.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include "sound.h"
#include "additions.h"
Mix_Chunk* LoadSound (const char* fileName)
{
if (!FileExists(fileName))
{
printf ("File '%s' doesn't exists!\n", fileName);
return NULL;
}
Mix_Chunk* snd = Mix_LoadWAV (fileName);
return snd;
}
void LoadSounds()
{
sndCoin = LoadSound ("./media/snd/smb_coin.wav");
sndPowerUp = LoadSound ("./media/snd/smb_powerup.wav");
sndKick = LoadSound ("./media/snd/smb_kick.wav");
sndJump = LoadSound ("./media/snd/smb_jump-small.wav");
sndMarioDie = LoadSound ("./media/snd/smb_mariodie.wav");
sndBump = LoadSound ("./media/snd/smb_bump.wav");
sndBreakBlock = LoadSound ("./media/snd/smb_breakblock.wav");
}
void FreeSounds()
{
Mix_FreeChunk (sndCoin);
Mix_FreeChunk (sndPowerUp);
Mix_FreeChunk (sndKick);
Mix_FreeChunk (sndJump);
Mix_FreeChunk (sndMarioDie);
Mix_FreeChunk (sndBump);
Mix_FreeChunk (sndBreakBlock);
sndCoin = NULL;
sndPowerUp = NULL;
sndKick = NULL;
sndJump = NULL;
sndMarioDie = NULL;
sndBump = NULL;
sndBreakBlock = NULL;
}
void SoundPlay (Mix_Chunk* snd, uint16 loops)
{
if (snd == NULL)
return;
if (!audioSystemLoaded)
return;
Mix_PlayChannel (-1, snd, loops);
}
void StopAllSounds()
{
Mix_HaltChannel(-1);
}