Integrated pup-take, shield and crazify sounds.
authorlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Tue, 2 Jun 2009 20:24:35 +0000 (20:24 +0000)
committerlimb <limb@bc5cbbab-a4ec-0310-bb52-ff3d296db539>
Tue, 2 Jun 2009 20:24:35 +0000 (20:24 +0000)
git-svn-id: svn+ssh://svn/var/repos/curfender@817 bc5cbbab-a4ec-0310-bb52-ff3d296db539

main.cpp

index 4dc53d7..72be101 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -431,18 +431,7 @@ game_object boss_init(game_object boss, int level){
   return boss;
 }
 
-game_object encrazify(game_object lander, game_object crazy){
-  crazy.active=1;
-  crazy.x = lander.x;
-  crazy.y = lander.y;  
-  crazy.face = lander.face;
-  crazy.vspeed = 0;
-  crazy.vtime = lander.vtime;
-  crazy.direction = lander.direction;
-  crazy.speed = 1;
 
-  return crazy;
-}
 
 game_object process_direction(game_object object, int input){
   if(input==65){input=8;};
@@ -574,6 +563,20 @@ int play_sound_effect(Mix_Chunk *chunk){
   return channel;
 };
 
+game_object encrazify(game_object lander, game_object crazy, Mix_Chunk *sound, int channel){
+  channel = play_sound_effect(sound);
+  crazy.active=1;
+  crazy.x = lander.x;
+  crazy.y = lander.y;  
+  crazy.face = lander.face;
+  crazy.vspeed = 0;
+  crazy.vtime = lander.vtime;
+  crazy.direction = lander.direction;
+  crazy.speed = 1;
+
+  return crazy;
+}
+
 void boom_object(game_object boomstuff, game_object object, Mix_Chunk *sound, int channel){
   int deathcycle=1;
   int loop=1;
@@ -1249,6 +1252,16 @@ int main(int argc, char *argv[]){
     int laserchannel = -1;
     Mix_Chunk *warningsound = NULL;
     int warningchannel = -1;
+    Mix_Chunk *pupcreatesound = NULL;
+    int pupcreatechannel = -1;
+    Mix_Chunk *puptakesound = NULL;
+    int puptakechannel = -1;
+    Mix_Chunk *shieldupsound = NULL;
+    int shieldupchannel = -1;
+    Mix_Chunk *shielddownsound = NULL;
+    int shielddownchannel = -1;
+    Mix_Chunk *crazifysound = NULL;
+    int crazifychannel = -1;
 
     int audio_rate = 22050;
     Uint16 audio_format = AUDIO_S16; 
@@ -1276,6 +1289,11 @@ int main(int argc, char *argv[]){
         pickupsound = Mix_LoadWAV("data/pickup.ogg");
         lasersound = Mix_LoadWAV("data/laser.ogg");
         warningsound = Mix_LoadWAV("data/warning.ogg");
+        pupcreatesound = Mix_LoadWAV("data/pup-create.ogg");
+        puptakesound = Mix_LoadWAV("data/pup-take.ogg");
+        shieldupsound = Mix_LoadWAV("data/shieldup.ogg");
+        shielddownsound = Mix_LoadWAV("data/shielddown.ogg");
+        crazifysound = Mix_LoadWAV("data/crazify.ogg");
       } else {
         shotsound = Mix_LoadWAV("/usr/share/curfender/data/shot.ogg");
         boomsound = Mix_LoadWAV("/usr/share/curfender/data/boom.ogg");
@@ -1283,6 +1301,11 @@ int main(int argc, char *argv[]){
         pickupsound = Mix_LoadWAV("/usr/share/curfender/data/pickup.ogg");
         lasersound = Mix_LoadWAV("/usr/share/curfender/data/laser.ogg");
         warningsound = Mix_LoadWAV("/usr/share/curfender/data/warning.ogg");
+        pupcreatesound = Mix_LoadWAV("/usr/share/curfender/data/pup-create.ogg");
+        puptakesound = Mix_LoadWAV("/usr/share/curfender/data/pup-take.ogg");
+        shieldupsound = Mix_LoadWAV("/usr/share/curfender/data/shieldup.ogg");
+        shielddownsound = Mix_LoadWAV("/usr/share/curfender/data/shielddown.ogg");
+        crazifysound = Mix_LoadWAV("/usr/share/curfender/data/crazify.ogg");        
       }
     } else {
       sound = 0;
@@ -1359,7 +1382,7 @@ int main(int argc, char *argv[]){
        };
        if(landers[landerloop].chase>=0&&landers[landerloop].phase==4){ //decode which pod to kill
          pods[landers[landerloop].chase] = object_out(pods[landers[landerloop].chase]);
-         crazies[landerloop] = encrazify(landers[landerloop], crazies[landerloop]);
+         crazies[landerloop] = encrazify(landers[landerloop], crazies[landerloop], crazifysound, crazifychannel);
          landers[landerloop] = object_out(landers[landerloop]);
        };
       };
@@ -1561,9 +1584,11 @@ int main(int argc, char *argv[]){
       if(shieldup==0){
        if(shieldsleft>=1){
          shieldup=1;
+         shieldupchannel = play_sound_effect(shieldupsound);
        };
       } else {
        shieldup=0;
+       shielddownchannel = play_sound_effect(shielddownsound);
       };
     };
 
@@ -1573,6 +1598,7 @@ int main(int argc, char *argv[]){
        shieldsleft--;
       } else {
        shieldup=0;
+       shielddownchannel = play_sound_effect(shielddownsound);
       };
     };
 
@@ -1595,6 +1621,7 @@ int main(int argc, char *argv[]){
     //check for powerup pickup
     for(int puploop = 0; puploop<4; puploop++){
       if((powerups[puploop].active==1)&&(check_collision(powerups[puploop], player)==1)){
+        puptakechannel = play_sound_effect(puptakesound);
        powerups[puploop] = object_out(powerups[puploop]);
        if(strncmp(powerups[puploop].line0, "T", 1)==0){
          tripshot = tripshot + 100;
@@ -2284,7 +2311,7 @@ int main(int argc, char *argv[]){
          //crazy the landers
          for(int landerloop = 0; landerloop<landermax; landerloop++){ 
            if(landers[landerloop].active==1){
-             crazies[landerloop] = encrazify(landers[landerloop], crazies[landerloop]);
+             crazies[landerloop] = encrazify(landers[landerloop], crazies[landerloop], crazifysound, crazifychannel);
              landers[landerloop] = object_out(landers[landerloop]);
            };
          };