diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-02-02 20:37:46 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-02-02 20:37:46 +0000 |
| commit | 601a366b8c665f760463259552fedd7be43e5754 (patch) | |
| tree | f9d315a3bc89b502a2d7cb5508c8c5a470ab01c5 /src/music.c | |
| parent | 6d4e1eae16b84918009625a866104ec26a234277 (diff) | |
- zvuky v hre
- hudba/zvuky sa daju zapnut/vypnut
- tuxovia nemozu ist v arene do nekonecna
- oprava chyby, ak bol zaskrknuty iba samopal, hra sa zasekla
- do widgetu textfiled sa neda pisat donekonecna
- tux ovladany pomocou keyboard_left stiriela a meni zbran
- tuxovia nemozu prechadzat cez seba
git-svn-id: http://opensvn.csie.org/tuxanci_ng@2 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/music.c')
| -rw-r--r-- | src/music.c | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/src/music.c b/src/music.c index 2459787..e3a9d69 100644 --- a/src/music.c +++ b/src/music.c @@ -14,6 +14,7 @@ static list_t *listMusic; static bool_t isMusicInit = FALSE; +static bool_t isMusicActive = TRUE; static music_t *currentMusic; bool_t isMusicInicialized() @@ -23,12 +24,18 @@ bool_t isMusicInicialized() void initMusic() { - assert( isAudioInicialized() ); + if( isAudioInicialized() == FALSE ) + { + isMusicInit = FALSE; + return; + } listMusic = newList(); currentMusic = NULL; isMusicInit = TRUE; + isMusicActive = TRUE; + printf("init music..\n"); } @@ -83,6 +90,12 @@ void addMusic(char *file, char *name, int group) void stopMusic() { + if( isMusicInit == FALSE || + isMusicActive == FALSE ) + { + return; + } + if( currentMusic != NULL ) { printf("stop music %s..\n", currentMusic->name); @@ -96,6 +109,12 @@ void playMusic(char *name, int group) int i; music_t *this; + if( isMusicInit == FALSE || + isMusicActive == FALSE ) + { + return; + } + if( currentMusic != NULL && currentMusic->group == group && strcmp(currentMusic->name, name) == 0 ) @@ -125,6 +144,25 @@ void playMusic(char *name, int group) } } +void setMusicActive(bool_t n) +{ + static music_t *music = NULL; + + if( n == FALSE ) + { + music = currentMusic; + stopMusic(); + } + + if( n == TRUE ) + { + currentMusic = music; + playMixMusic(); + } + + isMusicActive = n; +} + char* getCurrentMusic() { return currentMusic->name; @@ -149,6 +187,11 @@ void delAllMusicInGroup(int group) void quitMusic() { + if( isMusicInit == FALSE ) + { + return; + } + stopMusic(); destroyListItem(listMusic, destroyMusic); isMusicInit = FALSE; |