Add sounds for rubberduck drop, destruction and water collision
authorWuzzy <almikes@aol.com>
Sat, 08 Apr 2017 21:48:25 +0200
changeset 12194 ac9cf0cf40ee
parent 12193 71c47122fbc0
child 12195 98b31009fc37
Add sounds for rubberduck drop, destruction and water collision
CREDITS
hedgewars/uGearsHandlersMess.pas
hedgewars/uGearsHedgehog.pas
hedgewars/uSound.pas
hedgewars/uTypes.pas
hedgewars/uVariables.pas
share/hedgewars/Data/Sounds/rubberduck_die.ogg
share/hedgewars/Data/Sounds/rubberduck_drop.ogg
share/hedgewars/Data/Sounds/rubberduck_water.ogg
--- a/CREDITS	Sat Apr 08 21:43:48 2017 +0200
+++ b/CREDITS	Sat Apr 08 21:48:25 2017 +0200
@@ -81,6 +81,7 @@
      http://www.freesound.org/people/uair01/sounds/65291/
 - Air mine impact sound by Wuzzy (WTFPL), based on
      http://www.freesound.org/people/batchku/sounds/10479/
+- Rubber duck sounds are in the Public Domain.
 - Countdown sounds by Wuzzy (WTFPL)
 - Laser Sight sound originally from drzhn (CC-0), remixed from
      https://www.freesound.org/people/drzhnn/sounds/199938/
--- a/hedgewars/uGearsHandlersMess.pas	Sat Apr 08 21:43:48 2017 +0200
+++ b/hedgewars/uGearsHandlersMess.pas	Sat Apr 08 21:48:25 2017 +0200
@@ -6366,9 +6366,13 @@
     if Gear^.Pos = 0 then
         begin
         doStepFallingGear(Gear);
-        // Karma is distance from water
+        (* Check if duck is near water surface
+           (Karma is distance from water) *)
         if cWaterLine <= hwRound(Gear^.Y) + Gear^.Karma then
             begin
+            PlaySound(sndDroplet2);
+            if Gear^.dY > _0_4 then
+                PlaySound(sndDuckWater);
             Gear^.Pos:= 1;
             Gear^.Timer:= Gear^.WDTimer;
             Gear^.dY:= _0;
@@ -6396,6 +6400,7 @@
         // Left edge
         if (LeftX >= hwRound(Gear^.X) - Gear^.Karma) and (Gear^.Pos < 3) then
             begin
+            PlaySound(sndDuckWater);
             Gear^.Pos:= 3;
             if Gear^.Tag = 1 then
                 Gear^.Angle:= 90 
@@ -6407,8 +6412,9 @@
         // Right edge
         else if (RightX <= hwRound(Gear^.X) + Gear^.Karma) and (Gear^.Pos < 3) then
             begin
+            PlaySound(sndDuckWater);
             Gear^.Pos:= 4;
-        if Gear^.Tag = 1 then
+            if Gear^.Tag = 1 then
                 Gear^.Angle:= 270
             else
                 Gear^.Angle:= 90;
@@ -6422,6 +6428,7 @@
     if (Gear^.Timer = 0) or ((Gear^.State and gstCollision) <> 0) then
         begin
         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
+        PlaySound(sndDuckDie);
         DeleteGear(Gear);
         exit;
         end;
--- a/hedgewars/uGearsHedgehog.pas	Sat Apr 08 21:43:48 2017 +0200
+++ b/hedgewars/uGearsHedgehog.pas	Sat Apr 08 21:48:25 2017 +0200
@@ -326,6 +326,7 @@
                                  end;
                      amDynamite: newGear:= AddGear(hwRound(lx) + hwSign(dX) * 7, hwRound(ly), gtDynamite, 0, SignAs(_0_03, dX), _0, 5000);
                          amDuck: begin
+                                 PlaySound(sndDuckDrop);
                                  newGear:= AddGear(hwRound(lx), hwRound(ly), gtDuck, 0, _0, _0, 0);
                                  if not ((not dX.isNegative) xor ((State and gstHHHJump) <> 0)) then
                                      newGear^.Tag:= -1
--- a/hedgewars/uSound.pas	Sat Apr 08 21:43:48 2017 +0200
+++ b/hedgewars/uSound.pas	Sat Apr 08 21:48:25 2017 +0200
@@ -267,7 +267,10 @@
             (FileName:           'countdown1.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown1
             (FileName:           'countdown2.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown2
             (FileName:           'countdown3.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown3
-            (FileName:           'countdown4.ogg'; Path: ptSounds; AltPath: ptNone) // sndCountdown4
+            (FileName:           'countdown4.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown4
+            (FileName:      'rubberduck_drop.ogg'; Path: ptSounds; AltPath: ptNone),// sndDuckDrop
+            (FileName:     'rubberduck_water.ogg'; Path: ptSounds; AltPath: ptNone),// sndDuckWater
+            (FileName:       'rubberduck_die.ogg'; Path: ptSounds; AltPath: ptNone) // sndDuckDie
             );
 
 
--- a/hedgewars/uTypes.pas	Sat Apr 08 21:43:48 2017 +0200
+++ b/hedgewars/uTypes.pas	Sat Apr 08 21:48:25 2017 +0200
@@ -148,8 +148,8 @@
             sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis, sndFrozenHogImpact,
             sndIceBeam, sndHogFreeze, sndAirMineImpact, sndKnifeImpact, sndExtraTime, sndLaserSight,
             sndInvulnerable, sndJetpackLaunch, sndJetpackBoost, sndPortalShot, sndPortalSwitch,
-            sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4
-            );
+            sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4,
+            sndDuckDrop, sndDuckWater, sndDuckDie);
 
     // Available ammo types to be used by hedgehogs
     TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6
--- a/hedgewars/uVariables.pas	Sat Apr 08 21:43:48 2017 +0200
+++ b/hedgewars/uVariables.pas	Sat Apr 08 21:48:25 2017 +0200
@@ -2399,7 +2399,7 @@
                 Timer: 9000;
                 Pos: 0;
                 AmmoType: amDuck;
-                AttackVoice: sndLaugh;
+                AttackVoice: sndNone;
                 Bounciness: 1000);
             Slot: 8; // FIXME: Use slot 0. for some reason, hwengine does not like it
                      // when we put it into slot 0.
Binary file share/hedgewars/Data/Sounds/rubberduck_die.ogg has changed
Binary file share/hedgewars/Data/Sounds/rubberduck_drop.ogg has changed
Binary file share/hedgewars/Data/Sounds/rubberduck_water.ogg has changed