From 392b7ff6fe57934a9faab2843445ae3f4451c660 Mon Sep 17 00:00:00 2001 From: limb Date: Wed, 3 Jun 2009 18:44:03 +0000 Subject: [PATCH] Integrate powerup create sound. git-svn-id: svn+ssh://svn/var/repos/curfender@822 bc5cbbab-a4ec-0310-bb52-ff3d296db539 --- main.cpp | 18 +++++++++--------- powerup.cpp | 6 +++++- powerup.h | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/main.cpp b/main.cpp index b94e70d..96f362a 100644 --- a/main.cpp +++ b/main.cpp @@ -991,7 +991,7 @@ int main(int argc, char *argv[]){ //kill landers for(int landerloop = 0; landerloopplayer.y)))){ - determine_powerup(powerups, landers[landerloop], 800); + determine_powerup(powerups, landers[landerloop], 800, pupcreatesound, pupcreatechannel); boom_object(boomstuff, landers[landerloop], boomsound, boomchannel); landers[landerloop] = object_out(landers[landerloop]); score = score + 10; @@ -1000,7 +1000,7 @@ int main(int argc, char *argv[]){ //kill crazies for(int crazyloop = 0; crazyloopplayer.y)))){ - determine_powerup(powerups, crazies[crazyloop], 800); + determine_powerup(powerups, crazies[crazyloop], 800, pupcreatesound, pupcreatechannel); boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel); crazies[crazyloop] = object_out(crazies[crazyloop]); score = score + 10; @@ -1009,7 +1009,7 @@ int main(int argc, char *argv[]){ //kill crawlers for(int crawlerloop = 0; crawlerloopplayer.y)))){ - determine_powerup(powerups, crawlers[crawlerloop], 800); + determine_powerup(powerups, crawlers[crawlerloop], 800, pupcreatesound, pupcreatechannel); boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel); crawlers[crawlerloop] = object_out(crawlers[crawlerloop]); score = score + 10; @@ -1021,7 +1021,7 @@ int main(int argc, char *argv[]){ if((abs(player.y-bosses[bossloop].y)<=40)&&(player.x==bosses[bossloop].x)&&((player.face==0&&(bosses[bossloop].yplayer.y)))){ bosses[bossloop].phase = bosses[bossloop].phase - 5; if(bosses[bossloop].phase<=0){ - determine_powerup(powerups, bosses[bossloop], 600); + determine_powerup(powerups, bosses[bossloop], 600, pupcreatesound, pupcreatechannel); boom_object(boomstuff, bosses[bossloop], boomsound, boomchannel); bosses[bossloop] = object_out(bosses[bossloop]); score = score + 100; @@ -1089,7 +1089,7 @@ int main(int argc, char *argv[]){ smartbombs--; for(int landerloop = 0; landerloop #include +#include "SDL/SDL.h" +#include "SDL/SDL_mixer.h" #include "game_object.h" +#include "play_sound_effect.h" game_object powerup_init(game_object powerup, game_object object){ //Call immediately before an object_out @@ -36,10 +39,11 @@ game_object powerup_init(game_object powerup, game_object object){ return powerup; }; -void determine_powerup(game_object powerups[], game_object object, int odds){ +void determine_powerup(game_object powerups[], game_object object, int odds, Mix_Chunk *sound, int channel){ if(rand()%1000>odds){ for(int puploop = 0; puploop<4; puploop++){ if(powerups[puploop].active==0){ + channel = play_sound_effect(sound); powerups[puploop] = powerup_init(powerups[puploop], object); break; }; diff --git a/powerup.h b/powerup.h index e5ee65a..9fc7f80 100644 --- a/powerup.h +++ b/powerup.h @@ -1,2 +1,2 @@ game_object powerup_init(game_object, game_object); -void determine_powerup(game_object[], game_object, int); +void determine_powerup(game_object[], game_object, int, Mix_Chunk *sound, int channel); -- 2.9.0