# HG changeset patch # User Wuzzy # Date 1491680905 -7200 # Node ID ac9cf0cf40ee02a22b41bc3bf6487da22f25dc4a # Parent 71c47122fbc0de1b67d6a0c0c2e292e80d977571 Add sounds for rubberduck drop, destruction and water collision diff -r 71c47122fbc0 -r ac9cf0cf40ee CREDITS --- 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/ diff -r 71c47122fbc0 -r ac9cf0cf40ee hedgewars/uGearsHandlersMess.pas --- 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; diff -r 71c47122fbc0 -r ac9cf0cf40ee hedgewars/uGearsHedgehog.pas --- 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 diff -r 71c47122fbc0 -r ac9cf0cf40ee hedgewars/uSound.pas --- 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 ); diff -r 71c47122fbc0 -r ac9cf0cf40ee hedgewars/uTypes.pas --- 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 diff -r 71c47122fbc0 -r ac9cf0cf40ee hedgewars/uVariables.pas --- 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. diff -r 71c47122fbc0 -r ac9cf0cf40ee share/hedgewars/Data/Sounds/rubberduck_die.ogg Binary file share/hedgewars/Data/Sounds/rubberduck_die.ogg has changed diff -r 71c47122fbc0 -r ac9cf0cf40ee share/hedgewars/Data/Sounds/rubberduck_drop.ogg Binary file share/hedgewars/Data/Sounds/rubberduck_drop.ogg has changed diff -r 71c47122fbc0 -r ac9cf0cf40ee share/hedgewars/Data/Sounds/rubberduck_water.ogg Binary file share/hedgewars/Data/Sounds/rubberduck_water.ogg has changed