boom sound integration complete.
authorlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Thu, 28 May 2009 19:11:29 +0000 (19:11 +0000)
committerlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Thu, 28 May 2009 19:11:29 +0000 (19:11 +0000)
git-svn-id: svn+ssh://svn/var/repos/curfender@807 bc5cbbab-a4ec-0310-bb52-ff3d296db539

main.cpp

index 08266b1..bcb7b87 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -569,45 +569,12 @@ void draw_board(){
   mvprintw(22,9,"S:%3d",  shieldsleft);
 }
 
-void boom_object(game_object boomstuff, game_object object){
-  int deathcycle=1;
-  int loop=1;
-  boomstuff.active=1;
-  while(deathcycle<=7){
-    for(int boomx=object.x-10;boomx<=object.x+10;boomx++){
-      for(int boomy=object.y-10;boomy<=object.y+10;boomy++){
-       if(sqrt((abs(object.y-boomy)*abs(object.y-boomy))+(abs(object.x-boomx)*abs(object.x-boomx)))<=deathcycle){
-         if(rand()%1000>900){
-           boomstuff.x = boomx;
-           boomstuff.y = boomy;
-           if(rand()%1000>500){
-             boomstuff.face = 0;
-           } else {
-             boomstuff.face = 1;
-           };
-           for(int iterations=0;iterations<=loop;iterations++){
-             drawlocation = draw_object(boomstuff, drawlocation);
-           };
-           //get the cursor out of the way
-           mvprintw(23,79,"-");
-           refresh();
-         };
-       };
-      };
-    };
-    deathcycle++;
-  };
-  if(object.number!=1){
-    usleep(50000);
-  };
-}
-
 int play_sound_effect(Mix_Chunk *chunk){
   int channel = Mix_PlayChannel(-1, chunk, 0);
   return channel;
 };
 
-void boom_object_test(game_object boomstuff, game_object object, Mix_Chunk *sound, int channel){
+void boom_object(game_object boomstuff, game_object object, Mix_Chunk *sound, int channel){
   int deathcycle=1;
   int loop=1;
   boomstuff.active=1;
@@ -1669,8 +1636,7 @@ int main(){
        for(int landerloop = 0; landerloop<landermax; landerloop++){
          if((abs(player.y-landers[landerloop].y)<=40)&&(player.x==landers[landerloop].x)&&((player.face==0&&(landers[landerloop].y<player.y))||(player.face==1&&(landers[landerloop].y>player.y)))){
            determine_powerup(powerups, landers[landerloop], 800);
-            boomchannel = play_sound_effect(boomsound);            
-           boom_object(boomstuff, landers[landerloop]);
+           boom_object(boomstuff, landers[landerloop], boomsound, boomchannel);
            landers[landerloop] = object_out(landers[landerloop]);
            score = score + 10;
          };
@@ -1678,8 +1644,8 @@ int main(){
        //kill crazies
        for(int crazyloop = 0; crazyloop<landermax; crazyloop++){
          if((abs(player.y-crazies[crazyloop].y)<=40)&&(player.x==crazies[crazyloop].x)&&((player.face==0&&(crazies[crazyloop].y<player.y))||(player.face==1&&(crazies[crazyloop].y>player.y)))){
-           determine_powerup(powerups, crazies[crazyloop], 800);           
-           boom_object(boomstuff, crazies[crazyloop]);
+           determine_powerup(powerups, crazies[crazyloop], 800);
+           boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel);     
            crazies[crazyloop] = object_out(crazies[crazyloop]);
            score = score + 10;
          };
@@ -1688,7 +1654,7 @@ int main(){
        for(int crawlerloop = 0; crawlerloop<crawlermax; crawlerloop++){
          if((abs(player.y-crawlers[crawlerloop].y)<=40)&&(player.x==crawlers[crawlerloop].x)&&((player.face==0&&(crawlers[crawlerloop].y<player.y))||(player.face==1&&(crawlers[crawlerloop].y>player.y)))){
            determine_powerup(powerups, crawlers[crawlerloop], 800);
-           boom_object(boomstuff, crawlers[crawlerloop]);
+           boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel);
            crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
            score = score + 10;
          };
@@ -1699,7 +1665,7 @@ int main(){
            saucer.phase = saucer.phase - 5;
            if(saucer.phase<=0){
              determine_powerup(powerups, saucer, 600);
-             boom_object(boomstuff, saucer);
+             boom_object(boomstuff, saucer, boomsound, boomchannel);
              saucer = object_out(saucer);
              score = score + 100;
            };
@@ -1766,21 +1732,21 @@ int main(){
       for(int landerloop = 0; landerloop<landermax; landerloop++){
        if(abs(player.y-landers[landerloop].y)<=40){
          determine_powerup(powerups, landers[landerloop], 800);
-         boom_object(boomstuff, landers[landerloop]);
+         boom_object(boomstuff, landers[landerloop], boomsound, boomchannel);
          landers[landerloop] = object_out(landers[landerloop]);
          score = score + 20;
        };
       };
       for(int crazyloop = 0; crazyloop<landermax; crazyloop++){
        if(abs(player.y-crazies[crazyloop].y)<=40){
-         boom_object(boomstuff, crazies[crazyloop]);
+         boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel);
          crazies[crazyloop] = object_out(crazies[crazyloop]);
          score = score + 20;
        };
       };
       for(int crawlerloop = 0; crawlerloop<crawlermax; crawlerloop++){
        if(abs(player.y-crawlers[crawlerloop].y)<=40){
-         boom_object(boomstuff, crawlers[crawlerloop]);
+         boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel);
          crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
          score = score + 20;
        };
@@ -1789,7 +1755,7 @@ int main(){
        if(abs(player.y-saucer.y)<=40){
          saucer.phase = saucer.phase - 5;
          if(saucer.phase<=0){
-           boom_object(boomstuff, saucer);
+           boom_object(boomstuff, saucer, boomsound, boomchannel);
            saucer = object_out(saucer);
            score = score + 100;
          };
@@ -1817,8 +1783,7 @@ int main(){
            if(check_collision(bullets[bulletloop], landers[landerloop])==1){
              //kill lander and bullet
              determine_powerup(powerups, landers[landerloop], 800);
-             //if(sound==1){boomchannel = play_sound_effect(boomsound);};
-             boom_object_test(boomstuff, landers[landerloop], boomsound, boomchannel);
+             boom_object(boomstuff, landers[landerloop], boomsound, boomchannel);
              landers[landerloop] = object_out(landers[landerloop]);
              bullets[bulletloop].vtime = 100;
              bullets[bulletloop] = age_bullet(bullets[bulletloop]);
@@ -1833,7 +1798,7 @@ int main(){
            if(check_collision(bullets[bulletloop], crazies[crazyloop])==1){
              //kill crazy and bullet
              determine_powerup(powerups, crazies[crazyloop], 800);           
-             boom_object(boomstuff, crazies[crazyloop]);
+             boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel);
              crazies[crazyloop] = object_out(crazies[crazyloop]);
              bullets[bulletloop].vtime = 100;
              bullets[bulletloop] = age_bullet(bullets[bulletloop]);
@@ -1848,7 +1813,7 @@ int main(){
            if(check_collision(bullets[bulletloop], crawlers[crawlerloop])==1){
              //kill crawler and bullet
              determine_powerup(powerups, crawlers[crawlerloop], 800);
-             boom_object(boomstuff, crawlers[crawlerloop]);
+             boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel);
              crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
              bullets[bulletloop].vtime = 100;
              bullets[bulletloop] = age_bullet(bullets[bulletloop]);
@@ -1864,7 +1829,7 @@ int main(){
            saucer.phase = saucer.phase - 1;
            if(saucer.phase<=0){
              determine_powerup(powerups, saucer, 600);
-             boom_object(boomstuff, saucer);
+             boom_object(boomstuff, saucer, boomsound, boomchannel);
              saucer = object_out(saucer);
              bullets[bulletloop].vtime = 100;
              bullets[bulletloop] = age_bullet(bullets[bulletloop]);
@@ -1885,7 +1850,7 @@ int main(){
          lives--;
          //add to score
          score = score + 20;
-         boom_object(boomstuff, player);
+         boom_object(boomstuff, player, boomsound, boomchannel);
          life_loss(lives, score);
          player = player_init(player);
          drawlocation = player.y-20;
@@ -1904,7 +1869,7 @@ int main(){
        if(shieldup==1){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(landers[landerloop], shields[shieldloop])==1){
-             boom_object(boomstuff, landers[landerloop]);
+             boom_object(boomstuff, landers[landerloop], boomsound, boomchannel);
              landers[landerloop] = object_out(landers[landerloop]);
              score = score + 20;
            };
@@ -1922,7 +1887,7 @@ int main(){
          lives--;
          //add to score
          score = score + 20;
-         boom_object(boomstuff, player);
+         boom_object(boomstuff, player, boomsound, boomchannel);
          life_loss(lives, score);
          player = player_init(player);
          drawlocation = player.y-20;
@@ -1941,7 +1906,7 @@ int main(){
        if(shieldup==1){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(crazies[crazyloop], shields[shieldloop])==1){
-             boom_object(boomstuff, crazies[crazyloop]);
+             boom_object(boomstuff, crazies[crazyloop], boomsound, boomchannel);
              crazies[crazyloop] = object_out(crazies[crazyloop]);
              score = score + 20;
            };
@@ -1959,7 +1924,7 @@ int main(){
          lives--;
          //add to score
          score = score + 20;
-         boom_object(boomstuff, player);
+         boom_object(boomstuff, player, boomsound, boomchannel);
          life_loss(lives, score);
          player = player_init(player);
          drawlocation = player.y-20;
@@ -1978,7 +1943,7 @@ int main(){
        if(shieldup==1){
          for(int shieldloop = 0; shieldloop<12; shieldloop++){
            if(check_collision(crawlers[crawlerloop], shields[shieldloop])==1){
-             boom_object(boomstuff, crawlers[crawlerloop]);
+             boom_object(boomstuff, crawlers[crawlerloop], boomsound, boomchannel);
              crawlers[crawlerloop] = object_out(crawlers[crawlerloop]);
              score = score + 20;
            };
@@ -1993,7 +1958,7 @@ int main(){
       if(check_collision(player, saucer)==1){
        //kill player only
        lives--;
-       boom_object(boomstuff, player);
+       boom_object(boomstuff, player, boomsound, boomchannel);
        life_loss(lives, score);
        player = player_init(player);
        drawlocation = player.y-20;
@@ -2150,7 +2115,7 @@ int main(){
          lives--;
          landershot[landershotloop].vtime = 100;
          landershot[landershotloop] = age_bullet(landershot[landershotloop]);  
-         boom_object(boomstuff, player);
+         boom_object(boomstuff, player, boomsound, boomchannel);
          life_loss(lives, score);
          player = player_init(player);
          drawlocation = player.y-20;