X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FPerson.cpp;h=6eb59f04a07e1b240bcf49a60399160a5a3773ad;hb=fedce5619a42a2ac4f55c6dab16470970ce36cbb;hp=4d7f9df870a4936806ed5a75783e60ccebd2d2d6;hpb=bef7cd3a2b0217e63ef0b3b6832b22abbfe05bd1;p=lugaru.git diff --git a/Source/Person.cpp b/Source/Person.cpp index 4d7f9df..6eb59f0 100644 --- a/Source/Person.cpp +++ b/Source/Person.cpp @@ -107,20 +107,8 @@ void Person::CheckKick(){ if(animation[victim->targetanimation].height!=lowheight){ victim->spurt=1; DoBlood(.2,250); - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); - } + if(tutoriallevel!=1) + emit_sound_at(heavyimpactsound, victim->coords); victim->RagDoll(0); relative=velocity; relative.y=0; @@ -177,38 +165,15 @@ void Person::CatchFire(){ onfiredelay=0.5; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=0; - vel[1]=0; - vel[2]=0; - PlaySoundEx( firestartsound, samp[firestartsound], NULL, true); - OPENAL_3D_SetAttributes(channels[firestartsound], gLoc, vel); - OPENAL_SetVolume(channels[firestartsound], 256); - OPENAL_SetPaused(channels[firestartsound], false); - - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - //PlaySoundEx( firesound, samp[firesound], NULL, true); - PlayStreamEx( stream_firesound, samp[stream_firesound], NULL, true); - OPENAL_3D_SetAttributes(channels[stream_firesound], gLoc, vel); - OPENAL_SetVolume(channels[stream_firesound], 256); - OPENAL_SetPaused(channels[stream_firesound], false); + emit_sound_at(firestartsound, coords); + + emit_stream_at(stream_firesound, coords); flamedelay=0; onfire=1; } -bool Person::isIdle(){ - if(targetanimation==sleepanim||targetanimation==sitanim||targetanimation==talkidleanim||targetanimation==hurtidleanim||targetanimation==bounceidleanim||targetanimation==talkidleanim||targetanimation==fightidleanim||targetanimation==knifefightidleanim||targetanimation==swordfightidleanim||targetanimation==swordfightidlebothanim||targetanimation==fightsidestep||targetanimation==wolfidle)return 1; - else return 0; -} - bool Person::isSitting(){ if(targetanimation==sitanim)return 1; if(targetanimation==sitwallanim)return 1; @@ -224,10 +189,6 @@ bool Person::isSleeping(){ else return 0; } -bool Person::wasIdle(){ - if(currentanimation==sleepanim||currentanimation==talkidleanim||currentanimation==sitanim||currentanimation==hurtidleanim||currentanimation==bounceidleanim||currentanimation==fightidleanim||currentanimation==swordfightidleanim||currentanimation==swordfightidlebothanim||currentanimation==knifefightidleanim||currentanimation==fightsidestep||currentanimation==wolfidle)return 1; - else return 0; -} int Person::getIdle(){ if(indialogue!=-1&&howactive==typeactive&&creature==rabbittype)return talkidleanim; if(hasvictim&&victim!=this/*||(id==0&&attackkeydown)*/)if(/*(id==0&&attackkeydown)||*/(!victim->dead&&victim->aitype!=passivetype&&victim->aitype!=searchtype&&aitype!=passivetype&&aitype!=searchtype&&victim->id= solidhit && bonus <= megacombo) + award_bonus(playerid, bonus == megacombo ? bonus : bonus + 1); + else + award_bonus(playerid, solidhit); } void Person::DoBlood(float howmuch,int which){ @@ -458,14 +410,6 @@ void Person::DoBloodBig(float howmuch,int which){ if(tutoriallevel!=1||id==0) if(aitype!=playercontrolled&&howmuch>0){ int whichsound=-1; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(creature==wolftype){ int i=abs(Random()%2); @@ -487,12 +431,8 @@ void Person::DoBloodBig(float howmuch,int which){ //if(i==2)whichsound=rabbitpain2sound; } - if(whichsound!=-1){ - PlaySoundEx( whichsound, samp[whichsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel); - OPENAL_SetVolume(channels[whichsound], 512); - OPENAL_SetPaused(channels[whichsound], false); - } + if(whichsound!=-1) + emit_sound_at(whichsound, coords); } if(id==0&&howmuch>0){ @@ -1128,29 +1068,14 @@ void Person::Reverse(){ victim->targetrotation=targetrotation+180; if(abs(Random()%20)==0||weapons.type[victim->weaponids[victim->weaponactive]]==knife){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(victim->weaponactive!=-1){ if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){ if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; - - PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true); - OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel); - OPENAL_SetVolume(channels[swordstaffsound], 512); - OPENAL_SetPaused(channels[swordstaffsound], false); + emit_sound_at(swordstaffsound, victim->coords); } else{ - PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel); - OPENAL_SetVolume(channels[metalhitsound], 512); - OPENAL_SetPaused(channels[metalhitsound], false); + emit_sound_at(metalhitsound, victim->coords); } } XYZ aim; @@ -1191,29 +1116,15 @@ void Person::Reverse(){ } if(abs(Random()%20)==0){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(weaponactive!=-1){ if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){ if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; - PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true); - OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel); - OPENAL_SetVolume(channels[swordstaffsound], 512); - OPENAL_SetPaused(channels[swordstaffsound], false); + emit_sound_at(swordstaffsound, coords); } else{ - PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel); - OPENAL_SetVolume(channels[metalhitsound], 512); - OPENAL_SetPaused(channels[metalhitsound], false); + emit_sound_at(metalhitsound, coords); } } @@ -1346,18 +1257,7 @@ void Person::DoDamage(float howmuch){ Sprite::MakeSprite(cloudsprite, flatfacing2,flatvelocity2*0, .6,0,0, 1, .5); } - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=0; - vel[1]=0; - vel[2]=0; - PlaySoundEx( splattersound, samp[splattersound], NULL, true); - OPENAL_3D_SetAttributes(channels[splattersound], gLoc, vel); - OPENAL_SetVolume(channels[splattersound], 256); - OPENAL_SetPaused(channels[splattersound], false); + emit_sound_at(splattersound, coords); skeleton.free=2; DoDamage(10000); @@ -1376,14 +1276,6 @@ void Person::DoDamage(float howmuch){ if(tutoriallevel!=1||id==0) if(speechdelay<=0&&!dead&&aitype!=playercontrolled){ int whichsound=-1; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(creature==wolftype){ int i=abs(Random()%2); @@ -1406,10 +1298,7 @@ void Person::DoDamage(float howmuch){ } if(whichsound!=-1){ - PlaySoundEx( whichsound, samp[whichsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel); - OPENAL_SetVolume(channels[whichsound], 512); - OPENAL_SetPaused(channels[whichsound], false); + emit_sound_at(whichsound, coords); } } speechdelay=.3; @@ -1774,18 +1663,7 @@ void Person::DoAnimations(){ if(target>=1){ if(targetanimation==rollanim&&targetframe==3&&onfire){ onfire=0; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=0; - vel[1]=0; - vel[2]=0; - PlaySoundEx( fireendsound, samp[fireendsound], NULL, true); - OPENAL_3D_SetAttributes(channels[fireendsound], gLoc, vel); - OPENAL_SetVolume(channels[fireendsound], 256); - OPENAL_SetPaused(channels[fireendsound], false); + emit_sound_at(fireendsound, coords); OPENAL_SetPaused(channels[stream_firesound], true); deathbleeding=0; } @@ -1804,25 +1682,12 @@ void Person::DoAnimations(){ //victim->DoDamage(30); if(creature==wolftype){ DoBloodBig(0,255); - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords); victim->spurt=1; victim->DoBloodBig(1/victim->armorhead,210); } - award_bonus(id, TackleBonus); - if(id==0){ - if(victim->aitype==gethelptype)bonusvalue=50; - } + award_bonus(id, TackleBonus, + victim->aitype == gethelptype ? 50 : 0); } } @@ -1832,34 +1697,10 @@ void Person::DoAnimations(){ else if(weaponactive==0)weaponactive=-1; if(weaponactive==-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel); - OPENAL_SetVolume(channels[knifesheathesound], 128); - OPENAL_SetPaused(channels[knifesheathesound], false); + emit_sound_at(knifesheathesound, coords); } if(weaponactive!=-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128); } } drawtogglekeydown=1; @@ -1927,10 +1768,7 @@ void Person::DoAnimations(){ if(animation[targetanimation].label[targetframe]==3){ whichsound--; - PlaySoundEx( whichsound, samp[whichsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel); - OPENAL_SetVolume(channels[whichsound], 128); - OPENAL_SetPaused(channels[whichsound], false); + emit_sound_at(whichsound, coords, 128.); } } @@ -1940,14 +1778,6 @@ void Person::DoAnimations(){ if(targetanimation!=crouchstabanim&&targetanimation!=swordgroundstabanim&&targetanimation!=staffgroundsmashanim) if((animation[targetanimation].label[targetframe]&&(animation[targetanimation].label[targetframe]<5||animation[targetanimation].label[targetframe]==8))/*||(targetanimation==rollanim&&targetframe==animation[rollanim].numframes-1)*/){ int whichsound=-1; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(animation[targetanimation].label[targetframe]==4&&aitype!=playercontrolled){ if(animation[targetanimation].attack!=neutral){ i=abs(Random()%4); @@ -1971,10 +1801,7 @@ void Person::DoAnimations(){ //if(animation[targetanimation].label[targetframe]==8)whichsound=landsound2; if(whichsound!=-1){ - PlaySoundEx( whichsound, samp[whichsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whichsound], gLoc, vel); - OPENAL_SetVolume(channels[whichsound], 512); - OPENAL_SetPaused(channels[whichsound], false); + emit_sound_at(whichsound, coords); } } @@ -1997,18 +1824,7 @@ void Person::DoAnimations(){ if(findDistancefastflat(&coords,&weapons.position[i])<4&&weaponactive==-1){ if(findDistancefast(&coords,&weapons.position[i])>=1){ if(weapons.type[i]!=staff){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128.); } weaponactive=0; @@ -2034,14 +1850,6 @@ void Person::DoAnimations(){ if((/*weapons.velocity[i].x==0&&weapons.velocity[i].y==0&&weapons.velocity[i].z==0&&*/weapons.owner[i]==-1)||(hasvictim&&weapons.owner[i]==victim->id&&victim->skeleton.free)) if(willwork&&findDistancefastflat(&coords,&weapons.position[i])<3&&weaponactive==-1){ if(findDistancefast(&coords,&weapons.position[i])<1||hasvictim){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; bool fleshstuck=0; if(weapons.owner[i]!=-1) if(victim->weaponstuck!=-1){ @@ -2051,17 +1859,11 @@ void Person::DoAnimations(){ } if(!fleshstuck){ if(weapons.type[i]!=staff){ - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128.); } } if(fleshstuck){ - PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabremovesound], 128); - OPENAL_SetPaused(channels[fleshstabremovesound], false); + emit_sound_at(fleshstabremovesound, coords, 128.); } weaponactive=0; if(weapons.owner[i]!=-1){ @@ -2129,34 +1931,10 @@ void Person::DoAnimations(){ } } if(weaponactive==-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel); - OPENAL_SetVolume(channels[knifesheathesound], 128); - OPENAL_SetPaused(channels[knifesheathesound], false); + emit_sound_at(knifesheathesound, coords, 128.); } if(weaponactive!=-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128.); } } @@ -2181,19 +1959,7 @@ void Person::DoAnimations(){ if((targetanimation==rabbitrunninganim||targetanimation==wolfrunninganim)&&id==0){ targetanimation=rabbittackleanim; targetframe=0; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( jumpsound, samp[jumpsound], NULL, true); - OPENAL_3D_SetAttributes(channels[jumpsound], gLoc, vel); - OPENAL_SetVolume(channels[jumpsound], 128); - OPENAL_SetPaused(channels[jumpsound], false); + emit_sound_at(jumpsound, coords); } float closestdist; @@ -2229,19 +1995,7 @@ void Person::DoAnimations(){ if(rotatetarget.z<0)targetrotation=180-targetrotation; } if(targetanimation!=rabbitrunninganim){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( jumpsound, samp[jumpsound], NULL, true); - OPENAL_3D_SetAttributes(channels[jumpsound], gLoc, vel); - OPENAL_SetVolume(channels[jumpsound], 128); - OPENAL_SetPaused(channels[jumpsound], false); + emit_sound_at(jumpsound, coords, 128.); } } } @@ -2261,25 +2015,11 @@ void Person::DoAnimations(){ DoBlood(.2,250); if(creature==wolftype)DoBloodBig(0,250); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhead,175); } @@ -2297,9 +2037,7 @@ void Person::DoAnimations(){ victim->Puff(head); victim->DoDamage(damagemult*100/victim->protectionhead); - if(id==0){ - SolidHitBonus(); - } + SolidHitBonus(id); } } @@ -2311,23 +2049,9 @@ void Person::DoAnimations(){ victim->spurt=1; if(creature==wolftype)DoBloodBig(0,235); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel); - OPENAL_SetVolume(channels[whooshhitsound], 512); - OPENAL_SetPaused(channels[whooshhitsound], false); + emit_sound_at(whooshhitsound, victim->coords); if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2,175); } @@ -2355,25 +2079,11 @@ void Person::DoAnimations(){ if(id==0)camerashake+=.4; victim->spurt=1; DoBlood(.2,250); - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 160); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 160.); } if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhead,175); } @@ -2391,12 +2101,10 @@ void Person::DoAnimations(){ victim->Puff(head); victim->DoDamage(damagemult*150/victim->protectionhead); - if(victim->damage>victim->damagetolerance){ + if(victim->damage>victim->damagetolerance) award_bonus(id, style); - } - else if(id==0){ - SolidHitBonus(); - } + else + SolidHitBonus(id); } } @@ -2406,25 +2114,11 @@ void Person::DoAnimations(){ if(id==0)camerashake+=.4; victim->spurt=1; DoBlood(.2,250); - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 160); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 160.); } if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhead,175); } @@ -2442,12 +2136,10 @@ void Person::DoAnimations(){ victim->Puff(head); victim->DoDamage(damagemult*150/victim->protectionhead); - if(victim->damage>victim->damagetolerance){ + if(victim->damage>victim->damagetolerance) award_bonus(id, style); - } - else if(id==0){ - SolidHitBonus(); - } + else + SolidHitBonus(id); } } @@ -2459,18 +2151,7 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,235); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel); - OPENAL_SetVolume(channels[whooshhitsound], 512); - OPENAL_SetPaused(channels[whooshhitsound], false); + emit_sound_at(whooshhitsound, victim->coords); victim->RagDoll(0); XYZ relative; relative=victim->coords-coords; @@ -2490,23 +2171,7 @@ void Person::DoAnimations(){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&victim->dead){ escapednum=0; if(id==0)camerashake+=.2; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - /*PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 128); - OPENAL_SetPaused(channels[landsound2], false); - */ - PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true); - OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel); - OPENAL_SetVolume(channels[movewhooshsound], 128); - OPENAL_SetPaused(channels[movewhooshsound], false); + emit_sound_at(whooshhitsound, victim->coords, 128.); victim->skeleton.longdead=0; victim->skeleton.free=1; @@ -2539,19 +2204,8 @@ void Person::DoAnimations(){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*9&&victim->dead){ escapednum=0; if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, coords, 128.); } XYZ relative; relative=victim->coords-coords; @@ -2574,19 +2228,8 @@ void Person::DoAnimations(){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*9&&victim->skeleton.free){ escapednum=0; if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( thudsound, samp[thudsound], NULL, true); - OPENAL_3D_SetAttributes(channels[thudsound], gLoc, vel); - OPENAL_SetVolume(channels[thudsound], 400); - OPENAL_SetPaused(channels[thudsound], false); + emit_sound_at(thudsound, coords); } victim->skeleton.longdead=0; @@ -2607,9 +2250,8 @@ void Person::DoAnimations(){ for(i=0;iskeleton.num_joints;i++){ victim->skeleton.joints[i].velocity+=relative*damagemult*20; } - if(id==0&&!victim->dead){ - SolidHitBonus(); - } + if(!victim->dead) + SolidHitBonus(id); victim->Puff(abdomen); victim->DoDamage(damagemult*20/victim->protectionhigh); @@ -2622,26 +2264,14 @@ void Person::DoAnimations(){ } if((targetanimation==crouchstabanim||targetanimation==swordgroundstabanim)&&animation[targetanimation].label[currentframe]==5){ - // if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*9){ //if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(hasvictim) if(!victim->skeleton.free)hasvictim=0; if(!hasvictim){ terrain.MakeDecal(blooddecalfast,(weapons.tippoint[weaponids[weaponactive]]*.8+weapons.position[weaponids[weaponactive]]*.2),.08,.6,Random()%360); - PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel); - OPENAL_SetVolume(channels[knifesheathesound], 128); - OPENAL_SetPaused(channels[knifesheathesound], false); + emit_sound_at(knifesheathesound, coords, 128.); } if(victim&&hasvictim){ @@ -2701,10 +2331,7 @@ void Person::DoAnimations(){ victim->skeleton.joints[i].locked=0; //victim->skeleton.joints[i].velocity=0; } - PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabsound], 128); - OPENAL_SetPaused(channels[fleshstabsound], false); + emit_sound_at(fleshstabsound, coords, 128); } if(whichtri!=-1||weapons.bloody[weaponids[weaponactive]]){ @@ -2713,40 +2340,21 @@ void Person::DoAnimations(){ } if(whichtri==-1){ hasvictim=0; - PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel); - OPENAL_SetVolume(channels[knifesheathesound], 128); - OPENAL_SetPaused(channels[knifesheathesound], false); + emit_sound_at(knifesheathesound, coords, 128.); } } } } if((targetanimation==crouchstabanim||targetanimation==swordgroundstabanim)&&animation[targetanimation].label[currentframe]==6){ - // if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*9){ - //if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(!hasvictim){ - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128); } if(victim&&hasvictim){ XYZ footvel,footpoint; - PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabremovesound], 128); - OPENAL_SetPaused(channels[fleshstabremovesound], false); + emit_sound_at(fleshstabremovesound, coords, 128.); footvel=0; footpoint=(weapons.tippoint[weaponids[weaponactive]]*.8+weapons.position[weaponids[weaponactive]]*.2); @@ -2840,33 +2448,10 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,235); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - //if(!victim->isIdle()||victim->damage>victim->damagetolerance-60){ - if(1==1){ - if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); - } - } - else { - if(tutoriallevel!=1){ - PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 256); - OPENAL_SetPaused(channels[landsound2], false); - } + if(tutoriallevel!=1){ + emit_sound_at(heavyimpactsound, victim->coords, 128); } - //if(!victim->isIdle()||victim->damage>victim->damagetolerance-60) victim->RagDoll(0); XYZ relative; relative=victim->coords-coords; @@ -2887,9 +2472,7 @@ void Person::DoAnimations(){ victim->Puff(abdomen); victim->DoDamage(damagemult*60/victim->protectionhigh); - if(id==0){ - SolidHitBonus(); - } + SolidHitBonus(id); } } @@ -2898,37 +2481,19 @@ void Person::DoAnimations(){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*2){ escapednum=0; if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - //if(!victim->isIdle()||victim->damage>victim->damagetolerance-60){ if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height!=lowheight){ if(tutoriallevel!=1){ - PlaySoundEx( thudsound, samp[thudsound], NULL, true); - OPENAL_3D_SetAttributes(channels[thudsound], gLoc, vel); - OPENAL_SetVolume(channels[thudsound], 512); - OPENAL_SetPaused(channels[thudsound], false); + emit_sound_at(thudsound, victim->coords); } } else if(victim->damage<=victim->damagetolerance-60&&normaldotproduct(victim->facing,victim->coords-coords)<(scale*5)*(scale*5)*0&&animation[victim->targetanimation].height==lowheight){ if(tutoriallevel!=1){ - PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel); - OPENAL_SetVolume(channels[whooshhitsound], 512); - OPENAL_SetPaused(channels[whooshhitsound], false); + emit_sound_at(whooshhitsound, victim->coords); } } else { if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 256); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords); } } @@ -2954,28 +2519,14 @@ void Person::DoAnimations(){ victim->Puff(abdomen); victim->DoDamage(damagemult*60/victim->protectionhigh); - if(id==0){ - SolidHitBonus(); - } + SolidHitBonus(id); } } if(targetanimation==blockhighleftanim&&animation[targetanimation].label[currentframe]==5){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*4){ if(victim->id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 256); - OPENAL_SetPaused(channels[landsound2], false); + emit_sound_at(landsound2, victim->coords); Puff(righthand); } @@ -2984,30 +2535,16 @@ void Person::DoAnimations(){ if(targetanimation==swordslashparryanim&&animation[targetanimation].label[currentframe]==5){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*4){ if(victim->id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(weaponactive!=-1){ if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){ if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; - PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true); - OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel); - OPENAL_SetVolume(channels[swordstaffsound], 512); - OPENAL_SetPaused(channels[swordstaffsound], false); + emit_sound_at(swordstaffsound, victim->coords); } else{ - PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel); - OPENAL_SetVolume(channels[metalhitsound], 512); - OPENAL_SetPaused(channels[metalhitsound], false); + emit_sound_at(metalhitsound, victim->coords); } } @@ -3044,24 +2581,11 @@ void Person::DoAnimations(){ if(hasvictim) if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*4.5&&/*animation[victim->targetanimation].height!=lowheight&&*/victim->targetanimation!=dodgebackanim&&victim->targetanimation!=rollanim){ escapednum=0; - //if(Random()%2){ if(tutoriallevel!=1)victim->DoBloodBig(1.5/victim->armorhigh,225); - //} award_bonus(id, Slicebonus); if(tutoriallevel!=1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel); - OPENAL_SetVolume(channels[knifeslicesound], 512); - OPENAL_SetPaused(channels[knifeslicesound], false); + emit_sound_at(knifeslicesound, victim->coords); } //victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200; if(animation[victim->targetanimation].attack&&(victim->aitype!=playercontrolled||victim->targetanimation==knifeslashstartanim)&&(victim->creature==rabbittype||victim->deathbleeding<=0)){ @@ -3111,30 +2635,15 @@ void Person::DoAnimations(){ if(normaldotproduct(victim->facing,victim->coords-coords)<0)victim->DoBloodBig(2/victim->armorhigh,190); else victim->DoBloodBig(2/victim->armorhigh,185); victim->deathbleeding=1; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( swordslicesound, samp[swordslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[swordslicesound], gLoc, vel); - OPENAL_SetVolume(channels[swordslicesound], 512); - OPENAL_SetPaused(channels[swordslicesound], false); + emit_sound_at(swordslicesound, victim->coords); } //victim->skeleton.joints[victim->skeleton.jointlabels[abdomen]].velocity+=relative*damagemult*200; - //if(animation[victim->targetanimation].attack){ - //if(victim->creature==rabbittype){ if(tutoriallevel!=1){ victim->targetframe=0; victim->targetanimation=staggerbackhardanim; victim->targetrotation=targetrotation+180; victim->target=0; } - //} - //} if(tutoriallevel!=1){ if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1; @@ -3164,31 +2673,15 @@ void Person::DoAnimations(){ } } else { - - - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(victim->weaponactive!=-1){ if(weapons.type[victim->weaponids[0]]==staff||weapons.type[weaponids[0]]==staff){ if(weapons.type[victim->weaponids[0]]==staff)weapons.damage[victim->weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; if(weapons.type[weaponids[0]]==staff)weapons.damage[weaponids[0]]+=.2+float(abs(Random()%100)-50)/250; - PlaySoundEx( swordstaffsound, samp[swordstaffsound], NULL, true); - OPENAL_3D_SetAttributes(channels[swordstaffsound], gLoc, vel); - OPENAL_SetVolume(channels[swordstaffsound], 512); - OPENAL_SetPaused(channels[swordstaffsound], false); + emit_sound_at(swordstaffsound, victim->coords); } else{ - PlaySoundEx( metalhitsound, samp[metalhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[metalhitsound], gLoc, vel); - OPENAL_SetVolume(channels[metalhitsound], 512); - OPENAL_SetPaused(channels[metalhitsound], false); + emit_sound_at(metalhitsound, victim->coords); } } @@ -3238,18 +2731,7 @@ void Person::DoAnimations(){ if(Random()%2||creature==wolftype){ victim->spurt=1; } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, true); - OPENAL_3D_SetAttributes(channels[staffheadsound], gLoc, vel); - OPENAL_SetVolume(channels[staffheadsound], 256); - OPENAL_SetPaused(channels[staffheadsound], false); + emit_sound_at(staffheadsound, victim->coords); } victim->RagDoll(0); XYZ relative; @@ -3283,18 +2765,7 @@ void Person::DoAnimations(){ if(Random()%2||creature==wolftype){ victim->spurt=1; } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( staffheadsound, samp[staffheadsound], NULL, true); - OPENAL_3D_SetAttributes(channels[staffheadsound], gLoc, vel); - OPENAL_SetVolume(channels[staffheadsound], 256); - OPENAL_SetPaused(channels[staffheadsound], false); + emit_sound_at(staffheadsound, victim->coords); } victim->RagDoll(0); XYZ relative; @@ -3325,18 +2796,7 @@ void Person::DoAnimations(){ if(Random()%2||creature==wolftype){ victim->spurt=1; } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( staffbodysound, samp[staffbodysound], NULL, true); - OPENAL_3D_SetAttributes(channels[staffbodysound], gLoc, vel); - OPENAL_SetVolume(channels[staffbodysound], 256); - OPENAL_SetPaused(channels[staffbodysound], false); + emit_sound_at(staffbodysound, victim->coords); } victim->skeleton.longdead=0; victim->skeleton.free=1; @@ -3385,22 +2845,12 @@ void Person::DoAnimations(){ if(findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&animation[victim->targetanimation].height!=highheight){ escapednum=0; if(id==0)camerashake+=.4; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; XYZ relative; relative=victim->coords-coords; relative.y=0; Normalise(&relative); - if(id==0){ - SolidHitBonus(); - } + SolidHitBonus(id); if(animation[victim->targetanimation].height==lowheight){ if(Random()%2){ @@ -3413,19 +2863,13 @@ void Person::DoAnimations(){ } victim->skeleton.joints[victim->skeleton.jointlabels[head]].velocity+=relative*damagemult*200; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } victim->Puff(head); victim->DoDamage(damagemult*100/victim->protectionhead); if(victim->howactive==typesleeping)victim->DoDamage(damagemult*150/victim->protectionhead); if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhead,175); } @@ -3441,18 +2885,12 @@ void Person::DoAnimations(){ victim->targetrotation=targetrotation+180; victim->target=0; if(tutoriallevel!=1){ - PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 128); - OPENAL_SetPaused(channels[landsound2], false); + emit_sound_at(landsound2, victim->coords, 128.); } victim->Puff(abdomen); victim->DoDamage(damagemult*30/victim->protectionhigh); if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhigh,170); } @@ -3465,19 +2903,8 @@ void Person::DoAnimations(){ if(victim->targetanimation!=jumpupanim&&findDistancefast(&coords,&victim->coords)<(scale*5)*(scale*5)*3&&victim!=this){ escapednum=0; if(id==0)camerashake+=.2; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 128); - OPENAL_SetPaused(channels[landsound2], false); + emit_sound_at(landsound2, victim->coords, 128.); } XYZ relative; relative=victim->coords-coords; @@ -3516,18 +2943,13 @@ void Person::DoAnimations(){ victim->targetrotation=targetrotation+180; victim->target=0; if(tutoriallevel!=1){ - PlaySoundEx( landsound2, samp[landsound2], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound2], gLoc, vel); - OPENAL_SetVolume(channels[landsound2], 128); - OPENAL_SetPaused(channels[landsound2], false); + emit_sound_at(landsound2, victim->coords, 128.); } victim->Puff(abdomen); victim->DoDamage(damagemult*30/victim->protectionlow); } - if(id==0){ - SolidHitBonus(); - } + SolidHitBonus(id); } } @@ -3540,25 +2962,11 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,230); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } if(creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128); victim->spurt=1; victim->DoBloodBig(2/victim->armorhigh,170); } @@ -3606,18 +3014,7 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,230); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( whooshhitsound, samp[whooshhitsound], NULL, true); - OPENAL_3D_SetAttributes(channels[whooshhitsound], gLoc, vel); - OPENAL_SetVolume(channels[whooshhitsound], 128); - OPENAL_SetPaused(channels[whooshhitsound], false); + emit_sound_at(whooshhitsound, victim->coords, 128.); victim->RagDoll(0); XYZ relative; relative=victim->coords-oldcoords; @@ -3640,22 +3037,11 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,230); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; award_bonus(id, staffreversebonus); if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } victim->RagDoll(0); award_bonus(id, staffreversebonus); // Huh, again? @@ -3705,28 +3091,14 @@ void Person::DoAnimations(){ if(weaponactive!=-1||creature==wolftype)doslice=1; if(creature==rabbittype&&weaponactive!=-1)if(weapons.type[weaponids[0]]==staff)doslice=0; if(doslice){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(weaponactive!=-1){ victim->DoBloodBig(2/victim->armorhigh,225); - PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel); - OPENAL_SetVolume(channels[knifeslicesound], 512); - OPENAL_SetPaused(channels[knifeslicesound], false); + emit_sound_at(knifeslicesound, victim->coords); if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1; weapons.blooddrip[weaponids[weaponactive]]+=3; } - if(weaponactive==-1&&creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + if(weaponactive==-1&&creature==wolftype){; + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhigh,175); } @@ -3766,19 +3138,8 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,230); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } victim->RagDoll(0); XYZ relative; @@ -3817,29 +3178,15 @@ void Person::DoAnimations(){ if(weaponactive!=-1||creature==wolftype)doslice=1; if(creature==rabbittype&&weaponactive!=-1)if(weapons.type[weaponids[0]]==staff)doslice=0; if(doslice){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(weaponactive!=-1){ victim->DoBloodBig(200,225); - PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel); - OPENAL_SetVolume(channels[knifeslicesound], 512); - OPENAL_SetPaused(channels[knifeslicesound], false); + emit_sound_at(knifeslicesound, victim->coords); if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2; weapons.blooddrip[weaponids[weaponactive]]+=5; } if(creature==wolftype&&weaponactive==-1){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2,175); } @@ -3887,18 +3234,7 @@ void Person::DoAnimations(){ } victim->bloodloss+=10000; victim->velocity=0; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabsound], 512); - OPENAL_SetPaused(channels[fleshstabsound], false); + emit_sound_at(fleshstabsound, victim->coords); if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2; weapons.blooddrip[weaponids[weaponactive]]+=5; } @@ -3917,18 +3253,7 @@ void Person::DoAnimations(){ } } if(weaponactive!=-1&&animation[victim->targetanimation].attack!=reversal){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabremovesound], 512); - OPENAL_SetPaused(channels[fleshstabremovesound], false); + emit_sound_at(fleshstabremovesound, victim->coords); if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2; weapons.blooddrip[weaponids[weaponactive]]+=5; @@ -3963,18 +3288,7 @@ void Person::DoAnimations(){ victim->DoBloodBig(200,215); victim->bloodloss+=10000; victim->velocity=0; - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( fleshstabsound, samp[fleshstabsound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabsound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabsound], 512); - OPENAL_SetPaused(channels[fleshstabsound], false); + emit_sound_at(fleshstabsound, victim->coords); if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2; weapons.blooddrip[weaponids[weaponactive]]+=5; } @@ -3987,18 +3301,7 @@ void Person::DoAnimations(){ victim->skeleton.joints[i].velocity=0; } if(weaponactive!=-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( fleshstabremovesound, samp[fleshstabremovesound], NULL, true); - OPENAL_3D_SetAttributes(channels[fleshstabremovesound], gLoc, vel); - OPENAL_SetVolume(channels[fleshstabremovesound], 512); - OPENAL_SetPaused(channels[fleshstabremovesound], false); + emit_sound_at(fleshstabremovesound, victim->coords); if(bloodtoggle)weapons.bloody[weaponids[weaponactive]]=2; weapons.blooddrip[weaponids[weaponactive]]+=5; @@ -4021,20 +3324,9 @@ void Person::DoAnimations(){ victim->spurt=1; DoBlood(.2,240); } - float gLoc[3]; - float vel[3]; - gLoc[0]=victim->coords.x; - gLoc[1]=victim->coords.y; - gLoc[2]=victim->coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(weaponactive==-1){ if(tutoriallevel!=1){ - PlaySoundEx( heavyimpactsound, samp[heavyimpactsound], NULL, true); - OPENAL_3D_SetAttributes(channels[heavyimpactsound], gLoc, vel); - OPENAL_SetVolume(channels[heavyimpactsound], 128); - OPENAL_SetPaused(channels[heavyimpactsound], false); + emit_sound_at(heavyimpactsound, victim->coords, 128.); } } bool doslice; @@ -4044,18 +3336,12 @@ void Person::DoAnimations(){ if(doslice){ if(weaponactive!=-1){ victim->DoBloodBig(2/victim->armorhead,225); - PlaySoundEx( knifeslicesound, samp[knifeslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifeslicesound], gLoc, vel); - OPENAL_SetVolume(channels[knifeslicesound], 512); - OPENAL_SetPaused(channels[knifeslicesound], false); + emit_sound_at(knifeslicesound, victim->coords); if(bloodtoggle&&!weapons.bloody[weaponids[weaponactive]])weapons.bloody[weaponids[weaponactive]]=1; weapons.blooddrip[weaponids[weaponactive]]+=3; } if(weaponactive==-1&&creature==wolftype){ - PlaySoundEx( clawslicesound, samp[clawslicesound], NULL, true); - OPENAL_3D_SetAttributes(channels[clawslicesound], gLoc, vel); - OPENAL_SetVolume(channels[clawslicesound], 128); - OPENAL_SetPaused(channels[clawslicesound], false); + emit_sound_at(clawslicesound, victim->coords, 128.); victim->spurt=1; victim->DoBloodBig(2/victim->armorhead,175); } @@ -4117,19 +3403,7 @@ void Person::DoAnimations(){ if(currentanimation==rabbittackleanim||currentanimation==rabbittacklinganim){ targetanimation=rollanim; targetframe=3; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true); - OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel); - OPENAL_SetVolume(channels[movewhooshsound], 128); - OPENAL_SetPaused(channels[movewhooshsound], false); + emit_sound_at(movewhooshsound, coords, 128.); } if(currentanimation==staggerbackhighanim){ targetanimation=getIdle(); @@ -4169,34 +3443,10 @@ void Person::DoAnimations(){ } if(weaponactive==-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifesheathesound, samp[knifesheathesound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifesheathesound], gLoc, vel); - OPENAL_SetVolume(channels[knifesheathesound], 128); - OPENAL_SetPaused(channels[knifesheathesound], false); + emit_sound_at(knifesheathesound, coords, 128.); } if(weaponactive!=-1){ - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - - PlaySoundEx( knifedrawsound, samp[knifedrawsound], NULL, true); - OPENAL_3D_SetAttributes(channels[knifedrawsound], gLoc, vel); - OPENAL_SetVolume(channels[knifedrawsound], 128); - OPENAL_SetPaused(channels[knifedrawsound], false); + emit_sound_at(knifedrawsound, coords, 128.); } } if(currentanimation==rollanim){ @@ -4416,18 +3666,7 @@ void Person::DoAnimations(){ if(targetanimation==sweepreversedanim)targetrotation+=90; targetanimation=backhandspringanim; targetframe=2; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( landsound, samp[landsound], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound], gLoc, vel); - OPENAL_SetVolume(channels[landsound], 128); - OPENAL_SetPaused(channels[landsound], false); + emit_sound_at(landsound, coords, 128); if(currentanimation==upunchreversedanim||currentanimation==swordslashreversedanim){ targetanimation=rollanim; @@ -4487,7 +3726,7 @@ void Person::DoAnimations(){ //DoDamage(100); RagDoll(0); skeleton.spinny=0; - if(id!=0)SolidHitBonus(); + SolidHitBonus(!id); // FIXME: tricky id } if(feint){ escapednum++; @@ -4510,7 +3749,7 @@ void Person::DoAnimations(){ //DoDamage(100); RagDoll(0); skeleton.spinny=0; - if(id!=0)SolidHitBonus(); + SolidHitBonus(!id); // FIXME: tricky id } if(feint){ escapednum++; @@ -4659,14 +3898,12 @@ void Person::DoAnimations(){ } if(isLanding()&&landhard){ - //if(abs(velocity.y)>fast_sqrt(velocity.x*velocity.x*velocity.z*velocity.z)){ if(id==0)camerashake+=.4; targetanimation=getLandhard(); targetframe=0; target=0; landhard=0; transspeed=15; - //} } } //skeleton.DoConstraints(); @@ -5333,9 +4570,7 @@ void Person::DoStuff(){ bled=0; if(!dead&&creature==wolftype){ - bonus=Wolfbonus; - bonustime=0; - bonusvalue=300; + award_bonus(0, Wolfbonus); } if(unconscioustime<.1&&(bonus!=spinecrusher||bonustime>1)&&(bonus!=FinishedBonus||bonustime>1)&&bloodloss-.3){ // targetframe=2; - //} targetanimation=flipanim; crouchtogglekeydown=1; target=0; @@ -5662,18 +4882,7 @@ void Person::DoStuff(){ } target=0; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( movewhooshsound, samp[movewhooshsound], NULL, true); - OPENAL_3D_SetAttributes(channels[movewhooshsound], gLoc, vel); - OPENAL_SetVolume(channels[movewhooshsound], 128); - OPENAL_SetPaused(channels[movewhooshsound], false); + emit_sound_at(movewhooshsound, coords, 128.); currentanimation=targetanimation; currentframe=targetframe-1; @@ -5702,18 +4911,7 @@ void Person::DoStuff(){ if(findDistancefastflat(&coords,&objects.position[i]).02&&!forwardkeydown&&!backkeydown&&!leftkeydown&&!rightkeydown&&!jumpkeydown&&isLanding()&&!landhard){ skiddingdelay=-1; - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; if(!onterrain||environment==grassyenvironment){ - PlaySoundEx( skidsound, samp[skidsound], NULL, true); - OPENAL_3D_SetAttributes(channels[skidsound], gLoc, vel); - OPENAL_SetVolume(channels[skidsound], 128*velspeed/10); - OPENAL_SetPaused(channels[skidsound], false); + emit_sound_at(skidsound, coords, 128*velspeed/10); } else { - PlaySoundEx( snowskidsound, samp[snowskidsound], NULL, true); - OPENAL_3D_SetAttributes(channels[snowskidsound], gLoc, vel); - OPENAL_SetVolume(channels[snowskidsound], 128*velspeed/10); - OPENAL_SetPaused(channels[snowskidsound], false); + emit_sound_at(snowskidsound, coords, 128*velspeed/10); } } @@ -6753,24 +5880,18 @@ int Person::DrawSkeleton(){ (skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]].z*(1-morphness)+skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]].z*morphness)*proportionhead.z); glGetFloatv(GL_MODELVIEW_MATRIX,M); //if(!isnormal(M[12])||!isnormal(M[13])||!isnormal(M[14]))test=0; - //if(isnormal(M[12])&&isnormal(M[13])&&isnormal(M[14])){ //if(!isnormal(scale))test=1; - //if(isnormal(scale)){ skeleton.drawmodel.vertex[skeleton.muscles[i].vertices[j]].x=M[12]*scale; skeleton.drawmodel.vertex[skeleton.muscles[i].vertices[j]].y=M[13]*scale; skeleton.drawmodel.vertex[skeleton.muscles[i].vertices[j]].z=M[14]*scale; //test=2; - //} - //} glPopMatrix(); - //} } } if(!playerdetail||skeleton.free==3) { for(j=0;j=0){ glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glPushMatrix(); if(skeleton.muscles[i].parent1->label==abdomen||skeleton.muscles[i].parent2->label==abdomen) @@ -6795,7 +5916,6 @@ int Person::DrawSkeleton(){ skeleton.drawmodellow.vertex[skeleton.muscles[i].verticeslow[j]].y=M[13]*scale; skeleton.drawmodellow.vertex[skeleton.muscles[i].verticeslow[j]].z=M[14]*scale; glPopMatrix(); - //} } } glPopMatrix(); @@ -7208,8 +6328,6 @@ int Person::DrawSkeleton(){ if(weaponstuckwhere==0)weapons.smallrotation[i]=180; else weapons.smallrotation[i]=0; weapons.smallrotation2[i]=10; - //if(animation[targetanimation].height==lowheight&&animation[targetanimation].attack==neutral){ - //} } } } @@ -7284,18 +6402,7 @@ int Person::SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate, if((targetanimation==jumpdownanim||isFlip())&&!wasLanding()&&!wasLandhard()){ if(isFlip())jumppower=-4; targetanimation=getLanding(); - float gLoc[3]; - float vel[3]; - gLoc[0]=coords.x; - gLoc[1]=coords.y; - gLoc[2]=coords.z; - vel[0]=velocity.x; - vel[1]=velocity.y; - vel[2]=velocity.z; - PlaySoundEx( landsound, samp[landsound], NULL, true); - OPENAL_3D_SetAttributes(channels[landsound], gLoc, vel); - OPENAL_SetVolume(channels[landsound], 128); - OPENAL_SetPaused(channels[landsound], false); + emit_sound_at(landsound, coords, 128.); if(id==0){ envsound[numenvsounds]=coords;