From 3f12f26560fc04a5a9ccc2964e900f79a61e510c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Fri, 24 Sep 2021 15:59:13 +0700 Subject: Replace a few sound effects --- src/GameTick.cpp | 154 ++++++++++++++++++++----------------------------------- 1 file changed, 57 insertions(+), 97 deletions(-) (limited to 'src/GameTick.cpp') diff --git a/src/GameTick.cpp b/src/GameTick.cpp index 57b2efe..3088ae5 100644 --- a/src/GameTick.cpp +++ b/src/GameTick.cpp @@ -23,6 +23,7 @@ // along with Black Shades. If not, see . #include "Game.h" +#include "misc.h" extern float multiplier; extern int thirdperson; @@ -1499,17 +1500,11 @@ void Game::Tick() person[i].attacktarget=0; person[i].attackframe=0; - auto stabpos = person[i].playercoords + flatfacing - camera.position; - ALfloat gLoc[] { - stabpos.x / 2 / soundscalefactor, - stabpos.y / 2 / soundscalefactor, - stabpos.z / 2 / soundscalefactor, - }; - if(person[person[i].killtarget].type!=zombietype) { - alSourcefv(gSourceID[knifeslashsound], AL_POSITION, gLoc); - alSourcePlay(gSourceID[knifeslashsound]); + auto stabpos = person[i].playercoords + flatfacing - camera.position; + playSound(gSourceID[knifeslashsound], + stabpos.x, stabpos.y, stabpos.z); person[person[i].killtarget].bjoint1=&person[person[i].killtarget].skeleton.joints[person[person[i].killtarget].skeleton.jointlabels[neck]]; person[person[i].killtarget].bjoint2=&person[person[i].killtarget].skeleton.joints[person[person[i].killtarget].skeleton.jointlabels[neck]]; person[person[i].killtarget].bleeding=1; @@ -1660,19 +1655,13 @@ void Game::Tick() if(person[person[0].killtarget].skeleton.free<1&&person[0].killtarget!=0&&(person[0].aiming<1||person[0].whichgun==nogun||person[0].whichgun==knife||person[0].targetanimation==joganim)){ auto soundpos = person[0].playercoords + flatfacing - camera.position; - float gLoc[] { - soundpos.x / 2 / soundscalefactor, - soundpos.y / 2 / soundscalefactor, - soundpos.z / 2 / soundscalefactor, - }; - if (person[person[0].killtarget].type != zombietype) { if (person[0].whichgun != knife) { - alSourcefv(gSourceID[headwhacksound], AL_POSITION, gLoc); - alSourcePlay(gSourceID[headwhacksound]); + playSound(gSourceID[headwhacksound], + soundpos.x, soundpos.y, soundpos.z); } else { - alSourcefv(gSourceID[knifeslashsound], AL_POSITION, gLoc); - alSourcePlay(gSourceID[knifeslashsound]); + playSound(gSourceID[knifeslashsound], + soundpos.x, soundpos.y, soundpos.z); person[person[0].killtarget].bjoint1=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; person[person[0].killtarget].bjoint2=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; @@ -1709,55 +1698,53 @@ void Game::Tick() person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[head]].velocity+=DoRotation(flatfacing,0,40,0)*50; person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[head]].velocity+=person[0].velocity*2; } - } else { - if(whacked==0){ - whacked=1; - if (person[0].whichgun!=knife) { - alSourcefv(gSourceID[headwhacksound], AL_POSITION, gLoc); - alSourcePlay(gSourceID[headwhacksound]); - } else { - alSourcefv(gSourceID[knifeslashsound], AL_POSITION, gLoc); - alSourcePlay(gSourceID[knifeslashsound]); + } else if (!whacked) { + whacked = true; + if (person[0].whichgun != knife) { + playSound(gSourceID[headwhacksound], + soundpos.x, soundpos.y, soundpos.z); + } else { + playSound(gSourceID[knifeslashsound], + soundpos.x, soundpos.y, soundpos.z); - person[person[0].killtarget].bjoint1=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; - person[person[0].killtarget].bjoint2=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; + person[person[0].killtarget].bjoint1=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; + person[person[0].killtarget].bjoint2=&person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]]; - person[person[0].killtarget].bleeddelay=1; + person[person[0].killtarget].bleeddelay=1; - person[0].bjoint1=&person[0].skeleton.joints[person[0].skeleton.jointlabels[righthand]]; - person[0].bjoint2=&person[0].skeleton.joints[person[0].skeleton.jointlabels[righthand]]; + person[0].bjoint1=&person[0].skeleton.joints[person[0].skeleton.jointlabels[righthand]]; + person[0].bjoint2=&person[0].skeleton.joints[person[0].skeleton.jointlabels[righthand]]; - person[0].bleeding=1; - person[0].bleeddelay=1; + person[0].bleeding=1; + person[0].bleeddelay=1; - velocity=DoRotation(flatfacing,0,70,0)*50+person[0].velocity*2; - velocity.y+=30; + velocity=DoRotation(flatfacing,0,70,0)*50+person[0].velocity*2; + velocity.y+=30; - sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.3, 2); - sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.2, 3); - sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.1, 4); - } + sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.3, 2); + sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.2, 3); + sprites.MakeSprite(bloodspritedown, .8, 1, .2, .2,DoRotation(person[person[0].killtarget].skeleton.joints[person[person[0].killtarget].skeleton.jointlabels[neck]].position,0,person[person[0].killtarget].playerrotation,0)+person[person[0].killtarget].playercoords, velocity*.1, 4); + } - person[person[0].killtarget].health-=200; - person[person[0].killtarget].maxhealth-=20; - person[person[0].killtarget].skeleton.free=1; - person[person[0].killtarget].longdead=1; + person[person[0].killtarget].health-=200; + person[person[0].killtarget].maxhealth-=20; + person[person[0].killtarget].skeleton.free=1; + person[person[0].killtarget].longdead=1; - for(int j=0;j